<?xml version="1.0"?>
<!DOCTYPE protocol SYSTEM "messages.dtd">
<protocol>
 <!-- messages from modem or sim to server -->
 <class name="telemetry">
 
   <message name="BOOT" id="1">
     <field name="version" type="uint16"></field>
   </message>

   <message name="ALIVE" id="2">
     <field name="md5sum" type="uint8[]"/>
   </message>

   <message name="PONG" id="3">
   </message>

   <message name="TAKEOFF" id="4">
     <field name="cpu_time" type="uint16" unit="s"></field>
   </message>

<!-- add the following msg for debugging Haiyang 20080521-->
   <message name="DebugChao" id="5">
     <field name="int16_1" type="int16" unit="deg"></field>
     <field name="int16_2" type="int16" unit="deg"></field>
     <field name="int16_3" type="int16" unit="deg"></field>
     <field name="int32_1" type="int32" unit="deg"></field>
     <field name="int32_2" type="int32" unit="deg"></field>
     <field name="int32_3" type="int32" unit="deg"></field>
   </message>

   <message name="ATTITUDE" id="6">
     <field name="phi" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"></field>
     <field name="psi" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"></field>
     <field name="theta" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"></field>
   </message>

   <message name="IR_SENSORS" id="7">
     <field name="ir1" type="int16"></field>
     <field name="ir2" type="int16"></field>
     <field name="longitudinal" type="int16"></field>
     <field name="lateral" type="int16"></field>
     <field name="vertical" type="int16"></field>
   </message>

   <message name="GPS" id="8">
     <field name="mode"   type="uint8" unit="byte_mask"></field>
     <field name="utm_east"  type="int32" unit="cm"></field>
     <field name="utm_north"  type="int32" unit="cm"></field>
     <field name="course" type="int16" unit="decideg"></field>
     <field name="alt"    type="int32" unit="cm"></field>
     <field name="speed"  type="uint16" unit="cm/s"></field>
     <field name="climb"  type="int16" unit="cm/s"></field>
     <field name="week"  type="uint16" unit="weeks"></field>
     <field name="itow"  type="uint32" unit="ms"></field>
     <field name="utm_zone"  type="uint8"></field>
     <field name="gps_nb_err" type="uint8"></field>
   </message>

   <message name="NAVIGATION_REF" id="9">
     <field name="utm_east"  type="int32" unit="m"></field>
     <field name="utm_north" type="int32" unit="m"></field>
     <field name="utm_zone" type="uint8"></field>
   </message>

   <message name="NAVIGATION" id="10">
     <field name="cur_block" type="uint8"></field>
     <field name="cur_stage" type="uint8"></field>
     <field name="pos_x" type="float" unit="m" format="%.1f"></field>
     <field name="pos_y" type="float" unit="m" format="%.1f"></field>
     <field name="dist2_wp" type="float" format="%.1f" unit="m^2"></field>
     <field name="dist2_home" type="float" format="%.1f" unit="m^2"></field>
     <field name="circle_count" type="uint8"></field>
     <field name="oval_count" type="uint8"></field>
   </message>

   <message name="PPRZ_MODE" id="11">
     <field name="ap_mode" type="uint8" values="MANUAL|AUTO1|AUTO2|HOME|NOGPS|FAILSAFE"/>
     <field name="ap_gaz" type="uint8" values="MANUAL|AUTO_THROTTLE|AUTO_CLIMB|AUTO_ALT"/>
     <field name="ap_lateral" type="uint8" values="MANUAL|ROLL_RATE|ROLL|COURSE"/>
     <field name="ap_horizontal" type="uint8" values="WAYPOINT|ROUTE|CIRCLE"/>
     <field name="if_calib_mode" type="uint8" values="NONE|DOWN|UP"/>
     <field name="mcu1_status" type="uint8" values="LOST|OK|REALLY_LOST"/>
   </message>

   <message name="BAT" id="12">
     <field name="throttle" type="int16" unit="pprz"></field>
     <field name="voltage" type="uint8" unit="1e-1V" alt_unit="V" alt_unit_coef="0.1"></field>
     <field name="flight_time" type="uint16" unit="s"></field>
     <field name="kill_auto_throttle" type="uint8" unit="bool"></field>
     <field name="block_time" type="uint16" unit="s"></field>
     <field name="stage_time" type="uint16" unit="s"></field>
     <field name="energy" type="int16" unit="mAh"/>
   </message>

   <message name="DEBUG_MCU_LINK" id="13">
     <field name="i2c_nb_err" type="uint8"></field>	
     <field name="i2c_mcu1_nb_err" type="uint8"></field>
     <field name="ppm_rate" type="uint8"></field>
   </message>

   <message name="CALIBRATION" id="14">
     <field name="climb_sum_err" type="float" format="%.1f"></field>
     <field name="climb_gaz_submode" type="uint8"></field>
   </message>

   <message name="SETTINGS" id="15">
     <field name="slider_1_val" type="float"></field>
     <field name="slider_2_val" type="float"></field>
   </message>

   <message name="DESIRED" id="16">
     <field name="roll" type="float" format="%.2f" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
     <field name="pitch" type="float" format="%.2f" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
     <field name="course" type="float" format="%.1f" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
     <field name="x" type="float" format="%.0f"  unit="m"/>
     <field name="y" type="float" format="%.0f" unit="m"/>
     <field name="altitude" type="float" format="%.0f"  unit="m"/>
     <field name="climb" type="float" format="%.1f"  unit="m/s"></field>
   </message>

   <message name="GPS_SOL" id="17">
     <field name="Pacc" type="uint32" unit="cm"/>
     <field name="Sacc" type="uint32" unit="cm"/>
     <field name="PDOP" type="uint16" unit="cm"/>
     <field name="numSV" type="uint8"/>
   </message>

   <message name="ADC_GENERIC" id="18">
     <field name="val1" type="uint16"/>
     <field name="val2" type="uint16"/>
   </message>

   <message name="CAM" id="20">
     <field name="phi" type="int8" unit="deg"/>
     <field name="theta" type="int8" unit="deg"/>
     <field name="target_x" type="int16" unit="m"/>
     <field name="target_y" type="int16" unit="m"/>
   </message>
	
  <message name="CIRCLE" id="21">
     <field name="center_east" type="float" unit="m"/>
     <field name="center_north" type="float" unit="m"/>
     <field name="radius" type="float" unit="m"/>
     </message>
	
   <message name="SEGMENT" id="22">
      <field name="segment_east_1" type="float" unit="m"/>
      <field name="segment_north_1" type="float" unit="m"/>
      <field name="segment_east_2" type="float" unit="m"/>
      <field name="segment_north_2" type="float" unit="m"/>
  </message>

  <message name="DOWNLINK_STATUS" id="23">
    <field name="run_time" type="uint32" unit="s"></field>
    <field name="rx_bytes" type="uint32"></field>
    <field name="rx_msgs" type="uint32"></field>
    <field name="rx_err" type="uint32"></field>
    <field name="rx_bytes_rate" type="float" format="%.1f"></field>
    <field name="rx_msgs_rate" type="float" format="%.1f"></field>
    <field name="ping_time" type="float" format="%.2f" unit="ms"></field>
  </message>

  <message name="MODEM_STATUS" id="24">
    <field name="detected" type="uint8"></field>
    <field name="valim" type="float" format="%.1f"></field>
    <field name="cd" type="uint8"></field>
    <field name="nb_byte" type="uint32"></field>
    <field name="nb_msg" type="uint32"></field>
    <field name="nb_err" type="uint32"></field>
  </message>

  <message name="SVINFO" id="25">
    <field name="chn" type="uint8"/>
    <field name="SVID" type="uint8"/>
    <field name="Flags" type="uint8"/>
    <field name="QI" type="int8"/>
    <field name="CNO" type="uint8" unit="dbHz"/>
    <field name="Elev" type="int8" unit="deg"/>
    <field name="Azim" type="int16" unit="deg"/>
  </message>

  <message name="DEBUG" id="26">
    <field name="msg" type="uint8[]"/>
  </message>

  <message name="SURVEY" ID="27">
    <field name="east" type="float" unit="m"/>
    <field name="north" type="float" unit="m"/>
    <field name="west" type="float" unit="m"/>
    <field name="south" type="float" unit="m"/>
  </message>

  <message name="WC_RSSI" id="28">
    <field name="raw_level" type="uint8"/>
  </message>

  <message name="RANGEFINDER" id="29">
    <field name="range" type="uint16" unit="cm"/>
    <field name="z_dot" type="float" unit="m/s"/>
    <field name="z_dot_sum_err" type="float" unit="m/s"/>
    <field name="z_dot_setpoint" type="float" unit="m/s"/>
    <field name="z_sum_err" type="float" unit="m/s"/>
    <field name="z_setpoint" type="float" unit="m"/>
    <field name="flying" type="uint8" unit="bool"/>
  </message>

  <message name="DOWNLINK" id="30">
    <field name="nb_ovrn" type="uint8"></field>
    <field name="rate" type="uint16" unit="bytes/s"></field>
    <field name="nb_msgs" type="uint16"></field>
  </message>

