nyuuzyou/wikis huggingface dataset:
TCP Aircraft Server

Tools
__TOC__
The tcp aircraft server (in sw/tools/tcp_aircraft_server/) is an agent that re-broadcasts the ivy telemetry stream from a specified vehicle over tcp to a specified remote ip which hosts its own local ground segment ivy network. This allows the broadcast of a vehicle telemetry stream over the internet to a remote party without the need for VPNs.
== Usage ==
=== Broadcast Ground Station ===
If you have not done so already, set your Paparazzi src and home directories:
 export PAPARAZZI_SRC=~/path/to/paparazzi
 export PAPARAZZI_HOME=~/path/to/paparazzi
Then, from your Paparazzi directory, run:
 ./sw/ground_segment/tmtc/ivy_tcp_aircraft -id <ac_id_number> -h <remote IP>
=== Recipient Computer, option #1 ===
Run:
 ./sw/tools/tcp_aircraft_server/tcp_aircraft_server.py
Then open Paparazzi Center using the -n option for the Server unless you wish to log messages locally, and use the tools within Paparazzi Center as you would do normally.
The recipient side of the setup broadcasts locally over the default Paparazzi ivy bus 127.255.255.255:2010
=== Recipient Computer, option #2 ===
This allows for a multiple tier control architecture. 
Designate one computer as the server and run these 2 programs. First one communicates with remote controllers and second one with ground stations.
 ./sw/ground_segment/tmtc/broadcaster -f TM -t DL -p 4243
 ./sw/ground_segment/tmtc/broadcaster
Designate the same or another or several other computers as remote controller and run:
 ./sw/ground_segment/tmtc/ivy_tcp_controller -h <ip address of server computer>
On the controller open Paparazzi Center using the -n option for the Server unless you wish to log messages locally, and use the tools within Paparazzi Center as you would do normally.
You can connect multiple ground stations to the same server.
All of these programs accept a --help argument and will show more options.
NOTE: For this to work it is necessary to synchronize the compiled code in the aircraft, the controller and the ground station. 
Category:Tools Category:User_Documentation
TU Delft - Autonomous Quadrotor

== TU Delft - Autonomous Quadrotor ==
On 3 September 2012 two student teams of the Delft University of Technology started with a UAV robotics project, under guidance of ir. B. D. W. Remes. The initial objective of both teams is similar, namely getting the AR Drone v2.0 to fly using the Paparazzi Software. However the path taken by each group to reach this objective will be different. In the second part of the project each group is then free to develop a cool or useful application for the AR Drone v2.0, now flying on the paparazzi software.
=== Objectives ===
So our first objective is to enable the Parrot AR Drone v2.0 (from now on referred to as the AR Drone 2) to fly autonomously on the Paparazzi Software. However each group will obtain this goal following a different path:
* Team 1 has the heavy task to make it all work smoothly by using the raw data, creating their own software drivers to retrieve and interpret and steer the data. They will need to describe a new board configuration within for Paparazzi to work with.
* Team 2 challenging task is to let the AP work with via on-board SDK as developed by Parrot. They will need to interpret the data as provided by the program and determine what data to send back.
As mentioned, the second objective or part of the project was to come up with a cool or useful application for the AR Drone 2. Team 1 further developed the AR Drone 2 to include search and rescue applications. Team 2 decided to further develop the AR Drone 2 to be applicable is laser shooting games. Also each team had to add a GPS sensor to the AR Drone 2. We will use the US Globalsat BU-353 GPS receiver for this purpose and mount it to the AR Drone 2 using the USB connection on the board. More information on each project can be found following the links in the next section.
=== Teams ===
More information on each project can be found here:
* Team 1: TU Delft - Search and Rescue with AR Drone 2
* Team 2: TU Delft - Lasergame with Autonomous AR Drone
== Newsflash ==
To keep you up to date with the most recent developments in this project we have created the TU Delft: AR Drone 2 - News page. Here we will post breakthroughs, summaries of a page update and small facts that might be nice to know. 
== Installing Paparazzi on AR.Drone 2 ==
To make life easier for everyone that wants to use the AR Drone 2 controlled by Paparazzi, there is a AR-Drone 2 getting started Page. This page will guide you through that process step by step.
Category: TU Delft - Autonomous Quadrotor
TWOG/add i2c1

