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
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
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) |
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 |
SentiINSAllStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| llh |
double |
repeated |
Longitude, Latitude, Height [rad, rad, m] |
| height_msl |
double |
|
Height over mean sea level [m] |
| height_geoid |
double |
|
Height over geoid [m] |
| pos_lb_l_xyz |
double |
repeated |
Local frame estimated position [m, m, m] |
| vel_eb_n_xyz |
double |
repeated |
Estimated NED velocities [m/s] |
| roll |
double |
|
Roll [rad] |
| pitch |
double |
|
Pitch [rad] |
| yaw |
double |
|
Yaw [rad] |
| quaternion |
double |
repeated |
Attitude quaternion [x, y, z, w] |
| pos_eb_e_xyz |
double |
repeated |
Estimated ECEF position [m] |
| vel_eb_e_xyz |
double |
repeated |
Estimated ECEF velocities [m/s] |
| cog |
double |
|
Course over ground [rad] |
| sog |
double |
|
Speed over ground [m/s] |
| fix_status |
uint32 |
|
Fix status |
| heave |
double |
|
Heave [m] |
| ang_vel_nb_b_xyz |
double |
repeated |
Angular velocity of body frame [rad/s] |
| lin_acc_eb_b_xyz |
double |
repeated |
Linear acceleration of body frame [m/s²] |
| cov_pos_eb_n_xyz |
double |
repeated |
Covariance of NED position [m²] |
| cov_vel_eb_n_xyz |
double |
repeated |
Covariance of NED velocity [m²/s²] |
| cov_accel_eb_n_xyz |
double |
repeated |
Covariance of NED acceleration [m²/s⁴] |
SentiINSStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| llh |
double |
repeated |
Longitude, Latitude, Height [rad, rad, m] |
| height_msl |
double |
|
Height over mean sea level [m] |
| height_geoid |
double |
|
Height over geoid [m] |
| pos_lb_l_xyz |
double |
repeated |
Local frame estimated position [m, m, m] |
| vel_eb_n_xyz |
double |
repeated |
Estimated NED velocities [m/s] |
| roll |
double |
|
Roll [rad] |
| pitch |
double |
|
Pitch [rad] |
| yaw |
double |
|
Yaw [rad] |
| quaternion |
double |
repeated |
Attitude quaternion [x, y, z, w] |
| pos_eb_e_xyz |
double |
repeated |
Estimated ECEF position [m] |
| vel_eb_e_xyz |
double |
repeated |
Estimated ECEF velocities [m/s] |
| cog |
double |
|
Course over ground [rad] |
| sog |
double |
|
Speed over ground [m/s] |
| fix_status |
uint32 |
|
Fix status |
| heave |
double |
|
Heave [m] |
| ang_vel_nb_b_xyz |
double |
repeated |
Angular velocity of body frame [rad/s] |
| lin_acc_eb_b_xyz |
double |
repeated |
Linear acceleration of body frame [m/s²] |
SentiINSPosStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| llh |
double |
repeated |
Longitude, Latitude, Height [rad, rad, m] |
| height_msl |
double |
|
Height over mean sea level [m] |
| height_geoid |
double |
|
Height over geoid [m] |
| pos_lb_l_xyz |
double |
repeated |
Local frame estimated position [m, m, m] |
| pos_eb_e_xyz |
double |
repeated |
Estimated ECEF coordinates [m] |
| heave |
double |
|
Heave [m] |
| fix_status |
uint32 |
|
Fix status |
SentiINSVelStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| vel_eb_n_xyz |
double |
repeated |
Estimated NED velocities [m/s] |
| vel_eb_e_xyz |
double |
repeated |
Estimated ECEF velocities [m/s] |
| cog |
double |
|
Course over ground [rad] |
| sog |
double |
|
Speed over ground [m/s] |
SentiINSAttStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| roll |
double |
|
Roll [rad] |
| pitch |
double |
|
Pitch [rad] |
| yaw |
double |
|
Yaw [rad] |
| quaternion |
double |
repeated |
Attitude quaternion [x, y, z, w] |
SentiINSRotVelStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| ang_vel_nb_b_xyz |
double |
repeated |
Angular velocity of body frame [rad/s] |
SentiINSAccStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| lin_acc_eb_b_xyz |
double |
repeated |
Linear acceleration of body frame [m/s²] |
SentiINSCovariance
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| cov_pos_eb_n_xyz |
double |
repeated |
Covariance of NED position [m²] |
| cov_vel_eb_n_xyz |
double |
repeated |
Covariance of NED velocity [m²/s²] |
| cov_accel_eb_n_xyz |
double |
repeated |
Covariance of NED acceleration [m²/s⁴] |
SentiIMUBiasStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| b_ars_b_xyz |
double |
repeated |
Gyroscope (angular rate) bias [rad/s] |
| b_acc_b_xyz |
double |
repeated |
Accelerometer bias [m/s²] |
SentiRFIStates
| Field |
Type |
Label |
Description |
| header |
Header |
|
|
| agc_count_level |
float |
|
AGC count. See GNSSRfiStatus |
| jam_ind_level |
float |
|
Jamming indicator. See GNSSRfiStatus |
| jam_state |
uint32 |
|
Jamming state. See GNSSRfiStatus |
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 |
SentiGNSSTimeSource
| 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.