nyuuzyou/wikis huggingface dataset:
Module/Meas Spec MS5611 I2C

__NOTOC__
== Overview ==
The Measurement Specialties MS5611 is an excellent barometer/pressure sensor. Currently a plastic case version (-01BA01) and a metal case version (-01BA03) exist, both with the same functionallity. The metal case was added since the values form the plastic one change under the influence of bright light. The sensor can be used as I2C or SPI device. 
This page describes the connection through I2C. Note that the MS5611 mounted on the Aspirin V2.2 uses the SPI port, the Aspirin V2.1 still I2C
The device was tested in a simple static noise comparsion setup.
Module name 	sensors/baro_ms5611_i2c
Sensor type 	barometer, temperature
Range (baro) 	10 kPa .. 1200 kPa
Range (temp) 	-40°C .. +85°C
Resolution (baro)	1.2 Pa
Resolution (temp)	0.01°C
Refresh rate 	4Hz
I2C address 	0xEE
Product home page
== Hardware ==
The sensor can directly interface to the 3.3V I2C port of the autopilots and is supplied by +3.3V.
Supplier:
Drotek
CSG
=== Wiring ===
Autopilot I2C pin	Autopilot I2C	MS5611
1 	GND 	GND
2 	 	
3 	+3.3V 	VCC
4 	SDA 	SDA
5 	SCL 	SCL
== Usage ==
To use it load the baro_ms5611_i2c module:
=== Configuration ===
To see the sensors data in the log file set the SENSOR_SYNC_SEND in your airframe file. Every time new data is available it will be sent directly.
===Result message===
The raw values (d1/d2) and the corrected ones (pressure/temp) are written to the log file.
The sensors calibration values are read out at init time and transmitted every 30 seconds. They can be seen as some sort of unique serial number.
Sample log file lines
 10.239 123 MS5611_COEFF 8 53136 52817 34048 31158 31184 28953 55558
 11.024 123 BARO_MS5611 8049424 8052329 988.8 22.38
 11.272 123 BARO_MS5611 8049312 8052284 988.77 22.38
 11.524 123 BARO_MS5611 8049344 8052330 988.78 22.39
=Altitude in Autopilot=
If you want to use it for altitude estimation in the autopilot the following line needs to be added to your airframe file: <define name="USE_BARO_MS5611"/>
Other example how to use the baro from Drotek 10DOF (MPU6050-HMC5883-MS5611)
Category:User_Documentation Category:Modules
Module/Melexis MLX90614

__NOTOC__
===Overview===
The Melexis MLX90614 is a digital infrared radiation sensor. It is used to measure earths surface temperature when flying at low altitudes. It measures both the object (earth) temperature and the case (sensor) temperature.
Module name 	meteo/ir_mlx
Sensor type 	temperature
Range (object)	-70°C .. +380°C
Resolution 	0.02°C
Refresh rate 	8Hz
I2C address 	0x06
MLX90614 product homepage
===Hardware===
The board does have a 3.3V I2C interface.
Breakout board: Paparazzi hardware repo
Supplier:
Future Electronics
Sparkfun
==== Wiring ====
Autopilot I2C pin	Autopilot I2C	MLX90614	MLX90614 pin
1 	GND 	Vss 	4
2 	 	 	
3 	+3.3V 	Vdd 	3
4 	SDA 	SDA 	2
5 	SCL 	SCL 	1
===Usage===
To use the infrared radiation sensor:
===One-time configuration===
(available in the master and campaign2013 branch)
The I2C address is stored in internal flash memory and is usually randomly set. To set it to a useful value (0x06) put the below define only once while setting your equipment up.
===Result message===
Both the sensor case temperature and infrared object temperature are measured. The raw data (itemp_case/_obj) and the converted result (temp_case/_obj) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file.
The sensors 64bit serial number is read out at init and transmitted every 30 seconds.
Sample log file lines
 6.000 123 MLX_SERIAL -1468333052 -931101532
 6.518 123 MLX_STATUS 14703 20.91 14702 20.89
 6.634 123 MLX_STATUS 14703 20.91 14702 20.89
 6.750 123 MLX_STATUS 14704 20.93 14705 20.95
 6.878 123 MLX_STATUS 14703 20.91 14702 20.89
