Difference between revisions of "AirborneCodeReorg"

From PaparazziUAV
Jump to navigation Jump to search
Line 8: Line 8:


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

Revision as of 07:45, 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)/booz2_autopilot.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