sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgEComLogGnssVel.h File Reference

GNSS velocity logs. More...

Go to the source code of this file.

Data Structures

struct  _SbgEComLogGnssVel
 

Typedefs

typedef enum _SbgEComGnssVelStatus SbgEComGnssVelStatus
 
typedef enum _SbgEComGnssVelType SbgEComGnssVelType
 
typedef struct _SbgEComLogGnssVel SbgEComLogGnssVel
 

Enumerations

enum  _SbgEComGnssVelStatus {
  SBG_ECOM_GNSS_VEL_STATUS_SOL_COMPUTED = 0 ,
  SBG_ECOM_GNSS_VEL_STATUS_INSUFFICIENT_OBS = 1 ,
  SBG_ECOM_GNSS_VEL_STATUS_INTERNAL_ERROR = 2 ,
  SBG_ECOM_GNSS_VEL_STATUS_LIMIT = 3
}
 
enum  _SbgEComGnssVelType {
  SBG_ECOM_GNSS_VEL_TYPE_NO_SOLUTION = 0 ,
  SBG_ECOM_GNSS_VEL_TYPE_UNKNOWN = 1 ,
  SBG_ECOM_GNSS_VEL_TYPE_DOPPLER = 2 ,
  SBG_ECOM_GNSS_VEL_TYPE_DIFFERENTIAL = 3
}
 

Functions

void sbgEComLogGnssVelZeroInit (SbgEComLogGnssVel *pLogData)
 
SbgErrorCode sbgEComLogGnssVelReadFromStream (SbgEComLogGnssVel *pLogData, SbgStreamBuffer *pStreamBuffer)
 
SbgErrorCode sbgEComLogGnssVelWriteToStream (const SbgEComLogGnssVel *pLogData, SbgStreamBuffer *pStreamBuffer)
 
void sbgEComLogGnssVelSetStatus (SbgEComLogGnssVel *pLogData, SbgEComGnssVelStatus status)
 
SbgEComGnssVelStatus sbgEComLogGnssVelGetStatus (const SbgEComLogGnssVel *pLogData)
 
void sbgEComLogGnssVelSetType (SbgEComLogGnssVel *pLogData, SbgEComGnssVelType posType)
 
SbgEComGnssVelType sbgEComLogGnssVelGetType (const SbgEComLogGnssVel *pLogData)
 
bool sbgEComLogGnssVelDownVelocityIsValid (const SbgEComLogGnssVel *pLogData)
 

Detailed Description

GNSS velocity logs.

Author
SBG Systems
Date
09 May 2023
License

The MIT license

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Typedef Documentation

◆ SbgEComGnssVelStatus

GNSS velocity status definitions.

◆ SbgEComGnssVelType

GNSS velocity types definitions.

◆ SbgEComLogGnssVel

Structure that stores data for the SBG_ECOM_LOG_GPS::_VEL message.

WARNING: Some GNSS protocols such as NMEA are not able to return a full 3D velocity. The maximum standard deviation value of 9999 m.s^-1 should be used to indicate an invalid down velocity component.

Enumeration Type Documentation

◆ _SbgEComGnssVelStatus

GNSS velocity status definitions.

Enumerator
SBG_ECOM_GNSS_VEL_STATUS_SOL_COMPUTED 

A valid solution has been computed.

SBG_ECOM_GNSS_VEL_STATUS_INSUFFICIENT_OBS 

Not enough valid SV to compute a solution.

SBG_ECOM_GNSS_VEL_STATUS_INTERNAL_ERROR 

An internal error has occurred.

SBG_ECOM_GNSS_VEL_STATUS_LIMIT 

Velocity limit exceeded.

◆ _SbgEComGnssVelType

GNSS velocity types definitions.

Enumerator
SBG_ECOM_GNSS_VEL_TYPE_NO_SOLUTION 

No valid velocity solution available.

SBG_ECOM_GNSS_VEL_TYPE_UNKNOWN 

An unknown solution type has been computed.

SBG_ECOM_GNSS_VEL_TYPE_DOPPLER 

A Doppler velocity has been computed.

SBG_ECOM_GNSS_VEL_TYPE_DIFFERENTIAL 

A differential velocity has been computed between two positions.

Function Documentation

◆ sbgEComLogGnssVelZeroInit()

void sbgEComLogGnssVelZeroInit ( SbgEComLogGnssVel pLogData)

Zero initialize the message struct.

Parameters
[out]pLogDataStructure instance to zero init.

◆ sbgEComLogGnssVelReadFromStream()

SbgErrorCode sbgEComLogGnssVelReadFromStream ( SbgEComLogGnssVel pLogData,
SbgStreamBuffer pStreamBuffer 
)

Parse data for the SBG_ECOM_LOG_GPS::_VEL message and fill the corresponding structure.

Parameters
[out]pLogDataLog structure instance to fill.
[in]pStreamBufferInput stream buffer to read the log from.
Returns
SBG_NO_ERROR if a valid log has been read from the stream buffer.

◆ sbgEComLogGnssVelWriteToStream()

SbgErrorCode sbgEComLogGnssVelWriteToStream ( const SbgEComLogGnssVel pLogData,
SbgStreamBuffer pStreamBuffer 
)

Write data for the SBG_ECOM_LOG_GPS::_VEL message to the output stream buffer from the provided structure.

Parameters
[in]pLogDataLog structure instance to write.
[out]pStreamBufferOutput stream buffer to write the log to.
Returns
SBG_NO_ERROR if the log has been written to the stream buffer.

◆ sbgEComLogGnssVelSetStatus()

void sbgEComLogGnssVelSetStatus ( SbgEComLogGnssVel pLogData,
SbgEComGnssVelStatus  status 
)

Set the GNSS position solution status.

Parameters
[in]pLogDataLog instance.
[in]statusThe solution status to set.

◆ sbgEComLogGnssVelGetStatus()

SbgEComGnssVelStatus sbgEComLogGnssVelGetStatus ( const SbgEComLogGnssVel pLogData)

Returns the GNSS position solution status.

Parameters
[in]pLogDataLog instance.
Returns
The solution status.

◆ sbgEComLogGnssVelSetType()

void sbgEComLogGnssVelSetType ( SbgEComLogGnssVel pLogData,
SbgEComGnssVelType  posType 
)

Set the GNSS position solution type.

Parameters
[in]pLogDataLog instance.
[in]posTypeThe solution type to set.

◆ sbgEComLogGnssVelGetType()

SbgEComGnssVelType sbgEComLogGnssVelGetType ( const SbgEComLogGnssVel pLogData)

Returns the GNSS position solution type.

Parameters
[in]pLogDataLog instance.
Returns
The solution type.

◆ sbgEComLogGnssVelDownVelocityIsValid()

bool sbgEComLogGnssVelDownVelocityIsValid ( const SbgEComLogGnssVel pLogData)

Returns true if the velocity down component is available/valid.

Some GNSS receivers such as the ones using NMEA protocols can't provide down velocity. This methods checks the velocity standard deviation down component.

Parameters
[in]pLogDataLog instance.
Returns
true if the velocity down component is available/valid.