Classes | Macros | Typedefs | Enumerations | Functions
sbgEComBinaryLogGps.h File Reference

This file is used to parse received GPS binary logs. More...

#include <sbgCommon.h>
#include <streamBuffer/sbgStreamBuffer.h>
Include dependency graph for sbgEComBinaryLogGps.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _SbgLogGpsHdt
 
struct  _SbgLogGpsPos
 
struct  _SbgLogGpsRaw
 
struct  _SbgLogGpsVel
 

Macros

#define SBG_ECOM_GPS_HDT_BASELINE_VALID   (0x0001 << 6)
 
#define SBG_ECOM_GPS_HDT_STATUS_MASK   (0x0000003Fu)
 
#define SBG_ECOM_GPS_HDT_STATUS_SHIFT   (0u)
 
#define SBG_ECOM_GPS_POS_GLO_L1_USED   (0x00000001u << 15)
 
#define SBG_ECOM_GPS_POS_GLO_L2_USED   (0x00000001u << 16)
 
#define SBG_ECOM_GPS_POS_GPS_L1_USED   (0x00000001u << 12)
 
#define SBG_ECOM_GPS_POS_GPS_L2_USED   (0x00000001u << 13)
 
#define SBG_ECOM_GPS_POS_GPS_L5_USED   (0x00000001u << 14)
 
#define SBG_ECOM_GPS_POS_STATUS_MASK   (0x0000003Fu)
 
#define SBG_ECOM_GPS_POS_STATUS_SHIFT   (0u)
 
#define SBG_ECOM_GPS_POS_TYPE_MASK   (0x0000003Fu)
 
#define SBG_ECOM_GPS_POS_TYPE_SHIFT   (6u)
 
#define SBG_ECOM_GPS_RAW_MAX_BUFFER_SIZE   (4086u)
 
#define SBG_ECOM_GPS_VEL_STATUS_MASK   (0x0000003Fu)
 
#define SBG_ECOM_GPS_VEL_STATUS_SHIFT   (0u)
 
#define SBG_ECOM_GPS_VEL_TYPE_MASK   (0x0000003Fu)
 
#define SBG_ECOM_GPS_VEL_TYPE_SHIFT   (6u)
 

Typedefs

typedef enum _SbgEComGpsHdtStatus SbgEComGpsHdtStatus
 
typedef enum _SbgEComGpsPosStatus SbgEComGpsPosStatus
 
typedef enum _SbgEComGpsPosType SbgEComGpsPosType
 
typedef enum _SbgEComGpsVelStatus SbgEComGpsVelStatus
 
typedef enum _SbgEComGpsVelType SbgEComGpsVelType
 
typedef struct _SbgLogGpsHdt SbgLogGpsHdt
 
typedef struct _SbgLogGpsPos SbgLogGpsPos
 
typedef struct _SbgLogGpsRaw SbgLogGpsRaw
 
typedef struct _SbgLogGpsVel SbgLogGpsVel
 

Enumerations

enum  _SbgEComGpsHdtStatus { SBG_ECOM_HDT_SOL_COMPUTED = 0, SBG_ECOM_HDT_INSUFFICIENT_OBS = 1, SBG_ECOM_HDT_INTERNAL_ERROR = 2, SBG_ECOM_HDT_HEIGHT_LIMIT = 3 }
 
enum  _SbgEComGpsPosStatus { SBG_ECOM_POS_SOL_COMPUTED = 0, SBG_ECOM_POS_INSUFFICIENT_OBS = 1, SBG_ECOM_POS_INTERNAL_ERROR = 2, SBG_ECOM_POS_HEIGHT_LIMIT = 3 }
 
enum  _SbgEComGpsPosType {
  SBG_ECOM_POS_NO_SOLUTION = 0, SBG_ECOM_POS_UNKNOWN_TYPE = 1, SBG_ECOM_POS_SINGLE = 2, SBG_ECOM_POS_PSRDIFF = 3,
  SBG_ECOM_POS_SBAS = 4, SBG_ECOM_POS_OMNISTAR = 5, SBG_ECOM_POS_RTK_FLOAT = 6, SBG_ECOM_POS_RTK_INT = 7,
  SBG_ECOM_POS_PPP_FLOAT = 8, SBG_ECOM_POS_PPP_INT = 9, SBG_ECOM_POS_FIXED = 10
}
 
enum  _SbgEComGpsVelStatus { SBG_ECOM_VEL_SOL_COMPUTED = 0, SBG_ECOM_VEL_INSUFFICIENT_OBS = 1, SBG_ECOM_VEL_INTERNAL_ERROR = 2, SBG_ECOM_VEL_LIMIT = 3 }
 