Category:Hardware
It can be handy to have a second I2C port on the TWOG v1.00 or Tiny v2.11. This allows to separate flight sensitive sensors (e.g. IMU) from payload sensors.
= Add 2nd I2C port to TWOG/Tiny on ADC2/J8 =
ADC2/J8 can easily be modified to have the same pinout as the original I2C/J6 port.
 remove R12
 replace R13 with a 10k resistor
 cut the trace between R13 and R15
 connect the (then) open end of R13 with 3.3V at R17
 connect J8_IN_ADC_6 with J7_BOOT (SDA1)
 connect J8_IN_ADC_5 with J2_CTS (SCL1)
 secure the thin wire with small dots of hot glue
The original I2C/J6 is i2c0 and ADC2/J8 becomes i2c1.
==Modification TWOG/Tiny==
= Add 2nd I2C port to TWOG/Tiny on J11/IRH =
J11/IRH can be modified to carry I2C signales. Make sure you provide 5V if needed.
 add a new 10k resistor on the 3.3V side of R17
 cut the trace at J11_IRH_IRH_1 (pin 4)
 cut the trace at J11_IRH_IRH_2 (pin 3)
 connect J11_IRH_IRH_1 with other side of new 10k resistor
 connect other side of new 10k resistor with J2_CTS (SCL1)
 connect J11_IRH_IRH_2 J7_BOOT (SDA1)
 secure the thin wire with small dots of hot glue
The original I2C/J6 is i2c0 and J11/IRH becomes i2c1.
==Modification TWOG/Tiny==
= Add 2nd I2C port to Tiny on Download/J7 =
On the Tiny Download/J7 can also be modified to have I2C.
 cut the trace between J7_LPC_TXD0 and the IC5/LPC2148
 add a 10k pull-up resistor to J7_+3.3v
 connect other side of the new 10k to J7_LPC_TXD0
 connect J7_LPC_TXD0 with J2_CTS (SCL1)
 secure the thin wire with small dots of hot glue
The original I2C/J6 is i2c0 and Download/J7 becomes i2c1 (J7_LPC_TXD0 = SCL1, J7_BOOT = SDA1).
==Modification Tiny==
Telemaster

<< Back to Airframes
	
This is a self built airframe. Built from plans. The Telemaster was choosen for it's excelent flying characteristics, to help make it easier to get used to the amazing Paparazzi system. If you are new to the system, a stable plane to start with is a must. Tuning and flying this plane is largely due to the lovely ENAC time and other active Paparazzi users. A special thanks to Pascal for having infinite patience to take time and answer all my questions!
== Features ==
* All Depron, Styrofoam and Fiberglass
* 4 Channel trainer
* Super strong Carbon Fiber wing spar for added payloads
* Overpowered setup giving ample room to add additional sensors and payloads
== Specifications ==
* 42" Span
* 620gms AUW
* Tiny 2.11 ( ~21.5gms )
* Approx. Wing area ~2 sq. ft.
* ~160W power setup on a 9*6 APC-E
* Has flown in winds up to 10m/s
* Up to 30mins endurance in less than ideal conditions
== Misc Notes ==
I intend to add lots of information here by and by!
== Pictures ==
Category:Airframes
Theory of Operation

