<mipdefs>
	<struct name="Vector3f">
		<param name="v" type="float" index="0" />
	</struct>
	<struct name="Vector3d">
		<param name="v" type="double" index="0" />
	</struct>
	<descriptor_set name="GNSS" descriptor="0x81">
		<field descriptor="0x03" name="GNSS LLH Position">
			GNSS reported position in the WGS84 geodetic frame
			<param name="latitude" index="0" type="double" />
			<param name="longitude" index="8" type="double" />
			<param name="ellipsoid_height" index="16" type="double" />
			<param name="msl_height" index="24" type="double" />
			<param name="horizontal_accuracy" index="32" type="float" />
			<param name="vertical_accuracy" index="36" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="lat_lon" firstBit="0" />
				<value name="ellipsoid_height" firstBit="1" />
				<value name="msl_height" firstBit="2" />
				<value name="horizontal_accuracy" firstBit="3" />
				<value name="vertical_accuracy" firstBit="4" />
				<value name="flags" firstBit="0" lastBit="4" />
			</bitfield>
			<param name="valid_flags" index="40" type="ValidFlags" />
		</field>
		<field descriptor="0x04" name="GNSS ECEF Position">
			GNSS reported position in the Earth-centered, Earth-Fixed (ECEF) frame
			<param name="x" index="0" type="Vector3d" />
			<param name="x_accuracy" index="0" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="position" firstBit="0" />
				<value name="position_accuracy" firstBit="1" />
				<value name="flags" firstBit="0" lastBit="1" />
			</bitfield>
			<param name="valid_flags" index="4" type="ValidFlags" />
		</field>
		<field descriptor="0x05" name="NED Velocity">
			GNSS reported velocity in the NED frame
			<param name="v" index="0" type="Vector3f" />
			<param name="speed" index="0" type="float" />
			<param name="ground_speed" index="4" type="float" />
			<param name="heading" index="8" type="float" />
			<param name="speed_accuracy" index="12" type="float" />
			<param name="heading_accuracy" index="16" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="velocity" firstBit="0" />
				<value name="speed_3d" firstBit="1" />
				<value name="ground_speed" firstBit="2" />
				<value name="heading" firstBit="3" />
				<value name="speed_accuracy" firstBit="4" />
				<value name="heading_accuracy" firstBit="5" />
				<value name="flags" firstBit="0" lastBit="5" />
			</bitfield>
			<param name="valid_flags" index="20" type="ValidFlags" />
		</field>
		<field descriptor="0x06" name="GNSS ECEF Velocity">
			GNSS reported velocity in the Earth-centered, Earth-Fixed (ECEF) frame
			<param name="v" index="0" type="Vector3f" />
			<param name="v_accuracy" index="0" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="velocity" firstBit="0" />
				<value name="velocity_accuracy" firstBit="1" />
				<value name="flags" firstBit="0" lastBit="1" />
			</bitfield>
			<param name="valid_flags" index="4" type="ValidFlags" />
		</field>
		<field descriptor="0x07" name="dop">
			GNSS reported dilution of precision information.
			<param name="gdop" index="0" type="float" />
			<param name="pdop" index="4" type="float" />
			<param name="hdop" index="8" type="float" />
			<param name="vdop" index="12" type="float" />
			<param name="tdop" index="16" type="float" />
			<param name="ndop" index="20" type="float" />
			<param name="edop" index="24" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="gdop" firstBit="0" />
				<value name="pdop" firstBit="1" />
				<value name="hdop" firstBit="2" />
				<value name="vdop" firstBit="3" />
				<value name="tdop" firstBit="4" />
				<value name="ndop" firstBit="5" />
				<value name="edop" firstBit="6" />
				<value name="flags" firstBit="0" lastBit="6" />
			</bitfield>
			<param name="valid_flags" index="28" type="ValidFlags" />
		</field>
		<field descriptor="0x08" name="utc_time">
			GNSS reported Coordinated Universal Time
			<param name="year" index="0" type="u16" />
			<param name="month" index="2" type="u8" />
			<param name="day" index="3" type="u8" />
			<param name="hour" index="4" type="u8" />
			<param name="min" index="5" type="u8" />
			<param name="sec" index="6" type="u8" />
			<param name="msec" index="7" type="u32" />
			<bitfield name="ValidFlags" type="u16">
				<value name="gnss_date_time" firstBit="0" />
				<value name="leap_seconds_known" firstBit="1" />
				<value name="flags" firstBit="0" lastBit="1" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x09" name="gps_time">
			GNSS reported GPS Time
			<param name="tow" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="flags" firstBit="0" lastBit="1" />
			</bitfield>
			<param name="valid_flags" index="10" type="ValidFlags" />
		</field>
		<field descriptor="0x0A" name="clock_info">
			GNSS reported receiver clock parameters
			<param name="bias" index="0" type="double" />
			<param name="drift" index="8" type="double" />
			<param name="accuracy_estimate" index="16" type="double" />
			<bitfield name="ValidFlags" type="u16">
				<value name="bias" firstBit="0" />
				<value name="drift" firstBit="1" />
				<value name="accuracy_estimate" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="24" type="ValidFlags" />
		</field>
		<field descriptor="0x0B" name="fix_info">
			GNSS reported position fix type
			<enum name="FixType" type="u8">
				<value name="FIX_3D" value="0" />
				<value name="FIX_2D" value="1" />
				<value name="FIX_TIME_ONLY" value="2" />
				<value name="FIX_NONE" value="3" />
				<value name="FIX_INVALID" value="4" />
				<value name="FIX_RTK_FLOAT" value="5" />
				<value name="FIX_RTK_FIXED" value="6" />
				<value name="FIX_DIFFERENTIAL" value="7" />
			</enum>
			<param name="fix_type" index="0" type="FixType" />
			<param name="num_sv" index="1" type="u8" />
			<bitfield name="FixFlags" type="u16">
				<value name="sbas_used" firstBit="0" />
				<value name="dgnss_used" firstBit="1" />
			</bitfield>
			<param name="fix_flags" index="2" type="FixFlags" />
			<bitfield name="ValidFlags" type="u16">
				<value name="fix_type" firstBit="0" />
				<value name="num_sv" firstBit="1" />
				<value name="fix_flags" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="4" type="ValidFlags" />
		</field>
		<field descriptor="0x0C" name="sv_info">
			GNSS reported space vehicle information
			<param name="channel" index="0" type="u8" />
			<param name="sv_id" index="1" type="u8" />
			<param name="carrier_noise_ratio" index="2" type="u16" />
			<param name="azimuth" index="4" type="s16" />
			<param name="elevation" index="6" type="s16" />
			<bitfield name="SVFlags" type="u16">
				<value name="used_for_navigation" firstBit="0" />
				<value name="healthy" firstBit="1" />
			</bitfield>
			<param name="sv_flags" index="8" type="SVFlags" />
			<bitfield name="ValidFlags" type="u16">
				<value name="channel" firstBit="0" />
				<value name="sv_id" firstBit="1" />
				<value name="carrier_noise_ratio" firstBit="2" />
				<value name="azimuth" firstBit="3" />
				<value name="elevation" firstBit="4" />
				<value name="sv_flags" firstBit="5" />
				<value name="flags" firstBit="0" lastBit="5" />
			</bitfield>
			<param name="valid_flags" index="10" type="ValidFlags" />
		</field>
		<field descriptor="0x0D" name="GNSS Hardware Status">
			GNSS reported hardware status
			<enum name="ReceiverState" type="u8">
				<value name="OFF" value="0" />
				<value name="ON" value="1" />
				<value name="UNKNOWN" value="2" />
			</enum>
			<param name="receiver_state" index="0" type="ReceiverState" />
			<enum name="AntennaState" type="u8">
				<value name="INIT" value="1" />
				<value name="SHORT" value="2" />
				<value name="OPEN" value="3" />
				<value name="GOOD" value="4" />
				<value name="UNKNOWN" value="5" />
			</enum>
			<param name="antenna_state" index="1" type="AntennaState" />
			<enum name="AntennaPower" type="u8">
				<value name="OFF" value="0" />
				<value name="ON" value="1" />
				<value name="UNKNOWN" value="2" />
			</enum>
			<param name="antenna_power" index="2" type="AntennaPower" />
			<bitfield name="ValidFlags" type="u16">
				<value name="sensor_state" firstBit="0" />
				<value name="antenna_state" firstBit="1" />
				<value name="antenna_power" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="3" type="ValidFlags" />
		</field>
		<field descriptor="0x0E" name="dgps_info">
			GNSS reported DGNSS status
			<param name="sv_id" index="0" type="u8" />
			<param name="age" index="1" type="float" />
			<param name="range_correction" index="5" type="float" />
			<param name="range_rate_correction" index="9" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="age" firstBit="0" />
				<value name="base_station_id" firstBit="1" />
				<value name="base_station_status" firstBit="2" />
				<value name="num_channels" firstBit="3" />
				<value name="flags" firstBit="0" lastBit="3" />
			</bitfield>
			<param name="valid_flags" index="13" type="ValidFlags" />
		</field>
		<field descriptor="0x0F" name="dgps_channel">
			GNSS reported DGPS Channel Status status
			<param name="sv_id" index="0" type="u8" />
			<param name="age" index="1" type="float" />
			<param name="range_correction" index="5" type="float" />
			<param name="range_rate_correction" index="9" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="id" firstBit="0" />
				<value name="age" firstBit="1" />
				<value name="range_correction" firstBit="2" />
				<value name="range_rate_correction" firstBit="3" />
				<value name="flags" firstBit="0" lastBit="3" />
			</bitfield>
			<param name="valid_flags" index="13" type="ValidFlags" />
		</field>
		<field descriptor="0x10" name="clock_info_2">
			GNSS reported receiver clock parameters
			<param name="bias" index="0" type="double" />
			<param name="drift" index="8" type="double" />
			<param name="bias_accuracy_estimate" index="16" type="double" />
			<param name="drift_accuracy_estimate" index="24" type="double" />
			<bitfield name="ValidFlags" type="u16">
				<value name="bias" firstBit="0" />
				<value name="drift" firstBit="1" />
				<value name="bias_accuracy" firstBit="2" />
				<value name="drift_accuracy" firstBit="3" />
				<value name="flags" firstBit="0" lastBit="3" />
			</bitfield>
			<param name="valid_flags" index="32" type="ValidFlags" />
		</field>
		<field descriptor="0x11" name="gps_leap_seconds">
			GNSS reported leap seconds (difference between GPS and UTC Time)
			<param name="leap_seconds" index="0" type="u8" />
			<bitfield name="ValidFlags" type="u16">
				<value name="leap_seconds" firstBit="1" />
			</bitfield>
			<param name="valid_flags" index="1" type="ValidFlags" />
		</field>
		<field descriptor="0x12" name="sbas_info">
			GNSS SBAS status
			<param name="time_of_week" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<enum name="SbasSystem" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="WAAS" value="1" />
				<value name="EGNOS" value="2" />
				<value name="MSAS" value="3" />
				<value name="GAGAN" value="4" />
			</enum>
			<param name="sbas_system" index="10" type="SbasSystem" />
			<param name="sbas_id" index="11" type="u8" />
			<param name="count" index="12" type="u8" />
			<bitfield name="SbasStatus" type="u8">
				<value name="range_available" firstBit="0" />
				<value name="corrections_available" firstBit="1" />
				<value name="integrity_available" firstBit="2" />
				<value name="test_mode" firstBit="3" />
			</bitfield>
			<param name="sbas_status" index="13" type="SbasStatus" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="sbas_system" firstBit="2" />
				<value name="sbas_id" firstBit="3" />
				<value name="count" firstBit="4" />
				<value name="sbas_status" firstBit="5" />
				<value name="flags" firstBit="0" lastBit="5" />
			</bitfield>
			<param name="valid_flags" index="14" type="ValidFlags" />
		</field>
		<field descriptor="0x13" name="sbas_correction">
			GNSS calculated SBAS Correction
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<enum name="GnssConstellationId" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="GPS" value="1" />
				<value name="GLONASS" value="2" />
				<value name="GALILEO" value="3" />
				<value name="BEIDOU" value="4" />
				<value name="SBAS" value="5" />
			</enum>
			<param name="gnss_id" index="12" type="GnssConstellationId" />
			<param name="sv_id" index="13" type="u8" />
			<param name="udrei" index="14" type="u8" />
			<param name="pseudorange_correction" index="15" type="float" />
			<param name="iono_correction" index="19" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="udrei" firstBit="0" />
				<value name="pseudorange_correction" firstBit="1" />
				<value name="iono_correction" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="23" type="ValidFlags" />
		</field>
		<field descriptor="0x14" name="rf_error_detection">
			GNSS Error Detection subsystem status
			<enum name="RFBand" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="L1" value="1" />
				<value name="L2" value="2" />
				<value name="L5" value="5" />
			</enum>
			<param name="rf_band" index="0" type="RFBand" />
			<enum name="JammingState" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="NONE" value="1" />
				<value name="PARTIAL" value="2" />
				<value name="SIGNIFICANT" value="3" />
			</enum>
			<param name="jamming_state" index="1" type="JammingState" />
			<enum name="SpoofingState" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="NONE" value="1" />
				<value name="PARTIAL" value="2" />
				<value name="SIGNIFICANT" value="3" />
			</enum>
			<param name="spoofing_state" index="2" type="SpoofingState" />
			<param name="reserved" index="3" type="u8" count="4" />
			<bitfield name="ValidFlags" type="u16">
				<value name="rf_band" firstBit="0" />
				<value name="jamming_state" firstBit="1" />
				<value name="spoofing_state" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="4" type="ValidFlags" />
		</field>
		<field descriptor="0x30" name="base_station_info">
			RTCM reported base station information (sourced from RTCM Message 1005 or 1006)
			<param name="time_of_week" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<param name="ecef_pos" index="10" type="Vector3d" />
			<param name="height" index="10" type="float" />
			<param name="station_id" index="14" type="u16" />
			<bitfield name="IndicatorFlags" type="u16">
				<value name="gps" firstBit="0" />
				<value name="glonass" firstBit="1" />
				<value name="galileo" firstBit="2" />
				<value name="beidou" firstBit="3" />
				<value name="ref_station" firstBit="4" />
				<value name="single_receiver" firstBit="5" />
				<value name="quarter_cycle_bit1" firstBit="6" />
				<value name="quarter_cycle_bit2" firstBit="7" />
				<value name="quarter_cycle_bits" firstBit="6" lastBit="7" />
			</bitfield>
			<param name="indicators" index="16" type="IndicatorFlags" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="ecef_position" firstBit="2" />
				<value name="height" firstBit="3" />
				<value name="station_id" firstBit="4" />
				<value name="indicators" firstBit="5" />
				<value name="flags" firstBit="0" lastBit="5" />
			</bitfield>
			<param name="valid_flags" index="18" type="ValidFlags" />
		</field>
		<field descriptor="0x31" name="rtk_corrections_status">
			<param name="time_of_week" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<bitfield name="EpochStatus" type="u16">
				<value name="antenna_location_received" firstBit="0" />
				<value name="antenna_description_received" firstBit="1" />
				<value name="gps_received" firstBit="2" />
				<value name="glonass_received" firstBit="3" />
				<value name="galileo_received" firstBit="4" />
				<value name="beidou_received" firstBit="5" />
				<value name="using_gps_msm_messages" firstBit="6" />
				<value name="using_glonass_msm_messages" firstBit="7" />
				<value name="dongle_status_read_failed" firstBit="8" />
			</bitfield>
			<param name="epoch_status" index="10" type="EpochStatus" />
			<param name="dongle_status" index="12" type="u32" />
			<param name="gps_correction_latency" index="16" type="float" />
			<param name="glonass_correction_latency" index="20" type="float" />
			<param name="galileo_correction_latency" index="24" type="float" />
			<param name="beidou_correction_latency" index="28" type="float" />
			<param name="reserved" index="32" type="u32" count="4" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="epoch_status" firstBit="2" />
				<value name="dongle_status" firstBit="3" />
				<value name="gps_latency" firstBit="4" />
				<value name="glonass_latency" firstBit="5" />
				<value name="galileo_latency" firstBit="6" />
				<value name="beidou_latency" firstBit="7" />
				<value name="flags" firstBit="0" lastBit="7" />
			</bitfield>
			<param name="valid_flags" index="36" type="ValidFlags" />
		</field>
		<field descriptor="0x20" name="satellite_status">
			Status information for a GNSS satellite.
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<enum name="GnssConstellationId" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="GPS" value="1" />
				<value name="GLONASS" value="2" />
				<value name="GALILEO" value="3" />
				<value name="BEIDOU" value="4" />
				<value name="SBAS" value="5" />
			</enum>
			<param name="gnss_id" index="12" type="GnssConstellationId" />
			<param name="satellite_id" index="13" type="u8" />
			<param name="elevation" index="14" type="float" />
			<param name="azimuth" index="18" type="float" />
			<param name="health" index="22" type="bool" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="gnss_id" firstBit="2" />
				<value name="satellite_id" firstBit="3" />
				<value name="elevation" firstBit="4" />
				<value name="azimuth" firstBit="5" />
				<value name="health" firstBit="6" />
				<value name="flags" firstBit="0" lastBit="6" />
			</bitfield>
			<param name="valid_flags" index="23" type="ValidFlags" />
		</field>
		<field descriptor="0x22" name="raw">
			GNSS Raw observation.
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<param name="receiver_id" index="12" type="u16" />
			<param name="tracking_channel" index="14" type="u8" />
			<enum name="GnssConstellationId" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="GPS" value="1" />
				<value name="GLONASS" value="2" />
				<value name="GALILEO" value="3" />
				<value name="BEIDOU" value="4" />
				<value name="SBAS" value="5" />
			</enum>
			<param name="gnss_id" index="15" type="GnssConstellationId" />
			<param name="satellite_id" index="16" type="u8" />
			<enum name="GnssSignalId" type="u8">
				<value name="UNKNOWN" value="0" />
				<value name="GPS_L1CA" value="1" />
				<value name="GPS_L1P" value="2" />
				<value name="GPS_L1Z" value="3" />
				<value name="GPS_L2CA" value="4" />
				<value name="GPS_L2P" value="5" />
				<value name="GPS_L2Z" value="6" />
				<value name="GPS_L2CL" value="7" />
				<value name="GPS_L2CM" value="8" />
				<value name="GPS_L2CML" value="9" />
				<value name="GPS_L5I" value="10" />
				<value name="GPS_L5Q" value="11" />
				<value name="GPS_L5IQ" value="12" />
				<value name="GPS_L1CD" value="13" />
				<value name="GPS_L1CP" value="14" />
				<value name="GPS_L1CDP" value="15" />
				<value name="GLONASS_G1CA" value="32" />
				<value name="GLONASS_G1P" value="33" />
				<value name="GLONASS_G2C" value="34" />
				<value name="GLONASS_G2P" value="35" />
				<value name="GALILEO_E1C" value="64" />
				<value name="GALILEO_E1A" value="65" />
				<value name="GALILEO_E1B" value="66" />
				<value name="GALILEO_E1BC" value="67" />
				<value name="GALILEO_E1ABC" value="68" />
				<value name="GALILEO_E6C" value="69" />
				<value name="GALILEO_E6A" value="70" />
				<value name="GALILEO_E6B" value="71" />
				<value name="GALILEO_E6BC" value="72" />
				<value name="GALILEO_E6ABC" value="73" />
				<value name="GALILEO_E5BI" value="74" />
				<value name="GALILEO_E5BQ" value="75" />
				<value name="GALILEO_E5BIQ" value="76" />
				<value name="GALILEO_E5ABI" value="77" />
				<value name="GALILEO_E5ABQ" value="78" />
				<value name="GALILEO_E5ABIQ" value="79" />
				<value name="GALILEO_E5AI" value="80" />
				<value name="GALILEO_E5AQ" value="81" />
				<value name="GALILEO_E5AIQ" value="82" />
				<value name="SBAS_L1CA" value="96" />
				<value name="SBAS_L5I" value="97" />
				<value name="SBAS_L5Q" value="98" />
				<value name="SBAS_L5IQ" value="99" />
				<value name="QZSS_L1CA" value="128" />
				<value name="QZSS_LEXS" value="129" />
				<value name="QZSS_LEXL" value="130" />
				<value name="QZSS_LEXSL" value="131" />
				<value name="QZSS_L2CM" value="132" />
				<value name="QZSS_L2CL" value="133" />
				<value name="QZSS_L2CML" value="134" />
				<value name="QZSS_L5I" value="135" />
				<value name="QZSS_L5Q" value="136" />
				<value name="QZSS_L5IQ" value="137" />
				<value name="QZSS_L1CD" value="138" />
				<value name="QZSS_L1CP" value="139" />
				<value name="QZSS_L1CDP" value="140" />
				<value name="BEIDOU_B1I" value="160" />
				<value name="BEIDOU_B1Q" value="161" />
				<value name="BEIDOU_B1IQ" value="162" />
				<value name="BEIDOU_B3I" value="163" />
				<value name="BEIDOU_B3Q" value="164" />
				<value name="BEIDOU_B3IQ" value="165" />
				<value name="BEIDOU_B2I" value="166" />
				<value name="BEIDOU_B2Q" value="167" />
				<value name="BEIDOU_B2IQ" value="168" />
				<value name="BEIDOU_B2A" value="169" />
			</enum>
			<param name="signal_id" index="17" type="GnssSignalId" />
			<param name="signal_strength" index="18" type="float" />
			<enum name="GnssSignalQuality" type="u8">
				<value name="NONE" value="0" />
				<value name="SEARCHING" value="1" />
				<value name="ACQUIRED" value="2" />
				<value name="UNUSABLE" value="3" />
				<value name="TIME_LOCKED" value="4" />
				<value name="FULLY_LOCKED" value="5" />
			</enum>
			<param name="quality" index="22" type="GnssSignalQuality" />
			<param name="pseudorange" index="23" type="double" />
			<param name="carrier_phase" index="31" type="double" />
			<param name="doppler" index="39" type="float" />
			<param name="range_uncert" index="43" type="float" />
			<param name="phase_uncert" index="47" type="float" />
			<param name="doppler_uncert" index="51" type="float" />
			<param name="lock_time" index="55" type="float" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="receiver_id" firstBit="2" />
				<value name="tracking_channel" firstBit="3" />
				<value name="gnss_id" firstBit="4" />
				<value name="satellite_id" firstBit="5" />
				<value name="signal_id" firstBit="6" />
				<value name="signal_strength" firstBit="7" />
				<value name="quality" firstBit="8" />
				<value name="pseudorange" firstBit="9" />
				<value name="carrier_phase" firstBit="10" />
				<value name="doppler" firstBit="11" />
				<value name="range_uncertainty" firstBit="12" />
				<value name="carrier_phase_uncertainty" firstBit="13" />
				<value name="doppler_uncertainty" firstBit="14" />
				<value name="lock_time" firstBit="15" />
				<value name="flags" firstBit="0" lastBit="15" />
			</bitfield>
			<param name="valid_flags" index="59" type="ValidFlags" />
		</field>
		<field descriptor="0x61" name="GPS Ephemeris">
			GPS Ephemeris Data
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<param name="satellite_id" index="12" type="u8" />
			<param name="health" index="13" type="u8" />
			<param name="iodc" index="14" type="u8" />
			<param name="iode" index="15" type="u8" />
			<param name="t_oc" index="16" type="double" />
			<param name="af0" index="24" type="double" />
			<param name="af1" index="32" type="double" />
			<param name="af2" index="40" type="double" />
			<param name="t_gd" index="48" type="double" />
			<param name="ISC_L1CA" index="56" type="double" />
			<param name="ISC_L2C" index="64" type="double" />
			<param name="t_oe" index="72" type="double" />
			<param name="a" index="80" type="double" />
			<param name="a_dot" index="88" type="double" />
			<param name="mean_anomaly" index="96" type="double" />
			<param name="delta_mean_motion" index="104" type="double" />
			<param name="delta_mean_motion_dot" index="112" type="double" />
			<param name="eccentricity" index="120" type="double" />
			<param name="argument_of_perigee" index="128" type="double" />
			<param name="omega" index="136" type="double" />
			<param name="omega_dot" index="144" type="double" />
			<param name="inclination" index="152" type="double" />
			<param name="inclination_dot" index="160" type="double" />
			<param name="c_ic" index="168" type="double" />
			<param name="c_is" index="176" type="double" />
			<param name="c_uc" index="184" type="double" />
			<param name="c_us" index="192" type="double" />
			<param name="c_rc" index="200" type="double" />
			<param name="c_rs" index="208" type="double" />
			<bitfield name="ValidFlags" type="u16">
				<value name="ephemeris" firstBit="0" />
				<value name="modern_data" firstBit="1" />
				<value name="isc_l5" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="216" type="ValidFlags" />
		</field>
		<field descriptor="0x63" name="Galileo Ephemeris">
			Galileo Ephemeris Data
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<param name="satellite_id" index="12" type="u8" />
			<param name="health" index="13" type="u8" />
			<param name="iodc" index="14" type="u8" />
			<param name="iode" index="15" type="u8" />
			<param name="t_oc" index="16" type="double" />
			<param name="af0" index="24" type="double" />
			<param name="af1" index="32" type="double" />
			<param name="af2" index="40" type="double" />
			<param name="t_gd" index="48" type="double" />
			<param name="ISC_L1CA" index="56" type="double" />
			<param name="ISC_L2C" index="64" type="double" />
			<param name="t_oe" index="72" type="double" />
			<param name="a" index="80" type="double" />
			<param name="a_dot" index="88" type="double" />
			<param name="mean_anomaly" index="96" type="double" />
			<param name="delta_mean_motion" index="104" type="double" />
			<param name="delta_mean_motion_dot" index="112" type="double" />
			<param name="eccentricity" index="120" type="double" />
			<param name="argument_of_perigee" index="128" type="double" />
			<param name="omega" index="136" type="double" />
			<param name="omega_dot" index="144" type="double" />
			<param name="inclination" index="152" type="double" />
			<param name="inclination_dot" index="160" type="double" />
			<param name="c_ic" index="168" type="double" />
			<param name="c_is" index="176" type="double" />
			<param name="c_uc" index="184" type="double" />
			<param name="c_us" index="192" type="double" />
			<param name="c_rc" index="200" type="double" />
			<param name="c_rs" index="208" type="double" />
			<bitfield name="ValidFlags" type="u16">
				<value name="ephemeris" firstBit="0" />
				<value name="modern_data" firstBit="1" />
				<value name="isc_l5" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="216" type="ValidFlags" />
		</field>
		<field descriptor="0x62" name="Glonass Ephemeris">
			Glonass Ephemeris Data
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<param name="satellite_id" index="12" type="u8" />
			<param name="freq_number" index="13" type="s8" />
			<param name="tk" index="14" type="u32" />
			<param name="tb" index="18" type="u32" />
			<param name="sat_type" index="22" type="u8" />
			<param name="gamma" index="23" type="double" />
			<param name="tau_n" index="31" type="double" />
			<param name="x" index="39" type="Vector3d" />
			<param name="v" index="39" type="Vector3f" />
			<param name="a" index="39" type="Vector3f" />
			<param name="health" index="39" type="u8" />
			<param name="P" index="40" type="u8" />
			<param name="NT" index="41" type="u8" />
			<param name="delta_tau_n" index="42" type="float" />
			<param name="Ft" index="46" type="u8" />
			<param name="En" index="47" type="u8" />
			<param name="P1" index="48" type="u8" />
			<param name="P2" index="49" type="u8" />
			<param name="P3" index="50" type="u8" />
			<param name="P4" index="51" type="u8" />
			<bitfield name="ValidFlags" type="u16">
				<value name="ephemeris" firstBit="0" />
				<value name="flags" firstBit="0" />
			</bitfield>
			<param name="valid_flags" index="52" type="ValidFlags" />
		</field>
		<field descriptor="0x64" name="BeiDou Ephemeris">
			BeiDou Ephemeris Data
			<param name="index" index="0" type="u8" />
			<param name="count" index="1" type="u8" />
			<param name="time_of_week" index="2" type="double" />
			<param name="week_number" index="10" type="u16" />
			<param name="satellite_id" index="12" type="u8" />
			<param name="health" index="13" type="u8" />
			<param name="iodc" index="14" type="u8" />
			<param name="iode" index="15" type="u8" />
			<param name="t_oc" index="16" type="double" />
			<param name="af0" index="24" type="double" />
			<param name="af1" index="32" type="double" />
			<param name="af2" index="40" type="double" />
			<param name="t_gd" index="48" type="double" />
			<param name="ISC_L1CA" index="56" type="double" />
			<param name="ISC_L2C" index="64" type="double" />
			<param name="t_oe" index="72" type="double" />
			<param name="a" index="80" type="double" />
			<param name="a_dot" index="88" type="double" />
			<param name="mean_anomaly" index="96" type="double" />
			<param name="delta_mean_motion" index="104" type="double" />
			<param name="delta_mean_motion_dot" index="112" type="double" />
			<param name="eccentricity" index="120" type="double" />
			<param name="argument_of_perigee" index="128" type="double" />
			<param name="omega" index="136" type="double" />
			<param name="omega_dot" index="144" type="double" />
			<param name="inclination" index="152" type="double" />
			<param name="inclination_dot" index="160" type="double" />
			<param name="c_ic" index="168" type="double" />
			<param name="c_is" index="176" type="double" />
			<param name="c_uc" index="184" type="double" />
			<param name="c_us" index="192" type="double" />
			<param name="c_rc" index="200" type="double" />
			<param name="c_rs" index="208" type="double" />
			<bitfield name="ValidFlags" type="u16">
				<value name="ephemeris" firstBit="0" />
				<value name="modern_data" firstBit="1" />
				<value name="isc_l5" firstBit="2" />
				<value name="flags" firstBit="0" lastBit="2" />
			</bitfield>
			<param name="valid_flags" index="216" type="ValidFlags" />
		</field>
		<field descriptor="0x71" name="GPS Ionospheric Correction">
			Ionospheric Correction Terms for GNSS
			<param name="time_of_week" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<param name="alpha" index="10" type="double" count="4" />
			<param name="beta" index="18" type="double" count="4" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="alpha" firstBit="2" />
				<value name="beta" firstBit="3" />
				<value name="flags" firstBit="0" lastBit="3" />
			</bitfield>
			<param name="valid_flags" index="26" type="ValidFlags" />
		</field>
		<field descriptor="0x73" name="Galileo Ionospheric Correction">
			Ionospheric Correction Terms for Galileo
			<param name="time_of_week" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<param name="alpha" index="10" type="Vector3d" />
			<param name="disturbance_flags" index="10" type="u8" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="alpha" firstBit="2" />
				<value name="disturbance_flags" firstBit="3" />
				<value name="flags" firstBit="0" lastBit="3" />
			</bitfield>
			<param name="valid_flags" index="11" type="ValidFlags" />
		</field>
		<field descriptor="0x74" name="BeiDou Ionospheric Correction">
			Ionospheric Correction Terms for BeiDou
			<param name="time_of_week" index="0" type="double" />
			<param name="week_number" index="8" type="u16" />
			<param name="alpha" index="10" type="double" count="4" />
			<param name="beta" index="18" type="double" count="4" />
			<param name="alpha_corr" index="26" type="double" count="9" />
			<bitfield name="ValidFlags" type="u16">
				<value name="tow" firstBit="0" />
				<value name="week_number" firstBit="1" />
				<value name="alpha" firstBit="2" />
				<value name="beta" firstBit="3" />
				<value name="alpha_corr" firstBit="4" />
				<value name="flags" firstBit="0" lastBit="4" />
			</bitfield>
			<param name="valid_flags" index="34" type="ValidFlags" />
		</field>
	</descriptor_set>
</mipdefs>