enum  _SbgEComGpsVelType { SBG_ECOM_VEL_NO_SOLUTION = 0, SBG_ECOM_VEL_UNKNOWN_TYPE = 1, SBG_ECOM_VEL_DOPPLER = 2, SBG_ECOM_VEL_DIFFERENTIAL = 3 }
 

Functions

SbgErrorCode sbgEComBinaryLogParseGpsHdtData (SbgStreamBuffer *pInputStream, SbgLogGpsHdt *pOutputData)
 
SbgErrorCode sbgEComBinaryLogParseGpsPosData (SbgStreamBuffer *pInputStream, SbgLogGpsPos *pOutputData)
 
SbgErrorCode sbgEComBinaryLogParseGpsRawData (SbgStreamBuffer *pInputStream, SbgLogGpsRaw *pOutputData)
 
SbgErrorCode sbgEComBinaryLogParseGpsVelData (SbgStreamBuffer *pInputStream, SbgLogGpsVel *pOutputData)
 
SbgErrorCode sbgEComBinaryLogWriteGpsHdtData (SbgStreamBuffer *pOutputStream, const SbgLogGpsHdt *pInputData)
 
SbgErrorCode sbgEComBinaryLogWriteGpsPosData (SbgStreamBuffer *pOutputStream, const SbgLogGpsPos *pInputData)
 
SbgErrorCode sbgEComBinaryLogWriteGpsRawData (SbgStreamBuffer *pOutputStream, const SbgLogGpsRaw *pInputData)
 
SbgErrorCode sbgEComBinaryLogWriteGpsVelData (SbgStreamBuffer *pOutputStream, const SbgLogGpsVel *pInputData)
 
SBG_INLINE uint32_t sbgEComLogGpsHdtBuildStatus (SbgEComGpsHdtStatus status, uint32_t masks)
 
SBG_INLINE SbgEComGpsHdtStatus sbgEComLogGpsHdtGetStatus (uint32_t status)
 
SBG_INLINE uint32_t sbgEComLogGpsPosBuildStatus (SbgEComGpsPosStatus status, SbgEComGpsPosType type, uint32_t masks)
 
SBG_INLINE SbgEComGpsPosStatus sbgEComLogGpsPosGetStatus (uint32_t status)
 
SBG_INLINE SbgEComGpsPosType sbgEComLogGpsPosGetType (uint32_t status)
 
SBG_INLINE uint32_t sbgEComLogGpsVelBuildStatus (SbgEComGpsVelStatus status, SbgEComGpsVelType type)
 
SBG_INLINE SbgEComGpsVelStatus sbgEComLogGpsVelGetStatus (uint32_t status)
 
SBG_INLINE SbgEComGpsVelType sbgEComLogGpsVelGetType (uint32_t status)
 

Detailed Description

This file is used to parse received GPS binary logs.

Author
SBG Systems (Raphael Siryani)
Date
20 February 2013

Copyright Notice

Copyright (C) 2007-2013, SBG Systems SAS. All rights reserved.

This source code is intended for use only by SBG Systems SAS and those that have explicit written permission to use it from SBG Systems SAS.

THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.

Definition in file sbgEComBinaryLogGps.h.

Macro Definition Documentation

#define SBG_ECOM_GPS_HDT_BASELINE_VALID   (0x0001 << 6)

GPS HDT status bitmasksSet to 1 if the baseline length field is filled and valid.

Definition at line 72 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_HDT_STATUS_MASK   (0x0000003Fu)

Mask used to keep only the GPS HDT status part.

Definition at line 67 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_HDT_STATUS_SHIFT   (0u)

GPS HDT status definitions.Shift used to extract the GPS HDT status part.

Definition at line 66 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_GLO_L1_USED   (0x00000001u << 15)

Set to 1 if GLONASS L1 is used in solution.

Definition at line 56 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_GLO_L2_USED   (0x00000001u << 16)

Set to 1 if GLONASS L2 is used in solution.

Definition at line 57 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_GPS_L1_USED   (0x00000001u << 12)

GPS position mask definitionsSet to 1 if GPS L1 is used in solution.

Definition at line 53 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_GPS_L2_USED   (0x00000001u << 13)

Set to 1 if GPS L2 is used in solution.

Definition at line 54 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_GPS_L5_USED   (0x00000001u << 14)

Set to 1 if GPS L5 is used in solution.

Definition at line 55 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_STATUS_MASK   (0x0000003Fu)

Mask used to keep only the GPS position status part.

Definition at line 46 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_STATUS_SHIFT   (0u)

