<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>
	<descriptor_set name="SENSOR" descriptor="0x80">
		<field descriptor="0x01" name="raw_accel">
			Three element vector representing the sensed acceleration.
			<param name="raw_accel" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x02" name="raw_gyro">
			Three element vector representing the sensed angular rate.
			<param name="raw_gyro" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x03" name="raw_mag">
			Three element vector representing the sensed magnetic field.
			<param name="raw_mag" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x16" name="raw_pressure">
			Scalar value representing the sensed ambient pressure.
			<param name="raw_pressure" index="0" type="float" />
		</field>
		<field descriptor="0x04" name="scaled_accel">
			3-element vector representing the sensed acceleration.
			<param name="scaled_accel" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x05" name="scaled_gyro">
			3-element vector representing the sensed angular rate.
			<param name="scaled_gyro" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x06" name="scaled_mag">
			3-element vector representing the sensed magnetic field.
			<param name="scaled_mag" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x17" name="scaled_pressure">
			Scalar value representing the sensed ambient pressure.
			<param name="scaled_pressure" index="0" type="float" />
		</field>
		<field descriptor="0x07" name="delta_theta">
			3-element vector representing the time integral of angular rate.
			<param name="delta_theta" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x08" name="delta_velocity">
			3-element vector representing the time integral of acceleration.
			<param name="delta_velocity" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x09" name="Complementary Filter Orientation Matrix">
			3x3 Direction Cosine Matrix EQSTART M_{ned}^{veh} EQEND describing the orientation of the device with respect to the NED local-level frame.
			<param name="m" index="0" type="Matrix3f" />
		</field>
		<field descriptor="0x0A" name="Complementary Filter Quaternion">
			4x1 vector representation of the quaternion describing the orientation of the device with respect to the NED local-level frame.
			<param name="q" index="0" type="Quatf" />
		</field>
		<field descriptor="0x0C" name="Complementary Filter Euler Angles">
			Euler angles describing the orientation of the device with respect to the NED local-level frame.
			<param name="roll" index="0" type="float" />
			<param name="pitch" index="4" type="float" />
			<param name="yaw" index="8" type="float" />
		</field>
		<field descriptor="0x0B" name="Complementary Filter Orientation Update Matrix">
			DEPRECATED!
			<param name="m" index="0" type="Matrix3f" />
		</field>
		<field descriptor="0x0D" name="orientation_raw_temp">
			DEPRECATED!
			<param name="raw_temp" index="0" type="u16" count="4" />
		</field>
		<field descriptor="0x0E" name="internal_timestamp">
			DEPRECATED!
			<param name="counts" index="0" type="u32" />
		</field>
		<field descriptor="0x0F" name="PPS Timestamp">
			DEPRECATED!
			<param name="seconds" index="0" type="u32" />
			<param name="useconds" index="4" type="u32" />
		</field>
		<field descriptor="0x12" name="gps_timestamp">
			GPS timestamp of the SENSOR data
			<param name="tow" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<bitfield name="ValidFlags" type="u16">
				<value name="pps_valid" firstBit="0" />
				<value name="time_refresh" firstBit="1" />
				<value name="time_initialized" firstBit="2" />
				<value name="tow_valid" firstBit="3" />
				<value name="week_number_valid" firstBit="4" />
			</bitfield>
			<param name="valid_flags" index="10" type="ValidFlags" />
		</field>
		<field descriptor="0x14" name="Temperature Statistics">
			SENSOR reported temperature statistics
			<param name="min_temp" index="0" type="float" />
			<param name="max_temp" index="4" type="float" />
			<param name="mean_temp" index="8" type="float" />
		</field>
		<field descriptor="0x11" name="up_vector">
			Gyro-stabilized 3-element vector representing the complementary filter's estimated vertical direction.
			<param name="up" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x10" name="north_vector">
			Gyro-stabilized 3-element vector representing the complementary filter's estimate of magnetic north.
			<param name="north" index="0" type="Vector3f" />
		</field>
		<field descriptor="0x18" name="overrange_status">
			<bitfield name="Status" type="u16">
				<value name="accel_x" firstBit="0" />
				<value name="accel_y" firstBit="1" />
				<value name="accel_z" firstBit="2" />
				<value name="gyro_x" firstBit="4" />
				<value name="gyro_y" firstBit="5" />
				<value name="gyro_z" firstBit="6" />
				<value name="mag_x" firstBit="8" />
				<value name="mag_y" firstBit="9" />
				<value name="mag_z" firstBit="10" />
				<value name="press" firstBit="12" />
			</bitfield>
			<param name="status" index="0" type="Status" />
		</field>
		<field descriptor="0x40" name="odometer_data">
			<param name="speed" index="0" type="float" />
			<param name="uncertainty" index="4" type="float" />
			<param name="valid_flags" index="8" type="u16" />
		</field>
	</descriptor_set>
</mipdefs>
