Release Upgrades

From PaparazziUAV
Revision as of 14:47, 13 July 2013 by Scdwyer (talk | contribs) (Updated for v5.0.0_stable changes to use state interface in a number of variables useful in flightplans)

Jump to: navigation, search

The latest stable release is: v5.0.0_stable

This page is help guide any software configuration changes in airframe files or configuration files, as well as provides hints around any behaviour or workflow changes.

In any codeblocks, a leading - indicates one should remove the line, while a leading + indicates one should add the line. In other cases, only names have changed.

DISCLAIMER: This page is by no means guaranteed to be complete. If you find another required change that was missed, please add it!

Upgrading from v4.2.0_stable to v5.0.0_stable

Changelog for this release on GitHub: changelog

Control Panel

A new simulator launcher has been added to better select between the different types of simulator (OCAML fixed-wing, JSBSim fixed-wing, NPS, etc). The launcher path must be changed to support this:

File: conf/controlpanel.xml
-   <program name="Simulator" command="sw/simulator/launchsitl">
+   <program name="Simulator" command="sw/simulator/pprzsim-launch">


The adoption of the state interface means a number of functions and variables previously used in the flightplans are no longer valid, and must be replaced by their equivalent:

  • GpsPosAlt() replaces estimator_z
  • GpsPosX() replaces estimator_x
  • GpsPosY() replaces estimator_y
  • autopilot_flight_time replaces estimator_flight_time

Advanced flightplans will likely require additional changes.


A number of changes to clarify names and clean up subsystems and modules means airframe files must be updated:

All Airframes


Fixedwing Airframes

The altitude/climb estimator has been cleaned up.

Change the way the altitude kalman filter is enabled:

File: conf/airframes/myplane.xml
    <section name="MISC">
+    <define name="ALT_KALMAN_ENABLED" value="TRUE"/> <!-- can also be set to FALSE (default if not present) -->

    <firmware name="fixedwing">
-    <define name="ALT_KALMAN"/>

Add the altitude INS subsystem if there is an ALT_KALMAN_ENABLED define or if you use a barometer:

File: conf/airframes/myplane.xml
    <firmware name="fixedwing">
+    <subsystem name="ins" type="alt_float" />

Alternatively, use the gps_passthrough subsystem to use direct GPS data (remove all ALT_KALMAN_ENABLED):

File: conf/airframes/myplane.xml
    <firmware name="fixedwing">
+    <subsystem name="ins" type="gps_passthrough" />

Rotorcraft Airframes

The motor mixing has been updated and renamed:

File: conf/airframes/myplane.xml
-   <section name="SUPERVISION" prefix="SUPERVISION_">
+   <section name="MIXING" prefix="MOTOR_MIXING_">
  • servos need a driver <servos driver="Asctec">
   <call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
   <set servo="FRONT"  value="motor_mixing.commands[SERVO_FRONT]"/>
   <set servo="BACK"   value="motor_mixing.commands[SERVO_BACK]"/>
   <set servo="RIGHT"  value="motor_mixing.commands[SERVO_RIGHT]"/>
   <set servo="LEFT"   value="motor_mixing.commands[SERVO_LEFT]"/>
   - <define name="TRIM_A" value="0"/>
   - <define name="TRIM_E" value="0"/>
   - <define name="TRIM_R" value="0"/>
   + <define name="TRIM_ROLL" value="0"/>
   + <define name="TRIM_PITCH" value="0"/>
   + <define name="TRIM_YAW" value="0"/>
   - <define name="MIN_MOTOR" value="3"/>    replaced by min value in servo
   - <define name="MAX_MOTOR" value="200"/>  replaced by neutral value in servo
  • an INS subsystem is now compulsory

Advanced Code and Makefile

Board Makefiles

In any conf/boards/board_name.makefile:

  • ?= can replace ifndef statements or = statements to allow overrides
  • add a default actuator configuration (can be overridden by a configure option in the firmware section)
    • ACTUATORS ?= actuators_pwm

Board Header Files

In all sw/airborne/boards/'board_name.h:

  • add EXT_CLK
  • change to libopencm3
  • Default actuator driver