GPS position status and type definitions.Shift used to extract the GPS position status part.

Definition at line 45 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_TYPE_MASK   (0x0000003Fu)

Mask used to keep only the GPS position type part.

Definition at line 48 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_POS_TYPE_SHIFT   (6u)

Shift used to extract the GPS position type part.

Definition at line 47 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_RAW_MAX_BUFFER_SIZE   (4086u)

Maximum buffer size in bytes that can be stored in the GPS raw log.

Definition at line 78 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_VEL_STATUS_MASK   (0x0000003Fu)

Mask used to keep only the GPS velocity status part.

Definition at line 34 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_VEL_STATUS_SHIFT   (0u)

Log GPS velocity status and type definitions.Shift used to extract the GPS velocity status part.

Definition at line 33 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_VEL_TYPE_MASK   (0x0000003Fu)

Mask used to keep only the GPS velocity type part.

Definition at line 36 of file sbgEComBinaryLogGps.h.

#define SBG_ECOM_GPS_VEL_TYPE_SHIFT   (6u)

Shift used to extract the GPS velocity type part.

Definition at line 35 of file sbgEComBinaryLogGps.h.

Typedef Documentation

GPS HDT status definitions.

GPS position status definitions.

GPS position types definitions.

GPS velocity status definitions.

GPS velocity types definitions.

typedef struct _SbgLogGpsHdt SbgLogGpsHdt

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

typedef struct _SbgLogGpsPos SbgLogGpsPos

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

typedef struct _SbgLogGpsRaw SbgLogGpsRaw

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

typedef struct _SbgLogGpsVel SbgLogGpsVel

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

Enumeration Type Documentation

GPS HDT status definitions.

Enumerator
SBG_ECOM_HDT_SOL_COMPUTED 

A valid solution has been computed.

SBG_ECOM_HDT_INSUFFICIENT_OBS 

Not enough valid SV to compute a solution.

SBG_ECOM_HDT_INTERNAL_ERROR 

An internal error has occurred.

SBG_ECOM_HDT_HEIGHT_LIMIT 

The height limit has been exceeded.

Definition at line 146 of file sbgEComBinaryLogGps.h.

GPS position status definitions.

Enumerator
SBG_ECOM_POS_SOL_COMPUTED 

A valid solution has been computed.

SBG_ECOM_POS_INSUFFICIENT_OBS 

Not enough valid SV to compute a solution.

SBG_ECOM_POS_INTERNAL_ERROR 

An internal error has occurred.

SBG_ECOM_POS_HEIGHT_LIMIT 

The height limit has been exceeded.

Definition at line 113 of file sbgEComBinaryLogGps.h.

GPS position types definitions.

Enumerator
SBG_ECOM_POS_NO_SOLUTION 

No valid solution available.

SBG_ECOM_POS_UNKNOWN_TYPE 

An unknown solution type has been computed.

SBG_ECOM_POS_SINGLE 

Single point solution position.

SBG_ECOM_POS_PSRDIFF 

Standard Pseudorange Differential Solution (DGPS).

SBG_ECOM_POS_SBAS 

SBAS satellite used for differential corrections.

SBG_ECOM_POS_OMNISTAR 

Omnistar VBS Position (L1 sub-meter).

SBG_ECOM_POS_RTK_FLOAT 

Floating RTK ambiguity solution (20 cms RTK).

SBG_ECOM_POS_RTK_INT 

Integer RTK ambiguity solution (2 cms RTK).

SBG_ECOM_POS_PPP_FLOAT 

Precise Point Positioning with float ambiguities.

SBG_ECOM_POS_PPP_INT 

Precise Point Positioning with fixed ambiguities.

SBG_ECOM_POS_FIXED 

Fixed location solution position.

Definition at line 124 of file sbgEComBinaryLogGps.h.

GPS velocity status definitions.

Enumerator
SBG_ECOM_VEL_SOL_COMPUTED 

A valid solution has been computed.

SBG_ECOM_VEL_INSUFFICIENT_OBS 

Not enough valid SV to compute a solution.

SBG_ECOM_VEL_INTERNAL_ERROR 

An internal error has occurred.

SBG_ECOM_VEL_LIMIT 

Velocity limit exceeded.

Definition at line 87 of file sbgEComBinaryLogGps.h.

GPS velocity types definitions.

Enumerator
SBG_ECOM_VEL_NO_SOLUTION 

No valid velocity solution available.

SBG_ECOM_VEL_UNKNOWN_TYPE 

An unknown solution type has been computed.

SBG_ECOM_VEL_DOPPLER 

A Doppler velocity has been computed.

