Release Upgrades

From PaparazziUAV
Revision as of 14:29, 13 July 2013 by Scdwyer (talk | contribs) (Created page with "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 …")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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
  • 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_">

- <section name="MIXING" prefix="MOTOR_MIXING_"> instead of <section name="SUPERVISION" prefix="SUPERVISION_"> - servos need a driver <servos driver="Asctec"> - <command_laws> <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]"/> </command_laws>

- <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