[new feature] converting subsystems to modules

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[new feature] converting subsystems to modules

Gautier Hattenberger-3
Hello everyone,

Since version 5.8 and in latest master code, it is possible to declare modules the same way than subsystems, and safely rename subsystems to modules. See https://github.com/paparazzi/paparazzi/pull/1471

This is an important step towards merging subsystems and modules, allowing in particular to use the convenient xml description of modules with its embedded documentation and settings.

So if you want to start converting your airframes (it should be the standard at some point anyway), here are some key points:
- modules can be loaded from firmware section like subsystems.
- last point includes filtering on target.
- subsystems can be renamed to modules (even if conversion is not done yet).
- completely backward compatible (for now).
- if you ask for a subsystem, the result is the same as before, but the subsystem has to exist.
- if you ask for a modules with load in the modules node, same as before and the module has to exist.
- if you ask for a module with module in modules node, same as load but with extended format possibilities:
  - <module name="bla_boo.xml"/>
  - <module name="bla_boo"/>
  - <module name="bla" type="boo"/>
- if you ask for a module with module in firmware (or target inside a firmware), it will look for the module and fall-back to subsystem if module file doesn't exist, and you can use the same extended formats like above.
- the modules node can be removed unless a specific non-default main_freq attribute needs to be specified (default is autopilot main frequency).

The recommended format is the later one: only using modules as children of the firmware (or target) node, and by splitting name and type when appropriate.

Some examples are provided: the microjet airframe in the examples (https://github.com/paparazzi/paparazzi/blob/master/conf/airframes/examples/microjet.xml#L159) and the airframes in the ENAC directory (https://github.com/paparazzi/paparazzi/tree/master/conf/airframes/ENAC). More should come.

Please report any troubles while converting your airframes to this new format.

Best Regards,

Gautier for the Paparazzi Dev Team

Gautier Hattenberger
Assistant-Professor in Flight Mechanics and UAV Systems
Developper of the Paparazzi UAV project
École Nationale de l'Aviation Civile (ENAC)
7 avenue Edouard-Belin CS 54005 - 31055 Toulouse Cedex 4 - France
Tel: +33 5 62 17 42 11

Paparazzi-devel mailing list
[hidden email]