Serial (RS232) Protocol
- Last updated
- Save as PDF
VBOX 3i Product Range
The following information relates to VBOX 3i products.
The VBOX units output the serial protocol through the RS232/CAN port, the USB port and via Bluetooth.
The RS232 output protocol is 115200 Baud, no parity, 8 data bits, 1 stop bit.
Note: The USB and Bluetooth options can output the messages in the full 100 Hz bandwidth, while the RS232 port has limitations. Due to the max bandwidth being 115200, live data transfer of all channels is limited to 20 Hz. 50 Hz should only be used to transmit standard GPS channels and Solution Type, and 100 Hz can only transmit Sats, Time, Speed, and Trigger Event Time. Logging too many channels at too high a rate will cause drop-outs and loss of data. For maximum accuracy, you should log tests performed at a GPS sample rate of more than 20 Hz to a compact flash card and do a post-process analysis.
Serial String Format
Message format:
$VBOX3i,nnnn0000,stttaaaaoooovvhheeezzyyxxffffjjjj1111222233334444lpddddddqqrrii77778888kkmmmgggg559966cc
The $VBOX3i and commas are in ASCII, the rest is in binary.
The byte ordering format is big-endian (Motorola).
Although not all of the channels listed below are present in the serial stream by default (you can select them in the VBOX Setup software), the following table shows the order in which they will appear in the data stream.
Click on the highlighted descriptions to see the specifications for each channel.
Note: If you are using VBOX 3i Firmware Version 3.0 or later, you can find more information about selecting channels to send over serial here.
Enter first 4 bytes (nnnn) as 8 characters of hexadecimal:
Part of String | Type | Bytes | Description | nnnn, bit mask |
---|---|---|---|---|
nnnn | 4 | Reserved to indicate channel presence | ||
0000 | 4 | Reserved | ||
s | Integer | 1 |
Numerical value |
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 |
Knots * 100 |
0x00000010 |
hh | Integer | 2 |
Degrees from True North * 100 |
0x00000020 |
eee | Integer | 3 |
Altitude in metres WGS84 * 100 True signed 24 bit number |
0x00000040 |
zz | Signed | 2 |
m/s * 100 |
0x00000080 |
yy | Signed | 2 |
g * 100 |
0x00000100 |
xx | Signed | 2 |
Longitudinal Acceleration (GPS) g * 100 |
0x00000200 |
ffff | Integer | 4 |
m *12800 |
0x00000400 |
jjjj | Integer | 4 |
Distance from power on, m *12800 |
0x00000800 |
1111 | Float | 4 | Internal analogue ch1 | 0x00001000 |
2222 | Float | 4 | Internal analogue ch2 | 0x00002000 |
3333 | Float | 4 | Internal analogue ch3 | 0x00004000 |
4444 | Float | 4 | Internal analogue ch4 | 0x00008000 |
l | Integer | 1 | 0x00010000 | |
p | Integer | 1 |
Numerical value |
0x00020000 |
dd | 2 | Reserved | 0x00040000 | |
dd | 2 | Reserved | 0x00080000 | |
dd | 2 | Reserved | 0x00100000 | |
Integer | 2 | VBOX Serial Number | 0x00200000 | |
rr | Integer | 2 |
Numerical value |
0x00400000 |
ii | Integer | 2 |
Numerical value |
0x00800000 |
7777 | Integer | 4 | Velocity Quality | 0x01000000 |
8888 | 4 | Reserved | 0x02000000 | |
kk | 2 | Reserved | 0x04000000 | |
mmm | 3 | Reserved | 0x08000000 | |
gggg | Float | 4 | Event time | 0x10000000 |
55 | 2 | Reserved | 0x20000000 | |
99 | 2 | Reserved | 0x40000000 | |
66 | 2 | Reserved | 0x80000000 | |
cc | 2 | Checksum |
*This channel is not available on VBOX 3i ADAS units.
NEWPOS Serial String Format
This is a message that contains additional channels to the serial message. Information in this message will provide you with an exact position in Longitude and Latitude.
If your VBOX 3i unit has RTK enabled and configured for 2cm DGPS (CMR, RTCM V3, NTRIP), and you have set either the Latitude or Longitude channel to be sent over serial, the NEWPOS message will be added to the serial string and the data stream will look like the following example:
$VBOX3i,nnnn0000,stttaaaaoooovvhheeezzmmmggggcc$NEWPOS,aaaaaaaabbbbbbbbcc
$NEWPOS,aaaaaaaabbbbbbbbcc is the additional exact Longitude and Latitude information to the serial data stream.
Part of string | Bytes | Description |
---|---|---|
$NEWPOS | 7 | String header |
, | 1 | comma separator |
aaaaaaaa | 8 | Longitude 64-bit float. little-endian (Intel). The least-significant byte is stored first. |
bbbbbbbb | 8 | Latitude 64-bit float. |
cc | 2 | Checksum |
NEWCAN Serial String Format
This is a message that contains additional channels to the serial message. Information in this message can be linked to anything that is not covered in standard serial, such as modules, ADAS channels, etc. This information is either configured in the setup software or requested by VBOX Test Suite.
You can use VBOX Setup to configure additional channels, by adding modules, CAN channels, and ADAS systems and by ticking the advanced box and selecting send to serial.
When any of these channels are selected to be present in the Serial data stream the data stream will look like the following example:
$VBOX3i,nnnn0000,stttaaaaoooovvhheeezzmmmggggcc$NEWCAN,####,1111.....wwwwzz
$NEWCAN,####,1111.....wwwwzz is the additional CAN channel information to the serial data stream.
Note: The order in which the data will come across depends upon the order in which you select the channels from the set-up screen. For example, if the first channel you choose to log is FIM Channel 1 then the first 4 bytes will contain the data from the FIM. If the second channel was ADC02 Channel 4 then the next 4 bytes will contain data for the ADC02. If you then remove (choose not to log) FIM Channel 1 and select ADC02 Channel 1 then the first 4 bytes will now contain the data for ADC02 Channel 1.
The data transmitted for each channel is in a standard IEEE 32-bit Float format.
The byte ordering format is big-endian (Motorola).
Part of string | Bytes | Description | ####, bit mask |
---|---|---|---|
$NEWCAN | 7 | String header | |
#### | 4 | Reserved to indicate channel presence | |
, | 1 | comma separator | |
1111 | 4 | Additional Channel 1 | 0x00000001 |
2222 | 4 | Additional Channel 2 | 0x00000002 |
3333 | 4 | Additional Channel 3 | 0x00000004 |
4444 | 4 | Additional Channel 4 | 0x00000008 |
5555 | 4 | Additional Channel 5 | 0x00000010 |
6666 | 4 | Additional Channel 6 | 0x00000020 |
7777 | 4 | Additional Channel 7 | 0x00000040 |
8888 | 4 | Additional Channel 8 | 0x00000080 |
9999 | 4 | Additional Channel 9 | 0x00000100 |
aaaa | 4 | Additional Channel 10 | 0x00000200 |
bbbb | 4 | Additional Channel 11 | 0x00000400 |
cccc | 4 | Additional Channel 12 | 0x00000800 |
dddd | 4 | Additional Channel 13 | 0x00001000 |
eeee | 4 | Additional Channel 14 | 0x00002000 |
ffff | 4 | Additional channel 15 | 0x00004000 |
gggg | 4 | Additional Channel 16 | 0x00008000 |
hhhh | 4 | Additional Channel 17 | 0x00010000 |
iiii | 4 | Additional Channel 18 | 0x00020000 |
jjjj | 4 | Additional Channel 19 | 0x00040000 |
kkkk | 4 | Additional Channel 20 | 0x00080000 |
llll | 4 | Additional Channel 21 | 0x00100000 |
mmmm | 4 | Additional Channel 22 | 0x00200000 |
nnnn | 4 | Additional Channel 23 | 0x00400000 |
oooo | 4 | Additional Channel 24 | 0x00800000 |
pppp | 4 | Additional Channel 25 | 0x01000000 |
qqqq | 4 | Additional Channel 26 | 0x02000000 |
rrrr | 4 | Additional Channel 27 | 0x04000000 |
ssss | 4 | Additional Channel 28 | 0x08000000 |
tttt | 4 | Additional Channel 29 | 0x10000000 |
uuuu | 4 | Additional Channel 30 | 0x20000000 |
vvvv | 4 | Additional Channel 31 | 0x40000000 |
wwww | 4 | Additional Channel 32 | 0x80000000 |
zz | 2 | Checksum |