===NOTES===
If flying at higher altitudes the infrared radiation from the in-between water vapor is also measured.
Category:User_Documentation Category:Modules
Module/Rotorcraft cam

Modules
This module allow to control a camera mounted on the rotorcraft type airframe. The tilt motion can be controlled with a servo, while the pan motion is controlled by the heading of the vehicle by setting the nav_heading variable (this imply that you need to be in navigation mode).
Most of the parameters are set from your airframe file with a CAM section. The possible options are described in the generated doc (latest development version)
The available modes are:
* NONE: set a fixed (neutral) value to the tilt servo PWM
* MANUAL: set the tilt servo PWM from the settings (need to add the proper settings file modules/rotorcraft_cam.xml)
* HEADING: the tilt angle is controlled in angles relative to the aircraft body frame (no bank roll/pitch compensation or stabilization) and the pan is controlled with the heading of the vehicle. In this mode, the angles corresponding to the minimum and maximum PWM have to be defined.
* WP: the pan and tilt angle are tracking a 3D waypoint. In this mode, the angles corresponding to the minimum and maximum PWM have to be defined, and the waypoint to track must be in the flight plan waypoints list (by default, CAM is used, but a different wp can be chosen from the airframe CAM section).
Example of an airframe section with pan (used by default), tilt using pwm servo and GPIO (CAM_SWITCH_LED) to power the camera.
 <servos driver="Pwm">
 <servo name="CAM" no="1" min="1000" neutral="1500" max="2300"/>
 </servos>
 ...
 <section name="CAM" prefix="ROTORCRAFT_CAM_">
 <define name="ON" value="LED_ON(CAM_SWITCH_LED)"/>
 <define name="OFF" value="LED_OFF(CAM_SWITCH_LED)"/>
 <define name="TILT_SERVO" value="CAM"/>
 <define name="TILT_ANGLE_MAX" value="-90." unit="deg"/>
 <define name="TILT_ANGLE_MIN" value=" 10." unit="deg"/>
 </section>
Category:User_Documentation Category:Modules
Module/Sensirion SHT25

__NOTOC__
===Overview===
The Sensirion SHT25 is a digital temperature and relative humidity sensor. Adaption speed is not perfect.
Module name 	meteo/humid_sht_i2c
Sensor type 	humidity, temperature
Range (humidity) 	0 .. 100 %RH
Range (temperature) 	-40°C .. +125°C
Resolution (humidity) 	0.04 %RH
Resolution (temperature)	0.01°C
Refresh rate 	4Hz
SHT25 product homepage
===Hardware===
The sensor is supplied with an I2C interface. There will be an adapter board available in the Paparazzi hardware repository.
Supplier:
Farnell
==== Wiring ====
Autopilot I2C pin	Autopilot I2C	SHT25	SHT25 pin
1 	GND 	GND 	1
2 	 	 	
3 	+3.3V 	Vcc 	4
4 	SDA 	SDA 	2
5 	SCL 	SCL 	3
===Usage===
To use the humidity sensor add:
===Result message===
The raw data (ihumid/itemp) and the converted result (humid/temp) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file.
The sensors 64bit serial number is read out at init and transmitted every 30 seconds.
Sample log file lines
 4.000 123 SHT_I2C_SERIAL 8388707 -1365769984
 4.393 123 SHT_I2C_STATUS 36668 26928 63.93 25.35
 4.645 123 SHT_I2C_STATUS 36648 26924 63.9 25.34
 4.893 123 SHT_I2C_STATUS 36660 26924 63.92 25.34
 
===NOTES===
The location of the sensor on the aircraft does matter. There are various papers that analyze the best location. So far we have installed them within tubes (to protect from sunlight/heating) on the wings. That might not be the optimum place. The SHT25 is not preferred as it does have holes on the back that allows the air to flow through.
Category:User_Documentation Category:Modules
Module/Sensirion SHT75

