Skip to content

Protobuf Documentation

The Protobuf messages used by SentiSystems and their definitions can be found here: https://gitlab.senti.no/senti/senti-proto

SentiSystems Message Description

Each Protobuf message output from SentiSystems will be prepended with a synchronization byte, the incoming protobuf message ID, and the length (in bytes) of the Protobuf packet.

That is:

<SYNC_ID><Header.MessageID><message_length><Protobuf message>

The SYNC_ID is set to 0x42.

All packets start with a header

Field Type Label Description
message_id SentiMessageID
source uint32 source id of the message (currently used for the port id on SentiBoard)
counter uint32 Counter of messages of type=message_id sent
tov_ns uint64 SentiBoard Time-of-Validity converted to nanoseconds
toa_ns uint64 SentiBoard Time-of-Arrival converted to nanoseconds
utc_s uint32 UTC timestamp
utc_ns int32 UTC timestamp ns. Can be negative uBlox style

SentiIMUMsg

Generic IMU Message

Field Type Label Description
header Header
repeated[3] ang_vel double angular velocity in [x,y,z] direction [rad/s]
repeated [3] lin_acc double linear acceleration in [x,y,z] direction [m/s²]
is_delta bool Are the acceleration/angular velocity values delta values or immediate measurements
temperature double temperature in degrees [C]

SentiIMUMagMsg

Generic IMU Message, including magnetometer

Field Type Label Description
header Header
repeated[3] ang_vel double angular velocity in [x,y,z] direction [rad/s]
repeated [3] lin_acc double linear acceleration in [x,y,z] direction [m/s²]
is_delta bool Are the acceleration/angular velocity values delta values or immediate measurements
temperature double temperature in degrees [C]
repeated[3] mag double magnetic field in [x,y,z] directions [Gauss]

SentiIMUMagOrientationMsg

Generic IMU Message, including magnetometer and orientation measurements

Field Type Label Description
header Header
repeated[3] ang_vel double angular velocity in [x,y,z] direction [rad/s]
repeated [3] lin_acc double linear acceleration in [x,y,z] direction [m/s²]
is_delta bool Are the acceleration/angular velocity values delta values or immediate measurements
temperature double temperature in degrees [C]
repeated[3] mag double magnetic field in [x,y,z] directions [Gauss]
repeated [4] orientation double Orientation quaternion [x,y,z,w]
repeated [9] covariance double Flattened 3x3 covariance matrix in x,y,z

SentiGNSSPosLLH

Field Type Label Description
header Header
tow uint32 time of week
repeated[3] lon_lat_h double position in Longitude, Latitude, Height [m]
h_acc double horizontal accuracy estimate [m]
v_acc double vertical accuracy estimate [m]
repeated [9] covariance double flattened 3x3 covariance matrix in x,y,z
fix SentiFixType fix type of the receiver

SentiGNSSPosECEF

Field Type Label Description
header Header
tow uint32 time of week
repeated[3] xyz double position [X,Y,Z] in ECEF frame [m]
acc double accuracy estimate [m]
repeated [9] covariance double flattened 3x3 covariance matrix in x,y,z
fix SentiFixType fix type of the receiver

SentiGNSSVelNED

Field Type Label Description
header Header
tow uint32 time of week
repeated[3] vel_ned double Velocity in [N,E,D] [m/s]
repeated [9] covariance double flattened 3x3 covariance matrix in [N,E,D]
fix SentiFixType fix type of the receiver

SentiGNSSVelECEF

Field Type Label Description
header Header
tow uint32 time of week
repeated[3] vel_xyz double Velocity in [X,Y,Z] (ECEF) [m/s]
repeated [9] covariance double flattened 3x3 covariance matrix in [X,Y,Z]
fix SentiFixType fix type of the receiver

SentiGNSSRelPos

Generic GNSS Relative Position message containing the relative position between two GNSS receivers

Field Type Label Description
header Header
tow uint32 Time of Week
repeated[3] rel_pos_ned double relative position in [N,E,D] directions [m]
heading double heading/direction between the receivers [rad]
h_acc double Horizontal accuracy estimate [m]
v_acc double Vertical accuracy estimate [m]
fix SentiFixType Fix type of the receiver

SentiGNSSTime

Field Type Label Description
header Header
tow uint32 Time of Week
year uint32
month uint32
day uint32
hours uint32
minutes uint32
seconds uint32
nanoseconds uint32
source SentiGNSSTimeSource Type of time source for the time message
t_acc uint32 Accuracy of reported time

SentiGNSSDop

Generic GNSS Dilution of Precision message. Based on uBlox NAV-DOP message

Field Type Label Description
header Header
tow double Time of Week
p_dop float Position DOP
t_dop float Time DOP
v_dop float Vertical DOP
h_dop float Horizontal DOP
n_dop float Northing DOP
e_dop float Easting DOP

SentiGNSSStatus

Field Type Label Description
header Header
tow double Time of Week
fix_type SentiFixType Fix type of the receiver
n_satellites uint32 Number of tracked satellites

SentiGNSSRfiStatus

Generic RFI status message based on uBloc MON_HW message

Field Type Label Description
header Header
tow double Time of Week
agcCount uint32
agcCountMax uint32
jamInd uint32
jamIndMax uint32
jammingState uint32
noiseLevel uint32

SentiTriggerMsg

SentiBoard Trigger message. UTC timestamp is the rising edge of the trigger

Field Type Label Description
header Header
rising_edge uint32 Rising edge TOV value (in SentiBoard time 10*ns)
falling_edge uint32 falling edge TOV value (in SentiBoard time 10*ns)

SentiInputCaptureMsg

SentiBoard InputCapture message. UTC timestamp is the leading edge of the event

Field Type Label Description
header Header

SentiRawMsg

Raw SentiBoard packet. A sensor data packet (raw byte stream) wrapped in the Header with UTC timestamp

Field Type Label Description
header Header
packet bytes Raw sensor data packet

Enums

SentiMessageID

MessageID uniquely identifies all messages sent in SentiUtils

Name Number
NONE 0
RAW_MSG 1
BUFFER_MSG 2
BASE_MSG 3
IMU_MSG 100
IMU_MAG_MSG 101
IMU_MAG_ORIENTATION_MSG 102
IMAGE_MSG 150
GNSS_POS_LLH 200
GNSS_POS_ECEF 201
GNSS_VEL_NED 202
GNSS_VEL_ECEF 203
GNSS_RELPOS_NED 204
GNSS_TIME 205
GNSS_DOP 206
GNSS_STATUS 207
GNSS_RFI_STATUS 208
TRIGGER_MSG 300
INPUTCAPTURE_MSG 400
NMEA_GGA 500
NMEA_ZDA 501
_UNUSED 65534

SentiGNSSTime

Name Number Description
NO_SOURCE 0
PROPAGATED 1
GNSS 2

SentiFixType

Name Number Description
NO_FIX 0
GNSS_FIX 1
DGNSS_FIX 2
RTK_FIX 3
RTK_FLOAT 4
DEAD_RECKOGNING 5
SBAS_FIX 6

Scalar Value Types

See Protobuf documentation for scalar value types.