Merge pull request #477 from martinbudden/inav_nrf24_protocol_improvements
[betaflight.git] / docs / Telemetry.md
blob1c0c8e1981f3d4ef81add444e67bdf27c66bcdb4
1 # Telemetry
3 Telemetry allows you to know what is happening on your aircraft while you are flying it.  Among other things you can receive battery voltages and GPS positions on your transmitter.
5 Telemetry can be either always on, or enabled when armed.  If a serial port for telemetry is shared with other functionality then then telemetry will only be enabled when armed on that port.
7 Telemetry is enabled using the 'TELEMETRY` feature.
9 ```
10 feature TELEMETRY
11 ```
13 Multiple telemetry providers are currently supported, FrSky, Graupner
14 HoTT V4, SmartPort (S.Port) and LightTelemetry (LTM)
16 All telemetry systems use serial ports, configure serial ports to use the telemetry system required.
18 ## FrSky telemetry
20 FrSky telemetry is transmit only and just requires a single connection from the TX pin of a serial port to the RX pin on an FrSky telemetry receiver.
22 FrSky telemetry signals are inverted.  To connect a cleanflight capable board to an FrSKy receiver you have some options.
24 1. A hardware inverter - Built in to some flight controllers.
25 2. Use software serial and enable frsky_inversion.
26 3. Use a flight controller that has software configurable hardware inversion (e.g. STM32F30x).
28 For 1, just connect your inverter to a usart or software serial port.
30 For 2 and 3 use the CLI command as follows:
32 ```
33 set telemetry_inversion = 1
34 ```
36 ### Precision setting for VFAS
38 INAV can send VFAS (FrSky Ampere Sensor Voltage) in two ways:
40 ```
41 set frsky_vfas_precision  = 0
42 ```
43 This is default setting which supports VFAS resolution of 0.2 volts and is supported on all FrSky hardware.
45 ```
46 set frsky_vfas_precision  = 1
47 ```
48 This is new setting which supports VFAS resolution of 0.1 volts and is supported by OpenTX and er9x/ersky9x firmware (this method uses custom ID 0x39).
51 ### Notes
53 RPM shows throttle output when armed.
54 RPM shows when disarmed.
55 TEMP2 shows Satellite Signal Quality when GPS is enabled.
57 RPM requires that the 'blades' setting is set to 12 on your receiver/display - tested with Taranis/OpenTX.
59 ## HoTT telemetry
61 Only Electric Air Modules and GPS Modules are emulated.
63 Use the latest Graupner firmware for your transmitter and receiver.
65 Older HoTT transmitters required the EAM and GPS modules to be enabled in the telemetry menu of the transmitter. (e.g. on MX-20)
67 Serial ports use two wires but HoTT uses a single wire so some electronics are required so that the signals don't get mixed up.  The TX and RX pins of
68 a serial port should be connected using a diode and a single wire to the `T` port on a HoTT receiver.
70 Connect as follows:
72 * HoTT TX/RX `T` -> Serial RX (connect directly)
73 * HoTT TX/RX `T` -> Diode `-(  |)-` > Serial TX (connect via diode)
75 The diode should be arranged to allow the data signals to flow the right way
77 ```
78 -(  |)- == Diode, | indicates cathode marker.
79 ```
81 1N4148 diodes have been tested and work with the GR-24.
83 As noticed by Skrebber the GR-12 (and probably GR-16/24, too) are based on a PIC 24FJ64GA-002, which has 5V tolerant digital pins.
85 Note: The SoftSerial ports may not be 5V tolerant on your board.  Verify if you require a 5v/3.3v level shifters.
87 ## LightTelemetry (LTM)
89 LTM is a lightweight streaming telemetry protocol supported by a
90 number of OSDs, ground stations and antenna trackers.
92 The INAV implementation of LTM implements the following frames:
94 * G-FRAME: GPS information (lat, long, ground speed, altitude, sat
95   info)
96 * A-FRAME: Attitude (pitch, roll, heading)
97 * S-FRAME: Status (voltage, current+, RSSI, airspeed+, status). Item
98   suffixed '+' not implemented in INAV.
99 * O-FRAME: Origin (home position, lat, long, altitude, fix)
101 In addition, in the inav (navigation-rewrite) fork:
102 * N-FRAME: Navigation information (GPS mode, Nav mode, Nav action,
103   Waypoint number, Nav Error, Nav Flags).
105 LTM is transmit only, and can work at any supported baud rate. It is
106 designed to operate over 2400 baud (9600 in INAV) and does not
107 benefit from higher rates. It is thus usable on soft serial.
109 More information about the fields, encoding and enumerations may be
110 found at
111 https://github.com/stronnag/mwptools/blob/master/docs/ltm-definition.txt
113 ## MAVLink telemetry
115 MAVLink is a very lightweight, header-only message marshalling library for micro air vehicles. 
116 Cleanflight supports MAVLink for compatibility with ground stations, OSDs and antenna trackers built
117 for PX4, PIXHAWK, APM and Parrot AR.Drone platforms.
119 MAVLink implementation in Cleanflight is transmit-only and usable on low baud rates and can be used over soft serial.
121 ## SmartPort (S.Port)
123 Smartport is a telemetry system used by newer FrSky transmitters and receivers such as the Taranis/XJR and X8R, X6R and X4R(SB).
125 More information about the implementation can be found here: https://github.com/frank26080115/cleanflight/wiki/Using-Smart-Port
127 In time this documentation will be updated with further details.
129 Smartport devices can be connected directly to STM32F3 boards such as the SPRacingF3 and Sparky, with a single straight through cable without the need for any hardware modifications on the FC or the receiver.
131 For Smartport on F3 based boards, enable the telemetry inversion setting.
134 set telemetry_inversion = 1