Difference between revisions of "AirborneCodeReorg"

From PaparazziUAV
Jump to navigation Jump to search
Line 1: Line 1:
=Problem statement=
Current airborne code has gone a little bit out of control and is in deep need of a reorganization.
Current airborne code has gone a little bit out of control and is in deep need of a reorganization.


Line 15: Line 17:




There are 3 kind of code in the airborne directory
There are 3 kinds of code in the airborne directory


*generic code (that doesn't depend on any architecture or plateforme) - there's a lot of it and it should probably be sorted by type of functionalities
*generic code (that doesn't depend on any architecture or plateforme) - there's a lot of it and it should probably be sorted by type of functionalities
*processor specific code (stm32, lpc21, avr, etc...)
*processor specific code (stm32, lpc21, avr, etc...)
*plateforme specific code (tiny, booz, lisa, etc...)
*plateforme specific code (tiny, booz, lisa, etc...)
=Coding Style=
=Proposed reorganization=

Revision as of 06:44, 25 July 2010

Problem statement

Current airborne code has gone a little bit out of control and is in deep need of a reorganization.

Fixed wing airframes have makefile directly in them - we can't change anything in the airborne code without breaking everybody's airframe

Booz uses "susbsystem" Makefiles

 include $(PAPARAZZI_SRC)/conf/autopilot/booz2_common.makefile
 include $(CFG_BOOZ)/subsystems/booz2_radio_control_ppm.makefile
 include $(CFG_BOOZ)/subsystems/booz2_actuators_mkk.makefile
 include $(CFG_BOOZ)/subsystems/booz2_imu_b2v1.makefile

This is the Makefile part of a booz vehicle using a booz2 IMU, mikrokopter actuators and ppm radio control

There is also the "module" facility which is very good for optional features.


There are 3 kinds of code in the airborne directory

  • generic code (that doesn't depend on any architecture or plateforme) - there's a lot of it and it should probably be sorted by type of functionalities
  • processor specific code (stm32, lpc21, avr, etc...)
  • plateforme specific code (tiny, booz, lisa, etc...)

Coding Style

Proposed reorganization