__NOTOC__
===Overview===
The Sensirion SHT75 is a digital temperature and relative humidity sensor. Adaption speed is not perfect but the sensor has proven to work even in very low temperatures. It is the standard humidity sensor for the SUMO.
Module name 	meteo/humid_sht
Sensor type 	humidity, temperature
Range (humidity) 	0 .. 100 %RH
Range (temperature) 	-40°C .. +125°C
Resolution (humidity) 	0.05 %RH
Resolution (temperature)	0.01°C
Refresh rate 	4Hz
SHT75 product homepage
===Hardware===
The communication happens through an I2C-like communication bus. As it is not exactly I2C the communication is done through dedicated GPIO pins by pulling the pins in software. The SHT75 is sold with four connectors. A 10k pull-up resistor is needed for the data line. There will be an adapter board available in the Paparazzi hardware repository.
Breakout board: Paparazzi hardware repo
Supplier:
Farnell
Conrad
==== Wiring ====
The standard GPIO pins for Clock/Data is the ADC1 connector (P0.4/P0.30) for the Tiny/TWOG. It can be configured, see below.
Tiny/TWOG ADC1 pin	Tiny/TWOG ADC1	SHT75	SHT75 pin
1 	GND 	GND 	3
2 	 	 	
3 	+3.3V 	VDD 	2
4 	ADC4 (P0.4) 	DATA 	4
5 	ADC3 (P0.30) 	SCK 	1
===Usage===
To use the humidity sensor add:
The GPIO pins can be configured through defines, for the Umarim lite v2.0 they should be set to P0.13/P0.15 for AUX1/AUX2:
===Result message===
The raw data (ihumid/itemp) and the converted result (humid/temp) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file.
Sample log file lines
 7.988 123 SHT_STATUS 26876 25272 45.26 20.91
 8.234 123 SHT_STATUS 26856 25268 45.22 20.9
 8.485 123 SHT_STATUS 26840 25264 45.19 20.89
 8.732 123 SHT_STATUS 26820 25260 45.16 20.88
 
===NOTES===
The location of the sensor on the aircraft does matter. There are various papers that analyze the best location. So far we have installed them within tubes (to protect from sunlight/heating) on the wings. That might not be the optimum place. The SHT75 is preferred over the SHT15 as it does have holes on the back that allows the air to flow through.
Category:User_Documentation Category:Modules
Module/Servo switch

Modules
This module allows you to easily control a servo output like a switch (e.g. for a hatch, cam trigger, etc) via Flight Plan and GCS (not via RC!).
To use it load the servo_switch module:
Now you only have to declare a servo in your airframe.xml that you
want to use.
By default the servo_switch module looks for a servo called SWITCH.
The switch on value is 2000us and switch off is 1000us by default.
e.g. in my airframe file I have:
If you want to use a different servo/values you can set that in the
modules section, e.g. for a servo named HATCH:
Of course you only have to set these parameters here If you do not
want to use the DEFAULT servo (SWITCH) or the default on/off values. Switch value will not go outside the range defined on the servo
=== Calling from Flight Plan ===
In your flight plan you just call the macro defined in servo_switch.h
<call fun="ServoSwitchOn()"/>
or
<call fun="ServoSwitchOff()"/>
respectively.
=== Buttons in the GCS ===
To get buttons for the servo switch module in the GCS add conf/settings/modules/servo_switch.xml to the settings files of your aircraft.
Category:Modules
Module/System monitor

Modules
The sys_mon module gives you some information about the timing of the periodic tasks and a rough estimate of cpu load (averaged over 1 sec).
The SYS_MON message contains the following information (all times are given in microseconds):
; periodic_time : time between two calls of the main periodic function (averaged over 1s)
; periodic_cycle : time it took to execute the main periodic functions (averaged over 1s)
; periodic_cycle_min : minimum time it took to execute the main periodic functions during the last second
; periodic_cycle_max : maximum time it took to execute the main periodic functions during the last second
; event_number : number of times the event loop was called during the last second
; cpu_load : rough estimate of cpu load (averaged over 1 sec)
So your periodic_time should be 1/PERIODIC_FREQUENCY.
The periodic_cycle_max should not be over the periodic_time, otherwise in at least one cycle it took longer to calculate everything and the next one was slightly delayed.
The sys_mon module has to run at the full main frequency!
So either don't specify a main_freq parameter like in the example below or set your actual main frequency
To use it load the sys_mon module:
Category:Modules
Module/TI TMP102

