Skip to main content
RACELOGIC Support Centre

VBOX Sigma - RS232 Output Format

The RS232 output is present on the 6 Way Hirose connector on the bottom of the unit and can be used to provide a connection to a computer for testing online with VBOX Test Suite.


Protocol:

115200 Baud, no parity, 8 data bits, 1 stop bit
 

Message format:

$VBSIG$StttaaaaaaoooooovvvhhAAAVVxxyysddTTcc
 

Parameter Number of bytes Description

$VBSIG$

7

Header
Message identifier as ASCII string.

S

1

Total satellites
Number of satellites used in solution irrespective of GNSS. Range (0, 255).

Note: All eight bits are used.

ttt

3

Time
Number of 10 ms ticks since midnight UTC. Range (0, 8641000).

aaaaaa

6

Latitude
Signed integers, 0.0000001 minutes per bit. Range (-539999999999, 540000000000)

oooooo

6

Longitude
Signed integers, 0.0000001 minutes per bit. Range (-1079999999999, 1080000000000).

vv

2

Speed
Unsigned integer, 0.01 kts per bit. Range (0, 63535). 

hh

2

Heading
Unsigned integer, 0.01° per bit. Range (0, 35999).

AAA

3

Altitude
Signed integer, 0.01 m per bit. Range (-8388608, 8388607).

VV

3

Vertical velocity
Signed integer, 0.01 m/s per bit. Range (-32768, 32767).

xx

2

Lateral acceleration
Signed integer, 0.01 g per bit. Range (-32768, 32767).

yy

2

Longitudinal acceleration
Signed integer, 0.01 g per bit. Range (-32768, 32767).

s

1

Solution type
Enumeration as signed integer.

  • -1: No data
  • 0: No solution
  • 1: Stand alone
  • 2: Code differential
  • 3: RTK Float
  • 4: RTK Fixed
  • 5: Fixed position
  • 6: IMU coasting

dd

2

Date
DOS format.

  • Bits 0–4: Day of month Range (1, 31).
  • Bits 5–8: Month Range (1, 12).
  • Bits 9–15: Years since 1980 Range (0, 128).

TT

2

Differential Correction Age
Unsigned integer, 0.01 seconds per bit (i.e. 10 ms per bit). Range (0, 655.35s).

cc

2

Checksum
Standard Racelogic communications CRC calculation, See example below.


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;

  • Was this article helpful?