-
Notifications
You must be signed in to change notification settings - Fork 0
Paparazzi Patches
For the research project I was doing, I patched up paparazzi source code to better suit my needs. Here I am documenting the required changes.
Paparazzi Version: 5.14 (paparazzi/paparazzi 3fb4ee4d5)
This message is sent by server every 500ms [1]. To match what I was collecting from MicroPilot I changed it too 200ms.
https://github.com/paparazzi/paparazzi/blob/master/sw/ground_segment/tmtc/server.ml#L60
let aircraft_msg_period = 500 (* ms *)
I created a new telemetry mode (lazily named it mjafar
) that sends required input/outputs with a 5Hz frequency. Most notable of those is the COMMANDS
message that provides the servo outputs.
<mode name="mjafar">
<message name="AIRSPEED" period="0.2"/>
<message name="ATTITUDE" period="0.2"/>
<message name="CIRCLE" period="0.2"/>
<message name="COMMANDS" period="0.2"/>
<message name="NAVIGATION" period="0.2"/>
<message name="DESIRED" period="0.2"/>
<message name="PPRZ_MODE" period="5."/>
<message name="SETTINGS" period="5."/>
<message name="GPS" period="0.25"/>
<message name="ALIVE" period="5"/>
<message name="ESTIMATOR" period="1.3"/>
<message name="WP_MOVED" period="1.4"/>
<message name="ENERGY" period="1.1"/>
<message name="SEGMENT" period="3.2"/>
<message name="CALIBRATION" period="5.1"/>
<message name="NAVIGATION_REF" period="9."/>
<message name="STATE_FILTER_STATUS" period="5."/>
<message name="DATALINK_REPORT" period="5.1"/>
<message name="DL_VALUE" period="1.5"/>
<message name="IR_SENSORS" period="5.2"/>
<message name="IMU_GYRO" period="10.1"/>
<message name="SURVEY" period="2.1"/>
<message name="GPS_SOL" period="5.0"/>
</mode>
this message should be added to default_fixedwing.xml
Hotfixed two options in GCS to load map tiles from cache only and also load them automatically as the map moves. Having to set these options from the menu every time that I opened the GCS was annoying!
(1) Set auto
to true
. [2]
let auto = ref true
(2) Change default policy to NoHttp
somewhere during the program start. [3]
Gm.set_policy Gm.NoHttp;