__NOTOC__
==Overview==
The Texas Instruments TMP102 is a small and affordable temperature sensor.
Module name 	meteo/temp_tmp102
Sensor type 	temperature
Range 	-40°C .. +125°C
Resolution 	0.0625°C
Refresh rate	8Hz
I2C address 	0x90
TI product home page
==Hardware==
The TMP102 can be directly interfaced to the Paparazzi autpilot 3.3V I2C interfaces.
Supplier:
Sparkfun
=== Wiring ===
Autopilot I2C pin	Autopilot I2C	TMP102
1 	GND 	GND
2 	 	
3 	+3.3V 	V+
4 	SDA 	SDA
5 	SCL 	SCL
==Usage==
To use the temperature sensor add the module to your airframe file.
===Result message===
The raw data (itemp) and the converted result (temp) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file.
Sample log file lines
 23.909 123 TMP_STATUS 338 21.12
 23.909 123 TMP_STATUS 337 21.06
 23.909 123 TMP_STATUS 336 21.
 23.909 123 TMP_STATUS 334 20.88
Category:User_Documentation Category:Modules
Module/TronSens HTM B71

__NOTOC__
==Overview==
The TronSens HTM B71 (now sold as IST HYT-271) is a relative humidity and digital temperature sensor. Early versions seemed to have issues with other devices on the same I2C bus.
Module name 	meteo/humid_htm_b71
Sensor type 	humidity, temperature
Range (humidity) 	0 .. 100 %RH
Range (temperature) 	-40°C .. +125°C
Resolution (humidity) 	? %RH
Resolution (temperature)	0.01°C
Refresh rate 	4Hz
I2C address 	0x28
Product data sheet
Application note
==Hardware==
The sensor board can be directly interfaced to the autopilots I2C 3.3V interface
=== Wiring ===
Autopilot I2C pin	Autopilot I2C	HTM B71	HTM B71 pin
1 	GND 	GND 	2
2 	 	 	
3 	+3.3V 	Vdd 	3
4 	SDA 	SDA 	1
5 	SCL 	SCL 	4
==Usage==
To use the humidity sensor add:
===Result message===
The raw data (ihumid/itemp) and the converted result (humid/temp) is written to the log file. The message is automatically sent when new data is received, it does not have to be added to the telemetry file. 
Sample log file lines
 15.891 123 HTM_STATUS 4807 5920 29.35 19.2
 16.143 123 HTM_STATUS 4807 5917 29.34 19.17
 16.391 123 HTM_STATUS 4807 5917 29.34 19.17
 15.643 123 HTM_STATUS 4809 5917 29.35 19.2
Category:User_Documentation Category:Modules
Module/VTI SCP1000 I2C

__NOTOC__
== Overview ==
The VTI SCP1000-D11 (I2C) is a barometer/pressure sensor. Unfortunately this device is no longer being produced.
The device was tested in a simple static noise comparsion setup.
Module name 	sensors/baro_scp_i2c
Sensor type 	barometer, temperature
Range (baro) 	30kPa .. 120kPa
Range (temp) 	-30°C .. +85°C
Resolution (baro)	0.25Pa
Resolution (temp)	0.05°C
Refresh rate 	1.8Hz
I2C address 	0x22
Product data sheet
== Hardware ==
The sensor directly interfaces to the 3.3V I2C port of the autopilots and is supplied by +3.3V.
=== Wiring ===
Autopilot I2C pin	Autopilot I2C	VTI SCP1000 I2C
1 	GND 	GND
2 	 	
3 	+3.3V 	Vcc
4 	SDA 	SDA
5 	SCL 	SCL
== Usage ==
To use it load the baro_scp_i2c module:
=== Configuration ===
To see the sensors data in the log file set the SENSOR_SYNC_SEND in your airframe file. Every time new data is available it will be sent directly.
===Result message===
There is no conversion needed so the raw data is output, the pressure is given in 1/100 of Pascal.
Sample log file lines
 12.016 123 SCP_STATUS 10085150 2305
 12.567 123 SCP_STATUS 10086450 2300
 13.114 123 SCP_STATUS 10085600 2300
 13.664 123 SCP_STATUS 10086125 2305
