blob: c9d721715839582918d448eb2f3702f6ce65734b [file]
little_endian_packets
// Ranging Service
enum PctFormat : 2 {
IQ = 0,
PHASE = 1,
}
enum RangingDoneStatus : 4 {
ALL_RESULTS_COMPLETE = 0x0,
PARTIAL_RESULTS = 0x1,
ABORTED = 0xF,
}
enum SubeventDoneStatus : 4 {
ALL_RESULTS_COMPLETE = 0x0,
ABORTED = 0xF,
}
enum RangingAbortReason : 4 {
NO_ABORT = 0x0,
LOCAL_HOST_OR_REMOTE = 0x1,
INSUFFICIENT_FILTERED_CHANNELS = 0x2,
INSTANT_HAS_PASSED = 0x3,
UNSPECIFIED = 0xF,
}
enum SubeventAbortReason : 4 {
NO_ABORT = 0x0,
LOCAL_HOST_OR_REMOTE = 0x1,
NO_CS_SYNC_RECEIVED = 0x2,
SCHEDULING_CONFLICTS_OR_LIMITED_RESOURCES = 0x3,
UNSPECIFIED = 0xF,
}
struct StepMode {
mode_type : 2,
_reserved_ : 5,
aborted : 1,
}
struct RasSubeventHeader {
start_acl_conn_event : 16,
frequency_compensation : 16,
ranging_done_status : RangingDoneStatus,
subevent_done_status : SubeventDoneStatus,
ranging_abort_reason : RangingAbortReason,
subevent_abort_reason : SubeventAbortReason,
reference_power_level : 8,
num_steps_reported : 8,
}
packet RasSubevent {
subevent_header : RasSubeventHeader,
subevent_data : 8[],
}
struct RangingHeader {
ranging_counter : 12,
configuration_id : 4,
selected_tx_power : 8,
antenna_paths_mask : 4,
_reserved_ : 2,
pct_format : PctFormat,
}
struct SegmentationHeader {
first_segment : 1,
last_segment : 1,
rolling_segment_counter: 6,
}
packet FirstRangingDataSegment {
segmentation_header : SegmentationHeader,
ranging_header : RangingHeader,
data : 8[],
}
packet RangingDataSegment {
segmentation_header : SegmentationHeader,
data : 8[],
}