== Control Loops Writeup ==
Excellent explanation of the Control Loops and some basics on Control Theory behind it.
== PID ==
Paparazzi uses common Proportional Integral Derivative (PID) control for stability and navigation. PID is probably the most commonly used feedback control design as it is simple to implement and intuitive to operate. PID controllers use three terms operating on the measured error to produce a control output. If u(t) is the control signal sent to the system, y(t) is the measured output and r(t) is the desired output, and tracking error e(t)=r(t)- y(t), a PID controller has the general form
:u(t) = K_P e(t) + K_I \int e(t)dt + K_D \dot{e}(t)
The desired closed loop dynamics are obtained by adjusting the three parameters K_P, K_I and K_D, often iteratively by "tuning" and without specific knowledge of a plant model. Stability can often be ensured using only the proportional term in well damped systems. The integral term compensates for steady long-term errors, and the derivative term is used to provide damping to reduce oscillation.
See more on Wikipedia: PID Controller
PID explained by RC Model Reviews: What PIDs do and how they do it
Paparazzi uses PID controllers on all loops but many of the I and D terms are not fully implemented as they are often unnecessary or difficult to tune. Below are some examples of the PID implementations in Paparazzi. There is a graphical description of the control loops as well.
=== Roll Rate ===
Note that the roll Pgain is variable with throttle and multiplies through the entire equation affecting the I and D terms as well for ease of tuning.
=== Roll Attitude ===
=== Pitch Angle ===
Here we use only Proportional as the Derivative is always set to zero. An integral term could prove useful here. Aircraft pitch response is normally very well damped. Those with "plank" style aircraft or other pitch-sensitive designs may benefit from implementing a gyro-based D term.
=== Navigation ===
Here we only use the Proportional term though a Derivative would be useful as navigation is not well damped. Note that an Integral term cannot be used for navigation without accurate and reliable wind information and the necessary implementation of wind data. Note however that we increase/reduce the commanded bank angle for navigation based on the ground speed. This reduces "hunting" on upwind legs, keeps the navigation tight on fast downwind legs and helps keep circles round in a crosswind.
=== Climb Rate ===
Here we only use the Proportional term though a Derivative would be useful as climb rate is not well damped. An integral term may prove useful if well-implemented. The last term v_ctl_altitude_pre_climb represents the desired constant climb rate needed to follow a 3-dimensional navigation path. This term is zero for level flight, altitude maintenance, and commanded altitude changes.
Category:Software Category:User_Documentation
Tiny GPS config

Prerequisites:
Must have loaded USB Boot Loader software
Must have loaded "tunnel"
Must have downloaded and installed u-center
Must have downloaded, uncompressed the LEA-4P config file
Required Cables: 
FTDI Serial Adapter Cable
8-pin Molex Picoblade connector to 6-pin FTDI cable
Steps:
Connect FTDI Cable + 8-pin Molex adapter to USB on your laptop
Connect 8-pin Molex to "serial1" on Tiny2.11
Power on Tiny2.11
Start u-center application
set connection 'baudrate' to 9600BPS (LEA-4P factory default)
Menu: Tools/GPS Config select the file to upload (LEA-4P file downloaded)
Click File >> GPS button to send the file to the GPS
About 2/3 the way through it will stop. At this point change 'baudrate' to 38,4000 connection and it will continue and finish
BACK
Category:User_Documentation
Tools

__TOC__
= Logic Analyzer =
== Saleae (and clones) ==
Helpful to analyze/debug data streams or measure ppm signal length.
saleae (works with linux)
The original costs about 120€, china clones begin at 10€.
The Saleae software for windows only allows their original hardware by setting the VID (Vendor ID) and PID (Product ID) in the saleae.inf file. This file is required as driver for the harware.
There is also an open source support for a lot of different logic analyzers (china clones) sigrok
== DSLogic ==
Complete Open Software / Hardware Logic analyzer .
Features:
* max 400 MHz sample rate (max 4channels simultaneously)
* max 16 channels
* max 16 M samples per channel
* 256 Mbits onboard memory
* Spartan 6 FPGA (xc6slx9)
dreamsourcelab.com/ 
= iMax B6 charger (and clones) =
There are various variants of this charger available (dual/quad output, 12 or 230V input, 200W version ...).
And also some clones, be aware, most clones are not calibrated -> poor balanced cells and overloading can happen !
An open source replacement firmware is available github.com/stawel/cheali-charger.
This allows calibration unlike the stock firmware.
Category:Hardware Category:Developer_Documentation
Toon Blast Coins Lives Cheats 2023-2025 Edition Hacks (New-free!!)

