sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgEComLogUtc.h
Go to the documentation of this file.
1 
33 #ifndef SBG_ECOM_LOG_UTC_H
34 #define SBG_ECOM_LOG_UTC_H
35 
36 // sbgCommonLib headers
37 #include <sbgCommon.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 //----------------------------------------------------------------------//
45 //- Public definitions -//
46 //----------------------------------------------------------------------//
47 
51 typedef enum _SbgEComClockState
52 {
58 
62 typedef enum _SbgEComUtcStatus
63 {
68 
69 //----------------------------------------------------------------------//
70 //- Log structure definitions -//
71 //----------------------------------------------------------------------//
72 
76 typedef struct _SbgEComLogUtc
77 {
78  uint32_t timeStamp;
79  uint16_t status;
80  uint16_t year;
81  int8_t month;
82  int8_t day;
83  int8_t hour;
84  int8_t minute;
85  int8_t second;
86  int32_t nanoSecond;
87  uint32_t gpsTimeOfWeek;
88  float clkBiasStd;
89  float clkSfErrorStd;
92 
93 //----------------------------------------------------------------------//
94 //- Public methods -//
95 //----------------------------------------------------------------------//
96 
103 
112 
121 
122 //----------------------------------------------------------------------//
123 //- Public setters/getters -//
124 //----------------------------------------------------------------------//
125 
133 
141 
149 
157 
165 
173 
180 void sbgEComLogUtcSetHasClockInput(SbgEComLogUtc *pLogData, bool hasClockInput);
181 
195 
202 void sbgEComLogUtcTimeSetIsAccurate(SbgEComLogUtc *pLogData, bool utcIsAccurate);
203 
219 
227 
235 
243 
244 //----------------------------------------------------------------------//
245 //- DEPRECATED - Used for backward compatibility -//
246 //----------------------------------------------------------------------//
247 
248 #ifdef SBG_ECOM_USE_DEPRECATED_MACROS
249  #define SBG_ECOM_CLOCK_STABLE_INPUT (0x0001u << 0)
250  #define SBG_ECOM_CLOCK_UTC_SYNC (0x0001u << 5)
251 
252  #define SBG_ECOM_CLOCK_ERROR (SBG_ECOM_CLOCK_STATE_ERROR)
253  #define SBG_ECOM_CLOCK_FREE_RUNNING (SBG_ECOM_CLOCK_STATE_FREE_RUNNING)
254  #define SBG_ECOM_CLOCK_STEERING (SBG_ECOM_CLOCK_STATE_STEERING)
255  #define SBG_ECOM_CLOCK_VALID (SBG_ECOM_CLOCK_STATE_VALID)
256 
257  #define SBG_ECOM_UTC_INVALID (SBG_ECOM_UTC_STATUS_INVALID)
258  #define SBG_ECOM_UTC_NO_LEAP_SEC (SBG_ECOM_UTC_STATUS_NO_LEAP_SEC)
259  #define SBG_ECOM_UTC_VALID (SBG_ECOM_UTC_STATUS_INITIALIZED)
260 #endif
261 
262 SBG_DEPRECATED_TYPEDEF(typedef enum _SbgEComClockState SbgEComClockStatus);
263 SBG_DEPRECATED_TYPEDEF(typedef enum _SbgEComUtcStatus SbgEComClockUtcStatus);
264 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogUtc SbgLogUtcData);
265 
266 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseUtcData(SbgStreamBuffer *pStreamBuffer, SbgEComLogUtc *pLogData));
267 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteUtcData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogUtc *pLogData));
268 
269 SBG_DEPRECATED(SbgEComClockState sbgEComLogUtcGetClockStatus(uint16_t status));
270 SBG_DEPRECATED(const char *sbgEcomLogUtcGetClockStatusAsString(const SbgEComLogUtc *pLogUtc));
271 
272 SBG_DEPRECATED(SbgEComUtcStatus sbgEComLogUtcGetClockUtcStatus(uint16_t status));
273 SBG_DEPRECATED(const char *sbgEcomLogUtcGetUtcStatusAsString(const SbgEComLogUtc *pLogUtc));
274 
275 SBG_DEPRECATED(uint16_t sbgEComLogUtcBuildClockStatus(SbgEComClockState clockState, SbgEComUtcStatus utcStatus, uint16_t masks));
276 
277 #ifdef __cplusplus
278 }
279 #endif
280 
281 #endif // SBG_ECOM_LOG_UTC_H
Main header for the SBG Systems common C library.
#define SBG_DEPRECATED_TYPEDEF(decl)
Definition: sbgDefines.h:349
SbgErrorCode sbgEComLogUtcReadFromStream(SbgEComLogUtc *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogUtc SbgEComLogUtc
const char * sbgEComLogUtcGetUtcStatusAsString(const SbgEComLogUtc *pLogData)
void sbgEComLogUtcTimeSetIsAccurate(SbgEComLogUtc *pLogData, bool utcIsAccurate)
void sbgEComLogUtcZeroInit(SbgEComLogUtc *pLogData)
bool sbgEComLogUtcHasClockInput(const SbgEComLogUtc *pLogData)
SbgErrorCode sbgEComLogUtcWriteToStream(const SbgEComLogUtc *pLogData, SbgStreamBuffer *pStreamBuffer)
void sbgEComLogUtcSetHasClockInput(SbgEComLogUtc *pLogData, bool hasClockInput)
SbgEComUtcStatus sbgEComLogUtcGetUtcStatus(const SbgEComLogUtc *pLogData)
enum _SbgEComClockState SbgEComClockState
enum _SbgEComUtcStatus SbgEComUtcStatus
_SbgEComClockState
Definition: sbgEComLogUtc.h:52
@ SBG_ECOM_CLOCK_STATE_STEERING
Definition: sbgEComLogUtc.h:55
@ SBG_ECOM_CLOCK_STATE_FREE_RUNNING
Definition: sbgEComLogUtc.h:54
@ SBG_ECOM_CLOCK_STATE_VALID
Definition: sbgEComLogUtc.h:56
@ SBG_ECOM_CLOCK_STATE_ERROR
Definition: sbgEComLogUtc.h:53
_SbgEComUtcStatus
Definition: sbgEComLogUtc.h:63
@ SBG_ECOM_UTC_STATUS_NO_LEAP_SEC
Definition: sbgEComLogUtc.h:65
@ SBG_ECOM_UTC_STATUS_INITIALIZED
Definition: sbgEComLogUtc.h:66
@ SBG_ECOM_UTC_STATUS_INVALID
Definition: sbgEComLogUtc.h:64
SbgEComClockState sbgEComLogUtcGetClockState(const SbgEComLogUtc *pLogData)
bool sbgEComLogUtcTimeClkResidualErrorIsValid(const SbgEComLogUtc *pLogData)
bool sbgEComLogUtcTimeClkSfErrorStdIsValid(const SbgEComLogUtc *pLogData)
bool sbgEComLogUtcTimeClkBiasStdIsValid(const SbgEComLogUtc *pLogData)
const char * sbgEComLogUtcGetClockStateAsString(const SbgEComLogUtc *pLogData)
bool sbgEComLogUtcTimeIsAccurate(const SbgEComLogUtc *pLogData)
void sbgEComLogUtcSetUtcStatus(SbgEComLogUtc *pLogData, SbgEComUtcStatus status)
void sbgEComLogUtcSetClockState(SbgEComLogUtc *pLogData, SbgEComClockState state)
enum _SbgErrorCode SbgErrorCode
Used to read/write data from/to a memory buffer stream.
SBG_DEPRECATED(SBG_INLINE uint32_t SBG_VERSION(uint8_t major, uint8_t minor, uint8_t rev, uint8_t build))
Definition: sbgEComLogUtc.h:77
int32_t nanoSecond
Definition: sbgEComLogUtc.h:86
uint16_t year
Definition: sbgEComLogUtc.h:80
int8_t hour
Definition: sbgEComLogUtc.h:83
uint32_t timeStamp
Definition: sbgEComLogUtc.h:78
float clkBiasStd
Definition: sbgEComLogUtc.h:88
float clkResidualError
Definition: sbgEComLogUtc.h:90
int8_t minute
Definition: sbgEComLogUtc.h:84
uint16_t status
Definition: sbgEComLogUtc.h:79
uint32_t gpsTimeOfWeek
Definition: sbgEComLogUtc.h:87
int8_t day
Definition: sbgEComLogUtc.h:82
int8_t second
Definition: sbgEComLogUtc.h:85
int8_t month
Definition: sbgEComLogUtc.h:81
float clkSfErrorStd
Definition: sbgEComLogUtc.h:89
Definition: sbgStreamBufferCommon.h:201