Difference between revisions of "Release Upgrades"

From PaparazziUAV
Jump to: navigation, search
(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 …")
 
(Drafted some guidelines to upgrade between v4.2 and v5.0)
Line 89: Line 89:
 
}}
 
}}
  
- <section name="MIXING" prefix="MOTOR_MIXING_"> instead of <section name="SUPERVISION" prefix="SUPERVISION_">
+
* servos need a driver <servos driver="Asctec">
- servos need a driver <servos driver="Asctec">
+
    <command_laws>
<command_laws>
+
    <call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
    <call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
+
    <set servo="FRONT"  value="motor_mixing.commands[SERVO_FRONT]"/>
    <set servo="FRONT"  value="motor_mixing.commands[SERVO_FRONT]"/>
+
    <set servo="BACK"  value="motor_mixing.commands[SERVO_BACK]"/>
    <set servo="BACK"  value="motor_mixing.commands[SERVO_BACK]"/>
+
    <set servo="RIGHT"  value="motor_mixing.commands[SERVO_RIGHT]"/>
    <set servo="RIGHT"  value="motor_mixing.commands[SERVO_RIGHT]"/>
+
    <set servo="LEFT"  value="motor_mixing.commands[SERVO_LEFT]"/>
    <set servo="LEFT"  value="motor_mixing.commands[SERVO_LEFT]"/>
+
    </command_laws>
  </command_laws>
 
  
- <define name="TRIM_A" value="0"/>
+
    - <define name="TRIM_A" value="0"/>
- <define name="TRIM_E" value="0"/>
+
    - <define name="TRIM_E" value="0"/>
- <define name="TRIM_R" value="0"/>
+
    - <define name="TRIM_R" value="0"/>
+ <define name="TRIM_ROLL" value="0"/>
+
    + <define name="TRIM_ROLL" value="0"/>
+ <define name="TRIM_PITCH" value="0"/>
+
    + <define name="TRIM_PITCH" value="0"/>
+ <define name="TRIM_YAW" value="0"/>
+
    + <define name="TRIM_YAW" value="0"/>
  
 
     - <define name="MIN_MOTOR" value="3"/>    replaced by min value in servo
 
     - <define name="MIN_MOTOR" value="3"/>    replaced by min value in servo
 
     - <define name="MAX_MOTOR" value="200"/>  replaced by neutral value in servo
 
     - <define name="MAX_MOTOR" value="200"/>  replaced by neutral value in servo
  
    + an INS subsystem is now compulsory
+
* an INS subsystem is now compulsory
 
 
  
 
=== Advanced Code and Makefile ===
 
=== Advanced Code and Makefile ===

Revision as of 14:32, 13 July 2013

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