Release Upgrades
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">
|
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:
- GpsPosAlt() replaces estimator_z
- 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>
|
- <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:
- 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