<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cdejong</id>
	<title>PaparazziUAV - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cdejong"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Cdejong"/>
	<updated>2026-04-29T20:55:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24451</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24451"/>
		<updated>2020-03-11T08:27:05Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot_disco_frontside.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== Automatically start 2 button press == &lt;br /&gt;
&lt;br /&gt;
In order to automatically start the 2-button press mode which is required in order to upload the paparazzi autopilot or to start an ftp session, you just have to enable the initial status of the telnet session. &lt;br /&gt;
&lt;br /&gt;
First press the power button 2 times in order to activate the telnet session. Then telnet to it using &lt;br /&gt;
&lt;br /&gt;
$ telnet 192.168.42.1&lt;br /&gt;
 &lt;br /&gt;
Mount and remount the drive to obtain write access to the files using &lt;br /&gt;
&lt;br /&gt;
$ mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
Then change the /etc/boxinit.d/50-telnetd.rc file using: &lt;br /&gt;
&lt;br /&gt;
$ vi /etc/boxinit.d/50-telnetd.rc &lt;br /&gt;
&lt;br /&gt;
Go into write mode using :w + [Enter] and press i to go into insert mode. Change to disabled to enabled to automatically enable telnet.&lt;br /&gt;
&lt;br /&gt;
Write to the file using :w  + [Enter] and quit by pressing [Esc] and type :x + [Enter]&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. While wine is able to configure the rtk messages and the setup, it should be noted that updating the GPS software using wine was not possible. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
===Setup of Ground station===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the USB output on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).&lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
Finally, the rate has to be set to the same measurement period and navigation rate as in the rover station. It is recommended to just start paparazzi with all the required modules and then see the configured rates on the Disco itself. The reason for this is that several paparazzi modules might change the ublox configuration at startup. (In the case of the Dezember 2019 master version, the navigational rate is set to 1 cyc and the measurement period to 250 ms in case the ubx_ucenter module is used for configuration).&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED. These are required to obtain positional information, however not in case only RTK is used. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Moving baseline rtk ===&lt;br /&gt;
&lt;br /&gt;
In case the ground station is not staying at a fixed position and moving (on a boat/car for example), the base station has to be set up for moving baseline. &lt;br /&gt;
&lt;br /&gt;
For this, nearly the same step as in the [[Disco#Setup_of_Ground_station|rover station setup]] has to be performed. In addition to this, message 4072 has to be enabled for the USB output. This will automatically disable message 1005. Furthermore, TMODE3 has to be set to Disabled instead of Survey-In or Fixed.&lt;br /&gt;
&lt;br /&gt;
The setup of the rover station is equivalent. &lt;br /&gt;
&lt;br /&gt;
In order to allow moving baseline operation, a firmware upgrade on the NEO M8P module towards firmware 1.40 is required. Upgrading the firmware on wine under Ubuntu was not possible and a direct link between the GPS module and a Windows computer running the newest version (19.12) of u-center was required as well. The ground station can thus simply be upgraded using a standart usb cable connected to it. For the reference module in the Parrot Disco itself, the GPS module had to be desoldered and soldered on a USB connector. The firmware update then had to be performed from this connector after which the module could be soldered again into the Disco. &lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug messages and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
    $ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
    $ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24446</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24446"/>
		<updated>2020-02-01T14:33:02Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot_disco_frontside.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== Automatically start 2 button press == &lt;br /&gt;
&lt;br /&gt;
In order to automatically start the 2-button press mode which is required in order to upload the paparazzi autopilot or to start an ftp session you just have to change the status to enabled. &lt;br /&gt;
&lt;br /&gt;
First mount and remount the drive to obtain write access to the files using &lt;br /&gt;
&lt;br /&gt;
$ mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
Then change the /etc/boxinit.d/50-telnetd.rc file using: &lt;br /&gt;
&lt;br /&gt;
$ vi /etc/boxinit.d/50-telnetd.rc &lt;br /&gt;
&lt;br /&gt;
Go into write mode using :w + [Enter] and press i to go into insert mode. Change to disabled to enabled to automatically enable telnet. &lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. While wine is able to configure the rtk messages and the setup, it should be noted that updating the GPS software using wine was not possible. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
===Setup of Ground station===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the USB output on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).&lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
Finally, the rate has to be set to the same measurement period and navigation rate as in the rover station. It is recommended to just start paparazzi with all the required modules and then see the configured rates on the Disco itself. The reason for this is that several paparazzi modules might change the ublox configuration at startup. (In the case of the Dezember 2019 master version, the navigational rate is set to 1 cyc and the measurement period to 250 ms in case the ubx_ucenter module is used for configuration).&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED. These are required to obtain positional information, however not in case only RTK is used. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Moving baseline rtk ===&lt;br /&gt;
&lt;br /&gt;
In case the ground station is not staying at a fixed position and moving (on a boat/car for example), the base station has to be set up for moving baseline. &lt;br /&gt;
&lt;br /&gt;
For this, nearly the same step as in the [[Disco#Setup_of_Ground_station|rover station setup]] has to be performed. In addition to this, message 4072 has to be enabled for the USB output. This will automatically disable message 1005. Furthermore, TMODE3 has to be set to Disabled instead of Survey-In or Fixed.&lt;br /&gt;
&lt;br /&gt;
The setup of the rover station is equivalent. &lt;br /&gt;
&lt;br /&gt;
In order to allow moving baseline operation, a firmware upgrade on the NEO M8P module towards firmware 1.40 is required. Upgrading the firmware on wine under Ubuntu was not possible and a direct link between the GPS module and a Windows computer running the newest version (19.12) of u-center was required as well. The ground station can thus simply be upgraded using a standart usb cable connected to it. For the reference module in the Parrot Disco itself, the GPS module had to be desoldered and soldered on a USB connector. The firmware update then had to be performed from this connector after which the module could be soldered again into the Disco. &lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug messages and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
    $ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
    $ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24443</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24443"/>
		<updated>2020-01-04T18:17:48Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot_disco_frontside.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== Automatically start 2 button press == &lt;br /&gt;
&lt;br /&gt;
In order to automatically start the 2-button press mode which is required in order to upload the paparazzi autopilot or to start an ftp session you just have to change the status to enabled. &lt;br /&gt;
&lt;br /&gt;
First mount and remount the drive to obtain write access to the files using &lt;br /&gt;
&lt;br /&gt;
$ mount -o remount,rw /&lt;br /&gt;
&lt;br /&gt;
Then change the /etc/boxinit.d/50-telnetd.rc file using: &lt;br /&gt;
&lt;br /&gt;
$ vi /etc/boxinit.d/50-telnetd.rc &lt;br /&gt;
&lt;br /&gt;
Go into write mode using :w + [Enter] and press i to go into insert mode. Change to disabled to enabled to automatically enable telnet. &lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
===Setup of Ground station===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the USB output on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).&lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
Finally, the rate has to be set to the same measurement period and navigation rate as in the rover station. It is recommended to just start paparazzi with all the required modules and then see the configured rates on the Disco itself. The reason for this is that several paparazzi modules might change the ublox configuration at startup. (In the case of the Dezember 2019 master version, the navigational rate is set to 1 cyc and the measurement period to 250 ms in case the ubx_ucenter module is used for configuration).&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED. These are required to obtain positional information, however not in case only RTK is used. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Moving baseline rtk ===&lt;br /&gt;
&lt;br /&gt;
In case the ground station is not staying at a fixed position and moving (on a boat/car for example), the base station has to be set up for moving baseline. &lt;br /&gt;
&lt;br /&gt;
For this, nearly the same step as in the [[Disco#Setup_of_Ground_station|rover station setup]] has to be performed. In addition to this, message 4072 has to be enabled for the USB output. This will automatically disable message 1005. Furthermore, TMODE3 has to be set to Disabled instead of Survey-In or Fixed.&lt;br /&gt;
&lt;br /&gt;
The setup of the rover station is equivalent. &lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug messages and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
$ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
$ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24356</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24356"/>
		<updated>2019-12-09T11:59:42Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-disco.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
===Setup of Ground station===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the USB output on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).&lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
Finally, the rate has to be set to the same measurement period and navigation rate as in the rover station. It is recommended to just start paparazzi with all the required modules and then see the configured rates on the Disco itself. The reason for this is that several paparazzi modules might change the ublox configuration at startup. (In the case of the Dezember 2019 master version, the navigational rate is set to 1 cyc and the measurement period to 250 ms in case the ubx_ucenter module is used for configuration).&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED. These are required to obtain positional information, however not in case only RTK is used. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Moving baseline rtk ===&lt;br /&gt;
&lt;br /&gt;
In case the ground station is not staying at a fixed position and moving (on a boat/car for example), the base station has to be set up for moving baseline. &lt;br /&gt;
&lt;br /&gt;
For this, nearly the same step as in the [[Disco#Setup_of_Ground_station|rover station setup]] has to be performed. In addition to this, message 4072 has to be enabled for the USB output. This will automatically disable message 1005. Furthermore, TMODE3 has to be set to Disabled instead of Survey-In or Fixed.&lt;br /&gt;
&lt;br /&gt;
The setup of the rover station is equivalent. &lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug messages and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
$ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
$ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24355</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24355"/>
		<updated>2019-12-09T11:58:21Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-disco.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
===Setup of Ground station===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the USB output on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).&lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
Finally, the rate has to be set to the same measurement period and navigation rate as in the rover station. It is recommended to just start paparazzi with all the required modules and then see the configured rates on the Disco itself. The reason for this is that several paparazzi modules might change the ublox configuration at startup. (In the case of the Dezember 2019 master version, the navigational rate is set to 1 cyc and the measurement period to 250 ms in case the ubx_ucenter module is used for configuration).&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED. These are required to obtain positional information, however not in case only RTK is used. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Moving baseline rtk ===&lt;br /&gt;
&lt;br /&gt;
In case the ground station is not staying at a fixed position and moving (on a boat/car for example), the base station has to be set up for moving baseline. &lt;br /&gt;
&lt;br /&gt;
For this, nearly the same step as in the [[Disco#Setup_of_Ground_station|rover station setup]] has to be performed. In addition to this, message 4072 has to be enabled for the USB output. This will automatically disable message 1005. Furthermore, TMODE3 has to be set to Disabled instead of Survey-In or Fixed.&lt;br /&gt;
&lt;br /&gt;
The setup of the rover station is equivalent. &lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug message and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
$ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
$ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24354</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24354"/>
		<updated>2019-12-09T11:56:41Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Added moving baseline RTK setup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-disco.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Ground station ===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the USB output on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).&lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
Finally, the rate has to be set to the same measurement period and navigation rate as in the rover station. It is recommended to just start paparazzi with all the required modules and then see the configured rates on the Disco itself. The reason for this is that several paparazzi modules might change the ublox configuration at startup. (In the case of the Dezember 2019 master version, the navigational rate is set to 1 cyc and the measurement period to 250 ms in case the ubx_ucenter module is used for configuration).&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED. These are required to obtain positional information, however not in case only RTK is used. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Moving baseline rtk ===&lt;br /&gt;
&lt;br /&gt;
In case the ground station is not staying at a fixed position and moving (on a boat/car for example), the base station has to be set up for moving baseline. &lt;br /&gt;
&lt;br /&gt;
For this, nearly the same step as in the [[Disco#Setup_of_rover_station|rover station setup]] have to be performed. In addition to this message 4072 has to be enabled for the USB output. This will automatically disable message 1005. Furthermore, the TMODE3 has to be set to Disabled instead of Survey-In or Fixed.&lt;br /&gt;
&lt;br /&gt;
The setup of the rover station is equivalent. &lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug message and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
$ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
$ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24353</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24353"/>
		<updated>2019-12-07T10:19:13Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Added debugging chapter for RTK setup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-disco.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Ground station ===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the UART1 on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).  &lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controlled by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to the same period you have set on the base station. Press the send button again. Note, it might be possible that either paparazzi or your own board autopilot (Parrot for example) overwrite this change at each startup. In order to overcome this problem simply change the Rate on your ground station instead of on the Drone.&lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED for the UART1 link. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have successfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
=== Direkt Ground Station to Rover Debugging ===&lt;br /&gt;
&lt;br /&gt;
In case you are trying to debug message and see whether the actual RTK setup is set correctly, it is also possible to send the data from the ground station to the Disco directly. A couple of steps are required in order to do so: &lt;br /&gt;
&lt;br /&gt;
First, connect to the Disco and upload the paparazzi autopilot to it. Telnet into the Disco and kill the autopilot process using&lt;br /&gt;
&lt;br /&gt;
$ killall ap.elf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, you are required to set up a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] for the Disco and simply connect your ground station to a serial device as well. You should now have a serial device connected to the ground station and one to the rover. The last step is to combine these to serial devices using: &lt;br /&gt;
&lt;br /&gt;
$ socat /dev/ttyACM0,raw,echo=0,crnl /dev/pts/6,raw,echo=0,crnl&lt;br /&gt;
&lt;br /&gt;
where /dev/tty/ACM0 is your ground station device and /dev/pts/6 is your serial bidirectional terminal access. All the RTCM messages from the ground station are now send to the Disco and vice versa. In U-center you can connect to both the Disco and ground station and debug using Packet Console etc.&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Bebop&amp;diff=24352</id>
		<title>Bebop</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Bebop&amp;diff=24352"/>
		<updated>2019-12-04T10:51:49Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-bebop-drone-new-03.jpeg|right|500px|Parrot Bebop]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
By default the [http://www.parrot.com/usa/products/bebop-drone/ Bebop] from [http://www.parrot.com/ Parrot] is a Wifi controlled flying quadrotor, designed to be controlled with an Android or iOS device. &lt;br /&gt;
&lt;br /&gt;
'''No more restrictions''' as from now; with a few simple clicks you can '''run Paparazzi on the Bebop''' and have full autonomous flight and much more!&lt;br /&gt;
&lt;br /&gt;
= Getting started =&lt;br /&gt;
&lt;br /&gt;
== What you need==&lt;br /&gt;
# A Bebop or Bebop 2 updated to at least firmware v3.3.0&lt;br /&gt;
# A joystick, for example [http://www.hobbyking.com/hobbyking/store/__20951__Hobbyking_6CH_RC_Flight_Simulator_System_Mode_2_.html this one]&lt;br /&gt;
# A laptop with Ubuntu installed&lt;br /&gt;
&lt;br /&gt;
Steps to follow: &lt;br /&gt;
# Install Paparazzi via [http://wiki.paparazziuav.org/wiki/Installation the one liner to be found here]. Just Cut 'n Paste (CTRL+C from webbrowser then CTRL+SHIFT+V in your Linux terminal) and press ENTER&lt;br /&gt;
# Start Paparazzi Center with the default configuration&lt;br /&gt;
# Power up your Bebop&lt;br /&gt;
# Press the '''on/off button four times''' short fast half a second clicks '''after''' the bebop is fully powerd up, notice the solid green light on Bebop and solid Red on Bebop 2&lt;br /&gt;
# Make a Wifi connection with your PC and the Bebop &lt;br /&gt;
# In the Paparazzi center choose &amp;quot;Bebop&amp;quot; Or &amp;quot;Bebop2&amp;quot; in the airframe dropdown menu&lt;br /&gt;
# Press the &amp;quot;Upload&amp;quot; button in the Paparazzi Center, wait...&lt;br /&gt;
# Select Flight UDP/Wifi in the session menu&lt;br /&gt;
# Press execute&lt;br /&gt;
&lt;br /&gt;
Voila, you will get telemetry from your Bebop. Now it is up to you how and where to fly.&lt;br /&gt;
&lt;br /&gt;
==Instruction Video==&lt;br /&gt;
TIP: Good [https://www.youtube.com/watch?v=eojAPZvT1Ck video series to watch]. Although it is made for the ARDrone 2, the steps are very similar for the Bebop drone. &lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
== Connectivity ==&lt;br /&gt;
* Wi-Fi antennas: MIMO dual-band with 2 double-set of dipole antennas for 2.4 and 5 GHz&lt;br /&gt;
* Sending power: Up to 26 dBm&lt;br /&gt;
* Signal range: N/A&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
* 4 Brushless Outrunner motors&lt;br /&gt;
* Glass fiber reinforced (15%) ABS structure&lt;br /&gt;
* High-resistance EPP outdoor hull: Clip and unclip easily to adapt to indoor and outdoor flight, protects the propellers against potential bumps, can be removed to reduce wind factor&lt;br /&gt;
* Three-blade auto-block propellers in Polycarbonate with fast disassembly system&lt;br /&gt;
* Anti-vibration bumpers&lt;br /&gt;
&lt;br /&gt;
=== Full Motor details ===&lt;br /&gt;
&lt;br /&gt;
Handy in case for a simulator motor model&lt;br /&gt;
&lt;br /&gt;
====Bebop====&lt;br /&gt;
* Magnets: 12&lt;br /&gt;
* Stators: 9&lt;br /&gt;
* Layers of stator metal: 15&lt;br /&gt;
&lt;br /&gt;
* Copper windings: 34&lt;br /&gt;
* Copper diameter: 0.29mm&lt;br /&gt;
* Copper resistance: over 50 cm wire ~0.3 ohm&lt;br /&gt;
&lt;br /&gt;
Dimentions:&lt;br /&gt;
* Flange height 7.67mm&lt;br /&gt;
* Flange dia22.7mm&lt;br /&gt;
* Axis length 19.4mm&lt;br /&gt;
* Axis dia 1.9 mm&lt;br /&gt;
* Statorheight 5.55mm&lt;br /&gt;
* Stator diam 18.33mm&lt;br /&gt;
&lt;br /&gt;
Weight:&lt;br /&gt;
* Flange weight 3.05g&lt;br /&gt;
* Flange and magnets 5.15g (Magnet ~ 1.5mm thick on a Flange dia22.7mm)&lt;br /&gt;
* Magnet only (and the glue) 2.1g&lt;br /&gt;
&lt;br /&gt;
====Bebop 2====&lt;br /&gt;
* No dat (yet) It ould be nice if you could demolish on of your Bebop 2 motors or a spare one and add your data here.&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
* Camera with &amp;quot;Fisheye&amp;quot; lens 180° 1/2,3&amp;quot;: 6 optical elements and 14 Mega pixels sensor&lt;br /&gt;
* Video stabilization: Digital on 3-axes&lt;br /&gt;
* Video definition: 1920x1080p (30fps)&lt;br /&gt;
* Photo definition: 3800x3188 pixels&lt;br /&gt;
* Video encoding: H264&lt;br /&gt;
* Photo file format: RAW, DNG&lt;br /&gt;
* Internal memory: Flash 8 GB&lt;br /&gt;
* Extended memory: Micro USB&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
Bebop 1&lt;br /&gt;
* Lithium Polymer 1200 mAh&lt;br /&gt;
* Flight time: Around 12 minutes&lt;br /&gt;
&lt;br /&gt;
Bebop 2&lt;br /&gt;
* Lithium Ion Polymer 2700 mAh&lt;br /&gt;
* Flight time: Around 22 minutes&lt;br /&gt;
* Max discharge rate 21.5A &lt;br /&gt;
* Max charge rate 3.5A&lt;br /&gt;
&lt;br /&gt;
== Processor ==&lt;br /&gt;
* Motherboard:&lt;br /&gt;
** Parrot P7 dual-core CPU Cortex A9&lt;br /&gt;
** Quad core GPU&lt;br /&gt;
** 8Gb flash memory&lt;br /&gt;
* All fixed on a magnesium shelf that acts as electromagnetic shielding and in the same run as a heat sink for heat dissipation and cooling of the all the onboard processors&lt;br /&gt;
&lt;br /&gt;
== Sensors ==&lt;br /&gt;
* 3-axes magnetometer (AKM 8963)&lt;br /&gt;
* 3-axes gyroscope (MPU 6050)&lt;br /&gt;
* 3-axes accelerometer (MPU 6050)&lt;br /&gt;
* Optical-flow sensor (Fig.8): Vertical stabilization camera (Every 16 milliseconds, an image of the ground is taken and compared to the previous one to determine the speed of the Bebop Drone)&lt;br /&gt;
* Ultrasound sensor (Analyzes the flight altitude up to 8 meters)&lt;br /&gt;
* Pressure sensor (MS 5607)&lt;br /&gt;
&lt;br /&gt;
== Geo-location ==&lt;br /&gt;
* Bebop 1: GNSS (GPS + GLONASS + Galileo, [http://www.furuno.com/en/products/gnss-module/GN-87 Furuno GN-87F])&lt;br /&gt;
* Bebop 2: GNSS (GPS + GLONASS + Galileo, Baidu, [https://www.u-blox.com/en/product/neo-m8-series])&lt;br /&gt;
&lt;br /&gt;
== Dimensions ==&lt;br /&gt;
* 28x32x3.6cm without the hull&lt;br /&gt;
* 33x38x3.6cm with the hull&lt;br /&gt;
&lt;br /&gt;
== Weight ==&lt;br /&gt;
&lt;br /&gt;
=== Bebop 1 ===&lt;br /&gt;
* 380g without the hull&lt;br /&gt;
* 400g with the hull&lt;br /&gt;
&lt;br /&gt;
=== Bebop 2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! component&lt;br /&gt;
! weight&lt;br /&gt;
! quantity&lt;br /&gt;
! &lt;br /&gt;
! notes&lt;br /&gt;
|-&lt;br /&gt;
| motor&lt;br /&gt;
| 16.5&lt;br /&gt;
| 4&lt;br /&gt;
| 66&lt;br /&gt;
| with screws mounting motors&lt;br /&gt;
|-&lt;br /&gt;
| landing gear&lt;br /&gt;
| 2.4&lt;br /&gt;
| 4&lt;br /&gt;
| 9.6&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| frame&lt;br /&gt;
| 49.5&lt;br /&gt;
| 1&lt;br /&gt;
| 49.5&lt;br /&gt;
| with legs&lt;br /&gt;
|-&lt;br /&gt;
| rotor&lt;br /&gt;
| 5.0&lt;br /&gt;
| 4&lt;br /&gt;
| 20&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| battery&lt;br /&gt;
| 196.0&lt;br /&gt;
| 1&lt;br /&gt;
| 196&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| camera magnesium frame&lt;br /&gt;
| 7.3&lt;br /&gt;
| 1&lt;br /&gt;
| 7.3&lt;br /&gt;
| with all screws on it&lt;br /&gt;
|-&lt;br /&gt;
| camera&lt;br /&gt;
| 14.7&lt;br /&gt;
| 1&lt;br /&gt;
| 14.7&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| camera protector&lt;br /&gt;
| 9.0&lt;br /&gt;
| 1&lt;br /&gt;
| 9&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPS sensor module&lt;br /&gt;
| 16.0&lt;br /&gt;
| 1&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| foam cover&lt;br /&gt;
| 7.2&lt;br /&gt;
| 1&lt;br /&gt;
| 7.2&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| main board&lt;br /&gt;
| 107.0&lt;br /&gt;
| 1&lt;br /&gt;
| 107&lt;br /&gt;
| measured with all wires on it&lt;br /&gt;
|-&lt;br /&gt;
| Dampers&lt;br /&gt;
| 2.1&lt;br /&gt;
| 4&lt;br /&gt;
| 8.4&lt;br /&gt;
| dampers plus screws&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Total&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 510.7&lt;br /&gt;
| (511,91 measured for another BB2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== OS/Software ==&lt;br /&gt;
* Operating system: Linux (kernel 3.4.11 #3 SMP PREEMPT)&lt;br /&gt;
* glibc: (Sourcery CodeBench Lite 2012.03-57) 2.15&lt;br /&gt;
* libstdc++: GLIBCXX_3.4 - GLIBCXX_3.4.16&lt;br /&gt;
&lt;br /&gt;
= Pinout =&lt;br /&gt;
== GPIO ==&lt;br /&gt;
* 6			Fans Enable&lt;br /&gt;
* 9			WiFi Reset&lt;br /&gt;
* 73			P7MU IRQ&lt;br /&gt;
* 81			GPS Power Enable&lt;br /&gt;
* 85			Fan Enable&lt;br /&gt;
* 89			VCAM FSYNC gyro&lt;br /&gt;
* 90			HCAM FSYNC gyro&lt;br /&gt;
* 91			DRDY MPU6050&lt;br /&gt;
* 124			Magneto interrupt&lt;br /&gt;
* 128			(video) Slew rate??&lt;br /&gt;
* 129		VCAM enable&lt;br /&gt;
* 130			(video) Slew rate??&lt;br /&gt;
* 132		HCAM enable&lt;br /&gt;
* 199		BLDC micro-controller reset (forces it into bootloader) ON/OFF&lt;br /&gt;
* 200		US Pulse level&lt;br /&gt;
* 201		On/Off button (default monitor to files running: /bin/onoffbutton)&lt;br /&gt;
* 202		USB Host mode pin 3V3 (HOST_MODE_3V3)&lt;br /&gt;
* 203		USB Host mode on&lt;br /&gt;
* 204		USB0 OC&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
* 6			Heating resistor for warming IMU sensors (125000ns period, 0ns duty)&lt;br /&gt;
* 8			MPU6050 clock (31510ns period, 15258ns duty) Desired frequency is 32768kHz with 50% duty cycle (period=30517us). Period was set empirically to 31517 to get a 5ms data ready period. Desired frequency is slightly modified to synchronize camera and IMU&lt;br /&gt;
* 9			Vertical camera clock (23ns period = 43MHz)&lt;br /&gt;
* 11			Horizontal camera lock (77ns period = 13MHz)&lt;br /&gt;
&lt;br /&gt;
== I2C ==&lt;br /&gt;
* I2C-0&lt;br /&gt;
** FPGA&lt;br /&gt;
** P7MU          &lt;br /&gt;
** EEPROM     Unknown EEPROM for Front camera calibration (addr 0x55)&lt;br /&gt;
** MT9f002      CMOS Digital Image Sensor (1/2.3 inch 14Mp, front camera) [http://www.onsemi.com/PowerSolutions/product.do?id=MT9F002 MT9f002] (addr 0x10)&lt;br /&gt;
** MT9v117     CMOS Digital Image Sensor (1/6 inch VGA, bottom camera) [http://www.aptina.com/assets/downloadDocument.do?id=553 MT9v117] (addr 0x5d)&lt;br /&gt;
* I2C-1&lt;br /&gt;
** Cypress       Motor Controller (Parrot BLDC) [[Bebop/BLDC]] (addr 0x08)&lt;br /&gt;
** AKM8963    Magnetometer [http://www.akm.com/akm/en/file/datasheet/AK8963.pdf AK8963]&lt;br /&gt;
** MS5607      Barometer [http://meas-spec.com/product/pressure/MS5607-02BA03.aspx MS5607]&lt;br /&gt;
* I2C-2&lt;br /&gt;
** MPU6050    Gyro + Accel [http://invensense.com/mems/gyro/documents/RM-MPU-6000A.pdf MPU6050] (rotation changed in version 2)&lt;br /&gt;
&lt;br /&gt;
== SPI ==&lt;br /&gt;
* spidev1.0 Sonar (Only data pin connected for generating pulses)&lt;br /&gt;
&lt;br /&gt;
== UART ==&lt;br /&gt;
* ttyPA1          GPS (Furuno GN-87F on v1 and Ublox Neo M8N on v2)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* /dev/hx280 Hantro (On2) Video encoder. Hantro chip video encoder used for the HCAM.&lt;br /&gt;
* /sys/bus/iio/devices/iio:device0 (p7mu-adc_2) Sonar ADC&lt;br /&gt;
&lt;br /&gt;
=  Actuators =&lt;br /&gt;
The Bebop has 4 Brushless motors, which are controlled by the cypress chip on I2C-1. This Cypress chip contains custom made firmware(BLDC) by Parrot, which can be automatically updated using a bootloader in the ESC part of the mainboard.&lt;br /&gt;
The firmware from Parrot contains a nice closed loop RPM control, which is automatically tuned inside the factory. &lt;br /&gt;
Since version 2 Parrot changed the order and rotation direction of the motors.&lt;br /&gt;
&lt;br /&gt;
For more information about how to communicate with the BLDC look at [[Bebop/BLDC]]. Or take a look at the &amp;quot;bebop&amp;quot; actuator inside the &amp;lt;code&amp;gt;airborne/boards/bebop/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
= Onboard applications =&lt;br /&gt;
&lt;br /&gt;
The original programs on the Bebop&lt;br /&gt;
&lt;br /&gt;
* /usr/bin/dragon-prog		Main program that controls the drone&lt;br /&gt;
* /bin/watchdog.sh			Checks if Dragon is still running and reboots dragon-prog if it somehow would not be running anymore &lt;br /&gt;
&lt;br /&gt;
* BLDC_Test_Bench				Controls the Brushless Motor Controllers for testing and playing sounds etc.&lt;br /&gt;
* bcmwl						Everything with wifi&lt;br /&gt;
* diagnostic					Outputs sensor diagnostic&lt;br /&gt;
* mk3_camera_eeprom                     Reads the front camera EEPROM&lt;br /&gt;
* config_mt9v117                              Configure the bottom camera&lt;br /&gt;
&lt;br /&gt;
= Cross compiler =&lt;br /&gt;
For the Bebop you need to use a recent version GNU gcc-arm-linux-gnueabi (Ubuntu/Linaro 4.7.4-2ubuntu1) 4.7.4 provided with Ubuntu since 14.04 LTS.&lt;br /&gt;
&lt;br /&gt;
[http://electronics.stackexchange.com/questions/21594/is-code-sourcery-g-lite-still-a-viable-projectIn the past you could also crosscompile with Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux from &amp;lt;s&amp;gt;Greedy&amp;lt;/s&amp;gt; Mentor Graphics, previously called codesourcery. However the open'ness there is nowhere to be found anymore, so we'll say &amp;quot;No thanks&amp;quot; to Codesourcery ,now &amp;lt;s&amp;gt;Greedy&amp;lt;/s&amp;gt; Mentor&amp;quot;]&lt;br /&gt;
but if you [https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2012.03-57-arm-none-linux-gnueabi.bin insist] , feel &amp;lt;s&amp;gt;free&amp;lt;/s&amp;gt; restricted.&lt;br /&gt;
&lt;br /&gt;
If you somehow need to compile kernel driver files to run on your Parrot Bebop, well, yes, you must use [https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2012.03-57-arm-none-linux-gnueabi.bin that exact compiler...]&lt;br /&gt;
&lt;br /&gt;
= Tips &amp;amp; Tricks =&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Make sure the [http://docs.paparazziuav.org/latest/module__video_rtp_stream.html video_rtp_stream.xml] module enabled in the airframe. &lt;br /&gt;
Receive a video stream with e.g. avplay, vlc or a python app:	&lt;br /&gt;
 $ avplay -loglevel quiet -max_delay 50 -fflags nobuffer rtp://192.168.42.1:5000&lt;br /&gt;
or&lt;br /&gt;
 $ vlc ~/paparazzi/var/sdp_tmp/192.168.42.1/stream.sdp&lt;br /&gt;
or&lt;br /&gt;
 $ ~/paparazzi/sw/tools/rtp_viewer/rtp_viewer.py&lt;br /&gt;
&lt;br /&gt;
== Factory Reset ==&lt;br /&gt;
You can reset the Parrot Bebop Drone to factory settings. You '''will''' loose all your photos and movies recorded on your Bebop.&lt;br /&gt;
To do this you need to press and hold the power button for 10 seconds. The LED will blink green and orange for a while, then green and the drone will shutdown.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
Theoretically is is not important which firmware you use for Paparazzi to fly. But with the latest firware we get better Video imagery. So if you can.. use the latest firmware.&lt;br /&gt;
&lt;br /&gt;
The Paparazzi volunteers test flew the Bebop with Firmware v1.98.11 and v2.0.57, v3.0, v3.2, v3.3, v3.9, v4.0.6&lt;br /&gt;
&lt;br /&gt;
Note that under v4.0.x the hardware accelerated extra nifty  features for the front cam don't work (yet..) nOne could use the original encoder from the v3.9 firmware if wanted. So if you need hardware assisted compressed video imagery and have a Bebop 2 do not update to v4.x just yet. Or better fix the camera not working issue...&lt;br /&gt;
&lt;br /&gt;
The v4.0.6 is the latest firmware version know as of 20170610 for Bebop 1. For bebop 2 Latest know is v4.7.x&lt;br /&gt;
If even newer firmware is available please report any (if any) issues found related to the firmware on e.g. the mailinglist.&lt;br /&gt;
&lt;br /&gt;
== Damper ==&lt;br /&gt;
The original Bebop2 damper are very soft and can cause oscillations around roll. You can print harder dampers from [http://www.thingiverse.com/thing:2135529 Thingiverse] yourself that will degrade the video quality but remove these oscillations. Use the _nodamp airframe files in that case.&lt;br /&gt;
&lt;br /&gt;
Or just add a 3mm thick plastic washer inbetween top nut and the body, don't forget put some 243 locktite on the nut again, else it '''will''' vibrate off&lt;br /&gt;
&lt;br /&gt;
== Serial bidirectional teminal access ==&lt;br /&gt;
&lt;br /&gt;
This is handy if one e.g want to dump and set the build in GPS with software like uCenter on a PC. uCenter also run under Wine.&lt;br /&gt;
&lt;br /&gt;
To do so you first have to set up a connection between U-center and the drone. This done by forwarding the GPS data from the drone to your laptop using a TCP connection. From your laptop this TCP connection is then forwarded to a wine COM port in order to make it readable for U-center. &lt;br /&gt;
&lt;br /&gt;
First open a terminal and listen on your laptop for incoming TCP connections on port 12345. &lt;br /&gt;
&lt;br /&gt;
    $ socat -d -dd pty,raw,echo=0 tcp-listen:12345&lt;br /&gt;
&lt;br /&gt;
Then open a telnet session (while connected to the wifi of the drone) using: &lt;br /&gt;
&lt;br /&gt;
    $ telnet 192.168.42.1&lt;br /&gt;
&lt;br /&gt;
and forward the GPS data to the server you just created (in the telnet session): &lt;br /&gt;
    $ nc &amp;lt;your_ip_address&amp;gt; 12345 &amp;lt;/dev/ttyPA1 &amp;gt;/dev/ttyPA1&lt;br /&gt;
&lt;br /&gt;
Switch back to the terminal in which you started listening to the tcp port. You should see that an incoming connection has been accepted. The port to which the connection is transferred to is also shown (see Figure). &lt;br /&gt;
&lt;br /&gt;
[[File:Socat accepted the connection.png|500px|Socat accepted the connection]]&lt;br /&gt;
&lt;br /&gt;
The next step is to link this port to a wine COM port. In the following example port /dev/pts/4 is linked to ./com32. &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/pts/4 ./com32&lt;br /&gt;
&lt;br /&gt;
You should now be able to read the GPS data from u-center under the specified com port.&lt;br /&gt;
&lt;br /&gt;
= Using the MicroUSB for serial data =&lt;br /&gt;
&lt;br /&gt;
The Parrot Bebop, as well as the Parrot Disco have a micro USB connector on the main control board. This USB connector can be used to connect 3rd party equipment. For example with help of a USB to Serial conversion board, bidirectional serial communication to another serial device.&lt;br /&gt;
To use the driver in current firmware OTG serving should be off. [[use_the_USB_port_on_Parrot_Drones|Take a look here for more information, photos, connection examples, sourecode and real life examples]] of how to use this port.&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation&amp;diff=24345</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation&amp;diff=24345"/>
		<updated>2019-10-31T11:42:25Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Added note that ~ might not be supported for some shells&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Installation&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or Apple Macintosh running [http://en.wikipedia.org/wiki/OS_X Mac OS X]. After Microsoft introduced Ubuntu on Windows, now it is possible to run Paparazzi on [https://en.wikipedia.org/wiki/Windows_10 Windows 10]. There is also another work being done to port Paparazzi to Windows with a different approach to work on all versions of Windows.&lt;br /&gt;
&lt;br /&gt;
The steps required to install the software needed to be able to let your UAS fly are:&lt;br /&gt;
&lt;br /&gt;
# Install tools and prerequisites needed by Paparazzi.&lt;br /&gt;
# Download the source code from the source repository.&lt;br /&gt;
# Compile the Paparazzi software from sourcecode&lt;br /&gt;
# Complete any final configuration&lt;br /&gt;
&lt;br /&gt;
== Quickstart for Ubuntu users ==&lt;br /&gt;
Love one-liners? To get the latest Paparazzi up and running on your '''Ubuntu 12.04 or higher OS''', make sure you have a working internet connection and the '''universe''' packages activated in 'Software &amp;amp; Updates', then just copy and paste the text below into your terminal and press [enter] ... and wait a while...&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
sudo add-apt-repository -y ppa:paparazzi-uav/ppa &amp;amp;&amp;amp; sudo add-apt-repository -y ppa:team-gcc-arm-embedded/ppa &amp;amp;&amp;amp; sudo apt-get update &amp;amp;&amp;amp; sudo apt-get -f -y install paparazzi-dev paparazzi-jsbsim gcc-arm-embedded &amp;amp;&amp;amp; cd ~ &amp;amp;&amp;amp; git clone --origin upstream https://github.com/paparazzi/paparazzi.git &amp;amp;&amp;amp; cd ~/paparazzi &amp;amp;&amp;amp; git remote update -p &amp;amp;&amp;amp; git checkout -b v5.14 upstream/v5.14 &amp;amp;&amp;amp; sudo cp conf/system/udev/rules/*.rules /etc/udev/rules.d/ &amp;amp;&amp;amp; sudo udevadm control --reload-rules &amp;amp;&amp;amp; make &amp;amp;&amp;amp; ./paparazzi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                [[File:Done.jpg|frameless|center|Done!]]&lt;br /&gt;
If all went well the Paparazzi Center should now be running... '''skip''' the rest of this page and go fly! &lt;br /&gt;
&lt;br /&gt;
If you are new you'll need to do some more things before you go fly like configuring your XML definition file detailing your airframe configuration. There is help here for that: [[Airframe_Configuration]]&lt;br /&gt;
&lt;br /&gt;
In case you have no autopilot hardware yet, no problem, you can get hardware [[Get_Hardware|here]] or just buy a ready to fly aircraft that can run Paparazzi Software like the Parrot Drones [http://www.parrot.com/products/bebop-drone/ Parrot Bebop] and run Paparazzi on your Parrot [[AR_Drone_2|ARDRone2]], [[Bebop|Bebop]] and Bebop2 (soon the Disco drone).&lt;br /&gt;
&lt;br /&gt;
== OS Specific Instructions ==&lt;br /&gt;
&lt;br /&gt;
For Linux an instructional video explaining it all in detail can be found here https://www.youtube.com/watch?v=eW0PCSjrP78&lt;br /&gt;
&lt;br /&gt;
The process of installing the prerequisite tools and dependencies needed by Paparazzi is specific to the operating system you are using. For detailed installation instructions, please see the following pages:&lt;br /&gt;
*[[Installation/Linux|Installing prerequisites tools on Linux]]&lt;br /&gt;
*[[Installation/MacOSX|Installing prerequisites tools on Mac OS X]]&lt;br /&gt;
*[[Installation/RaspberryPi|Installing prerequisites tools on the RaspberryPi (Raspbian)]]&lt;br /&gt;
&lt;br /&gt;
For more advanced installation information or developers, please see the following pages:&lt;br /&gt;
*[[Installation/FromScratch|Installing everything from scratch]] For non Debian based Linux distributions or if one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch.&lt;br /&gt;
*[[Installation/Windows|Installing prerequisite tools on Windows]] Note that this is '''a work in progress, and not finished yet'''. It would be fantastic if you are interested in running Paparazzi on this OS to help out with the porting. Being able to help is one of opensource software main features. If your skill- set is not so good in this area, but you still insist using Windows OS, then it is best to install a VirtualMachine from within Windows where you run the free Ubuntu OS of choice.&lt;br /&gt;
&lt;br /&gt;
=== Virtual Machines ===&lt;br /&gt;
&lt;br /&gt;
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.&lt;br /&gt;
&lt;br /&gt;
If you are new and this is your first time installing it is suggested you keep it simple. Use the standard Linux or OS X install. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Paparazzi or their OS tries a non-standard install that requires special steps that are not documented. Generally, commands can be copied and pasted for easy, step-by-step installation.&lt;br /&gt;
&lt;br /&gt;
== Getting the Source Code ==&lt;br /&gt;
The Paparazzi source code is hosted on [https://github.com/paparazzi/paparazzi Github]. While you can download it as a tarball from https://github.com/paparazzi/paparazzi/releases, it is recommended to clone the repository with [[git]].&lt;br /&gt;
&lt;br /&gt;
From the directory of your choice type:&lt;br /&gt;
 git clone --origin upstream https://github.com/paparazzi/paparazzi.git&lt;br /&gt;
Check out the released stable version branch:&lt;br /&gt;
 cd paparazzi&lt;br /&gt;
 git checkout v5.14&lt;br /&gt;
&lt;br /&gt;
'''If this whole &amp;quot;Git&amp;quot; thing is new to you, more options and information can be found on the [[git|Git page]].'''&lt;br /&gt;
&lt;br /&gt;
== Launching the Software ==&lt;br /&gt;
Make sure you have installed the &amp;lt;tt&amp;gt;paparazzi-dev&amp;lt;/tt&amp;gt; package as described above. Without these you will not be able to compile the sourcecode.&lt;br /&gt;
The first step is to compile. From the &amp;lt;tt&amp;gt;paparazzi&amp;lt;/tt&amp;gt; directory (&amp;lt;tt&amp;gt;cd ~/paparazzi&amp;lt;/tt&amp;gt;), run&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
You will have to run this command after each update of the source (&amp;lt;tt&amp;gt;git pull&amp;lt;/tt&amp;gt; command).&lt;br /&gt;
Launch the software from the &amp;lt;tt&amp;gt;paparazzi&amp;lt;/tt&amp;gt; directory with&lt;br /&gt;
&lt;br /&gt;
 ./paparazzi&lt;br /&gt;
&lt;br /&gt;
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.&lt;br /&gt;
&lt;br /&gt;
=== Environment Variables ===&lt;br /&gt;
&lt;br /&gt;
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]) from the command line, without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:&lt;br /&gt;
{{Box Code|~/.bashrc|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export PAPARAZZI_HOME=''your paparazzi software directory''&lt;br /&gt;
export PAPARAZZI_SRC=''your paparazzi software directory''&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Verify that your variables are set correctly with the following command:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;env | grep PAPARAZZI&amp;lt;/source&amp;gt;&lt;br /&gt;
which should return the following:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPARAZZI_HOME=''your paparazzi software directory''&lt;br /&gt;
PAPARAZZI_SRC=''your paparazzi software directory''&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case you obtain an error indicating that your environmental variables are not set up correctly (for example 'ocamlfind: Package `pprz.xlib' not found') it should be noted that some shells or versions of make can not handle the '~/paparazzi' path. Try setting it to '/home/username/paparazzi' instead. &lt;br /&gt;
&lt;br /&gt;
== Software Updates ==&lt;br /&gt;
'''We manage the software with the git version control system. Learn it! If you are new to it, see the [[Git|Git wiki page]].'''&lt;br /&gt;
&lt;br /&gt;
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly. See the [[RepositoryStructure|branching model and release process page]].&lt;br /&gt;
&lt;br /&gt;
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.&lt;br /&gt;
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.&lt;br /&gt;
&lt;br /&gt;
Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax.&lt;br /&gt;
&lt;br /&gt;
'''See also the [[Release Upgrades]] page for information on how to update your configuration from one release to the next.'''&lt;br /&gt;
&lt;br /&gt;
=== Quick'n dirty description ===&lt;br /&gt;
&lt;br /&gt;
To download and automatically merge any updated source files, run the following command from your Paparazzi directory&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
The ''make'' command will only recompile portions of the software where changed have been detected.&lt;br /&gt;
If it does not behave as expected you can delete all compiled files and recompile from scratch with the following commands:&lt;br /&gt;
&lt;br /&gt;
 make clean&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
If you'd like to check that the code compiles all example airframes then you can run the test suite using the command&lt;br /&gt;
&lt;br /&gt;
 make test&lt;br /&gt;
&lt;br /&gt;
For more details see the [[Builds/Tests|tests page]].&lt;br /&gt;
&lt;br /&gt;
== Using the Live CD ==&lt;br /&gt;
&lt;br /&gt;
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse of Paparazzi however without installing anything.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Telemetry&amp;diff=24322</id>
		<title>Telemetry</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Telemetry&amp;diff=24322"/>
		<updated>2019-09-25T15:12:03Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Added a note that field names in messages.xml are not allowed to contain any spaces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Messages ==&lt;br /&gt;
&lt;br /&gt;
Telemetry messages (sent from the aircraft to the ground) are defined in the telemetry class of [https://github.com/paparazzi/paparazzi/blob/master/conf/messages.xml conf/messages.xml].&lt;br /&gt;
See also the generated documentation: http://docs.paparazziuav.org/latest/paparazzi_messages.html&lt;br /&gt;
&lt;br /&gt;
== Sending periodic messages ==&lt;br /&gt;
The set of periodic messages sent over the downlink channel by an aircraft to the ground station is configurable&lt;br /&gt;
with the help of one XML file, located in the &amp;lt;tt&amp;gt;conf/telemetry&amp;lt;/tt&amp;gt; directory. This file is referenced by &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt; and must follow the&lt;br /&gt;
&amp;lt;tt&amp;gt;telemetry.dtd&amp;lt;/tt&amp;gt; syntax. The &amp;lt;tt&amp;gt;fixedwing_default.xml&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;rotorcraft_default.xml&amp;lt;/tt&amp;gt; are provided as an example and should be suitable for most users.&lt;br /&gt;
{{Box Code|default.xml|&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;!DOCTYPE telemetry SYSTEM &amp;quot;telemetry.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;telemetry&amp;gt;&lt;br /&gt;
  &amp;lt;process name=&amp;quot;Ap&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mode name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;message name=&amp;quot;ATTITUDE&amp;quot; period=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;message name=&amp;quot;PPRZ_MODE&amp;quot; period=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;message name=&amp;quot;SOME_MODULE_MSG&amp;quot; period=&amp;quot;2&amp;quot; module=&amp;quot;module_name&amp;quot;/&amp;gt;&lt;br /&gt;
     ...&lt;br /&gt;
    &amp;lt;/mode&amp;gt;&lt;br /&gt;
    &amp;lt;mode name=&amp;quot;fast attitude&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;message name=&amp;quot;ATTITUDE&amp;quot; period=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/mode&amp;gt;&lt;br /&gt;
 &amp;lt;/process&amp;gt;&lt;br /&gt;
  &amp;lt;process name=&amp;quot;Fbw&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mode name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;message name=&amp;quot;COMMANDS&amp;quot; period=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      ...&lt;br /&gt;
    &amp;lt;/mode&amp;gt;&lt;br /&gt;
    &amp;lt;mode name=&amp;quot;debug&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;message name=&amp;quot;PPM&amp;quot; period=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/mode&amp;gt;&lt;br /&gt;
  &amp;lt;/process&amp;gt;&lt;br /&gt;
 &amp;lt;/telemetry&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If a [[Modules|module]] attribute is specified for a message, it will be included in the telemetry only if the corresponding module is loaded.&lt;br /&gt;
&lt;br /&gt;
It is even possible to create your own telemetry XML definition. By the time you need that, it is highly likely you are already an advanced paparazzi user and know why you would and how you will.&lt;br /&gt;
&lt;br /&gt;
===Add Messages===&lt;br /&gt;
&lt;br /&gt;
This section provides instructions of an example case of how one would add a new message to Paparazzi and send the data to the ground station. The example is a little old and considers the addition of the AIRSPEED message, which is already present in newer versions of paparazzi. The user will have to implement her own message objects instead of the AIRSPEED message.&lt;br /&gt;
&lt;br /&gt;
==== Step 1 ====&lt;br /&gt;
&lt;br /&gt;
In sw/ext/pprzlink/message_definitions/v1.0/messages.xml add an airspeed message:&lt;br /&gt;
{{Box Code|sw/ext/pprzlink/message_definitions/v1.0/messages.xml|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;message name=&amp;quot;AIRSPEED&amp;quot; id=&amp;quot;54&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;adc_airspeed&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;estimator_airspeed&amp;quot;   type=&amp;quot;float&amp;quot; unit=&amp;quot;m/s&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;airspeed_setpoint&amp;quot;    type=&amp;quot;float&amp;quot; unit=&amp;quot;m/s&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;airspeed_controlled&amp;quot;  type=&amp;quot;float&amp;quot; unit=&amp;quot;m/s&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;groundspeed_setpoint&amp;quot; type=&amp;quot;float&amp;quot; unit=&amp;quot;m/s&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
Where id=&amp;quot;54&amp;quot; has to be unique. To find an new ID to use there is a script file located at ${PAPARAZZI_HOME}/sw/tools/find_free_msg_id.out (yes it is really a script). &lt;br /&gt;
&lt;br /&gt;
 Type: ${PAPARAZZI_SRC}/sw/tools/find_free_msg_id.out &lt;br /&gt;
&lt;br /&gt;
NOTE: Be sure your Paparazzi source and home environment variables are set correctly in your shell [[Installation#Launching_the_Software]])&lt;br /&gt;
&lt;br /&gt;
Every field in the output is a variable from Paparazzi. The field name is not allowed to contain spaces. The type must be the type of a variable in your code (ie. look in your code). Add your message along with the frequency to be sent over the messaging bus (AKA telemetry messages).&lt;br /&gt;
&lt;br /&gt;
After making the modifications to the messages.xml file, make your paparazzi again (i.e. cd ${PAPARAZZI_HOME} &amp;amp;&amp;amp; make) so that your changes to the messages.xml file are reflected in the paparazzi/var/include/messages.h file. This will create a DOWNLINK_SEND_AIRSPEED macro (in ${PAPARAZZI_HOME}/var/include/messages.h). If you do not make paparazzi, this macro will not be created.&lt;br /&gt;
&lt;br /&gt;
==== Step 2 ====&lt;br /&gt;
&lt;br /&gt;
Add a message to your telemetry file (for example conf/telemetry/default_fixedwing.xml). The message name in telemetry file usually match the message name in messages.xml file, but can be different or even group several messages.&lt;br /&gt;
{{Box Code|conf/telemetry/default.xml|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;telemetry&amp;gt;&lt;br /&gt;
   &amp;lt;process name=&amp;quot;Ap&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;mode name=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;message name=&amp;quot;ALIVE&amp;quot;          period=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;message name=&amp;quot;GPS&amp;quot;            period=&amp;quot;0.25&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;message name=&amp;quot;AIRSPEED&amp;quot;       period=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
      ....&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The result is a generated file in ${PAPARAZZI_HOME}/var/aircrafts/&amp;lt;AC&amp;gt;/generated/periodic_telemetry.h which consist in a (static) scheduler to that calls specific functions.&lt;br /&gt;
&lt;br /&gt;
==== Step 3 ====&lt;br /&gt;
&lt;br /&gt;
Create a function in your C source file that will send your message(s) (using the generated DOWNLINK_SEND_* macros) and register it to the telemetry system so that it will be send automatically for you. You also need to include the header &amp;lt;tt&amp;gt;subsystems/datalink/telemetry.h&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Box Code|firmware/fixedwing/autopilot.c|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 #include &amp;quot;subsystems/datalink/telemetry.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 static void send_airspeed(struct transport_tx *trans, struct link_device *dev)&lt;br /&gt;
 {&lt;br /&gt;
   pprz_msg_send_AIRSPEED(trans, dev, AC_ID,&lt;br /&gt;
                         &amp;amp;airspeed, &amp;amp;v_ctl_auto_airspeed_setpoint,&lt;br /&gt;
                         &amp;amp;v_ctl_auto_airspeed_controlled, &amp;amp;v_ctl_auto_groundspeed_setpoint);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 void autopilot_init(void) {&lt;br /&gt;
 ...&lt;br /&gt;
  register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_AIRSPEED, send_airspeed);&lt;br /&gt;
 ...&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
where the second parameter in the register function is the id of the message (use the define &amp;lt;tt&amp;gt;PPRZ_MSG_ID_&amp;lt;MESSAGE_NAME&amp;gt;&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:800px&amp;quot;&amp;gt;&lt;br /&gt;
Prior to '''v5.0''':&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;Past Reference for Paparazzi v5.0 or older:&lt;br /&gt;
Create a PERIODIC_SEND_AIRSPEED with the following code in the firmware specific telemetry header file (In ap_downlink.h/fbw_downlink.h for fixedwing or telemetry.h for rotorcraft) :&lt;br /&gt;
{{Box Code|conf/telemetry/default.xml|&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 #ifdef USE_AIRSPEED&lt;br /&gt;
 #define PERIODIC_SEND_AIRSPEED(_chan) DOWNLINK_SEND_AIRSPEED (_chan, _dev   &amp;amp;adc_airspeed_val,&amp;amp;estimator_airspeed,&amp;amp;v_ctl_auto_airspeed_setpoint,&amp;amp;v_ctl_auto_airspeed_controlled,&amp;amp;v_ctl_auto_groundspeed_setpoint)&lt;br /&gt;
 #else&lt;br /&gt;
 #define PERIODIC_SEND_AIRSPEED(_chan) {}&lt;br /&gt;
 #endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring the Downlink Data Rate===&lt;br /&gt;
&lt;br /&gt;
The limited throughput of our RF modems results in a need to carefully choose which data to send, as well as the frequency at which to send it.  A sophisticated set of files and parameters have been developed in order to tailor the data downlink behavior automatically, manually, temporarily, or permanently according to any desired parameter.  This allows the user to create an almost unlimited possibility of downlink configurations.  For example:&lt;br /&gt;
* Tailor the data rate to work with very slow modems (9600 baud or slower)&lt;br /&gt;
* Reduce the data rate of some messages so that others can be increased:&lt;br /&gt;
*: Automatically send GPS data at a very high rate by sacrificing navigation data when not flying (to help GPS/RFI troubleshooting) then automatically reduce the GPS data rate and send normal navigation data when the launch is initiated.&lt;br /&gt;
*: Automatically switch to sending only position data upon landing to conserve power and increase the chance of the operator receiving a position packet when recovering a distant aircraft.&lt;br /&gt;
*: Manually send selected sensor data at very high speeds (60Hz) for real time tuning.&lt;br /&gt;
* Maintain independent telemetry configurations for aircraft with different modems, sensors, or mission profiles.&lt;br /&gt;
&lt;br /&gt;
Any number of configuration files can be created in the &amp;lt;tt&amp;gt;conf/telemetry&amp;lt;/tt&amp;gt; directory and selected from the &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt; file.  The telemetry downlink is divided into two processes, '''Ap''' and '''Fbw''' each with a possible &amp;lt;tt&amp;gt;mode&amp;lt;/tt&amp;gt; option.  Any number of modes could be created, the default is the first in the sequence. A mode contains the list of messages to be sent as well as the period of each message in seconds. In this example, the '''ATTITUDE''' message will be sent by the '''Ap''' process at 2Hz in the default mode and at 10Hz in the '''fast attitude''' mode. The maximum allowed frequency is 60Hz (0.017s) and the maximum period is 1092s.&lt;br /&gt;
&lt;br /&gt;
The mode can be chosen in the airframe file by setting the '''TELEMETRY_MODE_FBW''' constant:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;define name=&amp;quot;TELEMETRY_MODE_FBW&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
where the (default) first mode is numbered '''0'''.&lt;br /&gt;
&lt;br /&gt;
This mode can also be changed dynamically with a datalink [[#Settings|setting]] or with a [[Flight_Plans#set|set]] stage in the flight plan.&lt;br /&gt;
&lt;br /&gt;
Note that an (undocumented!) subset of the messages is required to be able to use ground station properly. So it is not advisable to completely remove messages for the '''Ap''' process listed in the default mode.&lt;br /&gt;
&lt;br /&gt;
==Specific Messages==&lt;br /&gt;
&lt;br /&gt;
===GPS_SOL===&lt;br /&gt;
Specification in telemetry file&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;GPS_SOL&amp;quot;        period=&amp;quot;2.0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Example from logfile(.data):&lt;br /&gt;
 6.742 1 GPS_SOL 232 43 198 8&lt;br /&gt;
&lt;br /&gt;
Meaning of tokens:&lt;br /&gt;
 Timestamp, Aircraft-Number, GPS_SOL, Pacc, Sacc, PDOP, numSV&lt;br /&gt;
&lt;br /&gt;
*Pacc = Position accuracy (units: CM)&lt;br /&gt;
*Sacc = Speed accuracy (units: CM/sec ?)&lt;br /&gt;
*PDOP = Position [http://en.wikipedia.org/wiki/Dilution_of_precision_%28GPS%29 Dilution_of_precision_(GPS)] , if this value is high the value of position will be less accurate&lt;br /&gt;
*numSV = number of Space Vehicles (Satellites) used in Nav Solution&lt;br /&gt;
&lt;br /&gt;
===PPRZ_MODE===&lt;br /&gt;
Specification in telemetry file&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;message name=&amp;quot;PPRZ_MODE&amp;quot;      period=&amp;quot;5.&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Example from logfile(.data):&lt;br /&gt;
 20.433 2 PPRZ_MODE 0 1 2 0 0 1&lt;br /&gt;
&lt;br /&gt;
Meaning of tokens:&lt;br /&gt;
 Timestamp, Aircraft-Number, PPRZ_MODE, ap_mode, ap_gaz, ap_horizontal, if_calib_mode, mcul_status&lt;br /&gt;
*ap_mode = (0 = MANUAL, 1 = AUTO1, 2 = AUTO2, 3 = HOME mode (Circle Home waypoint), 4 = NO_GPS (GPS not working), 5 = NB (?)&lt;br /&gt;
*ap_gaz = ?&lt;br /&gt;
*ap_horizontal = ?&lt;br /&gt;
*if_calib_mode = ?&lt;br /&gt;
*mcul_status = ?&lt;br /&gt;
&lt;br /&gt;
== Audio-based downlink ==&lt;br /&gt;
&lt;br /&gt;
The audio-based downlink has been removed from current hardware designs however using the old designs it is possible to implement. With the current low prices of a simple video transmitter, data over audio may come in as a welcomed addition. Feel free to experiment and revive this classical feature.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Telemetry]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24319</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24319"/>
		<updated>2019-09-04T17:38:18Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Errors in RTK configuration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-disco.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Ground station ===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to connect to COM port 32 (as seen in the Figure).&lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
To setup the ground station for RTK usage, then go the 'Message View' from the 'View' hotbar. Scroll down until you find the MSG (UBX-CFG-MSG) menu. Check the UART1 on the RTCM 1005 (Station coordinates) message and click the send button on the lower left corner. This step must be repeated for the RTCM 1077 (GPS Observations), RTCM 1087 (GLONASS observations) and the RTCM 1230 (GLONASS code-phase biases) message (don`t forget to hit the send button each time or your changes won`t be saved).  &lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
Next you have chose how the base station calculated it`s position. This can be done in TMODE3 (UBX-CFG-TMODE3). You will have 2 choices: Survey-in (if you don`t know the exact position) and Fixed (if you know the exact position). Don`t forget to click the send button after chosing your configuration. In case you selected the Survey-In mode, you can go to UBX-NAV-SVIN to see the status of the survey. &lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
&lt;br /&gt;
The last step is to save the whole configuration. Go to the Configuration menu (UBX-CFG-CFG), select all 4 devices and click send. You have now successfully configured your base. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
The rover is the module that receives RTCM messages. It will automatically go into RTK operational mode as soon as a RCTM message is received and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional terminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to the rover module.&lt;br /&gt;
&lt;br /&gt;
Go to the Message View from the View hotbar again and scroll down until you find the PRT (Port) section (UBX-CFG-PRT). Enter your autopilot`s GPS port`s baudrate to allow it to communicate correctly. This is necessary as the GPS connection is serial and thus the baudrate is not controller by any other protocol. Click the send button in the lower left corner. &lt;br /&gt;
&lt;br /&gt;
Then you have to modify the frequency of the chip. Go to the RATE (Rates) menu (UDX-CFG-RATE) and change the Measurement period to 200 ms. Press the send button again. &lt;br /&gt;
&lt;br /&gt;
After having configured both the rates and the ports, you just have to specify which messages will be send. Go to the MSG (Messages) menu again and disable all NMEA messages. Then enable NAV-POS-LLH, NAV-STATUS NAV-SOL and NAV-VELNED for the UART1 link. Hit send after each change. &lt;br /&gt;
&lt;br /&gt;
Finally, save the configuration from the CFG (Configuration) menu (UDX-CFG-CFG). Select all four devices and click send. You have succesfully set up your rover station. &lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Bebop&amp;diff=24318</id>
		<title>Bebop</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Bebop&amp;diff=24318"/>
		<updated>2019-09-04T14:24:14Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Resized figure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-bebop-drone-new-03.jpeg|right|500px|Parrot Bebop]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
By default the [http://www.parrot.com/usa/products/bebop-drone/ Bebop] from [http://www.parrot.com/ Parrot] is a Wifi controlled flying quadrotor, designed to be controlled with an Android or iOS device. &lt;br /&gt;
&lt;br /&gt;
'''No more restrictions''' as from now; with a few simple clicks you can '''run Paparazzi on the Bebop''' and have full autonomous flight and much more!&lt;br /&gt;
&lt;br /&gt;
= Getting started =&lt;br /&gt;
&lt;br /&gt;
== What you need==&lt;br /&gt;
# A Bebop or Bebop 2 updated to at least firmware v3.3.0&lt;br /&gt;
# A joystick, for example [http://www.hobbyking.com/hobbyking/store/__20951__Hobbyking_6CH_RC_Flight_Simulator_System_Mode_2_.html this one]&lt;br /&gt;
# A laptop with Ubuntu installed&lt;br /&gt;
&lt;br /&gt;
Steps to follow: &lt;br /&gt;
# Install Paparazzi via [http://wiki.paparazziuav.org/wiki/Installation the one liner to be found here]. Just Cut 'n Paste (CTRL+C from webbrowser then CTRL+SHIFT+V in your Linux terminal) and press ENTER&lt;br /&gt;
# Start Paparazzi Center with the default configuration&lt;br /&gt;
# Power up your Bebop&lt;br /&gt;
# Press the '''on/off button four times''' short fast half a second clicks '''after''' the bebop is fully powerd up, notice the solid green light on Bebop and solid Red on Bebop 2&lt;br /&gt;
# Make a Wifi connection with your PC and the Bebop &lt;br /&gt;
# In the Paparazzi center choose &amp;quot;Bebop&amp;quot; Or &amp;quot;Bebop2&amp;quot; in the airframe dropdown menu&lt;br /&gt;
# Press the &amp;quot;Upload&amp;quot; button in the Paparazzi Center, wait...&lt;br /&gt;
# Select Flight UDP/Wifi in the session menu&lt;br /&gt;
# Press execute&lt;br /&gt;
&lt;br /&gt;
Voila, you will get telemetry from your Bebop. Now it is up to you how and where to fly.&lt;br /&gt;
&lt;br /&gt;
==Instruction Video==&lt;br /&gt;
TIP: Good [https://www.youtube.com/watch?v=eojAPZvT1Ck video series to watch]. Although it is made for the ARDrone 2, the steps are very similar for the Bebop drone. &lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
== Connectivity ==&lt;br /&gt;
* Wi-Fi antennas: MIMO dual-band with 2 double-set of dipole antennas for 2.4 and 5 GHz&lt;br /&gt;
* Sending power: Up to 26 dBm&lt;br /&gt;
* Signal range: N/A&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
* 4 Brushless Outrunner motors&lt;br /&gt;
* Glass fiber reinforced (15%) ABS structure&lt;br /&gt;
* High-resistance EPP outdoor hull: Clip and unclip easily to adapt to indoor and outdoor flight, protects the propellers against potential bumps, can be removed to reduce wind factor&lt;br /&gt;
* Three-blade auto-block propellers in Polycarbonate with fast disassembly system&lt;br /&gt;
* Anti-vibration bumpers&lt;br /&gt;
&lt;br /&gt;
=== Full Motor details ===&lt;br /&gt;
&lt;br /&gt;
Handy in case for a simulator motor model&lt;br /&gt;
&lt;br /&gt;
====Bebop====&lt;br /&gt;
* Magnets: 12&lt;br /&gt;
* Stators: 9&lt;br /&gt;
* Layers of stator metal: 15&lt;br /&gt;
&lt;br /&gt;
* Copper windings: 34&lt;br /&gt;
* Copper diameter: 0.29mm&lt;br /&gt;
* Copper resistance: over 50 cm wire ~0.3 ohm&lt;br /&gt;
&lt;br /&gt;
Dimentions:&lt;br /&gt;
* Flange height 7.67mm&lt;br /&gt;
* Flange dia22.7mm&lt;br /&gt;
* Axis length 19.4mm&lt;br /&gt;
* Axis dia 1.9 mm&lt;br /&gt;
* Statorheight 5.55mm&lt;br /&gt;
* Stator diam 18.33mm&lt;br /&gt;
&lt;br /&gt;
Weight:&lt;br /&gt;
* Flange weight 3.05g&lt;br /&gt;
* Flange and magnets 5.15g (Magnet ~ 1.5mm thick on a Flange dia22.7mm)&lt;br /&gt;
* Magnet only (and the glue) 2.1g&lt;br /&gt;
&lt;br /&gt;
====Bebop 2====&lt;br /&gt;
* No dat (yet) It ould be nice if you could demolish on of your Bebop 2 motors or a spare one and add your data here.&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
* Camera with &amp;quot;Fisheye&amp;quot; lens 180° 1/2,3&amp;quot;: 6 optical elements and 14 Mega pixels sensor&lt;br /&gt;
* Video stabilization: Digital on 3-axes&lt;br /&gt;
* Video definition: 1920x1080p (30fps)&lt;br /&gt;
* Photo definition: 3800x3188 pixels&lt;br /&gt;
* Video encoding: H264&lt;br /&gt;
* Photo file format: RAW, DNG&lt;br /&gt;
* Internal memory: Flash 8 GB&lt;br /&gt;
* Extended memory: Micro USB&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
Bebop 1&lt;br /&gt;
* Lithium Polymer 1200 mAh&lt;br /&gt;
* Flight time: Around 12 minutes&lt;br /&gt;
&lt;br /&gt;
Bebop 2&lt;br /&gt;
* Lithium Ion Polymer 2700 mAh&lt;br /&gt;
* Flight time: Around 22 minutes&lt;br /&gt;
* Max discharge rate 21.5A &lt;br /&gt;
* Max charge rate 3.5A&lt;br /&gt;
&lt;br /&gt;
== Processor ==&lt;br /&gt;
* Motherboard:&lt;br /&gt;
** Parrot P7 dual-core CPU Cortex A9&lt;br /&gt;
** Quad core GPU&lt;br /&gt;
** 8Gb flash memory&lt;br /&gt;
* All fixed on a magnesium shelf that acts as electromagnetic shielding and in the same run as a heat sink for heat dissipation and cooling of the all the onboard processors&lt;br /&gt;
&lt;br /&gt;
== Sensors ==&lt;br /&gt;
* 3-axes magnetometer (AKM 8963)&lt;br /&gt;
* 3-axes gyroscope (MPU 6050)&lt;br /&gt;
* 3-axes accelerometer (MPU 6050)&lt;br /&gt;
* Optical-flow sensor (Fig.8): Vertical stabilization camera (Every 16 milliseconds, an image of the ground is taken and compared to the previous one to determine the speed of the Bebop Drone)&lt;br /&gt;
* Ultrasound sensor (Analyzes the flight altitude up to 8 meters)&lt;br /&gt;
* Pressure sensor (MS 5607)&lt;br /&gt;
&lt;br /&gt;
== Geo-location ==&lt;br /&gt;
* Bebop 1: GNSS (GPS + GLONASS + Galileo, [http://www.furuno.com/en/products/gnss-module/GN-87 Furuno GN-87F])&lt;br /&gt;
* Bebop 2: GNSS (GPS + GLONASS + Galileo, Baidu, [https://www.u-blox.com/en/product/neo-m8-series])&lt;br /&gt;
&lt;br /&gt;
== Dimensions ==&lt;br /&gt;
* 28x32x3.6cm without the hull&lt;br /&gt;
* 33x38x3.6cm with the hull&lt;br /&gt;
&lt;br /&gt;
== Weight ==&lt;br /&gt;
&lt;br /&gt;
=== Bebop 1 ===&lt;br /&gt;
* 380g without the hull&lt;br /&gt;
* 400g with the hull&lt;br /&gt;
&lt;br /&gt;
=== Bebop 2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! component&lt;br /&gt;
! weight&lt;br /&gt;
! quantity&lt;br /&gt;
! &lt;br /&gt;
! notes&lt;br /&gt;
|-&lt;br /&gt;
| motor&lt;br /&gt;
| 16.5&lt;br /&gt;
| 4&lt;br /&gt;
| 66&lt;br /&gt;
| with screws mounting motors&lt;br /&gt;
|-&lt;br /&gt;
| landing gear&lt;br /&gt;
| 2.4&lt;br /&gt;
| 4&lt;br /&gt;
| 9.6&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| frame&lt;br /&gt;
| 49.5&lt;br /&gt;
| 1&lt;br /&gt;
| 49.5&lt;br /&gt;
| with legs&lt;br /&gt;
|-&lt;br /&gt;
| rotor&lt;br /&gt;
| 5.0&lt;br /&gt;
| 4&lt;br /&gt;
| 20&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| battery&lt;br /&gt;
| 196.0&lt;br /&gt;
| 1&lt;br /&gt;
| 196&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| camera magnesium frame&lt;br /&gt;
| 7.3&lt;br /&gt;
| 1&lt;br /&gt;
| 7.3&lt;br /&gt;
| with all screws on it&lt;br /&gt;
|-&lt;br /&gt;
| camera&lt;br /&gt;
| 14.7&lt;br /&gt;
| 1&lt;br /&gt;
| 14.7&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| camera protector&lt;br /&gt;
| 9.0&lt;br /&gt;
| 1&lt;br /&gt;
| 9&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPS sensor module&lt;br /&gt;
| 16.0&lt;br /&gt;
| 1&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| foam cover&lt;br /&gt;
| 7.2&lt;br /&gt;
| 1&lt;br /&gt;
| 7.2&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| main board&lt;br /&gt;
| 107.0&lt;br /&gt;
| 1&lt;br /&gt;
| 107&lt;br /&gt;
| measured with all wires on it&lt;br /&gt;
|-&lt;br /&gt;
| Dampers&lt;br /&gt;
| 2.1&lt;br /&gt;
| 4&lt;br /&gt;
| 8.4&lt;br /&gt;
| dampers plus screws&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Total&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 510.7&lt;br /&gt;
| (511,91 measured for another BB2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== OS/Software ==&lt;br /&gt;
* Operating system: Linux (kernel 3.4.11 #3 SMP PREEMPT)&lt;br /&gt;
* glibc: (Sourcery CodeBench Lite 2012.03-57) 2.15&lt;br /&gt;
* libstdc++: GLIBCXX_3.4 - GLIBCXX_3.4.16&lt;br /&gt;
&lt;br /&gt;
= Pinout =&lt;br /&gt;
== GPIO ==&lt;br /&gt;
* 6			Fans Enable&lt;br /&gt;
* 9			WiFi Reset&lt;br /&gt;
* 73			P7MU IRQ&lt;br /&gt;
* 81			GPS Power Enable&lt;br /&gt;
* 85			Fan Enable&lt;br /&gt;
* 89			VCAM FSYNC gyro&lt;br /&gt;
* 90			HCAM FSYNC gyro&lt;br /&gt;
* 91			DRDY MPU6050&lt;br /&gt;
* 124			Magneto interrupt&lt;br /&gt;
* 128			(video) Slew rate??&lt;br /&gt;
* 129		VCAM enable&lt;br /&gt;
* 130			(video) Slew rate??&lt;br /&gt;
* 132		HCAM enable&lt;br /&gt;
* 199		BLDC micro-controller reset (forces it into bootloader) ON/OFF&lt;br /&gt;
* 200		US Pulse level&lt;br /&gt;
* 201		On/Off button (default monitor to files running: /bin/onoffbutton)&lt;br /&gt;
* 202		USB Host mode pin 3V3 (HOST_MODE_3V3)&lt;br /&gt;
* 203		USB Host mode on&lt;br /&gt;
* 204		USB0 OC&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
* 6			Heating resistor for warming IMU sensors (125000ns period, 0ns duty)&lt;br /&gt;
* 8			MPU6050 clock (31510ns period, 15258ns duty) Desired frequency is 32768kHz with 50% duty cycle (period=30517us). Period was set empirically to 31517 to get a 5ms data ready period. Desired frequency is slightly modified to synchronize camera and IMU&lt;br /&gt;
* 9			Vertical camera clock (23ns period = 43MHz)&lt;br /&gt;
* 11			Horizontal camera lock (77ns period = 13MHz)&lt;br /&gt;
&lt;br /&gt;
== I2C ==&lt;br /&gt;
* I2C-0&lt;br /&gt;
** FPGA&lt;br /&gt;
** P7MU          &lt;br /&gt;
** EEPROM     Unknown EEPROM for Front camera calibration (addr 0x55)&lt;br /&gt;
** MT9f002      CMOS Digital Image Sensor (1/2.3 inch 14Mp, front camera) [http://www.onsemi.com/PowerSolutions/product.do?id=MT9F002 MT9f002] (addr 0x10)&lt;br /&gt;
** MT9v117     CMOS Digital Image Sensor (1/6 inch VGA, bottom camera) [http://www.aptina.com/assets/downloadDocument.do?id=553 MT9v117] (addr 0x5d)&lt;br /&gt;
* I2C-1&lt;br /&gt;
** Cypress       Motor Controller (Parrot BLDC) [[Bebop/BLDC]] (addr 0x08)&lt;br /&gt;
** AKM8963    Magnetometer [http://www.akm.com/akm/en/file/datasheet/AK8963.pdf AK8963]&lt;br /&gt;
** MS5607      Barometer [http://meas-spec.com/product/pressure/MS5607-02BA03.aspx MS5607]&lt;br /&gt;
* I2C-2&lt;br /&gt;
** MPU6050    Gyro + Accel [http://invensense.com/mems/gyro/documents/RM-MPU-6000A.pdf MPU6050] (rotation changed in version 2)&lt;br /&gt;
&lt;br /&gt;
== SPI ==&lt;br /&gt;
* spidev1.0 Sonar (Only data pin connected for generating pulses)&lt;br /&gt;
&lt;br /&gt;
== UART ==&lt;br /&gt;
* ttyPA1          GPS (Furuno GN-87F on v1 and Ublox Neo M8N on v2)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* /dev/hx280 Hantro (On2) Video encoder. Hantro chip video encoder used for the HCAM.&lt;br /&gt;
* /sys/bus/iio/devices/iio:device0 (p7mu-adc_2) Sonar ADC&lt;br /&gt;
&lt;br /&gt;
=  Actuators =&lt;br /&gt;
The Bebop has 4 Brushless motors, which are controlled by the cypress chip on I2C-1. This Cypress chip contains custom made firmware(BLDC) by Parrot, which can be automatically updated using a bootloader in the ESC part of the mainboard.&lt;br /&gt;
The firmware from Parrot contains a nice closed loop RPM control, which is automatically tuned inside the factory. &lt;br /&gt;
Since version 2 Parrot changed the order and rotation direction of the motors.&lt;br /&gt;
&lt;br /&gt;
For more information about how to communicate with the BLDC look at [[Bebop/BLDC]]. Or take a look at the &amp;quot;bebop&amp;quot; actuator inside the &amp;lt;code&amp;gt;airborne/boards/bebop/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
= Onboard applications =&lt;br /&gt;
&lt;br /&gt;
The original programs on the Bebop&lt;br /&gt;
&lt;br /&gt;
* /usr/bin/dragon-prog		Main program that controls the drone&lt;br /&gt;
* /bin/watchdog.sh			Checks if Dragon is still running and reboots dragon-prog if it somehow would not be running anymore &lt;br /&gt;
&lt;br /&gt;
* BLDC_Test_Bench				Controls the Brushless Motor Controllers for testing and playing sounds etc.&lt;br /&gt;
* bcmwl						Everything with wifi&lt;br /&gt;
* diagnostic					Outputs sensor diagnostic&lt;br /&gt;
* mk3_camera_eeprom                     Reads the front camera EEPROM&lt;br /&gt;
* config_mt9v117                              Configure the bottom camera&lt;br /&gt;
&lt;br /&gt;
= Cross compiler =&lt;br /&gt;
For the Bebop you need to use a recent version GNU gcc-arm-linux-gnueabi (Ubuntu/Linaro 4.7.4-2ubuntu1) 4.7.4 provided with Ubuntu since 14.04 LTS.&lt;br /&gt;
&lt;br /&gt;
[http://electronics.stackexchange.com/questions/21594/is-code-sourcery-g-lite-still-a-viable-projectIn the past you could also crosscompile with Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux from &amp;lt;s&amp;gt;Greedy&amp;lt;/s&amp;gt; Mentor Graphics, previously called codesourcery. However the open'ness there is nowhere to be found anymore, so we'll say &amp;quot;No thanks&amp;quot; to Codesourcery ,now &amp;lt;s&amp;gt;Greedy&amp;lt;/s&amp;gt; Mentor&amp;quot;]&lt;br /&gt;
but if you [https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2012.03-57-arm-none-linux-gnueabi.bin insist] , feel &amp;lt;s&amp;gt;free&amp;lt;/s&amp;gt; restricted.&lt;br /&gt;
&lt;br /&gt;
If you somehow need to compile kernel driver files to run on your Parrot Bebop, well, yes, you must use [https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2012.03-57-arm-none-linux-gnueabi.bin that exact compiler...]&lt;br /&gt;
&lt;br /&gt;
= Tips &amp;amp; Tricks =&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Make sure the [http://docs.paparazziuav.org/latest/module__video_rtp_stream.html video_rtp_stream.xml] module enabled in the airframe. &lt;br /&gt;
Receive a video stream with e.g. avplay, vlc or a python app:	&lt;br /&gt;
 $ avplay -loglevel quiet -max_delay 50 -fflags nobuffer rtp://192.168.42.1:5000&lt;br /&gt;
or&lt;br /&gt;
 $ vlc ~/paparazzi/var/sdp_tmp/192.168.42.1/stream.sdp&lt;br /&gt;
or&lt;br /&gt;
 $ ~/paparazzi/sw/tools/rtp_viewer/rtp_viewer.py&lt;br /&gt;
&lt;br /&gt;
== Factory Reset ==&lt;br /&gt;
You can reset the Parrot Bebop Drone to factory settings. You '''will''' loose all your photos and movies recorded on your Bebop.&lt;br /&gt;
To do this you need to press and hold the power button for 10 seconds. The LED will blink green and orange for a while, then green and the drone will shutdown.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
Theoretically is is not important which firmware you use for Paparazzi to fly. But with the latest firware we get better Video imagery. So if you can.. use the latest firmware.&lt;br /&gt;
&lt;br /&gt;
The Paparazzi volunteers test flew the Bebop with Firmware v1.98.11 and v2.0.57, v3.0, v3.2, v3.3, v3.9, v4.0.6&lt;br /&gt;
&lt;br /&gt;
Note that under v4.0.x the hardware accelerated extra nifty  features for the front cam don't work (yet..) nOne could use the original encoder from the v3.9 firmware if wanted. So if you need hardware assisted compressed video imagery and have a Bebop 2 do not update to v4.x just yet. Or better fix the camera not working issue...&lt;br /&gt;
&lt;br /&gt;
The v4.0.6 is the latest firmware version know as of 20170610 for Bebop 1. For bebop 2 Latest know is v4.7.x&lt;br /&gt;
If even newer firmware is available please report any (if any) issues found related to the firmware on e.g. the mailinglist.&lt;br /&gt;
&lt;br /&gt;
== Damper ==&lt;br /&gt;
The original Bebop2 damper are very soft and can cause oscillations around roll. You can print harder dampers from [http://www.thingiverse.com/thing:2135529 Thingiverse] yourself that will degrade the video quality but remove these oscillations. Use the _nodamp airframe files in that case.&lt;br /&gt;
&lt;br /&gt;
== Serial bidirectional teminal access ==&lt;br /&gt;
&lt;br /&gt;
This is handy if one e.g want to dump and set the build in GPS with software like uCenter on a PC. uCenter also run under Wine.&lt;br /&gt;
&lt;br /&gt;
To do so you first have to set up a connection between U-center and the drone. This done by forwarding the GPS data from the drone to your laptop using a TCP connection. From your laptop this TCP connection is then forwarded to a wine COM port in order to make it readable for U-center. &lt;br /&gt;
&lt;br /&gt;
First open a terminal and listen on your laptop for incoming TCP connections on port 12345. &lt;br /&gt;
&lt;br /&gt;
    $ socat -d d pty,raw,echo=0 tcp-listen:12345&lt;br /&gt;
&lt;br /&gt;
Then open a telnet session (while connected to the wifi of the drone) using: &lt;br /&gt;
&lt;br /&gt;
    $ telnet 192.168.42.1&lt;br /&gt;
&lt;br /&gt;
and forward the GPS data to the server you just created (in the telnet session): &lt;br /&gt;
    $ nc &amp;lt;your_ip_address&amp;gt; 12345 &amp;lt;/dev/ttyPA1 &amp;gt;/dev/ttyPA1&lt;br /&gt;
&lt;br /&gt;
Switch back to the terminal in which you started listening to the tcp port. You should see that an incoming connection has been accepted. The port to which the connection is transferred to is also shown (see Figure). &lt;br /&gt;
&lt;br /&gt;
[[File:Socat accepted the connection.png|500px|Socat accepted the connection]]&lt;br /&gt;
&lt;br /&gt;
The next step is to link this port to a wine COM port. In the following example port /dev/pts/4 is linked to ./com32. &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/pts/4 ./com32&lt;br /&gt;
&lt;br /&gt;
You should now be able to read the GPS data from u-center under the specified com port.&lt;br /&gt;
&lt;br /&gt;
= Using the MicroUSB for serial data =&lt;br /&gt;
&lt;br /&gt;
The Bebop, as wel as Disco has this tiny micro USB connector. This USB connector can also be used with help of a USB to Serial conversion board.&lt;br /&gt;
To use the driver in current firmware OTG serving should be off. [[use_the_USB_port_on_Parrot_Drones|Take a look here for more information, photos, connection examples, sourcode and real life example]] of how to use this port.&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24317</id>
		<title>Disco</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Disco&amp;diff=24317"/>
		<updated>2019-09-04T14:22:58Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Added RTK configuration for Disco&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-disco.jpg|right|500px|Parrot Disco]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
The [http://www.parrot.com/ Parrot] [https://www.parrot.com/us/drones/parrot-disco-fpv Disco] is a Wifi controlled fixed-wing aircraft, originally designed for FPV flights.&lt;br /&gt;
The hardware electronic components are very close the the [[Bebop]] quadrotor and the same principle can be applied to fly in full autonomous mode with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
&lt;br /&gt;
Here are some differences or addition compared to the [[Bebop]] hardware:&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
&lt;br /&gt;
The Disco has 6 PWM outputs available with the following mapping:&lt;br /&gt;
&lt;br /&gt;
* Internal mapping of the PWM with output index&lt;br /&gt;
* servo rail 1 &amp;lt;-&amp;gt; linux pwm_4&lt;br /&gt;
* servo rail 2 &amp;lt;-&amp;gt; linux pwm_5&lt;br /&gt;
* servo rail 3 &amp;lt;-&amp;gt; linux pwm_6&lt;br /&gt;
* servo rail 4 &amp;lt;-&amp;gt; linux pwm_1&lt;br /&gt;
* servo rail 5 &amp;lt;-&amp;gt; linux pwm_2&lt;br /&gt;
* servo rail 6 &amp;lt;-&amp;gt; linux pwm_3&lt;br /&gt;
&lt;br /&gt;
== Radio Control Input ==&lt;br /&gt;
&lt;br /&gt;
A radio control input is available for RC based on serial protocols such as Spektrum serial or SBUS out. Since the SBUS protocol is using an inverted logic (serial idle low), the signal input pin is tight to two UARTs internally and can be accessed with the the following symbolic links:&lt;br /&gt;
&lt;br /&gt;
* /dev/uart-sbus: the signal is inverted&lt;br /&gt;
* /dev/uart-sumd: the signal is not inverted&lt;br /&gt;
&lt;br /&gt;
The RC input is recommended for the safety link instead of using the Wifi link to control the plane in manual or assisted mode.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS used is a uBlox M8N.&lt;br /&gt;
&lt;br /&gt;
= Modifications =&lt;br /&gt;
&lt;br /&gt;
== Exernal Receiver ==&lt;br /&gt;
&lt;br /&gt;
A long range telemetry can be connected to the USB bus via e.g. a USBtoSerial board. One needs to install drivers for this on the disco. A complete page is on the Bebop part of the  wiki.&lt;br /&gt;
&lt;br /&gt;
== 4G connection ==&lt;br /&gt;
&lt;br /&gt;
A 4G to the USB can be used for telemetry over cellular network&lt;br /&gt;
&lt;br /&gt;
== Satcom ==&lt;br /&gt;
&lt;br /&gt;
A small iridium sat transeiver can be used.&lt;br /&gt;
&lt;br /&gt;
== RTK GPS ==&lt;br /&gt;
&lt;br /&gt;
The GPS module can be desoldered and replaced with a M8P in case one wants to use RTK.&lt;br /&gt;
&lt;br /&gt;
Real-time kinematic positioning is a GPS system which uses to GPS modules in order to improve GPS accuracy. The 'base station' is located at a precisely known location. The coordinates of the base station are used in order to derive the propagation errors at the current location. The errors are then send to the 'rover station' in order to improve accuracy up to centimeter-level. &lt;br /&gt;
&lt;br /&gt;
In order to use a RTK positioning system both rover- and base station have to be set up. Both base and rover board are identical, they only differ by their configuration. This tutorial explains how to set up the Parrot Disco for RTK usage in case a u-blox C94-M8P module is used.&lt;br /&gt;
&lt;br /&gt;
=== Necessary software ===&lt;br /&gt;
&lt;br /&gt;
In order configure both base and rover station, first you have to download u-center from their [https://www.u-blox.com/en/product/u-center website]. [https://vitux.com/how-to-install-wine-on-ubuntu/ Wine] will be needed as well to run u-center on Ubuntu. Start u-center using Wine and connect the base station via USB. &lt;br /&gt;
&lt;br /&gt;
Note: In case you can not change the settings in the U-center, probably the receiver is polling the current setting to often. Turn off auto-poll with the buttons on the bottom left corner of the configuration window. &lt;br /&gt;
&lt;br /&gt;
Note2: Each time you change the settings in the U-center you have to send the data to the board using the send button in the bottom left corner of the configuration view. Then go to UBX-CFG-CFG and chose all 4 devices to save the configuration too. &lt;br /&gt;
&lt;br /&gt;
=== Setup of Ground station ===&lt;br /&gt;
&lt;br /&gt;
First you find out the port that your GPS module is connected to using dmesg after the device has been connected. The figure gives an example where the modem has been connected to /dev/ttyACM0. &lt;br /&gt;
    &lt;br /&gt;
[[File:Dmesg port.png|500px|GPS module has been connected to /dev/ttyACM0]]&lt;br /&gt;
&lt;br /&gt;
Link the corresponding port to a wine com port using: &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/ttyACM0 ./com32&lt;br /&gt;
&lt;br /&gt;
If you open U-center now you should be able to finish the connection by simply connecting to COM port 32. As seen in the Figure. &lt;br /&gt;
&lt;br /&gt;
[[File:COM-port-connection.png|500px|Connect to a COM port in U-center]]&lt;br /&gt;
&lt;br /&gt;
The setup of the ground station then consists of three main steps: &lt;br /&gt;
&lt;br /&gt;
* First set the position of the base station using either pre-surveyed coordinated or by estimation its position using GPS. Using the ‘View tab’ go to ‘Message View’ and then to UBC-CFG-TMODE3  and chose your desired option. You can monitor your survey in progress in UBX-NAV-SVIN.&lt;br /&gt;
&lt;br /&gt;
[[File:TMODE3.png|500px|Configuration for ground station position]]&lt;br /&gt;
   &lt;br /&gt;
* The next step is to specify the Ground station output. This is done in the message view under UBX-CFG-PRT. Set the input protocol to none and the output protocol to RCTM3. &lt;br /&gt;
&lt;br /&gt;
[[File:Port-base.png|500px|Configuration for ground station output]]&lt;br /&gt;
&lt;br /&gt;
* The last step is to specify which messages are send on the RCTM radio link. Use UBX-CFG-MSG to specify that 1005 (station coordinates), 1077 (GPS observations), 1087 (GLONASS observations) and 1230 (GLONASS code-phase biases) have to be on the output of UART1.&lt;br /&gt;
&lt;br /&gt;
=== Setup of Rover station === &lt;br /&gt;
&lt;br /&gt;
A rover that receives RTCM messages will automatically go into RTK operational mode and thus only the radio link has to be configured correctly. &lt;br /&gt;
&lt;br /&gt;
In order to setup the rover stations first a [[Bebop#Serial_bidirectional_teminal_access|serial bidirectional teminal access]] has to be obtained. &lt;br /&gt;
&lt;br /&gt;
After coupling the GPS module of the drone to the wine com port, U-center should be able to connect to COM port 32.&lt;br /&gt;
&lt;br /&gt;
Now that you have successfully connected to the ROVER gps module, you are able to configure the radio link.&lt;br /&gt;
&lt;br /&gt;
Go to the message view and use UBX-CFG-PRT to ensure that UART1 is set up to receive RTCM3 correction and that no data is send out.&lt;br /&gt;
&lt;br /&gt;
[[File:Radio-link-rover.png|500px|Configuration for Rover output]]&lt;br /&gt;
&lt;br /&gt;
== Alternative servo ==&lt;br /&gt;
&lt;br /&gt;
If your servo is broken one an use a Hitec Digital 5055MG as a direct fit replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Radio-link-rover.png&amp;diff=24316</id>
		<title>File:Radio-link-rover.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Radio-link-rover.png&amp;diff=24316"/>
		<updated>2019-09-04T14:13:31Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The rover configuration for RTK gps&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Port-base.png&amp;diff=24315</id>
		<title>File:Port-base.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Port-base.png&amp;diff=24315"/>
		<updated>2019-09-04T14:11:01Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;configure in and output for base station&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:TMODE3.png&amp;diff=24314</id>
		<title>File:TMODE3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:TMODE3.png&amp;diff=24314"/>
		<updated>2019-09-04T14:09:53Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TMODE3 Configuration&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:COM-port-connection.png&amp;diff=24313</id>
		<title>File:COM-port-connection.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:COM-port-connection.png&amp;diff=24313"/>
		<updated>2019-09-04T14:08:48Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Connection to com port in ucenter&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Dmesg_port.png&amp;diff=24312</id>
		<title>File:Dmesg port.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Dmesg_port.png&amp;diff=24312"/>
		<updated>2019-09-04T14:07:35Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AS can be seen the u-blox modem has been connect to the ttyACM0 port&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Bebop&amp;diff=24311</id>
		<title>Bebop</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Bebop&amp;diff=24311"/>
		<updated>2019-09-04T14:03:29Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: Serial bidirectional terminal access for u-center&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; width: 15%&amp;quot;&amp;gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Autopilots&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 45%; overflow: hidden&amp;quot;&amp;gt;[[Image:Parrot-bebop-drone-new-03.jpeg|right|500px|Parrot Bebop]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; width: 40%&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
By default the [http://www.parrot.com/usa/products/bebop-drone/ Bebop] from [http://www.parrot.com/ Parrot] is a Wifi controlled flying quadrotor, designed to be controlled with an Android or iOS device. &lt;br /&gt;
&lt;br /&gt;
'''No more restrictions''' as from now; with a few simple clicks you can '''run Paparazzi on the Bebop''' and have full autonomous flight and much more!&lt;br /&gt;
&lt;br /&gt;
= Getting started =&lt;br /&gt;
&lt;br /&gt;
== What you need==&lt;br /&gt;
# A Bebop or Bebop 2 updated to at least firmware v3.3.0&lt;br /&gt;
# A joystick, for example [http://www.hobbyking.com/hobbyking/store/__20951__Hobbyking_6CH_RC_Flight_Simulator_System_Mode_2_.html this one]&lt;br /&gt;
# A laptop with Ubuntu installed&lt;br /&gt;
&lt;br /&gt;
Steps to follow: &lt;br /&gt;
# Install Paparazzi via [http://wiki.paparazziuav.org/wiki/Installation the one liner to be found here]. Just Cut 'n Paste (CTRL+C from webbrowser then CTRL+SHIFT+V in your Linux terminal) and press ENTER&lt;br /&gt;
# Start Paparazzi Center with the default configuration&lt;br /&gt;
# Power up your Bebop&lt;br /&gt;
# Press the '''on/off button four times''' short fast half a second clicks '''after''' the bebop is fully powerd up, notice the solid green light on Bebop and solid Red on Bebop 2&lt;br /&gt;
# Make a Wifi connection with your PC and the Bebop &lt;br /&gt;
# In the Paparazzi center choose &amp;quot;Bebop&amp;quot; Or &amp;quot;Bebop2&amp;quot; in the airframe dropdown menu&lt;br /&gt;
# Press the &amp;quot;Upload&amp;quot; button in the Paparazzi Center, wait...&lt;br /&gt;
# Select Flight UDP/Wifi in the session menu&lt;br /&gt;
# Press execute&lt;br /&gt;
&lt;br /&gt;
Voila, you will get telemetry from your Bebop. Now it is up to you how and where to fly.&lt;br /&gt;
&lt;br /&gt;
==Instruction Video==&lt;br /&gt;
TIP: Good [https://www.youtube.com/watch?v=eojAPZvT1Ck video series to watch]. Although it is made for the ARDrone 2, the steps are very similar for the Bebop drone. &lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
== Connectivity ==&lt;br /&gt;
* Wi-Fi antennas: MIMO dual-band with 2 double-set of dipole antennas for 2.4 and 5 GHz&lt;br /&gt;
* Sending power: Up to 26 dBm&lt;br /&gt;
* Signal range: N/A&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
* 4 Brushless Outrunner motors&lt;br /&gt;
* Glass fiber reinforced (15%) ABS structure&lt;br /&gt;
* High-resistance EPP outdoor hull: Clip and unclip easily to adapt to indoor and outdoor flight, protects the propellers against potential bumps, can be removed to reduce wind factor&lt;br /&gt;
* Three-blade auto-block propellers in Polycarbonate with fast disassembly system&lt;br /&gt;
* Anti-vibration bumpers&lt;br /&gt;
&lt;br /&gt;
=== Full Motor details ===&lt;br /&gt;
&lt;br /&gt;
Handy in case for a simulator motor model&lt;br /&gt;
&lt;br /&gt;
====Bebop====&lt;br /&gt;
* Magnets: 12&lt;br /&gt;
* Stators: 9&lt;br /&gt;
* Layers of stator metal: 15&lt;br /&gt;
&lt;br /&gt;
* Copper windings: 34&lt;br /&gt;
* Copper diameter: 0.29mm&lt;br /&gt;
* Copper resistance: over 50 cm wire ~0.3 ohm&lt;br /&gt;
&lt;br /&gt;
Dimentions:&lt;br /&gt;
* Flange height 7.67mm&lt;br /&gt;
* Flange dia22.7mm&lt;br /&gt;
* Axis length 19.4mm&lt;br /&gt;
* Axis dia 1.9 mm&lt;br /&gt;
* Statorheight 5.55mm&lt;br /&gt;
* Stator diam 18.33mm&lt;br /&gt;
&lt;br /&gt;
Weight:&lt;br /&gt;
* Flange weight 3.05g&lt;br /&gt;
* Flange and magnets 5.15g (Magnet ~ 1.5mm thick on a Flange dia22.7mm)&lt;br /&gt;
* Magnet only (and the glue) 2.1g&lt;br /&gt;
&lt;br /&gt;
====Bebop 2====&lt;br /&gt;
* No dat (yet) It ould be nice if you could demolish on of your Bebop 2 motors or a spare one and add your data here.&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
* Camera with &amp;quot;Fisheye&amp;quot; lens 180° 1/2,3&amp;quot;: 6 optical elements and 14 Mega pixels sensor&lt;br /&gt;
* Video stabilization: Digital on 3-axes&lt;br /&gt;
* Video definition: 1920x1080p (30fps)&lt;br /&gt;
* Photo definition: 3800x3188 pixels&lt;br /&gt;
* Video encoding: H264&lt;br /&gt;
* Photo file format: RAW, DNG&lt;br /&gt;
* Internal memory: Flash 8 GB&lt;br /&gt;
* Extended memory: Micro USB&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
&lt;br /&gt;
Bebop 1&lt;br /&gt;
* Lithium Polymer 1200 mAh&lt;br /&gt;
* Flight time: Around 12 minutes&lt;br /&gt;
&lt;br /&gt;
Bebop 2&lt;br /&gt;
* Lithium Ion Polymer 2700 mAh&lt;br /&gt;
* Flight time: Around 22 minutes&lt;br /&gt;
* Max discharge rate 21.5A &lt;br /&gt;
* Max charge rate 3.5A&lt;br /&gt;
&lt;br /&gt;
== Processor ==&lt;br /&gt;
* Motherboard:&lt;br /&gt;
** Parrot P7 dual-core CPU Cortex A9&lt;br /&gt;
** Quad core GPU&lt;br /&gt;
** 8Gb flash memory&lt;br /&gt;
* All fixed on a magnesium shelf that acts as electromagnetic shielding and in the same run as a heat sink for heat dissipation and cooling of the all the onboard processors&lt;br /&gt;
&lt;br /&gt;
== Sensors ==&lt;br /&gt;
* 3-axes magnetometer (AKM 8963)&lt;br /&gt;
* 3-axes gyroscope (MPU 6050)&lt;br /&gt;
* 3-axes accelerometer (MPU 6050)&lt;br /&gt;
* Optical-flow sensor (Fig.8): Vertical stabilization camera (Every 16 milliseconds, an image of the ground is taken and compared to the previous one to determine the speed of the Bebop Drone)&lt;br /&gt;
* Ultrasound sensor (Analyzes the flight altitude up to 8 meters)&lt;br /&gt;
* Pressure sensor (MS 5607)&lt;br /&gt;
&lt;br /&gt;
== Geo-location ==&lt;br /&gt;
* Bebop 1: GNSS (GPS + GLONASS + Galileo, [http://www.furuno.com/en/products/gnss-module/GN-87 Furuno GN-87F])&lt;br /&gt;
* Bebop 2: GNSS (GPS + GLONASS + Galileo, Baidu, [https://www.u-blox.com/en/product/neo-m8-series])&lt;br /&gt;
&lt;br /&gt;
== Dimensions ==&lt;br /&gt;
* 28x32x3.6cm without the hull&lt;br /&gt;
* 33x38x3.6cm with the hull&lt;br /&gt;
&lt;br /&gt;
== Weight ==&lt;br /&gt;
&lt;br /&gt;
=== Bebop 1 ===&lt;br /&gt;
* 380g without the hull&lt;br /&gt;
* 400g with the hull&lt;br /&gt;
&lt;br /&gt;
=== Bebop 2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! component&lt;br /&gt;
! weight&lt;br /&gt;
! quantity&lt;br /&gt;
! &lt;br /&gt;
! notes&lt;br /&gt;
|-&lt;br /&gt;
| motor&lt;br /&gt;
| 16.5&lt;br /&gt;
| 4&lt;br /&gt;
| 66&lt;br /&gt;
| with screws mounting motors&lt;br /&gt;
|-&lt;br /&gt;
| landing gear&lt;br /&gt;
| 2.4&lt;br /&gt;
| 4&lt;br /&gt;
| 9.6&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| frame&lt;br /&gt;
| 49.5&lt;br /&gt;
| 1&lt;br /&gt;
| 49.5&lt;br /&gt;
| with legs&lt;br /&gt;
|-&lt;br /&gt;
| rotor&lt;br /&gt;
| 5.0&lt;br /&gt;
| 4&lt;br /&gt;
| 20&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| battery&lt;br /&gt;
| 196.0&lt;br /&gt;
| 1&lt;br /&gt;
| 196&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| camera magnesium frame&lt;br /&gt;
| 7.3&lt;br /&gt;
| 1&lt;br /&gt;
| 7.3&lt;br /&gt;
| with all screws on it&lt;br /&gt;
|-&lt;br /&gt;
| camera&lt;br /&gt;
| 14.7&lt;br /&gt;
| 1&lt;br /&gt;
| 14.7&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| camera protector&lt;br /&gt;
| 9.0&lt;br /&gt;
| 1&lt;br /&gt;
| 9&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPS sensor module&lt;br /&gt;
| 16.0&lt;br /&gt;
| 1&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| foam cover&lt;br /&gt;
| 7.2&lt;br /&gt;
| 1&lt;br /&gt;
| 7.2&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| main board&lt;br /&gt;
| 107.0&lt;br /&gt;
| 1&lt;br /&gt;
| 107&lt;br /&gt;
| measured with all wires on it&lt;br /&gt;
|-&lt;br /&gt;
| Dampers&lt;br /&gt;
| 2.1&lt;br /&gt;
| 4&lt;br /&gt;
| 8.4&lt;br /&gt;
| dampers plus screws&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Total&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 510.7&lt;br /&gt;
| (511,91 measured for another BB2)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== OS/Software ==&lt;br /&gt;
* Operating system: Linux (kernel 3.4.11 #3 SMP PREEMPT)&lt;br /&gt;
* glibc: (Sourcery CodeBench Lite 2012.03-57) 2.15&lt;br /&gt;
* libstdc++: GLIBCXX_3.4 - GLIBCXX_3.4.16&lt;br /&gt;
&lt;br /&gt;
= Pinout =&lt;br /&gt;
== GPIO ==&lt;br /&gt;
* 6			Fans Enable&lt;br /&gt;
* 9			WiFi Reset&lt;br /&gt;
* 73			P7MU IRQ&lt;br /&gt;
* 81			GPS Power Enable&lt;br /&gt;
* 85			Fan Enable&lt;br /&gt;
* 89			VCAM FSYNC gyro&lt;br /&gt;
* 90			HCAM FSYNC gyro&lt;br /&gt;
* 91			DRDY MPU6050&lt;br /&gt;
* 124			Magneto interrupt&lt;br /&gt;
* 128			(video) Slew rate??&lt;br /&gt;
* 129		VCAM enable&lt;br /&gt;
* 130			(video) Slew rate??&lt;br /&gt;
* 132		HCAM enable&lt;br /&gt;
* 199		BLDC micro-controller reset (forces it into bootloader) ON/OFF&lt;br /&gt;
* 200		US Pulse level&lt;br /&gt;
* 201		On/Off button (default monitor to files running: /bin/onoffbutton)&lt;br /&gt;
* 202		USB Host mode pin 3V3 (HOST_MODE_3V3)&lt;br /&gt;
* 203		USB Host mode on&lt;br /&gt;
* 204		USB0 OC&lt;br /&gt;
&lt;br /&gt;
== PWM ==&lt;br /&gt;
* 6			Heating resistor for warming IMU sensors (125000ns period, 0ns duty)&lt;br /&gt;
* 8			MPU6050 clock (31510ns period, 15258ns duty) Desired frequency is 32768kHz with 50% duty cycle (period=30517us). Period was set empirically to 31517 to get a 5ms data ready period. Desired frequency is slightly modified to synchronize camera and IMU&lt;br /&gt;
* 9			Vertical camera clock (23ns period = 43MHz)&lt;br /&gt;
* 11			Horizontal camera lock (77ns period = 13MHz)&lt;br /&gt;
&lt;br /&gt;
== I2C ==&lt;br /&gt;
* I2C-0&lt;br /&gt;
** FPGA&lt;br /&gt;
** P7MU          &lt;br /&gt;
** EEPROM     Unknown EEPROM for Front camera calibration (addr 0x55)&lt;br /&gt;
** MT9f002      CMOS Digital Image Sensor (1/2.3 inch 14Mp, front camera) [http://www.onsemi.com/PowerSolutions/product.do?id=MT9F002 MT9f002] (addr 0x10)&lt;br /&gt;
** MT9v117     CMOS Digital Image Sensor (1/6 inch VGA, bottom camera) [http://www.aptina.com/assets/downloadDocument.do?id=553 MT9v117] (addr 0x5d)&lt;br /&gt;
* I2C-1&lt;br /&gt;
** Cypress       Motor Controller (Parrot BLDC) [[Bebop/BLDC]] (addr 0x08)&lt;br /&gt;
** AKM8963    Magnetometer [http://www.akm.com/akm/en/file/datasheet/AK8963.pdf AK8963]&lt;br /&gt;
** MS5607      Barometer [http://meas-spec.com/product/pressure/MS5607-02BA03.aspx MS5607]&lt;br /&gt;
* I2C-2&lt;br /&gt;
** MPU6050    Gyro + Accel [http://invensense.com/mems/gyro/documents/RM-MPU-6000A.pdf MPU6050] (rotation changed in version 2)&lt;br /&gt;
&lt;br /&gt;
== SPI ==&lt;br /&gt;
* spidev1.0 Sonar (Only data pin connected for generating pulses)&lt;br /&gt;
&lt;br /&gt;
== UART ==&lt;br /&gt;
* ttyPA1          GPS (Furuno GN-87F on v1 and Ublox Neo M8N on v2)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* /dev/hx280 Hantro (On2) Video encoder. Hantro chip video encoder used for the HCAM.&lt;br /&gt;
* /sys/bus/iio/devices/iio:device0 (p7mu-adc_2) Sonar ADC&lt;br /&gt;
&lt;br /&gt;
=  Actuators =&lt;br /&gt;
The Bebop has 4 Brushless motors, which are controlled by the cypress chip on I2C-1. This Cypress chip contains custom made firmware(BLDC) by Parrot, which can be automatically updated using a bootloader in the ESC part of the mainboard.&lt;br /&gt;
The firmware from Parrot contains a nice closed loop RPM control, which is automatically tuned inside the factory. &lt;br /&gt;
Since version 2 Parrot changed the order and rotation direction of the motors.&lt;br /&gt;
&lt;br /&gt;
For more information about how to communicate with the BLDC look at [[Bebop/BLDC]]. Or take a look at the &amp;quot;bebop&amp;quot; actuator inside the &amp;lt;code&amp;gt;airborne/boards/bebop/&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
= Onboard applications =&lt;br /&gt;
&lt;br /&gt;
The original programs on the Bebop&lt;br /&gt;
&lt;br /&gt;
* /usr/bin/dragon-prog		Main program that controls the drone&lt;br /&gt;
* /bin/watchdog.sh			Checks if Dragon is still running and reboots dragon-prog if it somehow would not be running anymore &lt;br /&gt;
&lt;br /&gt;
* BLDC_Test_Bench				Controls the Brushless Motor Controllers for testing and playing sounds etc.&lt;br /&gt;
* bcmwl						Everything with wifi&lt;br /&gt;
* diagnostic					Outputs sensor diagnostic&lt;br /&gt;
* mk3_camera_eeprom                     Reads the front camera EEPROM&lt;br /&gt;
* config_mt9v117                              Configure the bottom camera&lt;br /&gt;
&lt;br /&gt;
= Cross compiler =&lt;br /&gt;
For the Bebop you need to use a recent version GNU gcc-arm-linux-gnueabi (Ubuntu/Linaro 4.7.4-2ubuntu1) 4.7.4 provided with Ubuntu since 14.04 LTS.&lt;br /&gt;
&lt;br /&gt;
[http://electronics.stackexchange.com/questions/21594/is-code-sourcery-g-lite-still-a-viable-projectIn the past you could also crosscompile with Sourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux from &amp;lt;s&amp;gt;Greedy&amp;lt;/s&amp;gt; Mentor Graphics, previously called codesourcery. However the open'ness there is nowhere to be found anymore, so we'll say &amp;quot;No thanks&amp;quot; to Codesourcery ,now &amp;lt;s&amp;gt;Greedy&amp;lt;/s&amp;gt; Mentor&amp;quot;]&lt;br /&gt;
but if you [https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2012.03-57-arm-none-linux-gnueabi.bin insist] , feel &amp;lt;s&amp;gt;free&amp;lt;/s&amp;gt; restricted.&lt;br /&gt;
&lt;br /&gt;
If you somehow need to compile kernel driver files to run on your Parrot Bebop, well, yes, you must use [https://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2012.03-57-arm-none-linux-gnueabi.bin that exact compiler...]&lt;br /&gt;
&lt;br /&gt;
= Tips &amp;amp; Tricks =&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
Make sure the [http://docs.paparazziuav.org/latest/module__video_rtp_stream.html video_rtp_stream.xml] module enabled in the airframe. &lt;br /&gt;
Receive a video stream with e.g. avplay, vlc or a python app:	&lt;br /&gt;
 $ avplay -loglevel quiet -max_delay 50 -fflags nobuffer rtp://192.168.42.1:5000&lt;br /&gt;
or&lt;br /&gt;
 $ vlc ~/paparazzi/var/sdp_tmp/192.168.42.1/stream.sdp&lt;br /&gt;
or&lt;br /&gt;
 $ ~/paparazzi/sw/tools/rtp_viewer/rtp_viewer.py&lt;br /&gt;
&lt;br /&gt;
== Factory Reset ==&lt;br /&gt;
You can reset the Parrot Bebop Drone to factory settings. You '''will''' loose all your photos and movies recorded on your Bebop.&lt;br /&gt;
To do this you need to press and hold the power button for 10 seconds. The LED will blink green and orange for a while, then green and the drone will shutdown.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
Theoretically is is not important which firmware you use for Paparazzi to fly. But with the latest firware we get better Video imagery. So if you can.. use the latest firmware.&lt;br /&gt;
&lt;br /&gt;
The Paparazzi volunteers test flew the Bebop with Firmware v1.98.11 and v2.0.57, v3.0, v3.2, v3.3, v3.9, v4.0.6&lt;br /&gt;
&lt;br /&gt;
Note that under v4.0.x the hardware accelerated extra nifty  features for the front cam don't work (yet..) nOne could use the original encoder from the v3.9 firmware if wanted. So if you need hardware assisted compressed video imagery and have a Bebop 2 do not update to v4.x just yet. Or better fix the camera not working issue...&lt;br /&gt;
&lt;br /&gt;
The v4.0.6 is the latest firmware version know as of 20170610 for Bebop 1. For bebop 2 Latest know is v4.7.x&lt;br /&gt;
If even newer firmware is available please report any (if any) issues found related to the firmware on e.g. the mailinglist.&lt;br /&gt;
&lt;br /&gt;
== Damper ==&lt;br /&gt;
The original Bebop2 damper are very soft and can cause oscillations around roll. You can print harder dampers from [http://www.thingiverse.com/thing:2135529 Thingiverse] yourself that will degrade the video quality but remove these oscillations. Use the _nodamp airframe files in that case.&lt;br /&gt;
&lt;br /&gt;
== Serial bidirectional teminal access ==&lt;br /&gt;
&lt;br /&gt;
This is handy if one e.g want to dump and set the build in GPS with software like uCenter on a PC. uCenter also run under Wine.&lt;br /&gt;
&lt;br /&gt;
To do so you first have to set up a connection between U-center and the drone. This done by forwarding the GPS data from the drone to your laptop using a TCP connection. From your laptop this TCP connection is then forwarded to a wine COM port in order to make it readable for U-center. &lt;br /&gt;
&lt;br /&gt;
First open a terminal and listen on your laptop for incoming TCP connections on port 12345. &lt;br /&gt;
&lt;br /&gt;
    $ socat -d d pty,raw,echo=0 tcp-listen:12345&lt;br /&gt;
&lt;br /&gt;
Then open a telnet session (while connected to the wifi of the drone) using: &lt;br /&gt;
&lt;br /&gt;
    $ telnet 192.168.42.1&lt;br /&gt;
&lt;br /&gt;
and forward the GPS data to the server you just created (in the telnet session): &lt;br /&gt;
    $ nc &amp;lt;your_ip_address&amp;gt; 12345 &amp;lt;/dev/ttyPA1 &amp;gt;/dev/ttyPA1&lt;br /&gt;
&lt;br /&gt;
Switch back to the terminal in which you started listening to the tcp port. You should see that an incoming connection has been accepted. The port to which the connection is transferred to is also shown (see Figure). &lt;br /&gt;
&lt;br /&gt;
[[File:Socat accepted the connection.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
The next step is to link this port to a wine COM port. In the following example port /dev/pts/4 is linked to ./com32. &lt;br /&gt;
&lt;br /&gt;
    $ cd ~/.wine/dosdevices&lt;br /&gt;
    $ ln -sf /dev/pts/4 ./com32&lt;br /&gt;
&lt;br /&gt;
You should now be able to read the GPS data from u-center under the specified com port. &lt;br /&gt;
&lt;br /&gt;
= Using the MicroUSB for serial data =&lt;br /&gt;
&lt;br /&gt;
The Bebop, as wel as Disco has this tiny micro USB connector. This USB connector can also be used with help of a USB to Serial conversion board.&lt;br /&gt;
To use the driver in current firmware OTG serving should be off. [[use_the_USB_port_on_Parrot_Drones|Take a look here for more information, photos, connection examples, sourcode and real life example]] of how to use this port.&lt;br /&gt;
&lt;br /&gt;
[[Category:Autopilots]]&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Socat_accepted_the_connection.png&amp;diff=24310</id>
		<title>File:Socat accepted the connection.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Socat_accepted_the_connection.png&amp;diff=24310"/>
		<updated>2019-09-04T14:00:28Z</updated>

		<summary type="html">&lt;p&gt;Cdejong: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As can be seen socat is transferring the incoming data to /dev/pts/4&lt;/div&gt;</summary>
		<author><name>Cdejong</name></author>
	</entry>
</feed>