<!-- Current value of one variable from the dl_settings (airframe.xml) -->
 <message name="DL_VALUE" id="31">
    <field name="index" type="uint8"/>
    <field name="value" type="float"/>
 </message>


 <message name="MARK" id="32">
   <field name="ac_id" type="uint8"/>
   <field name="lat" type="float" unit="deg"/>
   <field name="long" type="float" unit="deg"/>
 </message>

 <message name="MOTOR" id="34">
   <field name="rpm" type="uint16" unit="Hz"/>
   <field name="current" type="uint16" unit="mA"/>
 </message>

 <message name="WP_MOVED" id="35">
    <field name="wp_id" type="uint8"/>
    <field name="utm_east" type="float" unit="m"></field>
    <field name="utm_north" type="float" unit="m"></field>
    <field name="alt" type="float" unit="m"></field>
    <field name="utm_zone" type="uint8"></field>
 </message>

 <message name="GYRO_RATES" id="36">
    <field name="roll_adc" type="int16"></field>
    <field name="roll" type="float" unit="rad/s"></field>
    <field name="pitch" type="float" unit="rad/s"></field>
 </message>

  <message name="SPEED_LOOP" id="40">
    <field name="ve_set_point" type="float" unit="m/s"/>
    <field name="ve" type="float" unit="m/s"/>
    <field name="vn_set_point" type="float" unit="m/s"/>
    <field name="vn" type="float" unit="m/s"/>
    <field name="north_sp" type="float" unit="rad"/>
    <field name="east_sp" type="float" unit="rad"/>
  </message>

  <message name="ALT_KALMAN" id="41">
    <field name="p00" type="float"/>
    <field name="p01" type="float"/>
    <field name="p10" type="float"/>
    <field name="p11" type="float"/>
  </message>

  <message name="ESTIMATOR" id="42">
    <field name="z" type="float" unit="m"/>
    <field name="z_dot" type="float" unit="m/s"/>
  </message>

  <message name="TUNE_ROLL" id="43">
      <field name="p" type="float"/>
      <field name="phi" type="float"/>
      <field name="phi_sp" type="float"/>
  </message>

  <message name="BARO_MS5534A" id="44">
      <field name="pressure" type="uint32" unit="P"/>
      <field name="temp" type="uint16" unit="dC"/>
      <field name="alt" type="float" unit="m"/>
  </message>

  <message name="AIRSPEED" id="45">
      <field name="adc" type="uint16"/>
      <field name="airspeed" type="float"/>
  </message>

  <message name="BARO_WORDS" id="46">
      <field name="w1"  type="uint16"/>
      <field name="w2"  type="uint16"/>
      <field name="w3"  type="uint16"/>
      <field name="w4"  type="uint16"/>
  </message>


 <message name="WP_MOVED_LLA" id="47">
    <field name="wp_id" type="uint8"/>
    <field name="lat" type="int32" unit="degres"></field>
    <field name="lon" type="int32" unit="degres"></field>
    <field name="alt" type="int32" unit="cm"></field>
 </message>

 <message name="CHRONO" id="48">
    <field name="tag" type="uint8"/>
    <field name="time" type="uint32" unit="us"></field>
 </message>

 <message name="WP_MOVED_ENU" id="49">
    <field name="wp_id" type="uint8"/>
    <field name="east"  type="int32" unit="2^8m" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="north" type="int32" unit="2^8m" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="up"    type="int32" unit="2^8m" alt_unit="m" alt_unit_coef="0.0039063"/>
 </message>

  <message name="ENERGY" id="37">
    <field name="bat"      type="float" unit="V"/>
    <field name="amp"      type="float" unit="A"/>
    <field name="energy"   type="uint16" unit="Wh"/>
  </message>

 <message name="WINDTURBINE_STATUS_" id="50">
   <field name="ac_id" type="uint8"/>
   <field name="tb_id" type="uint8"/>
   <field name="sync_itow"  type="uint32" unit="ms"/>
   <field name="cycle_time" type="uint32" unit="ms"/>
 </message>

  <message name="RC_3CH_" id="51">
    <field name="throttle_mode" type="uint8" unit="byte_mask"/>
    <field name="roll"  type="int8"/>
    <field name="pitch" type="int8"/>
  </message>

 <message name="MPPT" id="52">
    <field name="values" type="int16[]" alt_unit_coef="1e-3"/>
 </message>

  <message name="H_CTL_A" id="60">
    <field name="roll_sum_err" type="float"/>
    <field name="ref_roll_angle" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
    <field name="pitch_sum_err" type="float"/>
    <field name="ref_pitch_angle" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
  </message>


  <message name="PPM" id="100">
    <field name="ppm_rate" type="uint8"></field>
    <field name="values" type="uint16[]" unit="ticks"/>
  </message>

  <message name="RC" id="101">
    <field name="values" type="int16[]" unit="pprz" format="%d"/>
  </message>

  <message name="COMMANDS" id="102">
    <field name="values" type="int16[]" unit="ticks"/>
  </message>

  <message name="FBW_STATUS" id="103">
    <field name="rc_status" type="uint8" values="OK|LOST|REALLY_LOST"/>
    <field name="mode" type="uint8" values="MANUAL|AUTO|FAILSAFE"/>
    <field name="vsupply" type="uint8" unit="decivolt"/>
    <field name="current" type="int16" unit="mA"/>
  </message>

  <message name="ADC" id="104">
    <field name="mcu" type="uint8" values="FBW|AP"/>
    <field name="values" type="uint16[]" unit="none"/>
  </message>

  <message name="ACTUATORS" id="105">
    <field name="values" type="uint16[]" unit="none"/>
  </message>



  <message name="DC_SHOT" id="110">
     <field name="utm_east"  type="int32" unit="cm"></field>
     <field name="utm_north" type="int32" unit="cm"></field>
     <field name="utm_zone"  type="uint8"></field>
     <field name="course" type="int16" unit="decideg"></field>
     <field name="z" type="float" unit="m"/>
     <field name="phi" type="int16" unit="deg"></field>
     <field name="theta" type="int16" unit="deg"></field>	 
  </message>

  <message name="TEST_BOARD_RESULTS" ID="111">
    <field name="uart" type="uint8"/>
    <field name="ppm" type="uint8"/>
    <field name="servo" type="uint16[]"/>
  </message>

  <message name="TCAS_TA" ID="120">
    <field name="ac_id" type="uint8"/>
  </message>

  <message name="TCAS_RA" id="121">
    <field name="ac_id" type="uint8"/>
  </message>

  <message name="TCAS_DEBUG" id="122">
    <field name="ac_id" type="uint8"/>
    <field name="tau" type="float"/>
  </message>

  <message name="POTENTIAL" id="123">
    <field name="east" type="float"/>
    <field name="north" type="float"/>
    <field name="alt" type="float"/>
    <field name="speed" type="float"/>
    <field name="climb" type="float"/>
  </message>

  <message name="IMU_GYRO" id="200">
    <field name="gp" type="float" unit="rad/s" alt_unit="deg/s" alt_unit_coef="57.29578"/>
    <field name="gq" type="float" unit="rad/s" alt_unit="deg/s" alt_unit_coef="57.29578"/>
    <field name="gr" type="float" unit="rad/s" alt_unit="deg/s" alt_unit_coef="57.29578"/>
  </message>

  <message name="IMU_MAG" id="201">
    <field name="mx" type="float" />
    <field name="my" type="float" />
    <field name="mz" type="float" />
  </message>

  <message name="IMU_ACCEL" id="202">
    <field name="ax" type="float" unit="m/s-2"/>
    <field name="ay" type="float" unit="m/s-2"/>
    <field name="az" type="float" unit="m/s-2"/>
  </message>

  <message name="IMU_GYRO_RAW" id="203">
    <field name="gp" type="uint16" unit="adc"/>
    <field name="gq" type="uint16" unit="adc"/>
    <field name="gr" type="uint16" unit="adc"/>
  </message>

  <message name="IMU_ACCEL_RAW" id="204">
    <field name="ax" type="uint16" unit="adc"/>
    <field name="ay" type="uint16" unit="adc"/>
    <field name="az" type="uint16" unit="adc"/>
  </message>

  <message name="IMU_MAG_RAW" id="205">
    <field name="mx" type="int16" unit="adc"/>
    <field name="my" type="int16" unit="adc"/>
    <field name="mz" type="int16" unit="adc"/>
  </message>

  <message name="IMU_GYRO_RAW_AVG" id="206">
    <field name="gp" type="uint16" unit="adc"/>
    <field name="gq" type="uint16" unit="adc"/>
    <field name="gr" type="uint16" unit="adc"/>
    <field name="vgp" type="float" unit="adc" format="%.0f"/>
    <field name="vgq" type="float" unit="adc" format="%.0f"/>
    <field name="vgr" type="float" unit="adc" format="%.0f"/>
  </message>

  <message name="IMU_ACCEL_RAW_AVG" id="207">
    <field name="ax" type="uint16" unit="adc"/>
    <field name="ay" type="uint16" unit="adc"/>
    <field name="az" type="uint16" unit="adc"/>
    <field name="vax" type="float" unit="adc"/>
    <field name="vay" type="float" unit="adc"/>
    <field name="vaz" type="float" unit="adc"/>
  </message>

  <message name="IMU_MAG_RAW_AVG" id="208">
    <field name="mx" type="int16" unit="adc"/>
    <field name="my" type="int16" unit="adc"/>
    <field name="mz" type="int16" unit="adc"/>
    <field name="vmx" type="float" unit="adc"/>
    <field name="vmy" type="float" unit="adc"/>
    <field name="vmz" type="float" unit="adc"/>
  </message>


  <message name="IMU_GYRO_LP" id="209">
    <field name="gp" type="float" unit="rad/s"/>
    <field name="gq" type="float" unit="rad/s"/>
    <field name="gr" type="float" unit="rad/s"/>
  </message>

  <message name="IMU_PRESSURE" id="210">
    <field name="p" type="float" unit="pascal"/>
  </message>

  <message name="IMU_DEBUG" id="211">
    <field name="max1167_status"  type="uint8"/>
    <field name="micromag_status" type="uint8"/>
    <field name="imu_v3_sensors_micromag_timeout"  type="uint8"/>
    <field name="imu_v3_sensors_micromag_nb_reset"  type="uint8"/>
  </message>

  <message name="IMU_TURNTABLE" id="220">
    <field name="omega" type="float" unit="rad/s" alt_unit="deg/s" alt_unit_coef="57.29578"/>
  </message>


  <message name="TIME" id="227">
    <field name="t" type="uint32"/>
  </message>

  <message name="BOOZ_STATUS" id="231">
      <field name="link_imu_nb_err" type="uint32"/>
      <field name="blmc_nb_err"  type="uint8"/>
      <field name="rc_status"    type="uint8" values="OK|LOST|REALLY_LOST"/>
      <field name="gps_status"   type="uint8" values="NO_FIX|NA|NA|3Dfix"/>
      <field name="ap_mode"      type="uint8" values="FAILSAFE|KILL|RATE_DIRECT|ATTITUDE_DIRECT|RATE_RC_CLIMB|ATTITUDE_RC_CLIMB|ATTITUDE_CLIMB|RATE_Z_HOLD|ATTITUDE_Z_HOLD|HOVER_DIRECT|HOVER_CLIMB|HOVER_Z_HOLD|NAV"/>
      <field name="ap_in_flight" type="uint8" values="ON_GROUND|IN_FLIGHT"/>
      <field name="ap_motors_on" type="uint8" values="MOTORS_OFF|MOTORS_ON"/>
      <field name="ap_h_mode"    type="uint8" values="KILL|RATE|ATTITUDE|HOVER|NAV"/>
      <field name="ap_v_mode"    type="uint8" values="KILL|RC_DIRECT|RC_CLIMB|CLIMB|HOVER|NAV"/>
      <field name="vsupply"      type="uint8" unit="decivolt"/>
      <field name="cpu_time"     type="uint16" unit="s"></field>
  </message>

  <message name="BOOZ_SIM_RPMS" id="239">
    <field name="front"    type="float" unit="RPM"/>
    <field name="back"     type="float" unit="RPM"/>
    <field name="right"    type="float" unit="RPM"/>
    <field name="left"     type="float" unit="RPM"/>
  </message>

  <message name="BOOZ_SIM_SPEED_POS" id="240">
    <field name="ltpp_xdd" type="float" unit="m/s2"/>
    <field name="ltpp_ydd" type="float" unit="m/s2"/>
    <field name="ltpp_zdd" type="float" unit="m/s2"/>
    <field name="ltpp_xd"  type="float" unit="m/s"/>
    <field name="ltpp_yd"  type="float" unit="m/s"/>
    <field name="ltpp_zd"  type="float" unit="m/s"/>
    <field name="ltpp_x"   type="float" unit="m"/>
    <field name="ltpp_y"   type="float" unit="m"/>
    <field name="ltpp_z"   type="float" unit="m"/>
  </message>

  <message name="BOOZ_SIM_RATE_ATTITUDE" id="241">
    <field name="p"     type="float" unit="degres/s"/>
    <field name="q"     type="float" unit="degres/s"/>
    <field name="r"     type="float" unit="degres/s"/>
    <field name="phi"   type="float" unit="degres"/>
    <field name="theta" type="float" unit="degres"/>
    <field name="psi"   type="float" unit="degres"/>
  </message>

  <message name="BOOZ_SIM_GYRO_BIAS" id="242">
    <field name="bp"     type="float" unit="degres/s"/>
    <field name="bq"     type="float" unit="degres/s"/>
    <field name="br"     type="float" unit="degres/s"/>
  </message>


  <message name="BOOZ_SIM_RANGE_METER" id="243">
    <field name="dist"   type="float" unit="adc"/>
  </message>

  <message name="BOOZ_SIM_WIND" id="244">
    <field name="vx"   type="float" unit="m/s"/>
    <field name="vy"   type="float" unit="m/s"/>
    <field name="vz"   type="float" unit="m/s"/>
  </message>

  <message name="BOOZ_DEBUG_FOO" id="245">
    <field name="ami_stat"   type="uint8"/>
  </message>

  <message name="BOOZ_MAX1167_ERR" id="246">
    <field name="erno"   type="uint8"/>
  </message>

  <message name="BOOZ_ERROR" id="247">
    <field name="module"   type="uint8"/>
    <field name="errno"   type="uint8"/>
  </message>

  <message name="BOOZ_SIM_ACCEL_LTP" id="248"> 
    <field name="xdd"   type="float" unit="m/s2"/>
    <field name="ydd"   type="float" unit="m/s2"/>
    <field name="zdd"   type="float" unit="m/s2"/>
  </message>
  
  <message name="MERCURY_PROPS" id="249">
    <field name="upper_left" type="uint8" />
    <field name="lower_right" type="uint8" />
    <field name="lower_left" type="uint8" />
    <field name="upper_right" type="uint8" />
  </message>

 <message name="VF_UPDATE" id="76">
   <field name="baro" type="float" unit="m"/>
   <field name="range_meter" type="float" unit="m"/>
 </message>

 <message name="VF_PREDICT" id="77">
   <field name="accel" type="float" unit="m/s/s"/>
 </message>

  <message name="CROSS_TRACK_ERROR" id="80">
    <field name="cross_track_error" type="float" unit="m"/>
    <field name="cte_int" type="float"/>
  </message>

  <message name="ESTIMATOR_COMP_FILTER" id="81">
    <field name="gyro_hp_last_out" type="float"/>
    <field name="gyro_int" type="float"/>
    <field name="gps_lp_last_out" type="float"/>
    <field name="ir_lp_last_out" type="float"/>
  </message>

 <message name="FORMATION_SLOT_TM" id="82">
	 <field name="ac_id" type="uint8"/>
	 <field name="mode" type="uint8"/>
	 <field name="slot_east" format="%.1f" type="float" unit="m"/>
	 <field name="slot_north" format="%.1f" type="float" unit="m"/>
	 <field name="slot_alt" format="%.1f" type="float" unit="m"/>
 </message>

 <message name="FORMATION_STATUS_TM" id="83">
	 <field name="ac_id" type="uint8"/>
	 <field name="leader_id" type="uint8"/>
	 <field name="status" type="uint8"/>
 </message>

 <message name="WIND_INFO_RET" id="87">
  <field name="east" type="float" unit="m/s"/>
  <field name="north" type="float" unit="m/s"/>
  <field name="airspeed" type="float" unit="m/s"/>
 </message>

  <message name="SCP_STATUS" id="88">
      <field name="press" type="uint32"/>
      <field name="temp"  type="int16"/>
  </message>

  <message name="SHT_STATUS" id="89">
      <field name="ihumid" type="uint16"/>
      <field name="itemp"  type="uint16"/>
      <field name="humid"  type="float"/>
      <field name="temp"   type="float"/>
  </message>

  <message name="ENOSE_STATUS" id="90">
      <field name="val1" type="uint16"/>
      <field name="val2" type="uint16"/>
      <field name="val3" type="uint16"/>
      <field name="PID" type="uint16"/>
      <field name="heat" type="uint8[]"/>
  </message>

  <message name="DPICCO_STATUS" id="91">
      <field name="humid" type="uint16"/>
      <field name="temp" type="uint16"/>
      <field name="fhumid" type="float"/>
      <field name="ftemp" type="float"/>
  </message>

  <message name="ANTENNA_DEBUG" id="92">
      <field name="mag_xraw" type="int32"/>
      <field name="mag_yraw" type="int32"/>
      <field name="mag_xcal" type="float"/>
      <field name="mag_ycal" type="float"/>
      <field name="mag_heading" type="float"/>
      <field name="mag_magnitude" type="float"/>
      <field name="mag_temp" type="float"/>
      <field name="mag_distor" type="uint8"/>
      <field name="mag_cal_status" type="uint8"/>
  </message>

  <message name="ANTENNA_STATUS" id="93">
      <field name="azim_sp" type="float"/>
      <field name="elev_sp" type="float"/>
      <field name="id_sp" type="uint8"/>
      <field name="mode" type="uint8"/>
  </message>

 <message name="MOTOR_BENCH_STATUS" id="94">
      <field name="time_ticks" type="uint32"/>
      <field name="throttle" type="float" format="%.3f"/>
      <field name="rpm" type="float"/>
      <field name="current" type="float"/>
      <field name="thrust" type="float"/>
      <field name="torque" type="float"/>
      <field name="time_s" type="uint16"/>
      <field name="mode" type="uint8"/>
      
  </message>

 <message name="MOTOR_BENCH_STATIC" id="95">
      <field name="av_rpm"     type="float"/>
      <field name="av_thrust"  type="float"/>
      <field name="av_current" type="float"/>
      <field name="throttle"   type="uint16"/>
 </message>


 <message name="BOOZ2_GYRO" id="131">   
   <field name="gp"    type="int32" alt_unit="deg/s" alt_unit_coef="0.0139882"/>
   <field name="gq"    type="int32" alt_unit="deg/s" alt_unit_coef="0.0139882"/>
   <field name="gr"    type="int32" alt_unit="deg/s" alt_unit_coef="0.0139882"/>
 </message>

 <message name="BOOZ2_ACCEL" id="132">   
   <field name="ax"    type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
   <field name="ay"    type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
   <field name="az"    type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
 </message>

 <message name="BOOZ2_MAG" id="133">   
   <field name="mx"    type="int32" alt_unit="1" alt_unit_coef="0.0004883"/>
   <field name="my"    type="int32" alt_unit="1" alt_unit_coef="0.0004883"/>
   <field name="mz"    type="int32" alt_unit="1" alt_unit_coef="0.0004883"/>
 </message>

 <message name="BOOZ2_FILTER" id="134">   
   <field name="phi"              type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
   <field name="theta"            type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
   <field name="psi"              type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
   <field name="measure_phi"      type="int32" alt_unit="degres" alt_unit_coef="0.0000273"/>
   <field name="measure_theta"    type="int32" alt_unit="degres" alt_unit_coef="0.0000273"/>
   <field name="measure_psi"      type="int32" alt_unit="degres" alt_unit_coef="0.0000273"/>
   <field name="corrected_phi"    type="int32" alt_unit="degres" alt_unit_coef="0.0000273"/>
   <field name="corrected_theta"  type="int32" alt_unit="degres" alt_unit_coef="0.0000273"/>
   <field name="corrected_psi"    type="int32" alt_unit="degres" alt_unit_coef="0.0000273"/>
   <field name="correction_phi"   type="int32"/>
   <field name="correction_theta" type="int32"/>
   <field name="correction_psi"   type="int32"/>
   <field name="bp"               type="int32"/>
   <field name="bq"               type="int32"/>
   <field name="br"               type="int32"/>
 </message>

 <message name="BOOZ2_FILTER2" id="135">   
   <field name="px"  type="int32"/>
   <field name="py"  type="int32"/>
   <field name="pz"  type="int32"/>
   <field name="gsx" type="int32"/>
   <field name="gsy" type="int32"/>
   <field name="gsz" type="int32"/>
 </message>

 <message name="BOOZ2_RATE_LOOP" id="136">   
   <field name="gp"  type="int32"/>
   <field name="gq"  type="int32"/>
   <field name="gr"  type="int32"/>
   <field name="spp" type="int32"/>
   <field name="spq" type="int32"/>
   <field name="spr" type="int32"/>
   <field name="delta_a" type="int32"/>
   <field name="delta_e" type="int32"/>
   <field name="delta_r" type="int32"/>
   <field name="delta_t" type="int32"/>
 </message>

 <message name="BOOZ2_FILTER_ALIGNER" id="137">  
   <field name="lp_gp"  type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>
   <field name="lp_gq"  type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>
   <field name="lp_gr"  type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>
   <field name="gp"     type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>
   <field name="gq"     type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>
   <field name="gr"     type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>
   <field name="noise"  type="int32"/>
   <field name="cnt"    type="int32"/>
 </message>

 <message name="BOOZ2_FILTER_Q" id="138">   
   <field name="qi"  type="int32"/>
   <field name="qx"  type="int32"/>
   <field name="qy"  type="int32"/>
   <field name="qz"  type="int32"/>
 </message>

 <message name="BOOZ2_FILTER_COR" id="139">   
   <field name="mphi"   type="int32"/>
   <field name="mtheta" type="int32"/>
   <field name="mpsi"   type="int32"/>
   <field name="qi"  type="int32"/>
   <field name="qx"  type="int32"/>
   <field name="qy"  type="int32"/>
   <field name="qz"  type="int32"/>
 </message>

 <message name="BOOZ2_STAB_ATTITUDE_INT" id="140"> 
    <field name="est_p"         type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>   
    <field name="est_q"         type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>   
    <field name="est_r"         type="int32" alt_unit="degres/s" alt_unit_coef="0.0139882"/>   
    <field name="est_phi"       type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>   
    <field name="est_theta"     type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>   
    <field name="est_psi"       type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>   
    <field name="sp_phi"        type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="sp_theta"      type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="sp_psi"        type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="sum_err_phi"   type="int32"/>   
    <field name="sum_err_theta" type="int32"/>   
    <field name="sum_err_psi"   type="int32"/>   
    <field name="delta_a_fb"    type="int32" alt_unit_coef="0.0000153"/>
    <field name="delta_e_fb"    type="int32" alt_unit_coef="0.0000153"/>
    <field name="delta_r_fb"    type="int32" alt_unit_coef="0.0000153"/>
    <field name="delta_a_ff"    type="int32" alt_unit_coef="0.0000153"/>
    <field name="delta_e_ff"    type="int32" alt_unit_coef="0.0000153"/>
    <field name="delta_r_ff"    type="int32" alt_unit_coef="0.0000153"/>
    <field name="delta_a"       type="int32"/>
    <field name="delta_e"       type="int32"/>
    <field name="delta_r"       type="int32"/>
 </message>

 <message name="BOOZ2_STAB_ATTITUDE_REF_INT" id="141"> 
    <field name="sp_phi"    type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="sp_theta"  type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="sp_psi"    type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="ref_phi"   type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="ref_theta" type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="ref_psi"   type="int32" alt_unit="degres" alt_unit_coef="0.0000546"/>   
    <field name="ref_p"     type="int32" alt_unit="degres/s" alt_unit_coef="0.0008743"/>   
    <field name="ref_q"     type="int32" alt_unit="degres/s" alt_unit_coef="0.0008743"/>   
    <field name="ref_r"     type="int32" alt_unit="degres/s" alt_unit_coef="0.0008743"/>   
    <field name="ref_pd"    type="int32" alt_unit="degres/s2" alt_unit_coef="0.0139882"/>
    <field name="ref_qd"    type="int32" alt_unit="degres/s2" alt_unit_coef="0.0139882"/>   
    <field name="ref_rd"    type="int32" alt_unit="degres/s2" alt_unit_coef="0.0139882"/>   
 </message>

 <message name="BOOZ2_STAB_ATTITUDE_FLOAT" id="130">
    <field name="est_p"         type="float" alt_unit="degres/s" alt_unit_coef="57.29578"/>   
    <field name="est_q"         type="float" alt_unit="degres/s" alt_unit_coef="57.29578"/>   
    <field name="est_r"         type="float" alt_unit="degres/s" alt_unit_coef="57.29578"/>   
    <field name="est_phi"       type="float" alt_unit="degres" alt_unit_coef="57.29578"/>   
    <field name="est_theta"     type="float" alt_unit="degres" alt_unit_coef="57.29578"/>   
    <field name="est_psi"       type="float" alt_unit="degres" alt_unit_coef="57.29578"/>   
    <field name="ref_phi"       type="float" alt_unit="degres" alt_unit_coef="57.29578"/>   
    <field name="ref_theta"     type="float" alt_unit="degres" alt_unit_coef="57.29578"/>   
    <field name="ref_psi"       type="float" alt_unit="degres" alt_unit_coef="57.29578"/>   
    <field name="sum_err_phi"   type="float"/>   
    <field name="sum_err_theta" type="float"/>   
    <field name="sum_err_psi"   type="float"/>   
    <field name="delta_a_fb"    type="float" alt_unit="motor" alt_unit_coef="0.0000153"/>
    <field name="delta_e_fb"    type="float" alt_unit="motor" alt_unit_coef="0.0000153"/>
    <field name="delta_r_fb"    type="float" alt_unit="motor" alt_unit_coef="0.0000153"/>
    <field name="delta_a_ff"    type="float" alt_unit="motor" alt_unit_coef="0.0000153"/>
    <field name="delta_e_ff"    type="float" alt_unit="motor" alt_unit_coef="0.0000153"/>
    <field name="delta_r_ff"    type="float" alt_unit="motor" alt_unit_coef="0.0000153"/>
    <field name="delta_a"       type="int32"/>
    <field name="delta_e"       type="int32"/>
    <field name="delta_r"       type="int32"/>
 </message>

 <message name="BOOZ2_STAB_ATTITUDE_REF_FLOAT" id="142"> 
    <field name="sp_phi"    type="float" alt_unit="degres"    alt_unit_coef="57.29578"/>   
    <field name="sp_theta"  type="float" alt_unit="degres"    alt_unit_coef="57.29578"/>   
    <field name="sp_psi"    type="float" alt_unit="degres"    alt_unit_coef="57.29578"/>   
    <field name="ref_phi"   type="float" alt_unit="degres"    alt_unit_coef="57.29578"/>   
    <field name="ref_theta" type="float" alt_unit="degres"    alt_unit_coef="57.29578"/>   
    <field name="ref_psi"   type="float" alt_unit="degres"    alt_unit_coef="57.29578"/>   
    <field name="ref_p"     type="float" alt_unit="degres/s"  alt_unit_coef="57.29578"/>   
    <field name="ref_q"     type="float" alt_unit="degres/s"  alt_unit_coef="57.29578"/>   
    <field name="ref_r"     type="float" alt_unit="degres/s"  alt_unit_coef="57.29578"/>   
    <field name="ref_pd"    type="float" alt_unit="degres/s2" alt_unit_coef="57.29578"/>
    <field name="ref_qd"    type="float" alt_unit="degres/s2" alt_unit_coef="57.29578"/>   
    <field name="ref_rd"    type="float" alt_unit="degres/s2" alt_unit_coef="57.29578"/>   
 </message>

 <message name="BOOZ2_CMD" id="143">
    <field name="cmd_roll"   type="int32"/>   
    <field name="cmd_pitch"  type="int32"/>   
    <field name="cmd_yaw"    type="int32"/>   
    <field name="cmd_thrust" type="int32"/>   
 </message>

  <message name="BOOZ2_GUIDANCE" id="144">
    <field name="pos_n"    type="int32"/>   
    <field name="pos_e"    type="int32"/>   
    <field name="sp_pos_n" type="int32"/>   
    <field name="sp_pos_e" type="int32"/>   
  </message>

  <message name="BOOZ2_VERT_LOOP" id="145">
    <field name="z_sp"      type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="zd_sp"     type="int32" alt_unit="m"    alt_unit_coef="0.0000019"/>
    <field name="est_z"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="est_zd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="est_zdd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
    <field name="ref_z"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="ref_zd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="ref_zdd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
    <field name="adp_inv_m" type="int32" alt_unit="foo"  alt_unit_coef="0.0000038"/>
    <field name="adp_cov"   type="int32" alt_unit="foo"  alt_unit_coef="0.0000038"/>
    <field name="adp_meas"  type="int32" alt_unit="foo"  alt_unit_coef="0.0000038"/>
    <field name="sum_err"   type="int32" />
    <field name="ff_cmd"    type="int32"/>
    <field name="fb_cmd"    type="int32"/>
    <field name="delta_t"   type="int32"/>
  </message>


  <message name="BOOZ2_HOVER_LOOP" id="146">
    <field name="sp_x"      type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="sp_y"      type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="est_x"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="est_y"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="est_xd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="est_yd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="est_xdd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009765"/>
    <field name="est_ydd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009765"/>
    <field name="err_x"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="err_y"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="err_xd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="err_yd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="err_sum_x" type="int32"/>
    <field name="err_sum_y" type="int32"/>
    <field name="err_nav_x" type="int32"/>
    <field name="err_nav_y" type="int32"/>
    <field name="cmd_x"     type="int32"/>
    <field name="cmd_y"     type="int32"/>
    <field name="cmd_phi"   type="int32"/>
    <field name="cmd_theta" type="int32"/>
    <field name="cmd_psi"   type="int32"/>
  </message>


  <message name="BOOZ2_FP" id="147">
    <field name="east"     type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="north"    type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="up"       type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="veast"    type="int32" alt_unit="m/s" alt_unit_coef="0.0000019"/>
    <field name="vnorth"   type="int32" alt_unit="m/s" alt_unit_coef="0.0000019"/>
    <field name="vup"      type="int32" alt_unit="m/s" alt_unit_coef="0.0000019"/>
    <field name="phi"      type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="theta"    type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="psi"      type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="carrot_east"   type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="carrot_north"  type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="carrot_up"     type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
    <field name="carrot_psi"    type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="thrust"        type="int32"/>   
    <field name="flight_time"   type="uint16" unit="s"/>
  </message>

  <message name="BOOZ2_FMS_INFO" id="148">
    <field name="tbd"      type="float"/>
  </message>

  <message name="BOOZ2_TUNE_HOVER" id="150">
    <field name="rc_roll"    type="int16" alt_unit="-100/100" alt_unit_coef="0.01041670"/>   
    <field name="rc_pitch"   type="int16" alt_unit="-100/100" alt_unit_coef="0.01041670"/>   
    <field name="rc_yaw"     type="int16" alt_unit="-100/100" alt_unit_coef="0.01041670"/>   
    <field name="cmd_roll"   type="int32"/>   
    <field name="cmd_pitch"  type="int32"/>   
    <field name="cmd_yaw"    type="int32"/>   
    <field name="cmd_thrust" type="int32"/>   
    <field name="imu_phi"    type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="imu_theta"  type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="imu_psi"    type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="body_phi"   type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="body_theta" type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="body_psi"   type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
  </message>

  <message name="BOOZ2_INS" id="151">
    <field name="baro_alt"  type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="ins_z"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
    <field name="ins_zd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
    <field name="ins_zdd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
  </message>

  <message name="BOOZ2_INS2" id="152">
    <field name="xdd" type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
    <field name="ydd" type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
    <field name="zdd" type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
    <field name="xd"  type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019073"/>
    <field name="yd"  type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019073"/>
    <field name="zd"  type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019073"/>
    <field name="x"   type="int32" alt_unit="m"    alt_unit_coef="0.0039"/>
    <field name="y"   type="int32" alt_unit="m"    alt_unit_coef="0.0039"/>
    <field name="z"   type="int32" alt_unit="m"    alt_unit_coef="0.0039"/>
  </message>

  <message name="BOOZ2_INS3" id="153">
    <field name="gps_x_ned"  type="int32" alt_unit="m"    alt_unit_coef="0.00390625"/>
    <field name="gps_y_ned"  type="int32" alt_unit="m"    alt_unit_coef="0.00390625"/>
    <field name="gps_z_ned"  type="int32" alt_unit="m"    alt_unit_coef="0.00390625"/>
    <field name="gps_xd_ned" type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019073"/>
    <field name="gps_yd_ned" type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019073"/>
    <field name="gps_zd_ned" type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019073"/>
  </message>

  <message name="BOOZ2_INS_REF" id="154">
    <field name="ecef_x0" type="int32" alt_unit="m"    alt_unit_coef="0.01"/>
    <field name="ecef_y0" type="int32" alt_unit="m"    alt_unit_coef="0.01"/>
    <field name="ecef_z0" type="int32" alt_unit="m"    alt_unit_coef="0.01"/>
    <field name="lat0"    type="int32" alt_unit="deg"  alt_unit_coef="0.0000001"/>
    <field name="lon0"    type="int32" alt_unit="deg"  alt_unit_coef="0.0000001"/>
    <field name="alt0"    type="int32" alt_unit="m"    alt_unit_coef="0.01"/>
    <field name="hmsl0"   type="int32" alt_unit="m"    alt_unit_coef="0.01"/>
    <field name="baro_qfe"    type="int32"/>
  </message>

 <message name="BOOZ2_GPS" id="155">
     <field name="ecef_x"  type="int32" alt_unit="m"   alt_unit_coef="0.01"/>
     <field name="ecef_y"  type="int32" alt_unit="m"   alt_unit_coef="0.01"/>
     <field name="ecef_z"  type="int32" alt_unit="m"   alt_unit_coef="0.01"/>
    <field name="lat"    type="int32" alt_unit="deg"  alt_unit_coef="0.0000001"/>
    <field name="lon"    type="int32" alt_unit="deg"  alt_unit_coef="0.0000001"/>
    <field name="alt"    type="int32" alt_unit="m"    alt_unit_coef="0.01"/>
     <field name="ecef_xd" type="int32" alt_unit="m/s" alt_unit_coef="0.01"/>
     <field name="ecef_yd" type="int32" alt_unit="m/s" alt_unit_coef="0.01"/>
     <field name="ecef_zd" type="int32" alt_unit="m/s" alt_unit_coef="0.01"/>
     <field name="pacc"    type="int32" alt_unit="m"   alt_unit_coef="0.01"/>
     <field name="sacc"    type="int32" alt_unit="m/s" alt_unit_coef="0.01"/>
     <field name="pdop"    type="uint16"/>
     <field name="numsv"   type="uint8"/>
     <field name="fix"     type="uint8"/>
 </message>


  <message name="BOOZ2_AHRS_EULER" id="156">
    <field name="imu_phi"    type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="imu_theta"  type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="imu_psi"    type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="body_phi"   type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="body_theta" type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
    <field name="body_psi"   type="int32" alt_unit="degres" alt_unit_coef="0.0139882"/>
  </message>

  <message name="BOOZ2_AHRS_QUAT" id="157">
    <field name="imu_qi"  type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="imu_qx"  type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="imu_qy"  type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="imu_qz"  type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="body_qi" type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="body_qx" type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="body_qy" type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
    <field name="body_qz" type="int32" alt_unit=""  alt_unit_coef="0.0000305"/>
  </message>

  <message name="BOOZ2_AHRS_RMAT" id="158">
    <field name="imu_m00"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m01"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m02"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m10"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m11"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m12"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m20"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m21"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="imu_m22"  type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m00" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m01" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m02" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m10" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m11" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m12" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m20" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m21" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
    <field name="body_m22" type="int32" alt_unit=""  alt_unit_coef="0.0000610"/>
  </message>

  <message name="BOOZ2_NAV_STATUS" id="159">
    <field name="block_time" type="uint16" unit="s"/>
    <field name="stage_time" type="uint16" unit="s"/>
    <field name="cur_block" type="uint8"/>
    <field name="cur_stage" type="uint8"/>
    <field name="horizontal_mode" type="uint8"/>
  </message>

  <message name="BOOZ2_RADIO_CONTROL" id="160">
     <field name="roll"     type="int16" unit="pprz"/>
     <field name="pitch"    type="int16" unit="pprz"/>
     <field name="yaw"      type="int16" unit="pprz"/>
     <field name="throttle" type="int16" unit="pprz"/>
     <field name="mode"     type="int16" unit="pprz"/>
     <field name="kill"     type="int16" unit="pprz"/>
     <field name="status"   type="uint8" values="OK|LOST|REALLY_LOST"/>
  </message>

  <message name="BOOZ2_BARO_RAW" id="161">
      <field name="offset"         type="uint16"/>
      <field name="value"          type="uint16"/>
      <field name="value_filtered" type="uint16"/>
  </message>

  <message name="BOOZ2_VFF" id="162">
      <field name="measure"        type="float"/>
      <field name="z"              type="float"/>
      <field name="zd"             type="float"/>
      <field name="bias"           type="float"/>
      <field name="Pzz"            type="float"/>
      <field name="Pzdzd"          type="float"/>
      <field name="Pbb"            type="float"/>
  </message>

  <message name="BOOZ2_TUNE_FF" id="163">
      <field name="fb_rms"         type="float"/>
      <field name="dg"             type="float"/>
      <field name="g"              type="float"/>
  </message>

  <message name="BOOZ2_HFF" id="164">
      <field name="x"              type="float"/>
      <field name="y"              type="float"/>
      <field name="xd"             type="float"/>
      <field name="yd"             type="float"/>
      <field name="xdd"            type="float"/>
      <field name="ydd"            type="float"/>
  </message>

  <message name="BOOZ2_HFF_DBG" id="165">
      <field name="x_measure"      type="float"/>
      <field name="y_measure"      type="float"/>
      <field name="yd_measure"     type="float"/>
      <field name="xd_measure"     type="float"/>
      <field name="Pxx"            type="float"/>
      <field name="Pyy"            type="float"/>
      <field name="Pxdxd"          type="float"/>
      <field name="Pydyd"          type="float"/>
  </message>

  <message name="BOOZ2_HFF_GPS" id="166">
      <field name="lag_cnt"     type="uint16"/>
      <field name="lag_cnt_err" type="int16"/>
      <field name="save_cnt"    type="int16"/>
  </message>

  <message name="EKF7_XHAT" id="170">
      <field name="c"   type="float"/>
      <field name="s1"  type="float"/>
      <field name="s2"  type="float"/>
      <field name="s3"  type="float"/>
      <field name="p"   type="float" alt_unit="deg/s" alt_unit_coef="57.29578"/>
      <field name="q"   type="float" alt_unit="deg/s" alt_unit_coef="57.29578"/>
      <field name="r"   type="float" alt_unit="deg/s" alt_unit_coef="57.29578"/>
      <field name="bp"  type="float"/>
      <field name="bq"  type="float"/>
      <field name="br"  type="float"/>
  </message>

    <message name="EKF7_P_DIAG" id="172">
      <field name="c"   type="float"/>
      <field name="s1"  type="float"/>
      <field name="s2"  type="float"/>
      <field name="s3"  type="float"/>
      <field name="p"   type="float" alt_unit="deg^2/s^2" alt_unit_coef="3283"/>
      <field name="q"   type="float" alt_unit="deg^2/s^2" alt_unit_coef="3283"/>
      <field name="r"   type="float" alt_unit="deg^2/s^2" alt_unit_coef="3283"/>
      <field name="bp"  type="float" alt_unit="deg^2/s^2" alt_unit_coef="3283"/>
      <field name="bq"  type="float" alt_unit="deg^2/s^2" alt_unit_coef="3283"/>
      <field name="br"  type="float" alt_unit="deg^2/s^2" alt_unit_coef="3283"/>
  </message>

    <message name="EKF7_Y" id="171">
      <field name="g1"  type="float"/>
      <field name="g2"  type="float"/>
      <field name="g3"  type="float"/>
      <field name="m1"  type="float"/>
      <field name="m2"  type="float"/>
      <field name="m3"  type="float"/>
      <field name="p"   type="float" alt_unit="deg/s" alt_unit_coef="57.29578"/>
      <field name="q"   type="float" alt_unit="deg/s" alt_unit_coef="57.29578"/>
      <field name="r"   type="float" alt_unit="deg/s" alt_unit_coef="57.29578"/>
  </message>


  <message name="AHRS_EULER" id="173">
    <field name="phi"   type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.29578" />
    <field name="theta" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.29578" />
    <field name="psi"   type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.29578" />
  </message>

  <message name="AHRS_MEASUREMENT_EULER" id="174">
    <field name="phi"   type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.29578" />
    <field name="theta" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.29578" />
    <field name="psi"   type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.29578" />
  </message>

  <message name="BOOZ2_SONAR" id="167">
    <field name="front" type="uint16" unit="adc"/>
    <field name="back" type="uint16" unit="adc"/>
    <field name="right" type="uint16" unit="adc"/>
    <field name="left" type="uint16" unit="adc"/>
  </message>

  <message name="BOOZ2_CAM" id="168">
    <field name="tilt" type="int16" unit="us"/>
    <field name="pan" type="int16" unit="2^12rad" alt_unit="degres" alt_unit_coef="0.0139882"/>
  </message>

  <message name="WT" id="175">
    <field name="rpm"      type="float"/>
  </message>


    <message name="CSC_CAN_DEBUG" id="176">
      <field name="err_nb"      type="uint32"/>
      <field name="err_code"    type="uint32"/>
    </message>

    <message name="CSC_CAN_MSG" id="177">
      <field name="frame"   type="uint32"/>
      <field name="id"      type="uint32"/>
      <field name="data_a"  type="uint32"/>
      <field name="data_b"  type="uint32"/>
    </message>


    <message name="FMS_TIME" id="180">
      <field name="tv_sec"   type="uint32"/>
      <field name="tv_nsec"  type="uint32"/>
      <field name="delay_ns" type="uint32"/>
    </message>

    <message name="WHIRLY_CONTROL" id="181">
      <field name="whirly_timestamp"   type="float"/>
      <field name="sp_pitch_1"   type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
      <field name="meas_pitch_1" type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
      <field name="sp_pitch_2"   type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
      <field name="meas_pitch_2" type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
      <field name="ele_1" type="int16"/>
      <field name="ele_2" type="int16"/>
      <field name="flap_1" type="int16"/>
      <field name="flap_2" type="int16"/>
      <field name="xsens1_seq" type="uint16"/>
      <field name="xsens2_seq" type="uint16"/>
    </message>

    <message name="FLA_DEBUG" id="182">
      <field name="past_input"    type="float"/>
      <field name="imu_rate"      type="float"/>
      <field name="desired_accel" type="float"/>
      <field name="motor_command" type="float"/>
    </message>

    <message name="WHIRLY_MOTORCONTROL" id="183">
      <field name="rpm1"	type="uint16"/>
      <field name="rpm2"	type="uint16"/>
      <field name="fault1"	type="uint16"/>
      <field name="fault2"	type="uint16"/>
    </message>

    <message name="WHIRLY_STATUS" id="184">
      <field name="whirly_timestamp"   type="float"/>
      <field name="xsens1_error_ck" type="uint32"/>
      <field name="xsens2_error_ck" type="uint32"/>
      <field name="xsens1_error_mid" type="uint32"/>
      <field name="xsens2_error_mid" type="uint32"/>
      <field name="xsens1_error_seq" type="uint32"/>
      <field name="xsens2_error_seq" type="uint32"/>
      <field name="csc1_loops" type="uint32"/>
      <field name="csc1_msgs" type="uint32"/>
      <field name="csc2_loops" type="uint32"/>
      <field name="csc2_msgs" type="uint32"/>
      <field name="busvolts0_0"	type="float"/>
      <field name="busvolts0_1"	type="float"/>
      <field name="busvolts1_0"	type="float"/>
      <field name="busvolts1_1"	type="float"/>
    </message>

    <message name="WHIRLY_IMU" id="185">
      <field name="whirly_timestamp"   type="float"/>
      <field name="p1_gyro_p" type="float"/>
      <field name="p1_gyro_r" type="float"/>
      <field name="p1_gyro_y" type="float"/>
      <field name="p1_accel_x" type="float"/>
      <field name="p1_accel_y" type="float"/>
      <field name="p1_accel_z" type="float"/>
      <field name="p1_mag_x" type="float"/>
      <field name="p1_mag_y" type="float"/>
      <field name="p1_mag_z" type="float"/>
      <field name="p2_gyro_p" type="float"/>
      <field name="p2_gyro_r" type="float"/>
      <field name="p2_gyro_y" type="float"/>
      <field name="p2_accel_x" type="float"/>
      <field name="p2_accel_y" type="float"/>
      <field name="p2_accel_z" type="float"/>
      <field name="p2_mag_x" type="float"/>
      <field name="p2_mag_y" type="float"/>
      <field name="p2_mag_z" type="float"/>
    </message>

    <message name="WHIRLY_IMU_RAW" id="186">
      <field name="whirly_timestamp"   type="float"/>
      <field name="p1_gyro_p_raw" type="uint16"/>
      <field name="p1_gyro_r_raw" type="uint16"/>
      <field name="p1_gyro_y_raw" type="uint16"/>
      <field name="p1_accel_x_raw" type="uint16"/>
      <field name="p1_accel_y_raw" type="uint16"/>
      <field name="p1_accel_z_raw" type="uint16"/>
      <field name="p1_mag_x_raw" type="uint16"/>
      <field name="p1_mag_y_raw" type="uint16"/>
      <field name="p1_mag_z_raw" type="uint16"/>
      <field name="p2_gyro_p_raw" type="uint16"/>
      <field name="p2_gyro_r_raw" type="uint16"/>
      <field name="p2_gyro_y_raw" type="uint16"/>
      <field name="p2_accel_x_raw" type="uint16"/>
      <field name="p2_accel_y_raw" type="uint16"/>
      <field name="p2_accel_z_raw" type="uint16"/>
      <field name="p2_mag_x_raw" type="uint16"/>
      <field name="p2_mag_y_raw" type="uint16"/>
      <field name="p2_mag_z_raw" type="uint16"/>
    </message>

    <message name="WHIRLY_KALMAN_DEBUG" id="187">
      <field name="whirly_timestamp"   type="float"/>
      <field name="p00" type="float"/>
      <field name="p11" type="float"/>
      <field name="p22" type="float"/>
      <field name="p33" type="float"/>
      <field name="p44" type="float"/>
      <field name="p55" type="float"/>
      <field name="p66" type="float"/>
      <field name="meas_phi" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
      <field name="meas_theta" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
      <field name="meas_psi" type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
    </message>

    <message name="WHIRLY_ESTIMATOR_DEBUG" id="188">
      <field name="whirly_timestamp"   type="float"/>
      <field name="phi"   type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
      <field name="theta" type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
      <field name="psi"   type="float" alt_unit="deg" alt_unit_coef="57.29578"/>
    </message>

    <message name="RMAT_DEBUG" id="189">
      <field name="a"   type="float" />
      <field name="b"   type="float" />
      <field name="c"   type="float" />
      <field name="d"   type="float" />
      <field name="e"   type="float" />
      <field name="f"   type="float" />
      <field name="g"   type="float" />
      <field name="h"   type="float" />
      <field name="i"   type="float" />
    </message>

    <message name="SIMPLE_COMMANDS" id="190">
      <field name="roll"    type="int16" />
      <field name="pitch"   type="int16" />
      <field name="yaw"	    type="int16" />
    </message>

    <message name="VANE_SENSOR" id="191">
      <field name="angle1"    type="float" unit="rad" alt_unit="deg" alt_unit_coef="57.3"/>
    </message>

    <message name="CONTROLLER_GAINS" id="192">
      <field name="roll_gamma_p"     type="float" />
      <field name="roll_gamma_d"     type="float" />
      <field name="roll_gamma_i"     type="float" />
      <field name="pitch_gamma_p"    type="float" />
      <field name="pitch_gamma_d"    type="float" />
      <field name="pitch_gamma_i"    type="float" />
      <field name="yaw_gamma_p"      type="float" />
      <field name="yaw_gamma_d"      type="float" />
      <field name="yaw_gamma_i"      type="float" />
    </message>

    <message name="BOOZ_AHRS_LKF" id="193">
      <field name="phi"   type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="theta" type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="psi"   type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="qi"    type="float" />
      <field name="qx"    type="float" />
      <field name="qy"    type="float" />
      <field name="qz"    type="float" />
      <field name="p"     type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="q"     type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="r"     type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="ax"    type="float" />
      <field name="ay"    type="float" />
      <field name="az"    type="float" />
      <field name="mx"    type="float" />
      <field name="my"    type="float" />
      <field name="mz"    type="float" />
    </message>

    <message name="BOOZ_AHRS_LKF_DEBUG" id="194">
      <field name="phi_err"   type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="theta_err" type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="psi_err"   type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="bp"        type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="bq"        type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="br"        type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="quat_norm" type="float" />
      <field name="phi_accel" type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="theta_accel" type="float" unit="rad"   alt_unit="degres"   alt_unit_coef="57.29578" />
      <field name="phi_cov"   type="float" />
      <field name="theta_cov" type="float" />
      <field name="psi_cov"   type="float" />
      <field name="bp_cov"    type="float" />
      <field name="bq_cov"    type="float" />
      <field name="br_cov"    type="float" />
    </message>

    <message name="BOOZ_AHRS_LKF_ACC_DBG" id="195">
      <field name="qi_err"    type="float" />
      <field name="qx_err"    type="float" />
      <field name="qy_err"    type="float" />
      <field name="qz_err"    type="float" />
      <field name="bp_err"    type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="bq_err"    type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="br_err"    type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
    </message>

    <message name="BOOZ_AHRS_LKF_MAG_DBG" id="196">
      <field name="qi_err"    type="float" />
      <field name="qx_err"    type="float" />
      <field name="qy_err"    type="float" />
      <field name="qz_err"    type="float" />
      <field name="bp_err"    type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="bq_err"    type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
      <field name="br_err"    type="float" unit="rad/s" alt_unit="degres/s" alt_unit_coef="57.29578" />
    </message>

    <message name="BOOZ_SIM_SENSORS_SCALED" id="197">
      <field name="acc_x"    type="float" />
      <field name="acc_y"    type="float" />
      <field name="acc_z"    type="float" />
      <field name="mag_x"    type="float" />
      <field name="mag_y"    type="float" />
      <field name="mag_z"    type="float" />
    </message>

    <message name="GPS_ERROR" id="199">
      <field name="x_position"    type="float" unit="m"/>
      <field name="y_position"    type="float" unit="m"/>
      <field name="z_position"    type="float" unit="m"/>
      <field name="x_velocity"    type="float" unit="m"/>
      <field name="y_velocity"    type="float" unit="m"/>
      <field name="z_velocity"    type="float" unit="m"/>
    </message>

	<message name="BOOZ_INS" id="198">
	  <field name="ins_x"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
	  <field name="ins_y"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
	  <field name="ins_z"     type="int32" alt_unit="m"    alt_unit_coef="0.0039063"/>
      <field name="ins_xd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
	  <field name="ins_yd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
      <field name="ins_zd"    type="int32" alt_unit="m/s"  alt_unit_coef="0.0000019"/>
      <field name="ins_xdd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
      <field name="ins_ydd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
      <field name="ins_zdd"   type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
	</message>