Category:User_Documentation Category:Modules
Module/VTI SCP1000 SPI

__NOTOC__
== Overview ==
The VTI SCP1000-D01 (SPI) is a barometer/pressure sensor. Unfortunately this device is no longer being produced.
The corresponding I2C device was tested in a simple static noise comparsion setup.
Module name 	sensors/baro_scp
Sensor type 	barometer, temperature
Range (baro) 	30kPa .. 120kPa
Range (temp) 	-30°C .. +85°C
Resolution (baro)	0.25Pa
Resolution (temp)	0.05°C
Refresh rate 	1.8Hz
Product data sheet
== Hardware ==
The sensor directly interfaces to the 3.3V SPI port of the autopilots and is supplied by +3.3V.
=== Wiring ===
Autopilot SPI pin	Autopilot SPI	VTI SCP1000 SPI
1 	GND 	GND
2 	+3.3V 	3.3V
3 	SSEL 	CSB
4 	MOSI 	MOSI
5 	MISO 	MISO
6 	SCK 	SCK
7 	DRDY 	DRDY
== Usage ==
To use it load the baro_scp module:
=== Configuration ===
To see the sensors data in the log file set the SENSOR_SYNC_SEND in your airframe file. Every time new data is available it will be sent directly.
===Result message===
There is no conversion needed so the raw data is output, the pressure is given in 1/100 of Pascal.
Sample log file lines
 12.016 123 SCP_STATUS 10085150 2305
 12.567 123 SCP_STATUS 10086450 2300
 13.114 123 SCP_STATUS 10085600 2300
 13.664 123 SCP_STATUS 10086125 2305
Category:User_Documentation Category:Modules
Molex connectors

__NOTOC__
== Mouser ==
====crimps====
538-50079-8000 female AWG 26-28 (Molex 50079-8000)
(seems like you can order all Molex parts with a 538- prefix at Mouser)
== Farnell ==
====crimps====
1653820 female AWG 26-28 (Molex 50079-8000)
====cable====
1125272 15cm, plug on both ends (Molex 06-66-0012)
1125276 30cm, plug on one end (Molex 06-66-0015)
====cable receptacle (Molex 51021-xx00)====
889477 2pin
615092 3pin
9733116 4pin
615109 5pin
1012261 6pin
615110 7pin
1012262 8pin
615122 9pin
9733124 10pin 
615160 14pin 
== RS-Components ==
====cable====
279-9516 15cm, plug on both ends (Molex 06-66-0012)
279-9544 30cm, plug on one end (Molex 06-66-0015)
====pcb connector, through hole, straight (Molex 53047-xx10)====
279-9213 2pin
319-1064 3pin
279-9229 4pin
447-6596 5pin
279-9235 6pin
447-6603 7pin
279-9241 8pin
447-6619 9pin
279-9263 10pin
670-4244 14pin
====pcb connector, through hole, 90 deg (Molex 53048-xx10)====
279-9285 4pin
447-6625 5pin
====pcb connector, smd, straight (=th 90deg) (Molex 53398-xx71)====
656-3018 4pin
====pcb connector, smd, 90 deg (=th str) (Molex 53261-xx71)====
542-7141 7pin
====cable receptacle (Molex 51021-xx00)====
279-9156 2pin
319-1036 3pin
279-9162 4pin
447-6580 5pin
279-9178 6pin
342-1696 7pin
279-9184 8pin
342-1646 9pin
279-9207 10pin 
670-4082 14pin
Morse

