name: region_fira_session_params
ID: 1242
format:
	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
	field:int common_pid;	offset:4;	size:4;	signed:1;

	field:u32 session_id;	offset:8;	size:4;	signed:0;
	field:enum fira_device_type device_type;	offset:12;	size:4;	signed:0;
	field:enum fira_ranging_round_usage ranging_round_usage;	offset:16;	size:4;	signed:0;
	field:enum fira_multi_node_mode multi_node_mode;	offset:20;	size:4;	signed:0;
	field:__le16 controller_short_addr;	offset:24;	size:2;	signed:0;
	field:int initiation_time_ms;	offset:28;	size:4;	signed:1;
	field:int slot_duration_dtu;	offset:32;	size:4;	signed:1;
	field:int block_duration_dtu;	offset:36;	size:4;	signed:1;
	field:int round_duration_slots;	offset:40;	size:4;	signed:1;
	field:bool round_hopping;	offset:44;	size:1;	signed:0;
	field:int priority;	offset:48;	size:4;	signed:1;
	field:int channel_number;	offset:52;	size:4;	signed:1;
	field:int preamble_code_index;	offset:56;	size:4;	signed:1;
	field:enum fira_rframe_config rframe_config;	offset:60;	size:4;	signed:0;
	field:enum fira_preambule_duration preamble_duration;	offset:64;	size:4;	signed:0;
	field:enum fira_sfd_id sfd_id;	offset:68;	size:4;	signed:0;
	field:enum fira_psdu_data_rate psdu_data_rate;	offset:72;	size:4;	signed:0;
	field:enum fira_mac_fcs_type mac_fcs_type;	offset:76;	size:4;	signed:0;
	field:enum fira_sts_config sts_config;	offset:80;	size:4;	signed:0;
	field:u8 vupper64[8];	offset:84;	size:8;	signed:0;
	field:bool aoa_result_req;	offset:92;	size:1;	signed:0;
	field:bool report_tof;	offset:93;	size:1;	signed:0;
	field:bool report_aoa_azimuth;	offset:94;	size:1;	signed:0;
	field:bool report_aoa_elevation;	offset:95;	size:1;	signed:0;
	field:bool report_aoa_fom;	offset:96;	size:1;	signed:0;
	field:u8 rx_antenna_selection;	offset:97;	size:1;	signed:0;
	field:u8 rx_antenna_pair_azimuth;	offset:98;	size:1;	signed:0;
	field:u8 rx_antenna_pair_elevation;	offset:99;	size:1;	signed:0;
	field:u8 tx_antenna_selection;	offset:100;	size:1;	signed:0;
	field:u8 rx_antenna_switch;	offset:101;	size:1;	signed:0;

print fmt: "session_id=%d device_type=%s ranging_round_usage=%s multi_node_mode=%s controller_short_addr=0x%x initiation_time_ms=%d slot_duration_dtu=%d block_duration_dtu=%d round_duration_slots=%d round_hopping=%d priority=%d channel_number=%d preamble_code_index=%d rframe_config=%s preamble_duration=%s sfd_id=%d psdu_data_rate=%s mac_fcs_type=%s sts_config=%s vupper64=%s aoa_result_req=%d report_tof=%d report_aoa_azimuth=%d report_aoa_elevation=%d report_aoa_fom=%d rx_antenna_selection=0x%x rx_antenna_pair_azimuth=%d rx_antenna_pair_elevation=%d tx_antenna_selection=%d rx_antenna_switch=%s", REC->session_id, __print_symbolic(REC->device_type, { FIRA_DEVICE_TYPE_CONTROLEE, "controlee" }, { FIRA_DEVICE_TYPE_CONTROLLER, "controller" }), __print_symbolic(REC->ranging_round_usage, { FIRA_RANGING_ROUND_USAGE_OWR, "OWR" }, { FIRA_RANGING_ROUND_USAGE_SSTWR, "SSTWR" }, { FIRA_RANGING_ROUND_USAGE_DSTWR, "DSTWR" }), __print_symbolic(REC->multi_node_mode, { FIRA_MULTI_NODE_MODE_UNICAST, "UNICAST" }, { FIRA_MULTI_NODE_MODE_ONE_TO_MANY, "ONE_TO_MANY" }, { FIRA_MULTI_NODE_MODE_MANY_TO_MANY, "MANY_TO_MANY" }), REC->controller_short_addr, REC->initiation_time_ms, REC->slot_duration_dtu, REC->block_duration_dtu, REC->round_duration_slots, REC->round_hopping, REC->priority, REC->channel_number, REC->preamble_code_index, __print_symbolic(REC->rframe_config, { FIRA_RFRAME_CONFIG_SP0, "SP0" }, { FIRA_RFRAME_CONFIG_SP1, "SP1" }, { FIRA_RFRAME_CONFIG_SP2, "SP2" }, { FIRA_RFRAME_CONFIG_SP3, "SP3" }), __print_symbolic(REC->preamble_duration, { FIRA_PREAMBULE_DURATION_32, "32" }, { FIRA_PREAMBULE_DURATION_64, "64" }), REC->sfd_id, __print_symbolic(REC->psdu_data_rate, { FIRA_PSDU_DATA_RATE_6M81, "6M81" }, { FIRA_PSDU_DATA_RATE_7M80, "7M80" }, { FIRA_PSDU_DATA_RATE_27M2, "27M2" }, { FIRA_PSDU_DATA_RATE_31M2, "31M2" }), __print_symbolic(REC->mac_fcs_type, { FIRA_MAC_FCS_TYPE_CRC_16, "16" }, { FIRA_MAC_FCS_TYPE_CRC_32, "32" }), __print_symbolic(REC->sts_config, { FIRA_STS_CONFIG_STATIC, "static" }, { FIRA_STS_CONFIG_DYNAMIC, "dynamic" }, { FIRA_STS_CONFIG_DYNAMIC_INDIVIDUAL_KEY, "dynamic_individual_key" }), __print_hex(REC->vupper64, 8), REC->aoa_result_req, REC->report_tof, REC->report_aoa_azimuth, REC->report_aoa_elevation, REC->report_aoa_fom, REC->rx_antenna_selection, REC->rx_antenna_pair_azimuth, REC->rx_antenna_pair_elevation, REC->tx_antenna_selection, __print_symbolic(REC->rx_antenna_switch, { FIRA_RX_ANTENNA_SWITCH_BETWEEN_ROUND, "between_round" }, { FIRA_RX_ANTENNA_SWITCH_DURING_ROUND, "during_round" }, { FIRA_RX_ANTENNA_SWITCH_TWO_RANGING, "two_ranging" })