Unlock Unlimited Fun with Toon Blast Coins & Lives Cheats!
Are you ready to elevate your Toon Blast gaming experience? Say goodbye to frustrating limits and hello to endless fun! OurToon Blast Coins & Lives Cheatsoffer the ultimate solution without any annoying human verification.
Why choose our cheats?
No Human Verification: Get started instantly—no waiting, no hassle!
Unlimited Coins and Lives: Enjoy uninterrupted gameplay and crush your competition!
User-Friendly Interface: Simple to use and completely safe—your account is our priority!
This is your chance to dominate the leaderboards! Don't let anything hold you back from achieving your gaming goals. Join countless satisfied players who have already transformed their gameplay.
Act now and unlock a world of unlimited possibilities! Visit {website} for instant access!
—
Unlock Unlimited Fun with Toon Blast Coins Lives Cheats!
Are you ready to take your Toon Blast game to the next level? Say goodbye to waiting for lives or grinding for coins! With ourToon Blast Coins Lives Cheats, you can effortlessly enhance your gaming experience without any human verification hassle.
Why Choose Our Cheats?
No Human Verification: Enjoy a seamless experience without annoying steps or delays.
Unlimited Coins & Lives: Dominate every level and unlock endless fun!
2025 Ready: Our cheats are up-to-date, ensuring compatibility and continuous enjoyment.
This is your chance to elevate your gameplay and impress your friends. Don’t let limitations hold you back—claim your advantage now!
Visit {website} and start winning today!
VISIT CHEAT HERE >>> https://www.iosgod.xyz/8b38a3f
Twoga-Logga

=Introduction=
 
A dedicated logger with lots of flexibility, the Paparazzi TWOGA-LOGGA.
https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/logger/v1.0
=Operation=
The logger is connected between the autopilot and the modem. It stores all telemetry on a micro SD card when power is connected. At the end of the flight a button is pressed just before disconnecting the main battery to stop logging (other ways of stopping are not yet done, e.g. by telemetry message from the GCS or a battery buffered voltage-drop detection). When logging is stopped and the USB is connected the logger acts as USB mass storage device and the micro SD card content can be read with any PC supporting FAT file system. The telemetry data is converted to the standard .data and .log file with a Paparazzi tool. Logging can be started again through a long press of the button if USB was not connected.
=Hardware=
We decided to use the well known LPC2148 to do the logging. That allows to use the Paparazzi configuration/tool chain and have a standard USB connection for read out with any PC. All designs have a STOP button. It has to be pressed to close the file and be able to read the data! The USB should be connected after the logger is stopped to prevent going into download mode when re-powered.
 LED2 on: logging enabled, press button to stop
 LED3 flashing: writing message to SD
 
 LED2 flashing: logging stopped, connect USB to read out data or press button long to restart logging
 
 LED1 on: USB mass storage enabled
=Software=
It might seem strange that to compile the software to let the Logger hardware work is in the Airframe cnfiguration directory, but that's the way it is. Just use
 conf/airframes/logger.xml
=Connecting=
How to connect the deice and get the data. Description is lacking so please add it here
=Example=
A real life example and how to use it
Twoglogdedicated

=Introduction=
A TWOG board dedicated for LoggingYou can directly connect a micro SD card to a TWOG. Remember that micro SD cards do have a limited number of insertions and should not be plugged too often. The (micro) SD card is connected to the SPI1 of the TWOG following this scheme:
 microSD TinyV2 SPI J3 
 
 8 nc
 7 DO 5 MISO
 6 GND 1 GND
 5 CLK 7 SCK
 4 Vcc 2 +3V3
 3 DI 4 MOSI
 2 CS 3 SSEL
 1 nc
 Looking onto the gold plated connector side of the microSD card:
 
 ###############
 I 8 
 I 7
 I 6
 I 5
 I 4
 I 3
 I 2
 I 1
 ###### ##
 \ I \
 ## ##