SBG_ECOM_VEL_DIFFERENTIAL 

A differential velocity has been computed between two positions.

Definition at line 98 of file sbgEComBinaryLogGps.h.

Function Documentation

SbgErrorCode sbgEComBinaryLogParseGpsHdtData ( SbgStreamBuffer pInputStream,
SbgLogGpsHdt pOutputData 
)

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

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 170 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogParseGpsPosData ( SbgStreamBuffer pInputStream,
SbgLogGpsPos pOutputData 
)

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

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.
Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 76 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogParseGpsRawData ( SbgStreamBuffer pInputStream,
SbgLogGpsRaw pOutputData 
)

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

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 239 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogParseGpsVelData ( SbgStreamBuffer pInputStream,
SbgLogGpsVel pOutputData 
)

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

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 13 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogWriteGpsHdtData ( SbgStreamBuffer pOutputStream,
const SbgLogGpsHdt pInputData 
)

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

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 210 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogWriteGpsPosData ( SbgStreamBuffer pOutputStream,
const SbgLogGpsPos pInputData 
)

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

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 129 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogWriteGpsRawData ( SbgStreamBuffer pOutputStream,
const SbgLogGpsRaw pInputData 
)

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

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 283 of file sbgEComBinaryLogGps.c.

SbgErrorCode sbgEComBinaryLogWriteGpsVelData ( SbgStreamBuffer pOutputStream,
const SbgLogGpsVel pInputData 
)

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

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 45 of file sbgEComBinaryLogGps.c.

SBG_INLINE uint32_t sbgEComLogGpsHdtBuildStatus ( SbgEComGpsHdtStatus  status,
uint32_t  masks 
)

Method used to write the GPS HDT status to a status field.

Parameters
[in]statusThe HDT status to set.
[in]masksBit mask to set.
Returns
The build GpsPosData status field.

Definition at line 253 of file sbgEComBinaryLogGps.h.

SBG_INLINE SbgEComGpsHdtStatus sbgEComLogGpsHdtGetStatus ( uint32_t  status)

Method used to read GPS HDT status from a status field.

Parameters
[in]statusStatus uint32_t value to extract the HDT status from it.
Returns
The extracted position status.

Definition at line 242 of file sbgEComBinaryLogGps.h.

SBG_INLINE uint32_t sbgEComLogGpsPosBuildStatus ( SbgEComGpsPosStatus  status,
SbgEComGpsPosType  type,
uint32_t  masks 
)

Method used to write the GPS position status to a status field.

Parameters
[in]statusThe position status to set.
[in]typeThe position type to set.
[in]masksBit mask to set.
Returns
The build GpsPosData status field.

Definition at line 224 of file sbgEComBinaryLogGps.h.

SBG_INLINE SbgEComGpsPosStatus sbgEComLogGpsPosGetStatus ( uint32_t  status)

Method used to read GPS position status from a status field.

Parameters
[in]statusStatus uint32_t value to extract the position status from it.
Returns
The extracted position status.

Definition at line 202 of file sbgEComBinaryLogGps.h.

SBG_INLINE SbgEComGpsPosType sbgEComLogGpsPosGetType ( uint32_t  status)

Method used to read GPS position type from a status field.

Parameters
[in]statusStatus uint32_t value to extract the position type from it.
Returns
The extracted position type.

Definition at line 212 of file sbgEComBinaryLogGps.h.

SBG_INLINE uint32_t sbgEComLogGpsVelBuildStatus ( SbgEComGpsVelStatus  status,
SbgEComGpsVelType  type 
)

Method used to write the GPS velocity status to a status field.

Parameters
[in]statusThe velocity status to set.
[in]typeThe velocity type to set.
Returns
The build GpsVelData status field.

Definition at line 184 of file sbgEComBinaryLogGps.h.

SBG_INLINE SbgEComGpsVelStatus sbgEComLogGpsVelGetStatus ( uint32_t  status)

Method used to read GPS velocity status from a status field.

Parameters
[in]statusStatus uint32_t value to extract the velocity status from it.
Returns
The extracted velocity status.

Definition at line 163 of file sbgEComBinaryLogGps.h.

SBG_INLINE SbgEComGpsVelType sbgEComLogGpsVelGetType ( uint32_t  status)

Method used to read GPS velocity type from a status field.

Parameters
[in]statusStatus uint32_t value to extract the velocity type from it.
Returns
The extracted velocity type.

Definition at line 173 of file sbgEComBinaryLogGps.h.



sbg_driver
Author(s): SBG Systems
autogenerated on Thu Oct 22 2020 03:47:22