sbgEComBinaryLogUtc.h
Go to the documentation of this file.
1 
20 #ifndef __SBG_ECOM_BINARY_LOG_UTC_H__
21 #define __SBG_ECOM_BINARY_LOG_UTC_H__
22 
23 #include <sbgCommon.h>
25 
26 //----------------------------------------------------------------------//
27 //- Clock status definitions -//
28 //----------------------------------------------------------------------//
29 
33 #define SBG_ECOM_CLOCK_STATUS_SHIFT (1u)
34 #define SBG_ECOM_CLOCK_STATUS_MASK (0x000Fu)
35 #define SBG_ECOM_CLOCK_UTC_STATUS_SHIFT (6u)
36 #define SBG_ECOM_CLOCK_UTC_STATUS_MASK (0x000Fu)
41 #define SBG_ECOM_CLOCK_STABLE_INPUT (0x0001u << 0)
42 #define SBG_ECOM_CLOCK_UTC_SYNC (0x0001u << 5)
47 typedef enum _SbgEComClockStatus
48 {
54 
59 {
64 
65 //----------------------------------------------------------------------//
66 //- Clock status helpers methods -//
67 //----------------------------------------------------------------------//
68 
75 {
77 }
78 
85 {
87 }
88 
96 SBG_INLINE uint16_t sbgEComLogUtcBuildClockStatus(SbgEComClockStatus clockStatus, SbgEComClockUtcStatus utcStatus, uint16_t masks)
97 {
98  //
99  // Create the combined status field
100  //
101  return ((((uint16_t)clockStatus)&SBG_ECOM_CLOCK_STATUS_MASK) << SBG_ECOM_CLOCK_STATUS_SHIFT) |
102  ((((uint16_t)utcStatus)&SBG_ECOM_CLOCK_UTC_STATUS_MASK) << SBG_ECOM_CLOCK_UTC_STATUS_SHIFT) | masks;
103 }
104 
105 //----------------------------------------------------------------------//
106 //- Log structure definitions -//
107 //----------------------------------------------------------------------//
108 
112 typedef struct _SbgLogUtcData
113 {
114  uint32_t timeStamp;
115  uint16_t status;
116  uint16_t year;
117  int8_t month;
118  int8_t day;
119  int8_t hour;
120  int8_t minute;
121  int8_t second;
122  int32_t nanoSecond;
123  uint32_t gpsTimeOfWeek;
124 } SbgLogUtcData;
125 
126 //----------------------------------------------------------------------//
127 //- Operations -//
128 //----------------------------------------------------------------------//
129 
137 
145 
146 #endif
_SbgLogUtcData::minute
int8_t minute
Definition: sbgEComBinaryLogUtc.h:120
sbgEComLogUtcBuildClockStatus
SBG_INLINE uint16_t sbgEComLogUtcBuildClockStatus(SbgEComClockStatus clockStatus, SbgEComClockUtcStatus utcStatus, uint16_t masks)
Definition: sbgEComBinaryLogUtc.h:96
SBG_ECOM_CLOCK_STEERING
@ SBG_ECOM_CLOCK_STEERING
Definition: sbgEComBinaryLogUtc.h:51
_SbgLogUtcData::nanoSecond
int32_t nanoSecond
Definition: sbgEComBinaryLogUtc.h:122
_SbgLogUtcData::hour
int8_t hour
Definition: sbgEComBinaryLogUtc.h:119
sbgEComBinaryLogParseUtcData
SbgErrorCode sbgEComBinaryLogParseUtcData(SbgStreamBuffer *pInputStream, SbgLogUtcData *pOutputData)
Definition: sbgEComBinaryLogUtc.c:13
SBG_ECOM_UTC_VALID
@ SBG_ECOM_UTC_VALID
Definition: sbgEComBinaryLogUtc.h:62
SBG_ECOM_CLOCK_UTC_STATUS_MASK
#define SBG_ECOM_CLOCK_UTC_STATUS_MASK
Definition: sbgEComBinaryLogUtc.h:36
SbgEComClockUtcStatus
enum _SbgEComClockUtcStatus SbgEComClockUtcStatus
SBG_ECOM_CLOCK_STATUS_SHIFT
#define SBG_ECOM_CLOCK_STATUS_SHIFT
This file is used to parse received UTC binary logs.
Definition: sbgEComBinaryLogUtc.h:33
_SbgLogUtcData
Definition: sbgEComBinaryLogUtc.h:112
SBG_ECOM_UTC_NO_LEAP_SEC
@ SBG_ECOM_UTC_NO_LEAP_SEC
Definition: sbgEComBinaryLogUtc.h:61
sbgCommon.h
SBG_INLINE
#define SBG_INLINE
Definition: sbgDefines.h:186
SBG_ECOM_CLOCK_ERROR
@ SBG_ECOM_CLOCK_ERROR
Definition: sbgEComBinaryLogUtc.h:49
_SbgLogUtcData::year
uint16_t year
Definition: sbgEComBinaryLogUtc.h:116
SBG_ECOM_UTC_INVALID
@ SBG_ECOM_UTC_INVALID
Definition: sbgEComBinaryLogUtc.h:60
sbgEComLogUtcGetClockUtcStatus
SBG_INLINE SbgEComClockUtcStatus sbgEComLogUtcGetClockUtcStatus(uint16_t status)
Definition: sbgEComBinaryLogUtc.h:84
_SbgLogUtcData::day
int8_t day
Definition: sbgEComBinaryLogUtc.h:118
_SbgLogUtcData::timeStamp
uint32_t timeStamp
Definition: sbgEComBinaryLogUtc.h:114
_SbgLogUtcData::second
int8_t second
Definition: sbgEComBinaryLogUtc.h:121
_SbgLogUtcData::status
uint16_t status
Definition: sbgEComBinaryLogUtc.h:115
sbgEComBinaryLogWriteUtcData
SbgErrorCode sbgEComBinaryLogWriteUtcData(SbgStreamBuffer *pOutputStream, const SbgLogUtcData *pInputData)
Definition: sbgEComBinaryLogUtc.c:44
SBG_ECOM_CLOCK_FREE_RUNNING
@ SBG_ECOM_CLOCK_FREE_RUNNING
Definition: sbgEComBinaryLogUtc.h:50
_SbgStreamBuffer
Definition: sbgStreamBufferCommon.h:188
sbgStreamBuffer.h
_SbgLogUtcData::month
int8_t month
Definition: sbgEComBinaryLogUtc.h:117
SBG_ECOM_CLOCK_VALID
@ SBG_ECOM_CLOCK_VALID
Definition: sbgEComBinaryLogUtc.h:52
SbgLogUtcData
struct _SbgLogUtcData SbgLogUtcData
SbgErrorCode
enum _SbgErrorCode SbgErrorCode
Header file that defines all error codes for SBG Systems libraries.
sbgEComLogUtcGetClockStatus
SBG_INLINE SbgEComClockStatus sbgEComLogUtcGetClockStatus(uint16_t status)
Definition: sbgEComBinaryLogUtc.h:74
SbgEComClockStatus
enum _SbgEComClockStatus SbgEComClockStatus
_SbgLogUtcData::gpsTimeOfWeek
uint32_t gpsTimeOfWeek
Definition: sbgEComBinaryLogUtc.h:123
SBG_ECOM_CLOCK_UTC_STATUS_SHIFT
#define SBG_ECOM_CLOCK_UTC_STATUS_SHIFT
Definition: sbgEComBinaryLogUtc.h:35
SBG_ECOM_CLOCK_STATUS_MASK
#define SBG_ECOM_CLOCK_STATUS_MASK
Definition: sbgEComBinaryLogUtc.h:34
_SbgEComClockUtcStatus
_SbgEComClockUtcStatus
Definition: sbgEComBinaryLogUtc.h:58


sbg_driver
Author(s): SBG Systems
autogenerated on Fri Oct 11 2024 02:13:40