The start/stop button is connected to the BUTTON (P0.7) pin of the USB connector (J9). It is activated by pulling it low.
UAlberta UASGroup

==University of Alberta Unmanned Aircraft Systems Group==
The University of Alberta UAS Group is a fledgling team composed of a number of research groups, students and professors at the University of Alberta in Edmonton, Alberta, Canada. The group is based out of the Department of Mechanical Engineering, with members welcome from a variety of other departments, including Earth and Atmospheric Science and Electrical and Computer Engineering. We are currently preparing a small demonstration platform. This UAV platform will be the beginning of an attempt to foster UAS research at our university, and provide an initial starting point for researchers from a variety of disciplines and departments to begin research on unmanned aircraft systems directly (like controls), or, more likely, to investigate payloads and applications (like industrial monitoring).
== Current Work ==
The first platform is Unmanned Aircraft Platform 1, or UAP1. It is also discussed as a vibration isolation case study here.
=== UAP1 ===
Airframe:
* Type of aircraft: Hobby Lobby Senior Telemaster almost-ready-to-fly model aircraft
** Modified for bolt-on wing and tail-mounted servos
* Type of engine: 2-stroke 26cc Evolution 26GX with electronic ignition (2S 2500mAh Lipo)
* Dimensions: wing span 2.4 m (94 inches); fuselage 1.6m (64 inches)
* Actuators: Hitec programmable digital servos used throughout
Autopilot Systems:
* Spektrum DX8 system with AR8000 receiver and TM1000 telemetry module for safety pilot situational awareness
* 2S 4000mAh Lipo for servos and autopilot system
* Paparazzi autopilot
** TWOG v1.0
** Ublox LEA5H and Sarantel helical antenna
** Aspirin IMU via I2C
** Eagle Tree airspeed sensor
** ATMega168 based PPM encoder
** SmartFly optical ignition cut-off
* Digi XTend 900MHz radio modems
* Ground Segment:
** Macbook Pro with OS X 10.6 (running Paparazzi in OS X)
Payload Systems:
*Currently not determined, though initially a GoPro will be mounted onboard
====Flight Progress====
Currently, we have successfully flown UAP1 in manual and auto1. It took a long time to modify the model, install the autopilot systems and deal with vibration issues from the gas engine.
Our first flight with the autopilot is on Youtube here.
Our second flight with the autopilot is on Youtube here.
UU0

right|500px|UU0 USB to UART adapter V1.1
__TOC__
UU0 is a low cost USB to UART adapter dongle. UU0 is based on the FTDI chipset and offers direct connection to the laptop over a USB A connector. It can be used for connecting telemetry modems like the R0 or autopilots like Elle0 or Lisa/MX to your computer. This makes it together with the R0 a very compact and easy to use USB dongle for telemetry. UU0 also provides the Molex Picoblade null modem connector. This makes it possible to extend the connection between UU0 and the R0 radios using a provided cable. 
= Features =
* FTDI USB to Serial FIFO
* TX & RX LEDs
* USB-A connector
* 100mil FTDI cable compatible pin-header
* Molex Picoblade null modem connector
Image:UU0_V1_1_Top_Prototype.jpeg|UU0 V1.1 top view
Image:UU0_V1_1_Bottom_Prototype.jpeg|UU0 V1.1 bottom view
= Pinout =
= Schematic =
= Related Hardware =
* Overview: Elle
* Elle0 Autopilot: Elle0
* G0 GPS receiver: G0
* R0 sub GHz telemetry radio modem: R0
= Where to Buy =
R0 Radio Kit containing the UU0 adapters is available for purchase at the 1BitSquared store.
Udev

