Monday, February 17, 2014

LightTelemetry v2: en route to ground OSD.

LTM protocol has been extended to prepare the future ground OSD for Ghettostation.
I think I have some pretty good refresh rate of all needed data for that purpose.
We now have 3 different frames:

- GPS frame (G): Latitude, Longitude, Ground Speed, Altitude, Number of sats, GPS fix type

- Attitude frame (A): Pitch, Roll, Heading

- Sensors/Status frame (S): Battery Voltage, Current consumed, RSSI, Airspeed,  Armed state, Failsafe state, Flight mode


1200 bauds 2400 bauds+
G frame 2hz 5hz
A frame 5hz 10hz
S frame 2hz 5hz


GPS frame
0x24 0x54 0x47 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF
$ T G Latitude
(degre*10000000)
Longitude
(degre*10000000)
Ground Speed
(m/s)
Altitude
(cm)
first 2 bits: Fix
last 6 bits: Sats
CRC
xor byte 4 to 15
Start 1 Start 2 Frame ID Payload Checksum

Attitude frame
0x24 0x54 0x41 0x00 0x00 0x00 0x00 0x00 0x00 0xFF
$ T A Pitch
(degre)
Roll
(degre)
Heading
(degre)
CRC
xor byte 4 to 9
Start 1 Start 2 Frame ID Payload Checksum

Sensors/Status frame
0x24 0x54 0x53 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF
$ T S Vbat (mv) Consumed current (ma) RSSI Airspeed
(m/s)
1st bit: armed
2nd bit: failsafe
latest: flight mode
CRC
xor byte 4 to 10
Start 1 Start 2 Frame ID Payload Checksum

Ghettostation, Taulabs & Baseflight have all been updated to ltm v2 on my github.

You still can use my TL & BF builds here:  Google drive

There's almost no lag in the attitude data, that's a really good news, I was a bit afraid that such low baudrate would prevent a nice smooth horizon bar. 
Ground base OSD will be a really cool feature. Less cables on air seems better to me.