Difference between revisions of "Release Upgrades"

From PaparazziUAV
Jump to navigation Jump to search
(→‎Flightplans: minor typo Get not Gps)
(v5.0.1 maintenance release)
Line 1: Line 1:
The latest stable release is: '''v5.0.0_stable'''
The latest stable release is: '''v5.0.1_stable'''
 
Releases can be found at https://github.com/paparazzi/paparazzi/releases


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.
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.
Line 7: Line 9:
DISCLAIMER: This page is by no means guaranteed to be complete. If you find another required change that was missed, please add it!
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 ==
== Upgrading from v4.2.x_stable to v5.0.x_stable ==


Changelog for this release on GitHub: [https://github.com/paparazzi/paparazzi/blob/v5.0/CHANGELOG.md changelog]
Changelog for this release on GitHub: [https://github.com/paparazzi/paparazzi/blob/v5.0/CHANGELOG.md changelog]

Revision as of 10:10, 19 August 2013

The latest stable release is: v5.0.1_stable

Releases can be found at https://github.com/paparazzi/paparazzi/releases

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

Flightplans

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.

Airframes

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

All Airframes

  • CONTROL_FREQUENCY replaces CONTROL_RATE

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) -->
    </section>

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

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" />
    </firmware>

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" />
    </firmware>

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

  • add $(TARGET).LDSCRIPT
  • ?= 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
  • ADC_CHANNEL_X -> X