Subsystems

Subsystems
Since v6.0 all subsystems have been moved to modules and no longer exist in Paparazzi.
Mostly a subsystem is a part offering a specific functionality with a
defined interface and can have multiple different implementations. (See sw/airborne/subsystems/...)
They are selected and configured with a <subsystem name="foo" type="bar"> in the firmware section of the airframe file.
Since v5.8 it is possible to safely replace subsystem by module in your airframe file. The roadmap of Paparazzi is to convert existing subsystems to modules.
All this does is basically include a makefile foo_bar.makefile that adds the respective sources and adds a few configuration options. (See conf/firmwares/subsystems/...)
This makes it easier to put an airframe file together (they replace the old raw makefile section) and also allows us to change the code and move/rename files behind the scenes without breaking everyones airframe files.
See FirmwareArchitecture for the differences to Modules, as well as how to write a new subsystem.
== Available Subsystems ==
Name 	Types	Firmwares	Architecture	Description
gps 	
* ublox
* ublox_utm
* nmea
* mediatek_diy
* skytraq
* sirf	
* all
* fixedwing
* all
* fixedwing
* rotorcraft
* rotorcraft	
* all 	GPS drivers
imu 	
* analog
* apogee
* aspirin_v1.0
* aspirin_v1.5
* aspirin_v2.1
* aspirin_v2.2
* aspirin_i2c_v1.0
* aspirin_i2c_v1.5
* aspirin2_i2c
* b2_v1.0
* b2_v1.1
* b2_v1.2
* drotek_10dof_v2
* gl1
* yai
* krooz_sd
* navgo
* umarin
* crista
* crista_hmc5843
* ppzuav	
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* rotorcraft
* rotorcraft
* fixedwing	
* all
* stm32f4
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* all
* stm32f4
* lpc21
* lpc21
* all
* all
* all	IMU drivers
Traditional IR sensors can be used for fixedwing
but an IMU subsystem is not required
ahrs 	
* int_cmpl_quat
* float_cmpl
* float_dcm 
* int_cmpl_euler
* float_mlkf
* infrared	
* all 	
* all 	AHRS algorithms
ins 	
* alt_float
* gps_passthrough
* xsens
* xsens700
* no_type
* hff
* extended
* ardrone2
* float_invariant
* ekf2	
* fixedwing
* fixedwing
* fixedwing
* fixedwing
* rotorcraft
* rotorcraft
* rotorcraft
* rotorcraft
* all (experimental, only tested on fw)
* all	
* all
* all
* all
* all
* all
* all
* all
* all
* mcu with fpu (e.g. stm32f4)
* all	INS algorithms
Most of the INS filters are only providing position and speed, and they need to be used together with an AHRS filter for attitude
Currently, only the experimental invariant filter is a full INS
radio_control	
* ppm
* spektrum
* datalink
* superbitrf_rc
* sbus
* sbus_dual	
* all 	
* all
* STM32
* all
* STM32
* all
* all	Radio Control implementations
telemetry 	
* transparent
* transparent_usb
* xbee_api
* superbitrf	
* all
* all
* all
* rotorcraft	
* all
* LPC21xx
* all
* STM32	Telemetry implementations
actuators 	
* mkk
* mkk_v2
* asctec
* asctec_v2
* pwm
* dualpwm
* skiron	
* all 	
* all 	Drivers for different ESCs and servos
stabilization	
* int_quat
* float_quat
* int_euler
* float_euler
* indi	
* rotorcraft	
* all 	Attitude control system for rotorcraft
Category:Software Category:Developer_Documentation Category:Subsystems