sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgEComLogStatus.h
Go to the documentation of this file.
1 
33 #ifndef SBG_ECOM_LOG_STATUS_H
34 #define SBG_ECOM_LOG_STATUS_H
35 
36 // sbgCommonLib headers
37 #include <sbgCommon.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 //----------------------------------------------------------------------//
45 //- General status definitions -//
46 //----------------------------------------------------------------------//
47 #define SBG_ECOM_GENERAL_MAIN_POWER_OK (0x0001u << 0)
48 #define SBG_ECOM_GENERAL_IMU_POWER_OK (0x0001u << 1)
49 #define SBG_ECOM_GENERAL_GPS_POWER_OK (0x0001u << 2)
50 #define SBG_ECOM_GENERAL_SETTINGS_OK (0x0001u << 3)
51 #define SBG_ECOM_GENERAL_TEMPERATURE_OK (0x0001u << 4)
52 #define SBG_ECOM_GENERAL_DATALOGGER_OK (0x0001u << 5)
53 #define SBG_ECOM_GENERAL_CPU_OK (0x0001u << 6)
55 //----------------------------------------------------------------------//
56 //- Communication status definitions -//
57 //----------------------------------------------------------------------//
58 
62 #define SBG_ECOM_PORTA_VALID (0x00000001u << 0)
63 #define SBG_ECOM_PORTB_VALID (0x00000001u << 1)
64 #define SBG_ECOM_PORTC_VALID (0x00000001u << 2)
65 #define SBG_ECOM_PORTD_VALID (0x00000001u << 3)
66 #define SBG_ECOM_PORTE_VALID (0x00000001u << 4)
68 #define SBG_ECOM_PORTA_RX_OK (0x00000001u << 5)
69 #define SBG_ECOM_PORTA_TX_OK (0x00000001u << 6)
70 #define SBG_ECOM_PORTB_RX_OK (0x00000001u << 7)
71 #define SBG_ECOM_PORTB_TX_OK (0x00000001u << 8)
72 #define SBG_ECOM_PORTC_RX_OK (0x00000001u << 9)
73 #define SBG_ECOM_PORTC_TX_OK (0x00000001u << 10)
74 #define SBG_ECOM_PORTD_RX_OK (0x00000001u << 11)
75 #define SBG_ECOM_PORTD_TX_OK (0x00000001u << 12)
76 #define SBG_ECOM_PORTE_RX_OK (0x00000001u << 13)
77 #define SBG_ECOM_PORTE_TX_OK (0x00000001u << 14)
79 #define SBG_ECOM_ETH0_VALID (0x00000001u << 15)
80 #define SBG_ECOM_ETH1_VALID (0x00000001u << 16)
81 #define SBG_ECOM_ETH2_VALID (0x00000001u << 17)
82 #define SBG_ECOM_ETH3_VALID (0x00000001u << 18)
83 #define SBG_ECOM_ETH4_VALID (0x00000001u << 19)
85 #define SBG_ECOM_CAN_VALID (0x00000001u << 25)
86 #define SBG_ECOM_CAN_RX_OK (0x00000001u << 26)
87 #define SBG_ECOM_CAN_TX_OK (0x00000001u << 27)
93 {
99 
103 #define SBG_ECOM_COM2_ETH0_RX_OK (0x0001u << 0)
104 #define SBG_ECOM_COM2_ETH0_TX_OK (0x0001u << 1)
105 #define SBG_ECOM_COM2_ETH1_RX_OK (0x0001u << 2)
106 #define SBG_ECOM_COM2_ETH1_TX_OK (0x0001u << 3)
107 #define SBG_ECOM_COM2_ETH2_RX_OK (0x0001u << 4)
108 #define SBG_ECOM_COM2_ETH2_TX_OK (0x0001u << 5)
109 #define SBG_ECOM_COM2_ETH3_RX_OK (0x0001u << 6)
110 #define SBG_ECOM_COM2_ETH3_TX_OK (0x0001u << 7)
111 #define SBG_ECOM_COM2_ETH4_RX_OK (0x0001u << 8)
112 #define SBG_ECOM_COM2_ETH4_TX_OK (0x0001u << 9)
114 //----------------------------------------------------------------------//
115 //- Aiding status definitions -//
116 //----------------------------------------------------------------------//
117 #define SBG_ECOM_AIDING_GPS1_POS_RECV (0x00000001u << 0)
118 #define SBG_ECOM_AIDING_GPS1_VEL_RECV (0x00000001u << 1)
119 #define SBG_ECOM_AIDING_GPS1_HDT_RECV (0x00000001u << 2)
120 #define SBG_ECOM_AIDING_GPS1_UTC_RECV (0x00000001u << 3)
121 #define SBG_ECOM_AIDING_GPS2_POS_RECV (0x00000001u << 4)
122 #define SBG_ECOM_AIDING_GPS2_VEL_RECV (0x00000001u << 5)
123 #define SBG_ECOM_AIDING_GPS2_HDT_RECV (0x00000001u << 6)
124 #define SBG_ECOM_AIDING_GPS2_UTC_RECV (0x00000001u << 7)
125 #define SBG_ECOM_AIDING_MAG_RECV (0x00000001u << 8)
126 #define SBG_ECOM_AIDING_ODO_RECV (0x00000001u << 9)
127 #define SBG_ECOM_AIDING_DVL_RECV (0x00000001u << 10)
128 #define SBG_ECOM_AIDING_USBL_RECV (0x00000001u << 11)
129 #define SBG_ECOM_AIDING_DEPTH_RECV (0x00000001u << 12)
130 #define SBG_ECOM_AIDING_AIR_DATA_RECV (0x00000001u << 13)
131 #define SBG_ECOM_AIDING_USER_POS_RECV (0x00000001u << 14)
132 #define SBG_ECOM_AIDING_USER_VEL_RECV (0x00000001u << 15)
133 #define SBG_ECOM_AIDING_USER_HEADING_RECV (0x00000001u << 16)
135 //----------------------------------------------------------------------//
136 //- Status definitions -//
137 //----------------------------------------------------------------------//
138 
142 typedef struct _SbgEComLogStatus
143 {
144  uint32_t timeStamp;
145  uint16_t generalStatus;
146  uint32_t comStatus;
147  uint16_t comStatus2;
148  uint32_t aidingStatus;
149  uint32_t reserved2;
150  uint16_t reserved3;
151  uint32_t uptime;
153 
154 //----------------------------------------------------------------------//
155 //- Public methods -//
156 //----------------------------------------------------------------------//
157 
166 
175 
176 //----------------------------------------------------------------------//
177 //- Public getters & helpers -//
178 //----------------------------------------------------------------------//
179 
187 
195 
196 //----------------------------------------------------------------------//
197 //- DEPRECATED - Used for backward compatibility -//
198 //----------------------------------------------------------------------//
199 
200 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogStatus SbgLogStatusData);
201 
202 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseStatusData(SbgStreamBuffer *pStreamBuffer, SbgEComLogStatus *pLogData));
203 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteStatusData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogStatus *pLogData));
204 
205 SBG_DEPRECATED(SbgEComCanBusStatus sbgEComLogStatusGetCanStatus(uint32_t status));
206 SBG_DEPRECATED(uint32_t sbgEComLogStatusBuildCommunicationStatus(SbgEComCanBusStatus canStatus, uint32_t masks));
207 
208 #ifdef __cplusplus
209 }
210 #endif
211 
212 #endif // SBG_ECOM_LOG_STATUS_H
Main header for the SBG Systems common C library.
#define SBG_DEPRECATED_TYPEDEF(decl)
Definition: sbgDefines.h:349
SbgErrorCode sbgEComLogStatusReadFromStream(SbgEComLogStatus *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogStatusWriteToStream(const SbgEComLogStatus *pLogData, SbgStreamBuffer *pStreamBuffer)
void sbgEComLogStatusSetCanBusStatus(SbgEComLogStatus *pLogData, SbgEComCanBusStatus status)
SbgEComCanBusStatus sbgEComLogStatusGetCanBusStatus(const SbgEComLogStatus *pLogData)
enum _SbgEComCanBusStatus SbgEComCanBusStatus
struct _SbgEComLogStatus SbgEComLogStatus
_SbgEComCanBusStatus
Definition: sbgEComLogStatus.h:93
@ SBG_ECOM_CAN_BUS_OK
Definition: sbgEComLogStatus.h:96
@ SBG_ECOM_CAN_BUS_TX_RX_ERR
Definition: sbgEComLogStatus.h:95
@ SBG_ECOM_CAN_BUS_OFF
Definition: sbgEComLogStatus.h:94
@ SBG_ECOM_CAN_BUS_ERROR
Definition: sbgEComLogStatus.h:97
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: sbgEComLogStatus.h:143
uint16_t reserved3
Definition: sbgEComLogStatus.h:150
uint32_t timeStamp
Definition: sbgEComLogStatus.h:144
uint16_t generalStatus
Definition: sbgEComLogStatus.h:145
uint32_t aidingStatus
Definition: sbgEComLogStatus.h:148
uint16_t comStatus2
Definition: sbgEComLogStatus.h:147
uint32_t comStatus
Definition: sbgEComLogStatus.h:146
uint32_t uptime
Definition: sbgEComLogStatus.h:151
uint32_t reserved2
Definition: sbgEComLogStatus.h:149
Definition: sbgStreamBufferCommon.h:201