Difference between revisions of "Modules list"

From PaparazziUAV
Jump to navigation Jump to search
 
(63 intermediate revisions by 11 users not shown)
Line 1: Line 1:
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>.
<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/airborne/modules/<directory name>.


=== Available modules ===
'''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
|-
|-
|Enose || enose || enose.xml || FW || chemical sensor
|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
|-
|Booz cam || cam_control || booz_cam.xml || Booz || 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 18: Line 19:
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz
|-
|-
|servo switch || servo_switch || servo_switch.xml || FW || simply switch a servo to "on" or "off" position, e.g. trigger camera or open hatch
|light || light || light.xml || FW || control blinking speed of the LEDs for night flights
|-
|[[Module/Servo_switch|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
|Formation flight || multi || formation_flight.xml || FW || formation flight control for fixed-wing aircraft
Line 24: Line 27:
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules
|-
|-
|Xsens || ins || ins_xsens.xml<br>ins_xsens_MTi_Uart0.xml<br>ins_xsens_MTiG_Uart0.xml || || driver for the Xsens AHRS/INS (incomplete, only read values, estimator is not updated)
|[[Module/GPS_UBlox_UCenter|GPS UBX µcenter]] || gps || gps_ubx_ucenter.xml || FW/Rotor || Module to initialise µ-blox GPS at every power on
|-
|Xsens || ins || ins_xsens.xml<br>ins_xsens_MTi_Uart0.xml<br>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)
|-
|[[ArduIMU|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)
|Max 3100 || max3100 || max3100.xml || FW || max3100 driver (spi<->uart converter)
Line 36: 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
|-
|-
|Sys mon || core || sys_mon.xml || FW & Booz || measures CPU load & activity
|[[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/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/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
|-
|[[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_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A 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
|-
|}
|}


=== Possible modules ===


A list of the parts of the FW airborne code that could be changed to modules.
=== Airspeed sensors ===


{| class="wikitable" style="text-align:center" border="1"
{| class="wikitable sortable" style="text-align:center" border="1"
! Name !! header !! init !! periodic !! event !! datalink !! description
! 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
|-
|-
|Led || X || X || || || || control leds and GPIO
|[[Module/Airspeed_ETS|airspeed_ets]] || sensors || [http://docs.paparazziuav.org/latest/module__airspeed_ets.html airspeed_ets.xml] || FW || Eagle Tree Systems airspeed sensor
|-
|-
|ADC Generic || X || X || 4Hz || || ||
|[[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
|-
|-
|Telemeter || X || X || 1Hz || || ||  
|[[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
|-
|-
|I2C || X || X || || || ||
|[[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)
|-
|-
|DC || X || X || || || ||
|}
 
=== Humidity sensors ===
 
{| class="wikitable sortable" style="text-align:center" border="1"
! Name !! directory !! configuration files !! airframe(s) !! description
|-
|-
|Dpicco || X || || 4Hz || || ||
|[[Module/IST DigiPicco‎|humid_dpicco]] || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor
|-
|-
|Humid || X || X || 4Hz || || || Humidity sensor
|[[Module/Honeywell_HIH-4030|humid_hih]] || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor
|-
|-
|Baro SCP || X || X || 4Hz || || || Barometer
|[[ Module/TronSens HTM B71|humid_htm_b71]] || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor
|-
|-
|Baro MS || X || || 20Hz || X || || Barometer
|[[Module/Sensirion SHT75‎|humid_sht]] || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor
|-
|-
|Airspeed ETS || X || X || 20Hz || || || Eagle Tree airspeed 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
|-
|-
|Baro ETS || X || X || 20Hz || || || Eagle Tree barometric sensor
|enose || enose || enose.xml || FW || chemical gas sensor
|-
|-
|SPI || X || X || || || ||
|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]
|-
|-
|Traffic || X || || || || X || update traffic information from datalink
|}
 
=== Possible modules ===
 
A list of the parts of the FW airborne code that could be changed to modules.
 
{| class="wikitable" style="text-align:center" border="1"
! Name !! header !! init !! periodic !! event !! datalink !! description
|-
|-
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance
|Led || X || X || || || || control leds and GPIO
|-
|-
|Cam || X || X || 4Hz - 60Hz || || || camera pointing system
|I2C || X || X || || || ||
|-
|-
|Light || X || X || 1Hz || || || control blinking speed of the LEDs for night flights
|SPI || X || X || || || ||
|-
|-
|Gyro || X || X || 60Hz || || ||
|Traffic || X || || || || X || update traffic information from datalink
|-
|-
|IR || X || X || 60Hz || || || Infrared sensors
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance
|-
|-
|GPS || X || X || || X || ||
|GPS || X || X || || X || ||
Line 86: Line 208:
|Joystick || X || X || || X || X|| control a plane from telemetry
|Joystick || X || X || || X || X|| control a plane from telemetry
|}
|}
[[Category:User_Documentation]] [[Category:Modules]]

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