115200 Baud, no parity, 8 data bits, 1 stop bit
Message format:
$VBOXV$_nnnnffff_stttaaaaoooovvhheeezzxxyymmmcc
The $VBOXV$ and commas are in ASCII, the rest are in binary
| Format | Bytes | Description | nnnn, bit mask. | |
|---|---|---|---|---|
| nnnn | 4 | Reservedto indicate channel presence (always 0x080003FF on VBOX HD Lite) | ||
| ffff | 4 | Status FlagsBit Description4 Logging active6 Media full7 Media available | ||
| s | Integer | 1 | Satellites Number of satellites | 0x00000001 |
| ttt | Integer | 3 | Time Number of 10 ms ticks since midnight UTC | 0x00000002 |
| aaaa | Signed | 4 | Latitude(MMMM.MMMMM * 100_000)Signed Integer of Decimal minutes *100_000.Positive = North, Negative = South | 0x00000004 |
| oooo | Signed | 4 | Longitude(MMMMM.MMMMM * 100_000)Signed Integer of Decimal minutes *100_000.Positive = West, Negative = East | 0x00000008 |
| vv | Integer | 2 | Velocity Velocity in knots * 100 | 0x00000010 |
| hh | Integer | 2 | Heading Degrees from true north * 100 | 0x00000020 |
| eee | Integer | 3 | HeightAltitude in metres WGS84 * 100True signed 24 bit number | 0x00000040 |
| zz | Signed | 2 | Vertical Velocity Vertical velocity in m/s * 100 | 0x00000080 |
| xx | Signed | 2 | Long acc (GPS) Longitudinal acceleration in g * 100 | 0x00000100 |
| yy | Signed | 2 | Lat acc (GPS) Lateral acceleration in g * 100 | 0x00000200 |
| mmm | Integer | 3 | RAM Address Free space on SD *980991 = Full, 0 = Empty | 0x08000000 |
| cc | 2 | Checksum CRC of message, See Note 1* |
*Note 1
CRC Calculation example:
s[n] is a string containing the message
Polynomial:= 4129
CRC:=0;
for Loop:=1 to Length(s) do
begin
Temp:=s[Loop];
CRC:= CRC xor (integer(Temp) * 256);
CRC:= CRC mod 65536;
for i:=7 downto 0 do
begin
if ( (CRC and 32768)=32768) then
begin
CRC:= CRC *2 ;
CRC:= CRC xor Polynomial;
end
else
begin
CRC:= CRC *2 ;
end;
CRC:=CRC mod 65536;
end;
end;
result:=CRC;