Standard Modules

Information on all standard modules on what they do and their inputs & outputs

General

All modules use the common library to send & receive data via the long range link. Some modules exist in different implementations depending where they are running (UAV, GND station). All modules log to RSysLog.

Video Module

Capable of transmitting a continuous stream of data that is protected by forward error correction (FEC). Any kind of data can be fed to the UAV module and is stream to the ground.

UAV Input of data stream via STDIN. FEC packets are computed and sent to GND interleaved with data packets. FEC parameters and packet size can be set via config/command line parameters.

-n Name of a network interface that should be used to receive the stream. 
   Must be in monitor mode. Multiple interfaces supported by calling this 
   option multiple times (-n inter1 -n inter2 -n interx)
-c [communication id] Choose a number from 0-255. Same on ground station and UAV!
-d Number of data packets in a block (default 8). Needs to match with RX
-r Number of FEC packets per block (default 4). Needs to match with RX
-f Bytes per packet (default 1024. max 1500). This is also the FEC block size. 
   Needs to match with RX
-b bit rate in Mbps [1|2|5|6|9|11|12|18|24|36|48|54]
   (bitrate option only supported with Ralink chipsets)
-t [1|2] DroneBridge v2 raw protocol packet/frame type: 
   1=RTS, 2=DATA (CTS protection)
-a [0|1] disable/enable. Offsets the payload by some bytes so that it sits outside 
   the 802.11 header. Set this to 1 if you are using a non DB-Rasp Kernel!

Example: Send data received via STDIN.

cat mydatasource | video_air -n wlx185 -n wlx185 -c 200 -t 2

GND Data from the UAV module is received and FEC decoded. Depending on the configuration the decoded data is sent to specified outputs. UDP endpoints can register with the module by sending a >0 length UDP packet. This will change the UDP receiver to the senders IP. Destination port is 5000.

Example call: Receive and forward STDOUT to a video player

video_gnd -n wlx185 -n wlx185 -c 200 -u N | MyVideoPlayer -supportsH264

Control Module

The control module is responsible for RC & telemetry on the UAV.

UAV On the UAV the control module operates the serial connections to the flight controller.

  • Receive RC messages & forward them to the FC (SUMD)

  • Receive messages from proxy module and forward them to the FC

  • Receive data from the FC, parse data if configured and forward to proxy module

  • Send status messages to status module (CPU temp, RC packet-loss)

GND Read values from connected RC hardware and forward the channel data to the UAV module using the defined method/protocol.

RC values can be overwritten by other applications (e.g. plugins) using a shared memory object.

Depending on the protocol (-v argument) the data is sent to the DB-RC raw port of the control module or to its transparent pass through raw port (forward to serial port). In case of -v [1-4] the final serial message for the flight controller is generated on the ground station by the control module. The finished message is then sent to the Air module (to same raw port the proxy module uses) and forwarded to the flight controller via the serial connection. In case of -v 5 the final serial message (RC protocol) is generated on the Air side. In that case the more efficient DB-RC message is used on the long range link.

Example: Read from RC connected to /dev/input/js0 and send to control module on Air side

control_ground -n wlx684864 -c 200 -j 0 -v 5 -t 5 -r 70

Proxy Module

Runs on the ground station computer.

  • Receives any kind of data via the long range link

  • Forwards received data to all connected TCP clients

  • Bi-Directional: Forwarding of TCP data via long range link to control module raw port

  • Fully transparent

  • Writes data received via long range link to /root/telemetryfifo1 for further processing by the OSD

Example: Wifi to DroneBridge long range link bridge:

db_proxy -n wlx785 -c 200 -o N -t 2

Status Module

Receives and processes status messages like CPU load and temperature of the Air-Unit. Used for information with higher update rates (>5Hz)

USBBridge

Used to forward TCP/UDP messages transparently between and android device and the DroneBridge modules. Implements the Android Open Accessory Protocol and the DroneBridge USB message.

OSD

Runs on the ground station. Creates an OSD overlay based on telemetry received via the proxy module (FIFO: /root/telemetryfifo1).

Syslog Server

Receives messages from RSysLog and forwards them to all connected TCP clients.

Last updated