Explorer/RaspberryPi/Autopilot

From PaparazziUAV
Jump to navigation Jump to search

The RaspberryPi Zero is connected to the Apogee autopilot board using an UART.
The bi-directional telemetry is send to the GCS using the wifi

  • On the RaspberryPi:
sudo apt-get install socat

update GCS_IP

export GCS_IP=192.168.1.234
socat -u udp-listen:4243,reuseaddr,fork /dev/ttyAMA0,raw,echo=0,b115200 &
socat -u /dev/ttyAMA0,raw,echo=0,b115200 udp-sendto:$GCS_IP:4242 &
  • On the GCS:

airframe file:

<module name="telemetry" type="transparent">
  <configure name="MODEM_PORT" value="UART1"/>
  <configure name="MODEM_BAUD" value="B115200"/>
</module>

telemetry file:

<?xml version="1.0"?>
<!DOCTYPE telemetry SYSTEM "../telemetry.dtd">
<telemetry>
 <process name="Main">

   <mode name="default" key_press="d">
     <message name="AUTOPILOT_VERSION"        period="11.1"/>
     <message name="DL_VALUE"                 period="1.1"/>
     <message name="ROTORCRAFT_STATUS"        period="1.2"/>
     <message name="ROTORCRAFT_FP"            period="0.25"/>
     <message name="ALIVE"                    period="2.1"/>
     <message name="INS_REF"                  period="5.1"/>
     <message name="ROTORCRAFT_NAV_STATUS"    period="1.6"/>
     <message name="WP_MOVED"                 period="1.3"/>
     <message name="GPS_INT"                  period=".25"/>
     <message name="INS"                      period=".25"/>
     <message name="ENERGY"                   period="2.5"/>
     <message name="DATALINK_REPORT"          period="5.1"/>
     <message name="STATE_FILTER_STATUS"      period="3.2"/>
     <message name="AIR_DATA"                 period="1.3"/>
   </mode>
 </process>

 <process name="FlightRecorder">
   <mode name="default">
     <message name="ATTITUDE"                 period="0.05"/>
     <message name="GPS"                      period="0.5"/>
     <message name="PPRZ_MODE"                period="0.1"/>
     <message name="DESIRED"                  period="0.1"/>
     <message name="COMMANDS"                 period="0.10"/>
     <message name="ACTUATORS"                period="0.10"/>
     <message name="IMU_GYRO"                 period="0.01"/>
     <message name="IMU_MAG"                  period="0.01"/>
     <message name="IMU_ACCEL"                period="0.01"/>
   </mode>
 </process>

 <process name="Extra">
   <mode name="default">
     <message name="AUTOPILOT_VERSION"        period="11.1"/>
     <message name="DL_VALUE"                 period="1.1"/>
     <message name="ROTORCRAFT_STATUS"        period="1.2"/>
     <message name="ROTORCRAFT_FP"            period="0.25"/>
     <message name="ALIVE"                    period="2.1"/>
     <message name="INS_REF"                  period="5.1"/>
     <message name="ROTORCRAFT_NAV_STATUS"    period="1.6"/>
     <message name="WP_MOVED"                 period="1.3"/>
     <message name="GPS_INT"                  period=".25"/>
     <message name="INS"                      period=".25"/>
     <message name="ENERGY"                   period="2.5"/>
     <message name="DATALINK_REPORT"          period="5.1"/>
     <message name="STATE_FILTER_STATUS"      period="3.2"/>
     <message name="AIR_DATA"                 period="1.3"/>
   </mode>

   <mode name="empty">
   </mode>

   <mode name="mcu">
     <message name="ATTITUDE"                 period="0.05"/>
     <message name="GPS"                      period="0.5"/>
     <message name="PPRZ_MODE"                period="0.1"/>
     <message name="DESIRED"                  period="0.1"/>
     <message name="COMMANDS"                 period="0.10"/>
     <message name="ACTUATORS"                period="0.10"/>
     <message name="IMU_GYRO"                 period="0.01"/>
     <message name="IMU_MAG"                  period="0.01"/>
     <message name="IMU_ACCEL"                period="0.01"/>
   </mode>

 </process>

</telemetry>


paparazzi/sw/ground_segment/tmtc/server 
paparazzi/sw/ground_segment/cockpit/gcs 
paparazzi/sw/ground_segment/tmtc/link  -udp

To confirm bidirectional connection, change a setting and check the updated value in the GCS

Explorer/RaspberryPi/Autopilot/Proxy