Explorer/RaspberryPi/Autopilot

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
Explorer_RaspberryPi_Apogee_Uart_test1.jpg
Explorer_RaspberryPi_Apogee_Uart_test2.jpg
* 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