</class>



<class name="datalink">
 <message name="ACINFO" id="1" link="broadcasted">
  <field name="course" type="int16" unit="decideg"></field>
  <field name="utm_east"  type="int32" unit="cm"></field>
  <field name="utm_north"  type="int32" unit="cm"></field>
  <field name="alt"    type="int32" unit="cm"></field>
  <field name="itow"  type="uint32" unit="ms"></field>
  <field name="speed"  type="uint16" unit="cm/s"></field>
  <field name="climb"  type="int16" unit="cm/s"></field>
  <field name="ac_id" type="uint8"/>
 </message>

 <message name="MOVE_WP" id="2" link="forwarded">
  <field name="wp_id" type="uint8"/>
  <field name="ac_id" type="uint8"/>
  <field name="lat" type="int32" unit="e-7deg"></field>
  <field name="lon" type="int32" unit="e-7deg"></field>
  <field name="alt" type="int32" unit="cm"></field>
 </message>

 <message name="WIND_INFO" id="3" link="forwarded">
  <field name="ac_id" type="uint8"/>
  <field name="pad0" type="uint8"/>
  <field name="east" type="float" unit="m/s"/>
  <field name="north" type="float" unit="m/s"/>
  <field name="airspeed" type="float" unit="m/s"/>
 </message>

 <message name="SETTING" id="4" link="forwarded">
  <field name="index" type="uint8"/>
  <field name="ac_id" type="uint8"/>
  <field name="value" type="float"/>
 </message>

 <message name="BLOCK" id="5" link="forwarded">
  <field name="block_id" type="uint8"/>
  <field name="ac_id" type="uint8"/>
 </message>

 <message name="HITL_UBX" id="6" link="forwarded">
  <field name="class" type="uint8"/>
  <field name="id" type="uint8"/>
  <field name="ac_id" type="uint8"/>
  <field name="ubx_payload" type="uint8[]"/>
 </message>

 <message name="HITL_INFRARED" id="7" link="forwarded">
  <field name="roll" type="int16"/>
  <field name="pitch" type="int16"/>
  <field name="top" type="int16"/>
  <field name="ac_id" type="uint8"/>
 </message>
    
 <message name="PING" id="8"/>

 <message name="FORMATION_SLOT" id="9" link="broadcasted">
  <field name="ac_id" type="uint8"/>
  <field name="mode" type="uint8"/>
  <field name="slot_east" format="%.1f" type="float" unit="m"/>
  <field name="slot_north" format="%.1f" type="float" unit="m"/>
  <field name="slot_alt" format="%.1f" type="float" unit="m"/>
 </message>

 <message name="FORMATION_STATUS" id="10" link="broadcasted">
  <field name="ac_id" type="uint8"/>
  <field name="leader_id" type="uint8"/>
  <field name="status" type="uint8"/>
 </message>

 <message name="JOYSTICK_RAW" id="11" link="forwarded">
   <field name="ac_id" type="uint8"/>
   <field name="roll" type="int8"/>
   <field name="pitch" type="int8"/>
   <field name="throttle" type="int8"/>
 </message>

 <message name="COMMANDS_RAW" id="12" link="forwarded">
   <field name="ac_id" type="uint8"/>
   <field name="commands" type="int8[]"/>
 </message>

 <message name="DGPS_RAW" id="13" link="forwarded">
   <field name="ac_id" type="uint8"/>
   <field name="length" type="uint8"/>
   <field name="rtcm" type="uint8[]"/>
 </message>

 <message name="WINDTURBINE_STATUS" id="50" link="broadcasted">
   <field name="ac_id" type="uint8"/>
   <field name="tb_id" type="uint8"/>
   <field name="sync_itow"  type="uint32" unit="ms"/>
   <field name="cycle_time" type="uint32" unit="ms"/>
 </message>

  <message name="RC_3CH" id="51" link="broadcasted">
    <field name="throttle_mode" type="uint8" unit="byte_mask"/>
    <field name="roll"  type="int8"/>
    <field name="pitch" type="int8"/>
  </message>

 <message name="GET_SETTING" id="16" link="forwarded">
  <field name="index" type="uint8"/>
  <field name="ac_id" type="uint8"/>
 </message>

 <message name="BOOZ2_FMS_COMMAND" id="149" link="forwarded">
   <field name="h_mode" type="uint8" values="KILL|RATE|ATTITUDE|HOVER|NAV"/>
   <field name="v_mode" type="uint8" values="KILL|DIRECT|CLIMB_RC|CLIMB|ALT|NAV"/>
   <field name="v_sp"   type="int32"/>
   <field name="h_sp_1" type="int32"/>
   <field name="h_sp_2" type="int32"/>
   <field name="h_sp_3" type="int32"/>
   <field name="ac_id"  type="uint8"/>
 </message>

 <message name="SET_ACTUATOR" id="100">
   <field name="value" type="uint16"/>
   <field name="no" type="uint8"/>
   <field name="ac_id" type="uint8"/>
 </message>

 <message name="CSC_SERVO_CMD" id="101">
   <field name="servo_1" type="uint16"/>
   <field name="servo_2" type="uint16"/>
   <field name="servo_3" type="uint16"/>
   <field name="servo_4" type="uint16"/>
 </message>