Morse is a generic simulator for academic robotics. It focuses on realistic 3D simulation of small to large environments, indoor or outdoor, with one to tenths of autonomous robots.
For Paparazzi, it can be used as a 3D visualization interface when flying a rotorcraft, either in simulation and real flights. The main purpose of Morse is to be able to simulate many sensors and get their feedback from the virtual environment.
Once you have completed the installation of Morse, you may need to install lxml for python3 (from distribution package if available), plus ivy and pprzlink from source (python3 packages are not available, but source code is compatible). Don't forget to set properly your PYTHONPATH environment variable for manually installed libraries.
After creating your simulation environment with the command (you can choose a different project name)
 morse create my_pprz_env
you can change the default.py script newly created in the my_pprz_env folder as follow to initiate connection between Morse and Paparazzi
 #! /usr/bin/env morseexec
 """ Basic MORSE simulation scene for <test_pprz> environment
 Feel free to edit this template as you like!
 """
 
 from morse.builder import *
 
 robot = Quadrotor()
 
 # The list of the main methods to manipulate your components
 # is here: http://www.openrobots.org/morse/doc/stable/user/builder_overview.html
 robot.translate(0.0, 0.0, 0.0)
 robot.rotate(0.0, 0.0, 0.0)
 
 # Add a motion controller
 motion = Teleport()
 robot.append(motion)
 motion.add_stream('pprzlink')
 #motion.add_stream('pprzlink', ac_id=101) (if you need to specify the aircraft ID)
 
 env = Environment('indoors-1/boxes', fastmode = False)
The Teleport actuator is the only one natively supported for Paparazzi at the moment, and it allows to replicate the position and orientation of the real/simulated UAV into the Morse virtual world. In addition, some other sensors can be added but will use one of the other supported middlewares.
Here is an example of a video camera using the socket interface:
 video = VideoCamera()
 video.translate(0., 0., 0.1)
 video.rotate(0., 0., 0.)
 robot.append(video)
 motion.add_stream('socket')
 video.add_interface('socket')
Multiple Parrot Drones as Swarm via WiFi Router

=Multiple Parrot Drones as Swarm via WiFi Router=
=About=
If you are eager to try and fly multiple Bebop or Discos at the same time and communicate to each-other, this is the page to read on how to get that to work
=What your need=
* 2x Bebop
* 1x Router
* Your Fieldlaptop
=Network=
First all your Bebops need to be configured. Switch on the first one... Repeat all those steps for all your Bebops you are going to use in your swarm.
There is a configuration to make. Here are some examples as a start:
cd ~/paparazzi/sw/tools/parrot
./bebop.py configure_network YOURROUTERSSID managed dhcp
./bebop.py wifikey none none
or if you have WPA2 and fixed IP's and do not have set the MAC of your Bebop in your DHCP for a static lease. IP is an example, your router could be on a different subnet.
Ofcourse change the YOURROUTERSSID and YOURKEY to the SSID of your router end the password of your network.
cd ~/paparazzi/sw/tools/parrot
./bebop.py configure_network YOURROUTERSSID managed 192.168.1.44
./bebop.py wifikey wpa2 YOURKEY
=IVY Bus=
 ~/paparazzi/sw/ground_segment/tmtc/link -udp -udp_broadcast
=Airframe=
In Paparazzi-center make four (4x) an airframe configuration, you can use the same airframe file for all since AC_ID makes the difference
To be able to cross-communicate via UDP a additional setting to the Bebop airframe file needs to be added:
If your router has e.g. IP 192.168.209.1 then add this to your airframe in the target section:
 <configure name="HOST" value="192.168.209.$(AC_ID)"/>
 <configure name="MODEM_HOST" value="192.168.209.255"/>
 <configure name="MODEM_BROADCAST" value="TRUE"/>
Change the IP number according to your setup
=Tips=
* To make things manageable, one could also resort to local name resolving where the last part name of the device is the aircraft ID.
* Or set the last part of a static IP number to the Aircraft ID of your airframes
=TIPS=
Press and hold the Powerbutton for 10seconds in a row until the light turns red, that is a factory reset.