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:
 

留言

這個網誌中的熱門文章

Meshtastic 03 adding GPS on TTGO lora32 V2

Meshtastic 02 try to work with sensors

GeoSetter how to add geotag on to pictures, and export to google earth as kmz