VBOX HD Lite Serial (RS232) Protocol
VBOX HD Lite Serial String Format
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 | Reserved to indicate channel presence (always 0x080003FF on VBOX HD Lite) | ||
ffff | 4 |
Status Flags Bit Description 4 Logging active 6 Media full 7 Media available |
||
s | Integer | 1 |
Satellites |
0x00000001 |
ttt | Integer | 3 |
Time |
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 |
0x00000010 |
hh | Integer | 2 |
Heading |
0x00000020 |
eee | Integer | 3 |
Height Altitude in metres WGS84 * 100 True signed 24 bit number |
0x00000040 |
zz | Signed | 2 |
Vertical Velocity |
0x00000080 |
xx | Signed | 2 |
Long acc (GPS) |
0x00000100 |
yy | Signed | 2 |
Lat acc (GPS) |
0x00000200 |
mmm | Integer | 3 |
RAM Address |
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;