The RS232 output is there to provide a connection to a computer so that you can configure the settings of the VBOX Speed Sensor in the VBOX Setup Software. The R232 output can also output NMEA format messages and the Racelogic Braketest format.
Protocol:
115200 Baud, no parity, 8 data bits, 1 stop bit
Message format:
$VB2100stttaaaaaaaaoooooooovvhhAAggGGcc
| Parameter | Number of bytes | Description |
|---|---|---|
| $VB2100 | 7 | Header |
| S | 1 | SatsNumber of satellites used |
| ttt | 3(MSB first) | TimeTicks since midnight UTC, incrementing every 100 ms |
| aaaaaaaa | 8 (MSB first) | LatitudeDouble precision float 64 bit (radians) |
| oooooooo | 8 (MSB first) | LongitudeDouble precision float 64 bit (radians) |
| vv | 2 (MSB first) | Velocity0.01 knots per bit |
| hh | 2 (MSB first) | Heading0.01° per bit |
| AA | 2 (MSB first) | Vertical Velocity0.01 m/s per bit |
| gg | 2 (MSB first) | Lateral Acceleration0.01 g per bit |
| GG | 2 (MSB first) | Longitudinal Acceleration0.01 g per bit |
| cc | 2 (MSB first) | SeeCRC Calculation examplebelow |
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;
Protocol:
115200 Baud, no parity, 8 data bits, 1 stop bit
Message format:
$VBBTSTstttvvvvhhVVVVddddddddeeeescc
The header $VBBTST is in ASCII, the rest of the message is in hexadecimal.
| Parameter | Number of bytes | Description |
|---|---|---|
| $VBBTST | 7 | Header |
| S | 1 | SatsNumber of satellites used |
| ttt | 3 (MSB first) | TimeNumber of 10 ms ticks since midnight UTC, 24 bit unsigned integer |
| vvvv | 4 (MSB first) | Velocity(m/s), 32 bit IEEE float |
| hh | 2 (MSB first) | HeadingHeading in degrees (0.01°), 16 bit unsigned integer |
| VVVV | 4 (MSB first) | Event VelocitySpeed at last event (m/s), 32 bit IEEE float |
| dddddddd | 8 (MSB first) | Brake DistanceDistance since brake event (m), 64 bit IEEE double precision floating point number |
| eeee | 4 (MSB first) | Event TimeTime of event from midnight (seconds) |
| s | 1 (MSB first) | Status Flag0x01 for brake trigger, 0x02 for brake trigger active |
| cc | 2 (MSB first) | SeeCRC Calculation examplebelow |
Notes:
- The 32-bit floats are in Little endian format (low byte first or Intel format)
- The Brake distance number is in Big endian format (high byte first or motorola format)
CRC Calculation example:
s[n] is a string containing the message
Polynomial:= 4129 (0x1021)
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;
IMPORTANT - This is not available on the 5 Hz unit.
The VBOX Speed Sensor can output 6 types of NMEA messages, the most commonly used are GPGGA and GPVTG, the contents of which are shown below.
$GPGGA_hhmmss.ss_Latitude_N_Longitude_E_FS_NoSV_HDOP_msl_m_Altref_m_DiffAge_DiffStation*cs<CR><LF>
| Name | ASCII String | Units | Description | ||
|---|---|---|---|---|---|
| Format | Example | ||||
| $GPGGA | string | $GPGGA | Message ID | GGA protocol header | |
| hhmmss.ss | hhmmss.ss | 092725.00161229.487 | UTC Time | Current time | |
| Latitude | dddmm.mmmm | 4717.113993723.2475 | Latitude | Degrees + minutes | |
| N | character | N | N/S Indicator | N=north or S=south | |
| Longitude | dddmm.mmmm | 00833.9159012158.3416 | Longitude | Degrees + Minutes | |
| E | character | WE | E/W indicator | E= east or W= west | |
| FS | 1 digit | 1 | Position Fix Indicator | See Table 41 | |
| NoSV | numeric | 078 | Satellites Used | Range 0 to 12 | |
| HDOP | numeric | 1.001 | HDOP | Horizontal Dillution of Precision | |
| Ms1 | numeric | 499.69.0 | m | MSL Altitude | |
| M | character | M | Units | m | |
| Altref | blank | 48.0 | m | Geoid Separation | |
| M | blank | M | Units | m | |
| DiffAge | numeric | second | Age of Differential Corrections | Blank (Null) fields when DGPS is not used | |
| DiffStation | numeric | 0 | Diff. Reference Station ID | ||
| Cs | hexadecimal | *5B*18 | Checksum | ||
| End of message | |||||
$GPVTG_cogt_T_cogm_M_sog_N_kph_K*cs<CR><LF>
| Name | ASCII String | Units | Description | ||
|---|---|---|---|---|---|
| Format | Example | ||||
| $GPVTG | string | $GPTVTG | Message ID | VTG protocol header | |
| cogt | numeric | 77.52 | Degrees | Course over ground (true) | |
| T | character | T | fixed field | True | |
| cogm | Blank | Course over ground (magnetic) | Not output (empty) | ||
| M | character | M | fixed field | Magnetic | |
| sog | numeric | 0.004 | Knots | Speed over ground | |
| N | character | N | |||
| kph | numeric | 0.008 | km/h | Speed | |
| K | character | K | K | Kilometers per hour - fixed field | |
| cs | hexadecimal | * 0B | Checksum | ||
| End of message | |||||