Serial Data Format
Introduction
Data is in the same format in both the live serial stream and as stored on the compact flash card. However, not all messages are sent in both formats depending on the configuration of the system.
All messages are in the same format:
Header byte | data1 | data2 | data3 | ... | dataN | checksum |
The header is a single byte, the data length is between 1 and 255 bytes depending on the type of message and the checksum is a single byte which is calculated from the sum off all bytes including the header. In the typical case where the checksum is greater than 255, then only the least significant byte is stored.
Note that since the data stream is binary, there is not possible to have a "unique" header available before each message - as such the data has to be decoded continuously to ensure that correct messages are extracted. For example if we start decoding a stream and we get a value of "9" for the first byte, we can see from the table below "message type 9" is 5 bytes long, so we wait until we get another 4 bytes; and then check the checksum. If the checksum is correct then it is likely (1 in 256) that this was a "type 9 message" and we move onto the next message to decode. If the checksum was incorrect then we use the 2nd byte as the message header and check its checksum and so on. It is unlikely, but possible to get incorrect messages decoded when we first start decoding the data stream however the chances rapidly decrease with just a few messages.
- After decoding 1 message in a row without error there is a 1 in 256 chance of an incorrect message
- After decoding 2 message in a row without error there is a 1 in 65536 chance of an incorrect message
- After decoding 3 messages in a row without error there is a 1 in 16million chance of an incorrect message
The following table gives summary information on the range, resolution and units used for some common serial data channels. For more information refer to specific channel pages.
Channel type
| Range
| Resolution
| Unit
|
External temperature channel
| -3276.8 – 3276.7
| 0.1C
| C
|
External pressure channel
| 0 - 65535
| 1mB
| mB
|
External frequency channel
| 0 - 6553.5
| 0.1 Hz
| Hz
|
External time channel
| 0 - 65535
| 1ms
| ms
|
External auxiliary (percentage) channel
| -3276.8 - 3276.7
| 0.1%
| %
|
External angle channel
| -3276.8 - 3276.7
| 0.1o
| Degrees
|
External Miscellaneous channel
| 0 - 655.35
| various
| -
|
Yaw / Pitch / Roll rates
| -327.675 – 327.68
| 0. 01o/sec
| Degrees/s
|
Accelerations X/Y/Z
| -127.996 – 127.996
| 1/256g
| g
|
Voltage
| single precision floating point
| v
|
General Purpose
| single precision floating point
| -
|
Serial Physical Layer:
For most products the default data rate is 115200 baud, RS232 levels. 1 start bit, 1 stop bit, no parity bit(s), no handshaking.
Message Index | Length | Description |
1 | 9 | Run Informtion |
2 | 11 | Run start/stop info |
3 | V | Raw GPS Data Input |
4 | 7 | New Sector Time |
5 | 21 | New Lap Marker |
6 | 6 | Logger Storage Channel |
7 | 6 | GPS Time Storage Channel |
8 | 6 | Accelerations |
9 | 5 | Time Stamp |
10 | 14 | GPS Positional Data |
11 | 10 | GPS Raw Speed Data |
12 | 3 | Beacon Pulse Present |
14 | 5 | Frequency 1 |
15 | 5 | Frequency 2 |
16 | 5 | Frequency 3 |
17 | 5 | Frequency 4 |
18 | 5 | Frequency 5 |
19 | V | Serial Data Input |
20 | 4 | Analogue 1 |
21 | 4 | Analogue 2 |
22 | 4 | Analogue 3 |
23 | 4 | Analogue 4 |
24 | 4 | Analogue 5 |
25 | 4 | Analogue 6 |
26 | 4 | Analogue 7 |
27 | 4 | Analogue 8 |
28 | 4 | Analogue 9 |
29 | 4 | Analogue 10 |
30 | 4 | Analogue 11 |
31 | 4 | Analogue 12 |
32 | 4 | Analogue 13 |
33 | 4 | Analogue 14 |
34 | 4 | Analogue 15 |
35 | 4 | Analogue 16 |
36 | 4 | Analogue 17 |
37 | 4 | Analogue 18 |
38 | 4 | Analogue 19 |
39 | 4 | Analogue 20 |
40 | 4 | Analogue 21 |
41 | 4 | Analogue 22 |
42 | 4 | Analogue 23 |
43 | 4 | Analogue 24 |
44 | 4 | Analogue 25 |
45 | 4 | Analogue 26 |
46 | 4 | Analogue 27 |
47 | 4 | Analogue 28 |
48 | 4 | Analogue 29 |
49 | 4 | Analogue 30 |
50 | 4 | Analogue 31 |
51 | 4 | Analogue 32 |
52 | 67 | Channel Data Channel |
53 | 11 | Display Data Channel |
54 | 6 | Reflash Channel |
55 | 10 | Date Storage Channel |
56 | 10 | GPS Course Data |
57 | 10 | GPS Altitude and Speed Accuracy |
58 | 11 | Extended Frequency 1 |
59 | 11 | Extended Frequency 2 |
60 | 11 | Extended Frequency 3 |
61 | 11 | Extended Frequency 4 |
62 | 11 | Extended RPM |
63 | 3 | Start of Run Channel |
64 | 5 | Processed Speed Data |
65 | 30 | Gear Set Up Data |
66 | |11 | Bargraph Set Up Data |
67 | 4 | Dashboard Set Up Data |
68 | 4 | Dashboard Set Up Data Two |
69 | 42 | New Target Sector Time |
70 | 42 | New Target Marker Time |
71 | 3 | Auxillery Input Module Number |
72 | 5 | External Temperature Channel |
73 | 5 | External Frequency Channel |
74 | 5 | External auxillary channels |
75 | 6 | External Time Channel |
76 | 24 | New LCD Data Channel |
77 | 3 | New LED Data Channel |
78 | 6 | Pre Calculated Distance Data Channel |
79 | 4 | Yaw Rates Channel |
80 | 4 | Calculated Yaw Channel |
81 | 5 | Pitch Rate Channel |
82 | 5 | Pitch Angle Channel |
83 | 5 | Roll Rate Channel |
84 | 5 | Roll Angle Channel |
85 | 10 | Gradient Channel |
86 | 5 | Pulse Count 1 |
87 | 5 | Pulse Count 2 |
88 | 5 | Pulse Count 3 |
89 | 5 | Pulse Count 4 |
90 | 6 | Baseline Channel |
91 | 5 | Unit Control Channel |
92 | 4 | Z Acceleration |
93 | 5 | External Angle Channel |
94 | 6 | External Pressure Channel |
95 | 5 | External Miscellaneous Channel |
96 | 10 | Time in to current lap and sector |
97 | 8 | High resolution event timer |
98 | | Not Used |
99 | | Not Used |
100 | | Not Used |
101 | 19 | Sector Definition Channel |
102 | V | BRAKEBOX to PC Communication Channel |
103 | 17 | DVR Communication Channel |
104 | 9 | Video frame index |
105 | 11 | Local NED velocities |
106 | | Not Used |
107 | V | General Configuration Message |
108 -255 | | Not Used |