Difference between revisions of "AirborneCodeReorg"
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 | 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...)