<mipdefs>
	<struct name="Quatf">
		<param name="v" type="float" index="0" />
	</struct>
	<struct name="Matrix3f">
		<param name="v" type="float" index="0" />
	</struct>
	<struct name="Vector3f">
		<param name="v" type="float" index="0" />
	</struct>
	<struct name="NmeaMessage">
		<enum name="MessageID" type="u8">
			<value name="GGA" value="1" />
			<value name="GLL" value="2" />
			<value name="GSV" value="3" />
			<value name="RMC" value="4" />
			<value name="VTG" value="5" />
			<value name="HDT" value="6" />
			<value name="ZDA" value="7" />
			<value name="GST" value="8" />
			<value name="MSRA" value="129" />
			<value name="MSRR" value="130" />
		</enum>
		<param name="message_id" type="MessageID" index="1" />
		<enum name="TalkerID" type="u8">
			<value name="IGNORED" value="0" />
			<value name="GNSS" value="1" />
			<value name="GPS" value="2" />
			<value name="GALILEO" value="3" />
			<value name="GLONASS" value="4" />
		</enum>
		<param name="talker_id" type="TalkerID" index="2" />
		<param name="source_desc_set" type="u8" index="2" />
		<param name="decimation" type="u16" index="3" />
	</struct>
	<struct name="DescriptorRate">
		<param name="descriptor" type="u8" index="0" />
		<param name="decimation" type="u16" index="1" />
	</struct>
	<descriptor_set name="3DM" descriptor="0x0C">
		<field descriptor="0x01" name="poll_imu_message">
			Poll the device for an IMU message with the specified format
			<param name="suppress_ack" index="0" type="bool" />
			<param name="num_descriptors" index="1" type="u8" />
			<param name="descriptors" index="2" type="DescriptorRate" count="num_descriptors" />
		</field>
		<field descriptor="0x02" name="poll_gnss_message">
			Poll the device for an GNSS message with the specified format
			<param name="suppress_ack" index="0" type="bool" />
			<param name="num_descriptors" index="1" type="u8" />
			<param name="descriptors" index="2" type="DescriptorRate" count="num_descriptors" />
		</field>
		<field descriptor="0x03" name="poll_filter_message">
			Poll the device for an Estimation Filter message with the specified format
			<param name="suppress_ack" index="0" type="bool" />
			<param name="num_descriptors" index="1" type="u8" />
			<param name="descriptors" index="2" type="DescriptorRate" count="num_descriptors" />
		</field>
		<field descriptor="0x08" name="imu_message_format" functions="WRSLD">
			Set, read, or save the format of the IMU data packet.
			<param name="num_descriptors" index="0" type="u8" />
			<param name="descriptors" index="1" type="DescriptorRate" count="num_descriptors" />
			<response descriptor="0x80">
				<param name="num_descriptors" index="0" type="u8" />
				<param name="descriptors" index="1" type="DescriptorRate" count="num_descriptors" />
			</response>
		</field>
		<field descriptor="0x09" name="gps_message_format" functions="WRSLD">
			Set, read, or save the format of the GNSS data packet.
			<param name="num_descriptors" index="0" type="u8" />
			<param name="descriptors" index="1" type="DescriptorRate" count="num_descriptors" />
			<response descriptor="0x81">
				<param name="num_descriptors" index="0" type="u8" />
				<param name="descriptors" index="1" type="DescriptorRate" count="num_descriptors" />
			</response>
		</field>
		<field descriptor="0x0A" name="filter_message_format" functions="WRSLD">
			Set, read, or save the format of the Estimation Filter data packet.
			<param name="num_descriptors" index="0" type="u8" />
			<param name="descriptors" index="1" type="DescriptorRate" count="num_descriptors" />
			<response descriptor="0x82">
				<param name="num_descriptors" index="0" type="u8" />
				<param name="descriptors" index="1" type="DescriptorRate" count="num_descriptors" />
			</response>
		</field>
		<field descriptor="0x06" name="Get IMU Data Base Rate">
			Get the base rate for the IMU data in Hz
			<response descriptor="0x83">
				<param name="rate" index="0" type="u16" />
			</response>
		</field>
		<field descriptor="0x07" name="Get GNSS Data Base Rate">
			Get the base rate for the GNSS data in Hz
			<response descriptor="0x84">
				<param name="rate" index="0" type="u16" />
			</response>
		</field>
		<field descriptor="0x0B" name="Get Estimation Filter Data Base Rate">
			Get the base rate for the Estimation Filter data in Hz
			<response descriptor="0x8A">
				<param name="rate" index="0" type="u16" />
			</response>
		</field>
		<field descriptor="0x0D" name="poll_data">
			Poll the device for a message with the specified descriptor set and format.
			<param name="desc_set" index="0" type="u8" />
			<param name="suppress_ack" index="1" type="bool" />
			<param name="num_descriptors" index="2" type="u8" />
			<param name="descriptors" index="3" type="u8" count="num_descriptors" />
		</field>
		<field descriptor="0x0E" name="Get Data Base Rate">
			Get the base rate for the specified descriptor set in Hz.
			<param name="desc_set" index="0" type="u8" />
			<response descriptor="0x8E">
				<param name="desc_set" index="0" type="u8" />
				<param name="rate" index="1" type="u16" />
			</response>
		</field>
		<field descriptor="0x0F" name="message_format" functions="WRSLD">
			Set, read, or save the format for a given data packet.
			<param name="desc_set" index="0" type="u8" functions="WRSLD" />
			<param name="num_descriptors" index="1" type="u8" />
			<param name="descriptors" index="2" type="DescriptorRate" count="num_descriptors" />
			<response descriptor="0x8F">
				<param name="desc_set" index="0" type="u8" />
				<param name="num_descriptors" index="1" type="u8" />
				<param name="descriptors" index="2" type="DescriptorRate" count="num_descriptors" />
			</response>
		</field>
		<field descriptor="0x04" name="nmea_poll_data">
			Poll the device for a NMEA message with the specified format.
			<param name="suppress_ack" index="0" type="bool" />
			<param name="count" index="1" type="u8" />
			<param name="format_entries" index="2" type="NmeaMessage" count="count" />
		</field>
		<field descriptor="0x0C" name="nmea_message_format" functions="WRSLD">
			Set, read, or save the NMEA message format.
			<param name="count" index="0" type="u8" />
			<param name="format_entries" index="1" type="NmeaMessage" count="count" />
			<response descriptor="0x8C">
				<param name="count" index="0" type="u8" />
				<param name="format_entries" index="1" type="NmeaMessage" count="count" />
			</response>
		</field>
		<field descriptor="0x30" name="device_settings" functions="SLD">
			Save, Load, or Reset to Default the values for all device settings.
		</field>
		<field descriptor="0x40" name="uart_baudrate" functions="WRSLD">
			Read, Save, Load, or Reset to Default the baud rate of the main communication channel.
			<param name="baud" index="0" type="u32" />
			<response descriptor="0x87">
				<param name="baud" index="0" type="u32" />
			</response>
		</field>
		<field descriptor="0x10" name="factory_streaming">
			Configures the device for recording data for technical support.
			<enum name="Action" type="u8">
				<value name="OVERWRITE" value="0" />
				<value name="MERGE" value="1" />
				<value name="ADD" value="2" />
			</enum>
			<param name="action" index="0" type="Action" />
			<param name="reserved" index="1" type="u8" />
		</field>
		<field descriptor="0x11" name="datastream_control" functions="WRSLD">
			Enable/disable the selected data stream.
			<param name="desc_set" index="0" type="u8" functions="WRSLD" />
			<param name="enable" index="1" type="bool" />
			<response descriptor="0x85">
				<param name="desc_set" index="0" type="u8" />
				<param name="enabled" index="1" type="bool" />
			</response>
		</field>
		<field descriptor="0x21" name="constellation_settings" functions="WRSLD">
			This command configures which satellite constellations are enabled and how many channels are dedicated to tracking each constellation.
			<param name="max_channels" index="0" type="u16" />
			<param name="config_count" index="2" type="u8" />
			<struct name="Settings">
				<enum name="ConstellationId" type="u8">
					<value name="GPS" value="0" />
					<value name="SBAS" value="1" />
					<value name="GALILEO" value="2" />
					<value name="BeiDou" value="3" />
					<value name="QZSS" value="5" />
					<value name="GLONASS" value="6" />
				</enum>
				<param name="constellation_id" type="ConstellationId" index="1" />
				<param name="enable" type="u8" index="1" />
				<param name="reserved_channels" type="u8" index="2" />
				<param name="max_channels" type="u8" index="3" />
				<bitfield name="OptionFlags" type="u16">
					<value name="L1SAIF" firstBit="0" />
				</bitfield>
				<param name="option_flags" type="OptionFlags" index="6" />
			</struct>
			<param name="settings" index="3" type="Settings" count="config_count" />
			<response descriptor="0xA0">
				<param name="max_channels_available" index="0" type="u16" />
				<param name="max_channels_use" index="2" type="u16" />
				<param name="config_count" index="4" type="u8" />
				<param name="settings" index="5" type="Settings" count="config_count" />
			</response>
		</field>
		<field descriptor="0x22" name="SBAS Settings" functions="WRSLD">
			Configure the SBAS subsystem
			<param name="enable_sbas" index="0" type="u8" />
			<bitfield name="SBASOptions" type="u16">
				<value name="enable_ranging" firstBit="0" />
				<value name="enable_corrections" firstBit="1" />
				<value name="apply_integrity" firstBit="2" />
			</bitfield>
			<param name="sbas_options" index="1" type="SBASOptions" />
			<param name="num_included_prns" index="3" type="u8" />
			<param name="included_prns" index="4" type="u16" count="num_included_prns" />
			<response descriptor="0xA1">
				<param name="enable_sbas" index="0" type="u8" />
				<param name="sbas_options" index="1" type="SBASOptions" />
				<param name="num_included_prns" index="3" type="u8" />
				<param name="included_prns" index="4" type="u16" count="num_included_prns" />
			</response>
		</field>
		<field descriptor="0x23" name="GNSS Assisted Fix Settings" functions="WRSLD">
			Set the options for assisted GNSS fix.
			<enum name="AssistedFixOption" type="u8">
				<value name="NONE" value="0" />
				<value name="ENABLED" value="1" />
			</enum>
			<param name="option" index="0" type="AssistedFixOption" />
			<param name="flags" index="1" type="u8" />
			<response descriptor="0xA2">
				<param name="option" index="0" type="AssistedFixOption" />
				<param name="flags" index="1" type="u8" />
			</response>
		</field>
		<field descriptor="0x24" name="gnss_time_assistance" functions="WR">
			Provide the GNSS subsystem with initial time information.
			<param name="tow" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<param name="accuracy" index="10" type="float" />
			<response descriptor="0xA3">
				<param name="tow" index="0" type="double" />
				<param name="week_number" index="8" type="u16" />
				<param name="accuracy" index="10" type="float" />
			</response>
		</field>
		<field descriptor="0x50" name="Advanced Low-Pass Filter Settings" functions="WRSLD">
			Advanced configuration for the IMU data quantity low-pass filters.
			<param name="target_descriptor" index="0" type="u8" functions="WRSLD" />
			<param name="enable" index="1" type="bool" />
			<param name="manual" index="2" type="bool" />
			<param name="frequency" index="3" type="u16" />
			<param name="reserved" index="5" type="u8" />
			<response descriptor="0x8B">
				<param name="target_descriptor" index="0" type="u8" />
				<param name="enable" index="1" type="bool" />
				<param name="manual" index="2" type="bool" />
				<param name="frequency" index="3" type="u16" />
				<param name="reserved" index="5" type="u8" />
			</response>
		</field>
		<field descriptor="0x64" name="device_status" proprietary="true">
			Report device diagnostic information.
			<param name="model_number" index="0" type="u16" />
			<param name="status_id" index="2" type="u8" />
			<response descriptor="0x90">
				<param name="model_number" index="0" type="u16" />
				<param name="status_id" index="2" type="u8" />
				<param name="status" index="3" type="u8" count="" />
			</response>
		</field>
		<field descriptor="0x28" name="pps_source" functions="WRSLD">
			Controls the Pulse Per Second (PPS) source.
			<enum name="Source" type="u8">
				<value name="DISABLED" value="0" />
				<value name="RECEIVER_1" value="1" />
				<value name="RECEIVER_2" value="2" />
				<value name="GPIO" value="3" />
				<value name="GENERATED" value="4" />
			</enum>
			<param name="source" index="0" type="Source" />
			<response descriptor="0xA8">
				<param name="source" index="0" type="Source" />
			</response>
		</field>
		<field descriptor="0x29" name="pps_period" proprietary="true" functions="WRSLD">
			Controls the period of the pulse per second input or output.
			<param name="period_ns" index="0" type="u64" />
			<param name="active_ns" index="8" type="u64" />
			<param name="polarity" index="16" type="bool" />
			<response descriptor="0xA9">
				<param name="period_ns" index="0" type="u64" />
				<param name="active_ns" index="8" type="u64" />
				<param name="polarity" index="16" type="bool" />
			</response>
		</field>
		<field descriptor="0x41" name="GPIO Configuration" functions="WRSLD">
			Configures the user GPIO pins on the connector for use with several built-in functions or for general input or output.
			<param name="pin" index="0" type="u8" functions="WRSLD" />
			<enum name="Feature" type="u8">
				<value name="UNUSED" value="0" />
				<value name="GPIO" value="1" />
				<value name="PPS" value="2" />
				<value name="ENCODER" value="3" />
				<value name="TIMESTAMP" value="4" />
				<value name="UART" value="5" />
			</enum>
			<param name="feature" index="1" type="Feature" />
			<enum name="Behavior" type="u8">
				<value name="UNUSED" value="0" />
				<value name="GPIO_INPUT" value="1" />
				<value name="GPIO_OUTPUT_LOW" value="2" />
				<value name="GPIO_OUTPUT_HIGH" value="3" />
				<value name="PPS_INPUT" value="1" />
				<value name="PPS_OUTPUT" value="2" />
				<value name="ENCODER_A" value="1" />
				<value name="ENCODER_B" value="2" />
				<value name="TIMESTAMP_RISING" value="1" />
				<value name="TIMESTAMP_FALLING" value="2" />
				<value name="TIMESTAMP_EITHER" value="3" />
				<value name="UART_PORT2_TX" value="33" />
				<value name="UART_PORT2_RX" value="34" />
				<value name="UART_PORT3_TX" value="49" />
				<value name="UART_PORT3_RX" value="50" />
			</enum>
			<param name="behavior" index="2" type="Behavior" />
			<bitfield name="PinMode" type="u8">
				<value name="open_drain" firstBit="0" />
				<value name="pulldown" firstBit="1" />
				<value name="pullup" firstBit="2" />
			</bitfield>
			<param name="pin_mode" index="3" type="PinMode" />
			<response descriptor="0xC1">
				<param name="pin" index="0" type="u8" functions="WRSLD" />
				<param name="feature" index="1" type="Feature" />
				<param name="behavior" index="2" type="Behavior" />
				<param name="pin_mode" index="3" type="PinMode" />
			</response>
		</field>
		<field descriptor="0x42" name="GPIO State" functions="WR">
			Allows the state of the pin to be read or controlled.
			<param name="pin" index="0" type="u8" functions="WR" />
			<param name="state" index="1" type="bool" />
			<response descriptor="0xC2">
				<param name="pin" index="0" type="u8" functions="WR" />
				<param name="state" index="1" type="bool" />
			</response>
		</field>
		<field descriptor="0x43" name="Odometer Settings" functions="WRSLD">
			Configures the hardware odometer interface.
			<enum name="Mode" type="u8">
				<value name="DISABLED" value="0" />
				<value name="QUADRATURE" value="2" />
			</enum>
			<param name="mode" index="0" type="Mode" />
			<param name="scaling" index="1" type="float" />
			<param name="uncertainty" index="5" type="float" />
			<response descriptor="0xC3">
				<param name="mode" index="0" type="Mode" />
				<param name="scaling" index="1" type="float" />
				<param name="uncertainty" index="5" type="float" />
			</response>
		</field>
		<field descriptor="0x2A" name="Get Supported Events">
			Lists the available trigger or action types.
			<enum name="Query" type="u8">
				<value name="TRIGGER_TYPES" value="1" />
				<value name="ACTION_TYPES" value="2" />
			</enum>
			<param name="query" index="0" type="Query" />
			<response descriptor="0xB4">
				<param name="query" index="0" type="Query" />
				<param name="max_instances" index="1" type="u8" />
				<param name="num_entries" index="2" type="u8" />
				<struct name="Info">
					<param name="type" type="u8" index="0" />
					<param name="count" type="u8" index="1" />
				</struct>
				<param name="entries" index="3" type="Info" count="num_entries" />
			</response>
		</field>
		<field descriptor="0x2B" name="Event Control" functions="WRSLD">
			Enables or disables event triggers.
			<param name="instance" index="0" type="u8" functions="WRSLD" />
			<enum name="Mode" type="u8">
				<value name="DISABLED" value="0" />
				<value name="ENABLED" value="1" />
				<value name="TEST" value="2" />
				<value name="TEST_PULSE" value="3" />
			</enum>
			<param name="mode" index="1" type="Mode" />
			<response descriptor="0xB5">
				<param name="instance" index="0" type="u8" functions="WRSLD" />
				<param name="mode" index="1" type="Mode" />
			</response>
		</field>
		<field descriptor="0x2C" name="Get Trigger Status">
			<param name="requested_count" index="0" type="u8" />
			<param name="requested_instances" index="1" type="u8" count="requested_count" />
			<response descriptor="0xB6">
				<param name="count" index="0" type="u8" />
				<struct name="Entry">
					<param name="type" type="u8" index="0" />
					<bitfield name="Status" type="u8">
						<value name="active" firstBit="0" />
						<value name="enabled" firstBit="1" />
						<value name="test" firstBit="2" />
					</bitfield>
					<param name="status" type="Status" index="2" />
				</struct>
				<param name="triggers" index="1" type="Entry" count="count" />
			</response>
		</field>
		<field descriptor="0x2D" name="Get Action Status">
			<param name="requested_count" index="0" type="u8" />
			<param name="requested_instances" index="1" type="u8" count="requested_count" />
			<response descriptor="0xB7">
				<param name="count" index="0" type="u8" />
				<struct name="Entry">
					<param name="action_type" type="u8" index="0" />
					<param name="trigger_id" type="u8" index="1" />
				</struct>
				<param name="actions" index="1" type="Entry" count="count" />
			</response>
		</field>
		<field descriptor="0x2E" name="Event Trigger Configuration" functions="WRSLD">
			Configures various types of event triggers.
			<param name="instance" index="0" type="u8" functions="WRSLD" />
			<enum name="Type" type="u8">
				<value name="NONE" value="0" />
				<value name="GPIO" value="1" />
				<value name="THRESHOLD" value="2" />
				<value name="COMBINATION" value="3" />
			</enum>
			<param name="type" index="1" type="Type" />
			<union name="Parameters">
				<struct name="GpioParams">
					<param name="pin" type="u8" index="0" />
					<enum name="Mode" type="u8">
						<value name="DISABLED" value="0" />
						<value name="WHILE_HIGH" value="1" />
						<value name="WHILE_LOW" value="2" />
						<value name="EDGE" value="4" />
					</enum>
					<param name="mode" type="Mode" index="2" />
				</struct>
				<param name="gpio" type="GpioParams" index="2">
					<condition name="gpio" when="type" type="GPIO" />
				</param>
				<struct name="ThresholdParams">
					<param name="desc_set" type="u8" index="0" />
					<param name="field_desc" type="u8" index="1" />
					<param name="param_id" type="u8" index="2" />
					<enum name="Type" type="u8">
						<value name="WINDOW" value="1" />
						<value name="INTERVAL" value="2" />
					</enum>
					<param name="type" type="Type" index="4" />
					<union>
						<param name="low_thres" type="double" index="0">
							<condition name="low_thres" when="Type" type="WINDOW" />
						</param>
						<param name="int_thres" type="double" index="8">
							<condition name="int_thres" when="Type" type="INTERVAL" />
						</param>
					</union>
					<union>
						<param name="high_thres" type="double" index="0">
							<condition name="high_thres" when="Type" type="WINDOW" />
						</param>
						<param name="interval" type="double" index="8">
							<condition name="interval" when="Type" type="INTERVAL" />
						</param>
					</union>
				</struct>
				<param name="threshold" type="ThresholdParams" index="6">
					<condition name="threshold" when="type" type="THRESHOLD" />
				</param>
				<struct name="CombinationParams">
					<param name="logic_table" type="u16" index="0" />
					<param name="input_triggers" type="u8" index="2" />
				</struct>
				<param name="combination" type="CombinationParams" index="9">
					<condition name="combination" when="type" type="COMBINATION" />
				</param>
			</union>
			<param name="parameters" index="2" type="Parameters" />
			<response descriptor="0xB8">
				<param name="instance" index="0" type="u8" functions="WRSLD" />
				<param name="type" index="1" type="Type" />
				<param name="parameters" index="2" type="Parameters" />
			</response>
		</field>
		<field descriptor="0x2F" name="Event Action Configuration" functions="WRSLD">
			Configures various types of event actions.
			<param name="instance" index="0" type="u8" functions="WRSLD" />
			<param name="trigger" index="1" type="u8" />
			<enum name="Type" type="u8">
				<value name="NONE" value="0" />
				<value name="GPIO" value="1" />
				<value name="MESSAGE" value="2" />
			</enum>
			<param name="type" index="2" type="Type" />
			<union name="Parameters">
				<struct name="GpioParams">
					<param name="pin" type="u8" index="0" />
					<enum name="Mode" type="u8">
						<value name="DISABLED" value="0" />
						<value name="ACTIVE_HIGH" value="1" />
						<value name="ACTIVE_LOW" value="2" />
						<value name="ONESHOT_HIGH" value="5" />
						<value name="ONESHOT_LOW" value="6" />
						<value name="TOGGLE" value="7" />
					</enum>
					<param name="mode" type="Mode" index="2" />
				</struct>
				<param name="gpio" type="GpioParams" index="2">
					<condition name="gpio" when="type" type="GPIO" />
				</param>
				<struct name="MessageParams">
					<param name="desc_set" type="u8" index="0" />
					<param name="decimation" type="u16" index="1" />
					<param name="num_fields" type="u8" index="3" />
					<param name="descriptors" type="u8" index="4" />
				</struct>
				<param name="message" type="MessageParams" index="7">
					<condition name="message" when="type" type="MESSAGE" />
				</param>
			</union>
			<param name="parameters" index="3" type="Parameters" />
			<response descriptor="0xB9">
				<param name="instance" index="0" type="u8" functions="WRSLD" />
				<param name="trigger" index="1" type="u8" />
				<param name="type" index="2" type="Type" />
				<param name="parameters" index="3" type="Parameters" />
			</response>
		</field>
		<field descriptor="0x37" name="Configure Accel Bias" functions="WRSLD">
			Configures the user specified accelerometer bias
			<param name="bias" index="0" type="Vector3f" />
			<response descriptor="0x9A">
				<param name="bias" index="0" type="Vector3f" />
			</response>
		</field>
		<field descriptor="0x38" name="Configure Gyro Bias" functions="WRSLD">
			Configures the user specified gyroscope bias
			<param name="bias" index="0" type="Vector3f" />
			<response descriptor="0x9B">
				<param name="bias" index="0" type="Vector3f" />
			</response>
		</field>
		<field descriptor="0x39" name="Capture Gyro Bias">
			Samples gyro for a specified time range and writes the averaged result to the Gyro Bias vector in RAM
			<param name="averaging_time_ms" index="0" type="u16" />
			<response descriptor="0x9B">
				<param name="bias" index="0" type="Vector3f" />
			</response>
		</field>
		<field descriptor="0x3A" name="Magnetometer Hard Iron Offset" functions="WRSLD">
			Configure the user specified magnetometer hard iron offset vector
			<param name="offset" index="0" type="Vector3f" />
			<response descriptor="0x9C">
				<param name="offset" index="0" type="Vector3f" />
			</response>
		</field>
		<field descriptor="0x3B" name="Magnetometer Soft Iron Matrix" functions="WRSLD">
			Configure the user specified magnetometer soft iron offset matrix
			<param name="offset" index="0" type="Matrix3f" />
			<response descriptor="0x9D">
				<param name="offset" index="0" type="Matrix3f" />
			</response>
		</field>
		<field descriptor="0x3E" name="Coning and Sculling Enable" functions="WRSLD">
			Controls the Coning and Sculling Compenstation setting.
			<param name="enable" index="0" type="bool" />
			<response descriptor="0x9E">
				<param name="enable" index="0" type="bool" />
			</response>
		</field>
		<field descriptor="0x31" name="Sensor to Vehicle Frame Transformation Euler" functions="WRSLD">
			Sets the sensor-to-vehicle frame transformation using Yaw, Pitch, Roll Euler angles.
			<param name="roll" index="0" type="float" />
			<param name="pitch" index="4" type="float" />
			<param name="yaw" index="8" type="float" />
			<response descriptor="0xB1">
				<param name="roll" index="0" type="float" />
				<param name="pitch" index="4" type="float" />
				<param name="yaw" index="8" type="float" />
			</response>
		</field>
		<field descriptor="0x32" name="Sensor to Vehicle Frame Transformation Quaternion" functions="WRSLD">
			Set the sensor to vehicle frame transformation using unit length quaternion.
			<param name="q" index="0" type="Quatf" />
			<response descriptor="0xB2">
				<param name="q" index="0" type="Quatf" />
			</response>
		</field>
		<field descriptor="0x33" name="Sensor to Vehicle Frame Transformation Direction Cosine Matrix" functions="WRSLD">
			Set the sensor to vehicle frame transformation using a using a 3 x 3 direction cosine matrix EQSTART M_{ned}^{veh} EQEND, stored in row-major order in a 9-element array.
			<param name="dcm" index="0" type="Matrix3f" />
			<response descriptor="0xB3">
				<param name="dcm" index="0" type="Matrix3f" />
			</response>
		</field>
		<field descriptor="0x51" name="Complementary filter settings" functions="WRSLD">
			Configure the settings for the complementary filter which produces the following (0x80) descriptor set values: attitude matrix (0x80,09), quaternion (0x80,0A), and  Euler angle (0x80,0C) outputs.
			<param name="pitch_roll_enable" index="0" type="bool" />
			<param name="heading_enable" index="1" type="bool" />
			<param name="pitch_roll_time_constant" index="2" type="float" />
			<param name="heading_time_constant" index="6" type="float" />
			<response descriptor="0x97">
				<param name="pitch_roll_enable" index="0" type="bool" />
				<param name="heading_enable" index="1" type="bool" />
				<param name="pitch_roll_time_constant" index="2" type="float" />
				<param name="heading_time_constant" index="6" type="float" />
			</response>
		</field>
		<field descriptor="0x52" name="Sensor Range" functions="WRSLD">
			Changes the IMU sensor gain.
			<enum name="SensorRangeType" type="u8">
				<value name="ALL" value="0" />
				<value name="ACCEL" value="1" />
				<value name="GYRO" value="2" />
				<value name="MAG" value="3" />
				<value name="PRESS" value="4" />
			</enum>
			<param name="sensor" index="0" type="SensorRangeType" functions="WRSLD" />
			<param name="setting" index="1" type="u8" />
			<response descriptor="0xD2">
				<param name="sensor" index="0" type="SensorRangeType" functions="WRSLD" />
				<param name="setting" index="1" type="u8" />
			</response>
		</field>
		<field descriptor="0x53" name="Get Calibrated Sensor Ranges">
			Returns the supported sensor ranges which may be used with the 3DM Sensor Range (0x0C,0x52) command.
			<enum name="SensorRangeType" type="u8">
				<value name="ALL" value="0" />
				<value name="ACCEL" value="1" />
				<value name="GYRO" value="2" />
				<value name="MAG" value="3" />
				<value name="PRESS" value="4" />
			</enum>
			<param name="sensor" index="0" type="SensorRangeType" />
			<response descriptor="0xD3">
				<param name="sensor" index="0" type="SensorRangeType" />
				<param name="num_ranges" index="1" type="u8" />
				<struct name="Entry">
					<param name="setting" type="u8" index="0" />
					<param name="range" type="float" index="1" />
				</struct>
				<param name="ranges" index="2" type="Entry" count="num_ranges" />
			</response>
		</field>
		<field descriptor="0x54" name="Low-pass anti-aliasing filter" functions="WRSLD">
			This command controls the low-pass anti-aliasing filter supported data quantities.
			<param name="desc_set" index="0" type="u8" functions="WRSLD" />
			<param name="field_desc" index="1" type="u8" functions="WRSLD" />
			<param name="enable" index="2" type="bool" />
			<param name="manual" index="3" type="bool" />
			<param name="frequency" index="4" type="float" />
			<response descriptor="0xD4">
				<param name="desc_set" index="0" type="u8" functions="WRSLD" />
				<param name="field_desc" index="1" type="u8" functions="WRSLD" />
				<param name="enable" index="2" type="bool" />
				<param name="manual" index="3" type="bool" />
				<param name="frequency" index="4" type="float" />
			</response>
		</field>
	</descriptor_set>
</mipdefs>
