Release Upgrades

From PaparazziUAV
Jump to: navigation, search

Release information and tarballs can be found at or accessed directly via git.

Please also have a look at the CHANGELOG

When this page was last update the latest stable release was: v5.4.2_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 to v5.6.x

v5.6 has not been released yet, this refers to the current release candidates v5.5.x_testing


The ahrs infrared subsystem has been converted to a module. See also ahrs infrared module docs.

File: conf/airframes/myplane.xml
  <firmware name="fixedwing">
-   <subsystem name="ahrs" type="infrared"/>
+   <load name="ahrs_infrared.xml"/>

digital_cam modules

specify time in senconds:

  • DC_SHUTTER_DELAY and DC_POWER_OFF_DELAY are now in seconds

See also digital cam module docs

Upgrading from v5.0.x_stable to v5.2.x_stable

Extra navigation routines have been converted to modules (#512).
This means you have to explicitly add the module if you want to use one of these navigation routines, see list of nav modules.
The naming of the functions has also been harmonized across all nav modules to nav_foo_setup and nav_foo_run.


  • INS_BARO_SENS has been removed.
  • INS_SONAR_VARIANCE_THRESHOLD has been removed.


  • GetAltRef() replaces ground_alt

Fixedwing airframes

Further altitude/climb estimator clean-up.

Remove the ALT_KALMAN_ENABLED define, it's always enabled if you use the ins alt_float subsystem.

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">
      <subsystem name="ins" type="alt_float"/>

Upgrading from v4.2.x_stable to v5.0.x_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:

  • GetPosAlt() replaces estimator_z
  • GetPosX() replaces estimator_x
  • GetPosY() 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