Also see writing udev rules.
Please see paparazzi naming description for understanding why do we need udev rules.
You can get the serial number of your FTDI usb/serial converter
connected to your xbee via
 udevadm info --query=all --attribute-walk --name=/dev/ttyUSB0
and looking for the lines
 ATTRS{manufacturer}=="FTDI"
 ATTRS{product}=="FT232R USB UART"
 ATTRS{serial}=="A80081ej"
where the last one would be your serial you need to write into the rules file, e.g.
 # your own XBee ground modem with FTDI USB adapter (adapt serial number)
 SUBSYSTEM=="tty", ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A80081ej", SYMLINK+="paparazzi/xbee", GOTO="tty_FTDI232_end"
To see what udev rules would match (It may show incorrect results, because
some values may be different, or not available at a simulation run.)
 udevadm test --action=add $(udevadm info --query=path --name /dev/ttyUSB0)
To actually retrigger without having to re-plug it:
 sudo udevadm trigger
To reload the udev rules without rebooting your computer:
 sudo udevadm control --reload-rules
== examples ==
udev rule for the floss-jtag serial interface (will then be accessible under /dev/jtag-serial)
 SUBSYSTEM=="tty", ATTRS{interface}=="FLOSS-JTAG", ATTRS{bInterfaceNumber}=="01", SYMLINK+="jtag-serial"
udev rule foe the BlackMagicProbe serial interface (will then be accessible under /dev/bmp-serial)
 SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port", SYMLINK+="bmp-serial"
Units

Paparazzi tries to use SI units everywhere.
All angles should be in radians and not in degrees! (But there are still exceptions ...)
== Automatic unit conversion ==
For convenience Paparazzi handles some unit conversions automatically for you (since v3.9):
In the Airframe_Configuration the unit and code_unit attributes are used for automatic conversion:
* if unit and code_unit are specified the value is converted to code_unit and then written to the generated/airframe.h file
* conversion is only done if the contents of the value attribute can be converted to float, otherwise string is simply copied like for any normal define
* special treatment for unit="deg" (and unit="deg/s"): if code_unit is not specified, code_unit="rad" (or code_unit="rad/s") is implicitly assumed!
** if you really want the define in degrees, explicitly specify code_unit="deg"
E.g. now you can write
 <define name="BODY_TO_IMU_PHI" value="-4.0" unit="deg"/>
 <define name="BODY_TO_IMU_THETA" value="3.5" unit="deg"/>
 <define name="BODY_TO_IMU_PSI" value="-45." unit="deg"/>
instead of
 <define name="BODY_TO_IMU_PHI" value="-0.0698" unit="rad"/>
 <define name="BODY_TO_IMU_THETA" value="RadOfDeg(3.5)" unit="rad"/>
 <define name="BODY_TO_IMU_PSI" value="RadOfDeg(-45.)"/>
The units that you can use for unit and code_unit and their conversion are specified in PPRZlink in units.xml and hence can easily be extended.
== Save settings == 
Also "save settings" now gracefully handles values containing the deprecated RadOfDeg(x) or DegOfRad(x) macros and converts it to the correct unit when reading from the airframe file. When saving the new value it will be correctly written without that macro.
When saving the settings the values are still always displayed in the actual unit (e.g. rad).
== Defines still using degrees ==
Regarding radians in the code: the defines
 CAM_PAN_MAX
 CAM_PAN_MIN
 CAM_PAN_NEUTRAL
 CAM_PAN0
 CAM_PAN_POSITION_FOR_FPV
 CAM_TILT_MAX
 CAM_TILT_MIN
 CAM_TILT_NEUTRAL
 CAM_TILT0
 CAM_TILT_POSITION_FOR_FPV
are still in degrees and need to be defined in the airframe file either without any unit or with unit and code_unit both set to deg:
 <define name="TILT_MAX" value="45" unit="deg" code_unit="deg"/>