Difference between revisions of "Modules list"
Jump to navigation
Jump to search
(29 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Modules</categorytree> | <categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Modules</categorytree> | ||
Some part of the code is already available as [[Modules|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/modules/<directory name>. | Some part of the code is already available as [[Modules|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 [http://docs.paparazziuav.org/latest/onboard_modules.html onboard modules page of the doxygen docs].''' | |||
{| class="wikitable" style="text-align:center" border="1" | == Available modules == | ||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | ! Name !! directory !! configuration files !! airframe(s) !! description | ||
|- | |- | ||
|Demo || demo_module || demo_module.xml || FW || basic example with blinking leds | |Demo || demo_module || demo_module.xml || FW || basic example with blinking leds | ||
|- | |- | ||
| | |Booz cam<br>([[Module/Rotorcraft_cam|Rotorcraft cam]]) || cam_control || booz_cam.xml<br>(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 | |[[Pan_Tilt_Camera|Cam point]] || cam_control || cam_point.xml || FW || pointing of a camera | ||
|- | |- | ||
|Cam roll || cam_control || cam_roll.xml || FW || roll camera | |Cam roll || cam_control || cam_roll.xml || FW || roll camera | ||
Line 53: | Line 49: | ||
|Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor | |Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor | ||
|- | |- | ||
| | |[[Module/infrared|infrared_adc]] || sensors || [http://docs.paparazziuav.org/latest/module__infrared_adc.html infrared_adc.xml] || FW || driver for infrared sensors based on analog voltage | ||
|- | |||
|[[Module/infrared|infrared_i2c]] || sensors || [http://docs.paparazziuav.org/latest/module__infrared_i2c.html 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 | |||
|- | |||
|[[Module/Xtend_rssi|xtend_rssi]] || datalink || xtend_rssi.xml || FW || driver to measure and report rssi from Digi 9Xtend radio with pwm input, currently only LPC21xx arch | |||
|- | |||
|[[Module/Pwm_meas|pwm_meas]] || core || pwm_meas.xml || FW || driver wrapper to measure duty and period of pwm input, currently only LPC21xx arch | |||
|- | |- | ||
| | |[[Module/System_monitor|sys mon]] || core || [http://docs.paparazziuav.org/latest/module__sys_mon.html sys_mon.xml] || FW & Booz || measures CPU load & activity | ||
|- | |- | ||
| | |DC || digital_cam || [http://docs.paparazziuav.org/latest/module__digital_cam.html digital_cam.xml]<br>digital_cam_i2c.xml || FW & RW || Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals | ||
|- | |- | ||
| | |[[Module/AOA_adc|AOA adc]] || sensors || [http://docs.paparazziuav.org/latest/module__aoa_adc.html AOA_adc.xml] || FW || Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value | ||
|- | |- | ||
| | |[[Module/FlightBenchmark|flight_benchmark]] || benchmark || [http://docs.paparazziuav.org/latest/module__flight_benchmark.html flight_benchmark.xml] || FW || quantitative assessments of flights | ||
|- | |- | ||
| | |[[Openlog|openlog]] || openlog || [http://docs.paparazziuav.org/latest/module__openlog.html openlog.xml] || FW & RW || Module for logging with a [http://www.sparkfun.com/products/9530 Sparkfun OpenLog] | ||
|- | |- | ||
| | |geo_mag || geo_mag || [http://docs.paparazziuav.org/latest/module__geo_mag.html geo_mag.xml] || FW & RW || Calculation of the normalized geomagnetic field vector (saved to ahrs_impl.mag_h) at startup using GPS fix. | ||
|- | |- | ||
| | |[https://wiki.paparazziuav.org/wiki/Optical_flow cv_opticflow] || computer_vision || [http://docs.paparazziuav.org/latest/module__cv_opticflow.html cv_opticflow.xml] || FW & RW || Estimation of optical flow from captured images. | ||
|} | |||
=== Analog-digital converters === | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | |||
|- | |- | ||
| | |[[Module/ADC_generic|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 === | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | |||
|- | |- | ||
|[[Module/ | |[[Module/LM75|temp_lm75]] || meteo || temp_lm75.xml || FW || driver for National LM75 temperature sensor | ||
|- | |- | ||
| | |[[Module/Hygrosens TEMOD-I2C-R1|temp_temod]] || meteo || temp_temod.xml || FW || Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000 | ||
|- | |- | ||
|[[Module/ | |[[Module/TI_TMP102|temp_tmp102]] || meteo || temp_tmp102.xml || FW || driver for TI TMP102 temperature sensor | ||
|- | |- | ||
| | |[[Module/Melexis MLX90614|ir_mlx]] || meteo || ir_mlx.xml || FW || driver for Melexis 90614 infrared radiation sensor | ||
|} | |||
=== Barometric pressure/altitude sensors === | |||
Simple static [[Baro_comparsion|comparsion]] of recent digital barometric sensors. | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | |||
|- | |- | ||
|baro_bmp || sensors || baro_bmp.xml || FW || driver for Bosch BMP085 pressure sensor | |[[Module/Bosch BMP085|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_ets || sensors || baro_ets.xml || FW || Eagle Tree Systems pressure sensor | ||
Line 91: | Line 121: | ||
|baro_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A 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 | |[[Module/Meas Spec MS5611 I2C|baro_ms5611_i2c]] || sensors || baro_ms5611_i2c.xml || FW || driver for Measurement Specialties MS5611-01BA pressure sensor | ||
|- | |||
|[[Module/VTI SCP1000 SPI|baro_scp]] || sensors || baro_scp.xml || FW || driver for VTI SCP1000 (SPI) pressure sensor | |||
|- | |||
|[[Module/VTI SCP1000 I2C|baro_scp_i2c]] || sensors || baro_scp_i2c.xml || FW || driver for VTI SCP1000 (I2C) pressure sensor | |||
|- | |||
|[[Sensors/AMSYS|baro_amsys]] || sensors || [http://docs.paparazziuav.org/latest/module__baro_amsys.html baro_amsys.xml] || FW || driver for AMS 5812-0150-A (Baro) pressure sensors | |||
|- | |||
|} | |||
=== Airspeed sensors === | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | |||
|- | |||
|airspeed_adc || sensors || [http://docs.paparazziuav.org/latest/module__airspeed_adc.html airspeed_adc.xml] || FW || driver for airspeed sensor based on analog voltage | |||
|- | |||
|[[Module/Airspeed_ETS|airspeed_ets]] || sensors || [http://docs.paparazziuav.org/latest/module__airspeed_ets.html airspeed_ets.xml] || FW || Eagle Tree Systems airspeed sensor | |||
|- | |||
|[[Sensors/AMSYS|airspeed_amsys]] || sensors || [http://docs.paparazziuav.org/latest/module__airspeed_amsys.html airspeed_amsys.xml] || FW || driver for AMS 5812-0003-D (Airspeed) pressure sensors | |||
|- | |- | ||
| | |[[Module/Aeroprobe_OTF|airspeed_otf]] || sensors || [http://docs.paparazziuav.org/latest/module__airspeed_otf.html airspeed_otf.xml] || FW || Aeroprobe On-The-Fly! air data computer | ||
|- | |- | ||
| | |[[Sensors/Airspeed#MS45xx|airspeed_ms45xx_i2c]] || sensors || [http://docs.paparazziuav.org/latest/module__airspeed_ms45xx_i2c.html airspeed_ms45xx_i2c.xml] || FW || MS45xx differential pressure sensor (airspeed) | ||
|- | |- | ||
| | |} | ||
=== Humidity sensors === | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | |||
|- | |- | ||
| | |[[Module/IST DigiPicco|humid_dpicco]] || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor | ||
|- | |- | ||
|[[Module/ | |[[Module/Honeywell_HIH-4030|humid_hih]] || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor | ||
|- | |- | ||
|[[Module/ | |[[ Module/TronSens HTM B71|humid_htm_b71]] || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor | ||
|- | |- | ||
| | |[[Module/Sensirion SHT75|humid_sht]] || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor | ||
|- | |- | ||
| | |[[Module/Sensirion SHT25|humid_sht_i2c]] || meteo || humid_sht_i2c.xml || FW || driver for Sensirion SHT25 humidity sensor (I2C) | ||
|} | |||
=== Other environment sensors === | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! 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 | ||
|- | |||
|} | |||
=== Radio modules === | |||
{| class="wikitable sortable" style="text-align:center" border="1" | |||
! Name !! directory !! configuration files !! airframe(s) !! description | |||
|- | |- | ||
| | |pineapple || pineapple || pineapple.xml || FW || [http://hakshop.com/wifipineapple WiFi pen-test tool] | ||
|- | |- | ||
|} | |} | ||
Latest revision as of 06:56, 15 February 2022
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 |
geo_mag | geo_mag | geo_mag.xml | FW & RW | Calculation of the normalized geomagnetic field vector (saved to ahrs_impl.mag_h) at startup using GPS fix. |
cv_opticflow | computer_vision | cv_opticflow.xml | FW & RW | Estimation of optical flow from captured images. |
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
Simple static comparsion of recent digital barometric 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 |
airspeed_otf | sensors | airspeed_otf.xml | FW | Aeroprobe On-The-Fly! air data computer |
airspeed_ms45xx_i2c | sensors | airspeed_ms45xx_i2c.xml | FW | MS45xx differential pressure sensor (airspeed) |
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 |
Radio modules
Name | directory | configuration files | airframe(s) | description |
---|---|---|---|---|
pineapple | pineapple | pineapple.xml | FW | WiFi pen-test tool |
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 |