TelemetryJet Serial Protocol
The TJet Serial protocol is a “key-length-value” protocol optimized for small transmission size. The protocol transmits data in key/value pairs, and contains error detection redundancies. TJet is an approachable protocol, and can be used to communicate with Arduino projects. The TelemetryJet Arduino SDK implements this protocol.
The protocol is stateless: There is no handshake or other communication required to establish a connection, and each packet exists in isolation. Each packet consists of the following data:
|Start Byte||Value Type||Key Length||Value Length||Key||Value||Checksum|
|0xFF||0x00 = Integer|
0x01 = Float
|0 - 255|
Length, in bytes, of the key data.
|The key string.||0 - 255|
Length, in bytes, of the value data.
|The value data.||Wrapped checksum.|
0xFF - Sum of packet bytes.
The key and values are both limited in length to 255 bytes. This limitation allows the length values to be stored in a single byte.
The throughput of the protocol is limited by the length of the data being sent, and the baud rate of the connection. Longer keys or values will take longer to send, and therefore be able to send less data per second.