<mipdefs>
	<struct name="Vector3d">
		<param name="v" type="double" index="0" />
	</struct>
	<struct name="Time">
		<enum name="Timebase" type="u8">
			<value name="INTERNAL_REFERENCE" value="1" />
			<value name="EXTERNAL_TIME" value="2" />
			<value name="TIME_OF_ARRIVAL" value="3" />
		</enum>
		<param name="timebase" type="Timebase" index="1" />
		<param name="reserved" type="u8" index="1" />
		<param name="nanoseconds" type="u64" index="2" />
	</struct>
	<struct name="Vector3f">
		<param name="v" type="float" index="0" />
	</struct>
	<descriptor_set name="AIDING" descriptor="0x13">
		<field descriptor="0x01" name="Frame Configuration" functions="WRSLD">
			Defines an aiding frame associated with a specific sensor frame ID.
			<param name="frame_id" index="0" type="u8" functions="WRSLD" />
			<enum name="Format" type="u8">
				<value name="EULER" value="1" />
				<value name="QUATERNION" value="2" />
			</enum>
			<param name="format" index="1" type="Format" functions="WR" />
			<param name="tracking_enabled" index="2" type="bool" />
			<param name="translation" index="3" type="Vector3f" />
			<union name="Rotation">
				<struct name="Vector3f">
					<param name="v" type="float" index="0" />
				</struct>
				<param name="euler" type="Vector3f" index="0">
					<condition name="euler" when="format" type="EULER" />
				</param>
				<struct name="Quatf">
					<param name="v" type="float" index="0" />
				</struct>
				<param name="quaternion" type="Quatf" index="0">
					<condition name="quaternion" when="format" type="QUATERNION" />
				</param>
			</union>
			<param name="rotation" index="3" type="Rotation" />
			<response descriptor="0x81">
				<param name="frame_id" index="0" type="u8" functions="WRSLD" />
				<param name="format" index="1" type="Format" functions="WR" />
				<param name="tracking_enabled" index="2" type="bool" />
				<param name="translation" index="3" type="Vector3f" />
				<param name="rotation" index="3" type="Rotation" />
			</response>
		</field>
		<field descriptor="0x1F" name="Aiding Command Echo Control" functions="WRSLD">
			Controls command response behavior to external aiding commands
			<enum name="Mode" type="u8">
				<value name="SUPPRESS_ACK" value="0" />
				<value name="STANDARD" value="1" />
				<value name="RESPONSE" value="2" />
			</enum>
			<param name="mode" index="0" type="Mode" />
			<response descriptor="0x9F">
				<param name="mode" index="0" type="Mode" />
			</response>
		</field>
		<field descriptor="0x21" name="ECEF Position">
			Cartesian vector position aiding command. Coordinates are given in the WGS84 ECEF system.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="position" index="11" type="Vector3d" />
			<param name="uncertainty" index="11" type="Vector3f" />
			<bitfield name="ValidFlags" type="u16">
				<value name="X" firstBit="0" />
				<value name="Y" firstBit="1" />
				<value name="Z" firstBit="2" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x22" name="LLH Position">
			Geodetic position aiding command.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="latitude" index="11" type="double" />
			<param name="longitude" index="19" type="double" />
			<param name="height" index="27" type="double" />
			<param name="uncertainty" index="35" type="Vector3f" />
			<bitfield name="ValidFlags" type="u16">
				<value name="Latitude" firstBit="0" />
				<value name="Longitude" firstBit="1" />
				<value name="Height" firstBit="2" />
			</bitfield>
			<param name="valid_flags" index="35" type="ValidFlags" />
		</field>
		<field descriptor="0x23" name="Height Above Ellipsoid">
			Estimated value of the height above ellipsoid.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="height" index="11" type="float" />
			<param name="uncertainty" index="15" type="float" />
			<param name="valid_flags" index="19" type="u16" />
		</field>
		<field descriptor="0x28" name="ECEF Velocity">
			ECEF velocity aiding command. Coordinates are given in the WGS84 ECEF frame.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="velocity" index="11" type="Vector3f" />
			<param name="uncertainty" index="11" type="Vector3f" />
			<bitfield name="ValidFlags" type="u16">
				<value name="X" firstBit="0" />
				<value name="Y" firstBit="1" />
				<value name="Z" firstBit="2" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x29" name="NED Velocity">
			NED velocity aiding command. Coordinates are given in the local North-East-Down frame.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="velocity" index="11" type="Vector3f" />
			<param name="uncertainty" index="11" type="Vector3f" />
			<bitfield name="ValidFlags" type="u16">
				<value name="X" firstBit="0" />
				<value name="Y" firstBit="1" />
				<value name="Z" firstBit="2" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x2A" name="Body Frame Velocity">
			Estimated of velocity of the vehicle in the frame associated with the given sensor ID, relative to the vehicle frame.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="velocity" index="11" type="Vector3f" />
			<param name="uncertainty" index="11" type="Vector3f" />
			<bitfield name="ValidFlags" type="u16">
				<value name="X" firstBit="0" />
				<value name="Y" firstBit="1" />
				<value name="Z" firstBit="2" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x31" name="True Heading">
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="heading" index="11" type="float" />
			<param name="uncertainty" index="15" type="float" />
			<param name="valid_flags" index="19" type="u16" />
		</field>
		<field descriptor="0x32" name="Magnetic Field">
			Estimate of magnetic field in the frame associated with the given sensor ID.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="magnetic_field" index="11" type="Vector3f" />
			<param name="uncertainty" index="11" type="Vector3f" />
			<bitfield name="ValidFlags" type="u16">
				<value name="X" firstBit="0" />
				<value name="Y" firstBit="1" />
				<value name="Z" firstBit="2" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x33" name="Pressure">
			Estimated value of air pressure.
			<param name="time" index="0" type="Time" />
			<param name="frame_id" index="10" type="u8" />
			<param name="pressure" index="11" type="float" />
			<param name="uncertainty" index="15" type="float" />
			<param name="valid_flags" index="19" type="u16" />
		</field>
	</descriptor_set>
</mipdefs>
