LTM light weight telemetry

 https://github.com/iNavFlight/inav/wiki/Lightweight-Telemetry-(LTM)


start with $T, followed by function byte, then payload, end with CRC(XOR of payload bytes)

Function ByteUsageFrequency
GGPS Frame5Hhz at > 2400 baud
AAttitude Frame10 Hz at > 2400 baud
SStatus Frame5Hhz at > 2400 baud
OOrigin Frame1 Hz rate
NNavigation Frame (iNav extension)~4 Hz rate
XGPS eXended data (iNav extension)1 Hz rate



https://ardupilot.org/rover/docs/common-ltm-telemetry.html


Good example on decodeing LTM

https://github.com/vierfuffzig/LTM2MAVLink/blob/master/LTM2MAVLink/LTM2MAVLink.ino


* LightTelemetry protocol (LTM)
*
* Ghettostation one way telemetry protocol for really low bitrates (1200/2400 bauds).
*
* Protocol details: 3 different frames, little endian.
* G Frame (GPS position) (2hz @ 1200 bauds , 5hz >= 2400 bauds): 18BYTES
* 0x24 0x54 0x47 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xC0
* $ T G --------LAT-------- -------LON--------- SPD --------ALT-------- SAT/FIX CRC
* A Frame (Attitude) (5hz @ 1200bauds , 10hz >= 2400bauds): 10BYTES
* 0x24 0x54 0x41 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xC0
* $ T A --PITCH-- --ROLL--- -HEADING- CRC
* S Frame (Sensors) (2hz @ 1200bauds, 5hz >= 2400bauds): 11BYTES
* 0x24 0x54 0x53 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xC0
* $ T S VBAT(mv) Current(ma) RSSI AIRSPEED ARM/FS/FMOD CRC

 

GPS Frame (G)

Payload: 14 bytes

  • Latitude, int32 [decimal degrees * 10,000,000]
  • Longitude, int32 [decimal degrees * 10,000,000]
  • Ground Speed, uchar [m/s]
  • Altitude, uint32, [cm]
  • Sats, uchar,
    • bits 0-1 : fix
    • bits 2-7 : number of satellites

Attitide Frame (A)

Payload: 6 bytes

  • Pitch, int16, [degrees]
  • Roll, int16, [degrees]
  • Heading, int16, [degrees]

Status Frame (S)

Payload: 7 bytes

  • Vbat, uint16, [mV]
  • Current, uint16, [mA]
  • RSSI, uchar
  • Airspeed, uchar8, [m/s]
  • Status, uchar
    • bit 0: Armed
    • bit 1: Failsafe
    • bits 2-6 : Flight mode:
      • 0 : Manual
      • 1 : Rate
      • 2 : Angle
      • 3 : Horizon
      • 4 : Acro
      • 5 : Stabilized1
      • 6 : Stabilized2
      • 7 : Stabilized3
      • 8 : Altitude Hold
      • 9 : GPS Hold
      • 10 : Waypoints
      • 11 : Head free
      • 12 : Circle
      • 13 : RTH
      • 14 : Follow me
      • 15 : Land
      • 16 : Fly by wire A
      • 17 : Fly by wire B
      • 18 : Cruise
      • 19 : Unknown
 
 
This project take several protocols into LTM 
in this project, we can take the cpp/h file to encode LTM


as for reader, there are  read made one:
 

留言

這個網誌中的熱門文章

Heltec ESP32+OLED+Lora, hardware testing

micro SD card for ESP32, on lolin32 with OLED and heltec 32 lora oled

Install Network Time Protocol(NTP) on BeagleBone with Angstrom linux and set local time zone