Some part of the code is already available as modules. Some other parts could be easily adapted. A module may have several configuration files for the most common uses. The code of the modules is placed in sw/airborne/modules/<directory name>.
The auto-generated list and short doc for all modules in the master branch can be found at the onboard modules page of the doxygen docs.
Available modules
| Name |
directory |
configuration files |
airframe(s) |
description
|
| Demo |
demo_module |
demo_module.xml |
FW |
basic example with blinking leds
|
Booz cam (Rotorcraft cam) |
cam_control |
booz_cam.xml (rotorcraft_cam.xml) |
Rotor |
pointing of a simple camera on booz (servo for tilt, heading for pan
|
| Cam point |
cam_control |
cam_point.xml |
FW |
pointing of a camera
|
| Cam roll |
cam_control |
cam_roll.xml |
FW |
roll camera
|
| Booz drop |
drop |
booz_drop.xml |
Booz |
drop mechanism on booz
|
| light |
light |
light.xml |
FW |
control blinking speed of the LEDs for night flights
|
| servo switch |
servo_switch |
servo_switch.xml |
FW |
simply switch a servo to "on" or "off" position, e.g. trigger camera or open hatch
|
| Formation flight |
multi |
formation_flight.xml |
FW |
formation flight control for fixed-wing aircraft
|
| Gps i2c |
gps_i2c |
gps_i2c.xml |
FW |
i2c driver for Ubx GPS modules
|
| GPS UBX µcenter |
gps |
gps_ubx_ucenter.xml |
FW/Rotor |
Module to initialise µ-blox GPS at every power on
|
| Xsens |
ins |
ins_xsens.xml ins_xsens_MTi_Uart0.xml ins_xsens_MTiG_Uart0.xml |
|
driver for the Xsens AHRS/INS (for fixedwing it provides a full navigation solution, for rotorcraft it is a bit slow)
|
| ins_ArduIMU |
ins |
ins_arduimu.xml |
FW |
ArduIMU V2+ (Flat) INS (should probably be renamed to AHRS and adhere to the ahrs interface)
|
| imu_ppzauv |
sensors |
imu_ppzuav.xml |
FW/rotor |
module to read the PPZIMU
|
| imu_aspirin_i2c |
sensors |
imu_aspirin_i2c.xml |
FW/rotor |
module to read the aspirin IMU via I2C
|
| VN-100 |
ins |
ins_vn100.xml |
FW RW? |
VectorNav VN-100 AHRS (should probably be renamed to AHRS and adhere to the ahrs interface)
|
| Max 3100 |
max3100 |
max3100.xml |
FW |
max3100 driver (spi<->uart converter)
|
| MPPT |
MPPT |
MPPT.xml |
FW |
maximum power point tracker (control board for solar cells, i2C interface)
|
| Poles |
poles |
poles.xml |
FW |
special navigation functions to fly around poles and counting loops
|
| Potential |
multi |
potential.xml |
FW |
use potential fields for collision avoidance
|
| Sonar |
sonar |
sonar_maxbotix_booz.xml |
Booz |
driver for a Maxbotix ultrasonic sensor
|
| infrared_adc |
sensors |
infrared_adc.xml |
FW |
driver for infrared sensors based on analog voltage
|
| infrared_i2c |
sensors |
infrared_i2c.xml |
FW |
driver for infrared sensors with i2c connection
|
| alt_srf08 |
sensors |
alt_srf08.xml |
FW |
driver for Devantech Ultrasonic Range Finder SRF08
|
| mag_micromag_fw |
sensors |
mag_micromag_fw.xml |
FW |
driver for PNI Micromag magnetic sensor
|
| trigger_ext |
sensors |
trigger_ext.xml |
FW |
driver to measure external events/durations
|
| xtend_rssi |
datalink |
xtend_rssi.xml |
FW |
driver to measure and report rssi from Digi 9Xtend radio with pwm input, currently only LPC21xx arch
|
| pwm_meas |
core |
pwm_meas.xml |
FW |
driver wrapper to measure duty and period of pwm input, currently only LPC21xx arch
|
| sys mon |
core |
sys_mon.xml |
FW & Booz |
measures CPU load & activity
|
| DC |
digital_cam |
digital_cam.xml digital_cam_i2c.xml |
FW & RW |
Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals
|
| AOA adc |
sensors |
AOA_adc.xml |
FW |
Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value
|
| flight_benchmark |
benchmark |
flight_benchmark.xml |
FW |
quantitative assessments of flights
|
| openlog |
openlog |
openlog.xml |
FW & RW |
Module for logging with a Sparkfun OpenLog
|
Analog-digital converters
| Name |
directory |
configuration files |
airframe(s) |
description
|
| ADC generic |
adcs |
adc_generic.xml |
FW |
autopilot internal 10 bit AD converter
|
| max11040 |
adcs |
max11040.xml |
FW |
24 bit 16 channel AD converter
|
| mcp355x |
adcs |
mcp355x.xml |
FW |
22 bit 1 channel AD converter
|
Temperature sensors
| Name |
directory |
configuration files |
airframe(s) |
description
|
| temp_lm75 |
meteo |
temp_lm75.xml |
FW |
driver for National LM75 temperature sensor
|
| temp_temod |
meteo |
temp_temod.xml |
FW |
Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000
|
| temp_tmp102 |
meteo |
temp_tmp102.xml |
FW |
driver for TI TMP102 temperature sensor
|
| ir_mlx |
meteo |
ir_mlx.xml |
FW |
driver for Melexis 90614 infrared radiation sensor
|
Barometric pressure/altitude sensors
| Name |
directory |
configuration files |
airframe(s) |
description
|
| baro_bmp |
sensors |
baro_bmp.xml |
FW |
driver for Bosch BMP085 pressure sensor
|
| baro_ets |
sensors |
baro_ets.xml |
FW |
Eagle Tree Systems pressure sensor
|
| baro_MS5534A |
sensors |
baro_MS5334A.xml |
FW |
driver for Intersema MS5534A pressure sensor
|
| baro_ms5611_i2c |
sensors |
baro_ms5611_i2c.xml |
FW |
driver for Measurement Specialties MS5611-01BA pressure sensor
|
| baro_scp |
sensors |
baro_scp.xml |
FW |
driver for VTI SCP1000 (SPI) pressure sensor
|
| baro_scp_i2c |
sensors |
baro_scp_i2c.xml |
FW |
driver for VTI SCP1000 (I2C) pressure sensor
|
| baro_amsys |
sensors |
baro_amsys.xml |
FW |
driver for AMS 5812-0150-A (Baro) pressure sensors
|
Airspeed sensors
| Name |
directory |
configuration files |
airframe(s) |
description
|
| airspeed_adc |
sensors |
airspeed_adc.xml |
FW |
driver for airspeed sensor based on analog voltage
|
| airspeed_ets |
sensors |
airspeed_ets.xml |
FW |
Eagle Tree Systems airspeed sensor
|
| airspeed_amsys |
sensors |
airspeed_amsys.xml |
FW |
driver for AMS 5812-0003-D (Airspeed) pressure sensors
|
Humidity sensors
| Name |
directory |
configuration files |
airframe(s) |
description
|
| humid_dpicco |
meteo |
humid_dpicco.xml |
FW |
driver for IST DigiPicco humidity sensor
|
| humid_hih |
meteo |
humid_hih.xml |
FW |
driver for Honeywell HIH-4030 humidity sensor
|
| humid_htm_b71 |
meteo |
humid_htm_b71.xml |
FW |
driver for TronSens HTM-B71 humidity sensor
|
| humid_sht |
meteo |
humid_sht.xml |
FW |
driver for Sensirion SHT75 humidity sensor
|
| humid_sht_i2c |
meteo |
humid_sht_i2c.xml |
FW |
driver for Sensirion SHT25 humidity sensor (I2C)
|
Other environment sensors
| Name |
directory |
configuration files |
airframe(s) |
description
|
| enose |
enose |
enose.xml |
FW |
chemical gas sensor
|
| dust_gp2y |
meteo |
dust_gp2y.xml |
FW |
driver for Sharp GP2Y1010AU0F dust sensor
|
| light_temt |
meteo |
light_temt.xml |
FW |
driver for Vishay TEMT6000 ambient light sensor
|
Possible modules
A list of the parts of the FW airborne code that could be changed to modules.
| Name |
header |
init |
periodic |
event |
datalink |
description
|
| Led |
X |
X |
|
|
|
control leds and GPIO
|
| I2C |
X |
X |
|
|
|
|
| SPI |
X |
X |
|
|
|
|
| Traffic |
X |
|
|
|
X |
update traffic information from datalink
|
| TCAS |
X |
X |
1Hz - 4Hz |
|
? |
vertical collision avoidance
|
| GPS |
X |
X |
|
X |
|
|
| Joystick |
X |
X |
|
X |
X |
control a plane from telemetry
|