<?xml version="1.0"?>
<control_panel name="aggieair control panel">

  <section name="programs">
    <!-- AggieAir specific programs -->
    <program name="Payload" command="payload_start.sh"/>
    <program name="Altitude Update" command="altitude_update.sh"/>
    <program name="uGear Sim" command="start_ugear_sim.sh"/>
    <program name="ADS-B" command="start_adsb.sh"/>

    <!-- default programs -->
    <program name="Server" command="sw/ground_segment/tmtc/server"/>
    <program name="Data Link" command="sw/ground_segment/tmtc/link">
      <arg flag="-d" constant="/dev/ttyUSB0"/>
    </program>
    <program name="Link Combiner" command="sw/ground_segment/python/redundant_link/link_combiner.py"/>
    <program name="GCS" command="sw/ground_segment/cockpit/gcs"/>
    <program name="Flight Plan Editor" command="sw/ground_segment/cockpit/gcs">
      <arg flag="-edit"/>
    </program>
    <program name="Messages" command="sw/ground_segment/tmtc/messages"/>
    <program name="Messages (Python)" command="sw/ground_segment/python/messages_app/messagesapp.py"/>
    <program name="Settings" command="sw/ground_segment/tmtc/settings">
      <arg flag="-ac" constant="@AIRCRAFT"/>
    </program>
    <program name="Settings (Python)" command="sw/ground_segment/python/settings_app/settingsapp.py">
      <arg flag="--ac_id" constant="@AC_ID"/>
    </program>
    <program name="GPSd position display" command="sw/ground_segment/tmtc/gpsd2ivy"/>
    <program name="Log Plotter" command="sw/logalizer/logplotter"/>
    <program name="Real-time Plotter" command="sw/logalizer/plotter"/>
    <program name="Real-time Plotter (Python)" command="sw/ground_segment/python/real_time_plot/realtimeplotapp.py"/>
    <program name="Log File Player" command="sw/logalizer/play"/>
    <program name="Simulator" command="sw/simulator/pprzsim-launch">
      <arg flag="-a" constant="@AIRCRAFT"/>
    </program>
    <program name="Video Synchronizer" command="sw/ground_segment/misc/video_synchronizer"/>
    <program name="Joystick" command="sw/ground_segment/joystick/input2ivy">
      <arg flag="-ac" constant="@AIRCRAFT"/>
      <arg flag="xbox_gamepad.xml"/>
    </program>
    <program name="Sbus Fakerator" command="sw/tools/sbus_fakerator/sbus_fakerator">
      <arg flag="-p" constant="/dev/ttyUSB0"/>
    </program>
    <program name="Environment Simulator" command="sw/simulator/gaia"/>
    <program name="Http Server" command="$python">
      <arg flag="-m" constant="SimpleHTTPServer"/>
      <arg flag="8889"/>
    </program>
    <program name="Plot Meteo Profile" command="sw/logalizer/plotprofile"/>
    <program name="Weather Station" command="sw/ground_segment/misc/davis2ivy">
      <arg flag="-d" constant="/dev/ttyUSB1"/>
    </program>
    <program name="Attitude Visualizer" command="sw/tools/attitude_viz.py"/>
    <program name="App Server" command="sw/ground_segment/tmtc/app_server"/>
    <program name="NatNet" command="sw/ground_segment/misc/natnet2ivy"/>
    <program name="Ivy2Nmea" command="sw/ground_segment/tmtc/ivy2nmea">
      <arg flag="--port" constant="/dev/ttyUSB1"/>
      <arg flag="--id" constant="1"/>
    </program>
    <program name="BluegigaUsbDongleScanner" command="sw/tools/bluegiga_usb_dongle/bluegiga_usb_driver">
      <arg flag="/dev/ttyACM2"/>
      <arg flag="scan" />
    </program>
    <program name="BluegigaUsbDongle" command="sw/tools/bluegiga_usb_dongle/bluegiga_usb_driver">
      <arg flag="/dev/ttyACM2"/>
      <arg flag="00:07:00:2d:d6:bb" />
      <arg flag="4242" />
      <arg flag="4252" />
    </program>
    <program name="ADS-B Intruders receiver" command="sw/ground_segment/misc/sbs2ivy">
      <arg flag="--ac" constant="@AC_ID"/>
    </program>
 </section>

  <section name="sessions">

  <!-- Defeault test sessions -->
   <session name="Flight USB-serial@9600">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyUSB0"/>
      </program>
      <program name="Server"/>
      <program name="GCS"/>
    </session>

   <session name="Flight USB-serial@57600">
     <program name="Data Link">
       <arg flag="-d" constant="/dev/ttyUSB0"/>
       <arg flag="-s" constant="57600"/>
     </program>
     <program name="Server"/>
     <program name="GCS">
      <arg flag="-layout" constant="AGGIEAIR/vertical.xml"/>
     </program>
     <program name="Messages"/>
     <program name="Real-time Plotter"/>
   </session>

   <session name="Flight USB-serial@115200">
     <program name="Data Link">
       <arg flag="-d" constant="/dev/ttyUSB0"/>
       <arg flag="-s" constant="115200"/>
     </program>
     <program name="Server"/>
     <program name="GCS"/>
     <program name="Messages"/>
     <program name="Real-time Plotter"/>
   </session>

   <session name="HITL USB-serial@57600">
     <program name="Data Link">
       <arg flag="-d" constant="/dev/ttyUSB0"/>
       <arg flag="-s" constant="57600"/>
     </program>
     <program name="Server">
      <arg flag="" constant="-no_md5_check"/>
     </program>
     <program name="GCS"/>
     <program name="Messages"/>
     <program name="Simulator">
      <arg flag="-a" constant="@AIRCRAFT"/>
      <arg flag="-f" constant="127.0.0.1"/>
      <arg flag="-b" constant="127.255.255.255"/>
      <arg flag="--fg_fdm" constant=""/>
      <arg flag="-t" constant="hitl"/>
     </program>
   </session>

   <session name="HITL USB-serial@115200">
     <program name="Data Link">
       <arg flag="-d" constant="/dev/ttyUSB0"/>
       <arg flag="-s" constant="115200"/>
     </program>
     <program name="Server">
      <arg flag="" constant="-no_md5_check"/>
     </program>
     <program name="GCS"/>
     <program name="Messages"/>
     <program name="Simulator">
      <arg flag="-a" constant="@AIRCRAFT"/>
      <arg flag="-f" constant="127.0.0.1"/>
      <arg flag="-b" constant="127.255.255.255"/>
      <arg flag="--fg_fdm" constant=""/>
      <arg flag="-t" constant="hitl"/>
     </program>
   </session>

   <session name="AggieAir Simulation">
     <program name="Data Link">
       <arg flag="-udp"/>
       <arg flag="-udp_broadcast"/>
     </program>
     <program name="Server">
      <arg flag="-n"/>
     </program>
     <program name="GCS">
      <arg flag="-layout" constant="AGGIEAIR/vertical.xml"/>
     </program>
     <program name="Simulator">
      <arg flag="-a" constant="@AIRCRAFT"/>
      <arg flag="-f" constant="127.0.0.1"/>
      <arg flag="-b" constant="127.255.255.255"/>
      <arg flag="--fg_fdm" constant=""/>
     </program>
     <program name="Messages"/>
     <program name="Environment Simulator"/>
   </session>

   <session name="HITL+SBUS USB-serial@57600">
     <program name="Data Link">
       <arg flag="-d" constant="/dev/ttyUSB0"/>
       <arg flag="-s" constant="57600"/>
     </program>
     <program name="Server">
      <arg flag="" constant="-no_md5_check"/>
     </program>
     <program name="GCS"/>
     <program name="Messages"/>
     <program name="Simulator">
      <arg flag="-a" constant="@AIRCRAFT"/>
      <arg flag="-f" constant="127.0.0.1"/>
      <arg flag="-b" constant="127.255.255.255"/>
      <arg flag="--fg_fdm" constant=""/>
      <arg flag="-t" constant="hitl"/>
     </program>
     <program name="Sbus Fakerator">
       <arg flag="-p" constant="/dev/ttyUSB3"/>
     </program>
   </session>

   <session name="HITL+SBUS USB-serial@115200">
     <program name="Data Link">
       <arg flag="-d" constant="/dev/ttyUSB0"/>
       <arg flag="-s" constant="115200"/>
     </program>
     <program name="Server">
      <arg flag="" constant="-no_md5_check"/>
     </program>
     <program name="GCS"/>
     <program name="Messages"/>
     <program name="Simulator">
      <arg flag="-a" constant="@AIRCRAFT"/>
      <arg flag="-f" constant="127.0.0.1"/>
      <arg flag="-b" constant="127.255.255.255"/>
      <arg flag="--fg_fdm" constant=""/>
      <arg flag="-t" constant="hitl"/>
     </program>
     <program name="Sbus Fakerator">
       <arg flag="-p" constant="/dev/ttyUSB3"/>
     </program>
   </session>

   <session name="Flight USB-XBee-API@57600">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/paparazzi/xbee"/>
        <arg flag="-transport" constant="xbee"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server"/>
      <program name="GCS"/>
    </session>

    <session name="Messages and Settings">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyUSB0"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server">
        <arg flag="-n"/>
      </program>
      <program name="Messages"/>
      <program name="Settings">
        <arg flag="-ac" constant="@AIRCRAFT"/>
      </program>
    </session>

    <session name="Raw Sensors">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyUSB0"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server">
        <arg flag="-n"/>
      </program>
      <program name="Messages">
        <arg flag="-g" constant="300x400+0-220"/>
      </program>
      <program name="Settings">
        <arg flag="-ac" constant="@AIRCRAFT"/>
        <arg flag="-g" constant="800x200+0-0"/>
      </program>
      <program name="Real-time Plotter">
        <arg flag="-g" constant="1000x250-0+0"/>
        <arg flag="-t" constant="ACC"/>
        <arg flag="-u" constant="0.05"/>
        <arg flag="-c" constant="0.00"/>
        <arg flag="-c" constant="*:telemetry:IMU_ACCEL_RAW:ax"/>
        <arg flag="-c" constant="*:telemetry:IMU_ACCEL_RAW:ay"/>
        <arg flag="-c" constant="*:telemetry:IMU_ACCEL_RAW:az"/>
        <arg flag="-n"/>
        <arg flag="-g" constant="1000x250-0+250"/>
        <arg flag="-t" constant="GYRO"/>
        <arg flag="-u" constant="0.05"/>
        <arg flag="-c" constant="0.00"/>
        <arg flag="-c" constant="*:telemetry:IMU_GYRO_RAW:gp"/>
        <arg flag="-c" constant="*:telemetry:IMU_GYRO_RAW:gq"/>
        <arg flag="-c" constant="*:telemetry:IMU_GYRO_RAW:gr"/>
        <arg flag="-n"/>
        <arg flag="-g" constant="1000x250-0+500"/>
        <arg flag="-t" constant="MAG"/>
        <arg flag="-u" constant="0.05"/>
        <arg flag="-c" constant="0.00"/>
        <arg flag="-c" constant="*:telemetry:IMU_MAG_RAW:mx"/>
        <arg flag="-c" constant="*:telemetry:IMU_MAG_RAW:my"/>
        <arg flag="-c" constant="*:telemetry:IMU_MAG_RAW:mz"/>
        <arg flag="-n"/>
        <arg flag="-g" constant="1000x250-0+750"/>
        <arg flag="-t" constant="BARO"/>
        <arg flag="-u" constant="0.05"/>
        <arg flag="-c" constant="101325.0"/>
        <arg flag="-c" constant="*:telemetry:BARO_RAW:abs"/>
      </program>
    </session>

    <session name="Log Replay">
      <program name="Log File Player"/>
      <program name="Server">
        <arg flag="-n"/>
      </program>
      <program name="GCS"/>
      <program name="Messages">
        <arg flag="-g" constant="300x400+0-220"/>
      </program>
      <program name="Real-time Plotter"/>
      <program name="Environment Simulator"/>
    </session>


    <!-- Service center sessions -->
    <session name="Ground Control Minions Umarim Serial">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyS0"/>
        <arg flag="-transport" constant="xbee"/>
        <arg flag="-uplink"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server"/>
      <program name="GCS">
        <arg flag="-layout" constant="AGGIEAIR/CSOIS_minions_osu.xml"/>
        <arg flag="-srtm"/>
      </program>
      <program name="Messages">
        <arg flag="-c" constant="telemetry:*"/>
      </program>
      <program name="Payload"/>
      <program name="Altitude Update"/>
      <program name="ADS-B"/>
    </session>

    <session name="Ground Control Minions Umarim USB">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyUSB0"/>
        <arg flag="-transport" constant="xbee"/>
        <arg flag="-uplink"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server"/>
      <program name="GCS">
        <arg flag="-layout" constant="AGGIEAIR/CSOIS_minions_osu.xml"/>
        <arg flag="-srtm"/>
      </program>
      <program name="Messages">
        <arg flag="-c" constant="telemetry:*"/>
      </program>
      <program name="Payload"/>
      <program name="Altitude Update"/>
    </session>

    <session name="Ground Control Minions">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyS0"/>
        <arg flag="-transport" constant="xbee"/>
        <arg flag="-uplink"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server"/>
      <program name="GCS">
        <arg flag="-layout" constant="AGGIEAIR/CSOIS_minions.xml"/>
        <arg flag="-srtm"/>
      </program>
      <program name="Messages">
        <arg flag="-c" constant="telemetry:*"/>
      </program>
      <program name="Payload"/>
    </session>

    <session name="Mobile Ground Station">
      <program name="Data Link">
        <arg flag="-d" constant="/dev/ttyS0"/>
        <arg flag="-transport" constant="xbee"/>
        <arg flag="-uplink"/>
        <arg flag="-s" constant="57600"/>
      </program>
      <program name="Server">
        <arg flag="-no_md5_check" constant="option"/>
      </program>
      <program name="GCS">
        <arg flag="-layout" constant="AGGIEAIR/CSOIS_flyingwings.xml"/>
        <arg flag="-srtm"/>
      </program>
      <program name="Messages">
        <arg flag="-c" constant="telemetry:*"/>
      </program>
    </session>

  </section>

</control_panel>