</class>




<class name="ground">
  <message name="NEW_AIRCRAFT" id="1">
    <field name="ac_id" type="string"/>
  </message>

  <message name="AIRCRAFT_DIE" id="2">
    <field name="ac_id" type="string"/>
  </message>

  <message name="AIRCRAFTS" id="3">
    <field name="ac_list" type="string" format="csv"/>
  </message>

  <message name="AIRCRAFTS_REQ" id="4">
  </message>

  <message name="SELECTED" id="5">
    <field name="aircraft_id" type="string"/>
  </message>

  <message name="SELECTED_REQ" id="6">
  </message>

  <message name="WIND_CLEAR" id="7">
    <field name="ac_id" type="string"/>
  </message>

  <message name="WIND" id="8">
    <field name="ac_id" type="string"/>
    <field name="dir" type="float"   unit="deg_wind"/>
    <field name="wspeed" type="float" unit="m/s"/>
    <field name="mean_aspeed" type="float" unit="m/s"/>
    <field name="stddev" type="float" unit="m/s"/>
  </message>

  <message name="CONFIG_REQ" id="9">
    <field name="ac_id" type="string"/>
  </message>

  <message name="CONFIG" id="10">
    <field name="ac_id" type="string"/>
    <field name="flight_plan" type="string" unit="url"/>
    <field name="airframe" type="string" unit="url"/>
    <field name="radio" type="string" unit="url"/>
    <field name="settings" type="string" unit="url"/>
    <field name="default_gui_color" type="string"/>
    <field name="ac_name" type="string"/>
  </message>

  <message name="FLIGHT_PARAM" id="11">
    <field name="ac_id"  type="string"/>
    <field name="roll"   type="float" unit="deg"/>
    <field name="pitch"  type="float" unit="deg"/>
    <field name="heading" type="float" unit="deg"/>
    <field name="lat"    type="float" unit="deg"/>
    <field name="long"   type="float" unit="deg"/>
    <field name="speed"  type="float" unit="m/s"/>
    <field name="course" type="float" unit="deg" format="%.1f"/>
    <field name="alt"    type="float" unit="m"/>
    <field name="climb"  type="float" unit="m/s"/>
    <field name="agl"    type="float" unit="m"/>
    <field name="unix_time"    type="float" unit="s (Unix time)"/>
    <field name="itow"   type="uint32" unit="ms"/>
  </message>

  <message name="AP_STATUS" id="12">
    <field name="ac_id" type="string"/>
    <field name="ap_mode" type="string" values="MANUAL|AUTO1|AUTO2|HOME|FAILSAFE"/>
    <field name="lat_mode" type="string" values="MANUAL|ROLL_RATE|ROLL|COURSE"/>
    <field name="horiz_mode" type="string" values="WAYPOINT|ROUTE|CIRCLE"/>
    <field name="gaz_mode" type="string" values="MANUAL|THROTTLE|CLIMB|ALT"/>
    <field name="gps_mode" type="string" values="NOFIX|DRO|2D|3D|GPSDRO"/>
    <field name="kill_mode" type="string" values="OFF|ON"/>
    <field name="flight_time" type="uint32" />
  </message>

  <message name="NAV_STATUS" id="13">
    <field name="ac_id" type="string"/>
    <field name="cur_block"   type="uint8"/>
    <field name="cur_stage"   type="uint8"/>
    <field name="block_time"  type="uint32"/>
    <field name="stage_time"  type="uint32"/>
    <field name="target_lat" type="float" unit="deg"/>
    <field name="target_long" type="float" unit="deg"/>
    <field name="target_climb"   type="float" unit="m/s"/>
    <field name="target_alt"     type="float" unit="m"/>
    <field name="target_course" type="float" unit="deg"/>
    <field name="dist_to_wp" type="float" unit="m"/>
  </message>

  <message name="CAM_STATUS" id="14">
     <field name="ac_id" type="string"/>
     <field name="cam_lat" type="float" unit="deg"/>
     <field name="cam_long" type="float" unit="deg"/>
     <field name="cam_target_lat" type="float" unit="deg"/>
     <field name="cam_target_long" type="float" unit="deg"/>
  </message>

  <message name="ENGINE_STATUS" id="15">
    <field name="ac_id" type="string"/>
    <field name="throttle" type="float" unit="%"  format="%.1f"/>
    <field name="throttle_accu" type="float" format="%.1f"/>
    <field name="rpm"      type="float" unit="rpm"  format="%.1f"/>
    <field name="temp"     type="float" unit="celcius"/>
    <field name="bat"      type="float" unit="V"/>
    <field name="amp"      type="float" unit="A"/>
    <field name="energy"   type="uint16" unit="Wh"/>
  </message>

  <message name="SVSINFO" id="16">
      <field name="ac_id" type="string"/>
      <field name="pacc"  type="uint16" unit="cm"/>
      <field name="svid"  type="string" format="csv"/>
      <field name="flags" type="string" format="csv"/>
      <field name="qi"    type="string" format="csv" values="IDLE|SEARCH|SEARCH|UNUSABLE|CODELOCK|CARRIERLOCK|CARRIERLOCK|RECEIVING"/>
      <field name="cno"   type="string" format="csv" unit="dbHz"/>
      <field name="elev"  type="string" format="csv" unit="deg"/>
      <field name="azim"  type="string" format="csv" unit="deg"/>
      <field name="msg_age"  type="string" format="csv" unit="s"/>
  </message>

  <message name="FLY_BY_WIRE" id="17">
    <field name="ac_id" type="string"/>
    <field name="rc_status" type="string" values="OK|LOST|REALLY_LOST"/>
    <field name="rc_mode" type="string" values="MANUAL|AUTO|FAILSAFE"/>
  </message>

  <message name="INFLIGH_CALIB" id="19">
    <field name="ac_id" type="string"/>
    <field name="if_mode" type="string" values="OFF|DOWN|UP"></field>
    <field name="if_value1" type="float"></field>
    <field name="if_value2" type="float"></field>
  </message>

  <message name="WORLD_ENV" id="20">
    <field name="wind_east" type="float" unit="m/s" format="%.1f"/>
    <field name="wind_north" type="float" unit="m/s" format="%.1f"/>
    <field name="ir_contrast" type="float"/>
    <field name="time_scale" type="float"/>
    <field name="gps_availability" type="uint8" values="OFF|ON"/>
  </message>

  <message name="WORLD_ENV_REQ" id="21"/>

  <message name="CIRCLE_STATUS" id="22">
     <field name="ac_id" type="string"/>
     <field name="circle_lat" type="float" unit="deg"/>
     <field name="circle_long" type="float" unit="deg"/>
     <field name="radius" type="int16" unit="m"/>
     </message>
	
   <message name="SEGMENT_STATUS" id="23">
      <field name="ac_id" type="string"/>
      <field name="segment1_lat" type="float" unit="deg"/>
      <field name="segment1_long" type="float" unit="deg"/>
      <field name="segment2_lat" type="float" unit="deg"/>
      <field name="segment2_long" type="float" unit="deg"/>
  </message>

 <message name="MOVE_WAYPOINT" id="24">
  <field name="ac_id" type="string"/>
  <field name="wp_id" type="uint8"/>
  <field name="lat"  type="float" unit="deg"></field>
  <field name="long"  type="float" unit="deg"></field>
  <field name="alt"    type="float" unit="m"></field>
 </message>

 <message name="GET_DL_SETTING" id="25">
  <field name="ac_id" type="string"/>
  <field name="index" type="uint8"/>
 </message>

 <message name="DL_SETTING" id="26">
  <field name="ac_id" type="string"/>
  <field name="index" type="uint8"/>
  <field name="value" type="float"/>
 </message>

 <message name="JUMP_TO_BLOCK" id="27">
  <field name="ac_id" type="string"/>
  <field name="block_id" type="uint8"/>
 </message>

 <message name="DL_VALUES" id="28">
  <field name="ac_id" type="string"/>
  <field name="values" type="string" format="csv"/>
 </message>

 <message name="RAW_DATALINK" id="29">
  <field name="ac_id" type="string"/>
  <field name="message" type="string" format=";sv"/>
 </message>

 <message name="WAYPOINT_MOVED" id="30">
    <field name="ac_id" type="string"/>
    <field name="wp_id" type="uint8"/>
    <field name="lat"  type="float" unit="deg"></field>
    <field name="long"  type="float" unit="deg"></field>
    <field name="alt" type="float" unit="m"></field>
 </message>

  <message name="SURVEY_STATUS" id="31">
    <field name="ac_id" type="string"/>
    <field name="east_long" type="float" unit="deg"/>
    <field name="north_lat" type="float" unit="deg"/>
    <field name="west_long" type="float" unit="deg"/>
    <field name="south_lat" type="float" unit="deg"/>
  </message>

  <message name="TELEMETRY_STATUS" id="32">
    <field name="ac_id" type="string"/>
    <field name="time_since_last_bat_msg" type="float" unit="s"/>
  </message>

  <message name="TELEMETRY_ERROR" id="33">
    <field name="ac_id" type="string"/>
    <field name="message" type="string"/>
  </message>

  <message name="PLUMES" id="100">
    <field name="ids" type="string" format="csv"/>
    <field name="lats" type="string" format="csv"/>
    <field name="longs" type="string" format="csv"/>
    <field name="values" type="string" format="csv"/>
  </message>
</class>




<class name="alert">
   <message name="BAT_LOW" id="1">
      <field name="ac_id" type="string"/>
      <field name="level" type="string" values="CATASTROPHIC|CRITIC|WARNING"/> 
      <field name="value" type="float"/>
  </message>
   <message name="AIR_PROX" id="2">
      <field name="ac_id" type="string"/>
      <field name="level" type="string" values="CATASTROPHIC|CRITIC|WARNING"/>
  </message>
</class>



<class name="DIA"> <!-- data in audio -->
   <message name="NAV_INFO" id="1">
      <field name="unix_time" type="float"/>

      <field name="lat"   type="float" unit="deg"/>
      <field name="long"  type="float" unit="deg"/>
      <field name="alt"   type="uint16" unit="m"/>

      <field name="course" type="uint16" unit="deg"/>
      <field name="speed" type="uint16" unit="cm/s"/>

      <field name="cam_roll"  type="int16" unit="deg"/>
      <field name="cam_pitch" type="int16" unit="deg"/>
  </message>
</class>



</protocol>
