sbgECom Library  6.0.4661-stable
Interface SBG Systems IMU/AHRS/INS
Loading...
Searching...
No Matches
sbgEComLogStatus.h
Go to the documentation of this file.
1
32
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
41extern "C" {
42#endif
43
44//----------------------------------------------------------------------//
45//- General status definitions -//
46//----------------------------------------------------------------------//
47
48#define SBG_ECOM_GENERAL_MAIN_POWER_OK (0x0001u << 0)
49#define SBG_ECOM_GENERAL_IMU_POWER_OK (0x0001u << 1)
50#define SBG_ECOM_GENERAL_GPS_POWER_OK (0x0001u << 2)
51#define SBG_ECOM_GENERAL_SETTINGS_OK (0x0001u << 3)
52#define SBG_ECOM_GENERAL_TEMPERATURE_OK (0x0001u << 4)
53#define SBG_ECOM_GENERAL_DATALOGGER_OK (0x0001u << 5)
54#define SBG_ECOM_GENERAL_CPU_OK (0x0001u << 6)
55
56//----------------------------------------------------------------------//
57//- Communication status definitions -//
58//----------------------------------------------------------------------//
59
63#define SBG_ECOM_PORTA_VALID (0x00000001u << 0)
64#define SBG_ECOM_PORTB_VALID (0x00000001u << 1)
65#define SBG_ECOM_PORTC_VALID (0x00000001u << 2)
66#define SBG_ECOM_PORTD_VALID (0x00000001u << 3)
67#define SBG_ECOM_PORTE_VALID (0x00000001u << 4)
68
69#define SBG_ECOM_PORTA_RX_OK (0x00000001u << 5)
70#define SBG_ECOM_PORTA_TX_OK (0x00000001u << 6)
71#define SBG_ECOM_PORTB_RX_OK (0x00000001u << 7)
72#define SBG_ECOM_PORTB_TX_OK (0x00000001u << 8)
73#define SBG_ECOM_PORTC_RX_OK (0x00000001u << 9)
74#define SBG_ECOM_PORTC_TX_OK (0x00000001u << 10)
75#define SBG_ECOM_PORTD_RX_OK (0x00000001u << 11)
76#define SBG_ECOM_PORTD_TX_OK (0x00000001u << 12)
77#define SBG_ECOM_PORTE_RX_OK (0x00000001u << 13)
78#define SBG_ECOM_PORTE_TX_OK (0x00000001u << 14)
79
80#define SBG_ECOM_ETH0_VALID (0x00000001u << 15)
81#define SBG_ECOM_ETH1_VALID (0x00000001u << 16)
82#define SBG_ECOM_ETH2_VALID (0x00000001u << 17)
83#define SBG_ECOM_ETH3_VALID (0x00000001u << 18)
84#define SBG_ECOM_ETH4_VALID (0x00000001u << 19)
85
86#define SBG_ECOM_CAN_VALID (0x00000001u << 25)
87#define SBG_ECOM_CAN_RX_OK (0x00000001u << 26)
88#define SBG_ECOM_CAN_TX_OK (0x00000001u << 27)
89
100
104#define SBG_ECOM_COM2_ETH0_RX_OK (0x0001u << 0)
105#define SBG_ECOM_COM2_ETH0_TX_OK (0x0001u << 1)
106#define SBG_ECOM_COM2_ETH1_RX_OK (0x0001u << 2)
107#define SBG_ECOM_COM2_ETH1_TX_OK (0x0001u << 3)
108#define SBG_ECOM_COM2_ETH2_RX_OK (0x0001u << 4)
109#define SBG_ECOM_COM2_ETH2_TX_OK (0x0001u << 5)
110#define SBG_ECOM_COM2_ETH3_RX_OK (0x0001u << 6)
111#define SBG_ECOM_COM2_ETH3_TX_OK (0x0001u << 7)
112#define SBG_ECOM_COM2_ETH4_RX_OK (0x0001u << 8)
113#define SBG_ECOM_COM2_ETH4_TX_OK (0x0001u << 9)
114
115//----------------------------------------------------------------------//
116//- Aiding status definitions -//
117//----------------------------------------------------------------------//
118
119#define SBG_ECOM_AIDING_GPS1_POS_RECV (0x00000001u << 0)
120#define SBG_ECOM_AIDING_GPS1_VEL_RECV (0x00000001u << 1)
121#define SBG_ECOM_AIDING_GPS1_HDT_RECV (0x00000001u << 2)
122#define SBG_ECOM_AIDING_GPS1_UTC_RECV (0x00000001u << 3)
123#define SBG_ECOM_AIDING_GPS2_POS_RECV (0x00000001u << 4)
124#define SBG_ECOM_AIDING_GPS2_VEL_RECV (0x00000001u << 5)
125#define SBG_ECOM_AIDING_GPS2_HDT_RECV (0x00000001u << 6)
126#define SBG_ECOM_AIDING_GPS2_UTC_RECV (0x00000001u << 7)
127#define SBG_ECOM_AIDING_MAG_RECV (0x00000001u << 8)
128#define SBG_ECOM_AIDING_ODO_RECV (0x00000001u << 9)
129#define SBG_ECOM_AIDING_DVL_RECV (0x00000001u << 10)
130#define SBG_ECOM_AIDING_USBL_RECV (0x00000001u << 11)
131#define SBG_ECOM_AIDING_DEPTH_RECV (0x00000001u << 12)
132#define SBG_ECOM_AIDING_AIR_DATA_RECV (0x00000001u << 13)
133#define SBG_ECOM_AIDING_VEL1_RECV (0x00000001u << 14)
134#define SBG_ECOM_AIDING_POS1_RECV (0x00000001u << 15)
135
136//----------------------------------------------------------------------//
137//- Status definitions -//
138//----------------------------------------------------------------------//
139
143typedef struct _SbgEComLogStatus
144{
145 uint32_t timeStamp;
146 uint16_t generalStatus;
147 uint32_t comStatus;
148 uint16_t comStatus2;
149 uint32_t aidingStatus;
150 uint32_t reserved2;
151 uint16_t reserved3;
152 uint32_t uptime;
153 uint8_t cpuUsage;
155
156//----------------------------------------------------------------------//
157//- Public methods -//
158//----------------------------------------------------------------------//
159
168
177
178//----------------------------------------------------------------------//
179//- Public getters & helpers -//
180//----------------------------------------------------------------------//
181
189
197
205
206//----------------------------------------------------------------------//
207//- DEPRECATED - Used for backward compatibility -//
208//----------------------------------------------------------------------//
209
210SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogStatus SbgLogStatusData);
211
212SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseStatusData(SbgStreamBuffer *pStreamBuffer, SbgEComLogStatus *pLogData));
213SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteStatusData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogStatus *pLogData));
214
215SBG_DEPRECATED(SbgEComCanBusStatus sbgEComLogStatusGetCanStatus(uint32_t status));
216SBG_DEPRECATED(uint32_t sbgEComLogStatusBuildCommunicationStatus(SbgEComCanBusStatus canStatus, uint32_t masks));
217
218#ifdef __cplusplus
219}
220#endif
221
222#endif // SBG_ECOM_LOG_STATUS_H
Main header for the SBG Systems common C library.
#define SBG_DEPRECATED(func)
Definition sbgDefines.h:316
#define SBG_DEPRECATED_TYPEDEF(decl)
Definition sbgDefines.h:349
SbgErrorCode sbgEComLogStatusReadFromStream(SbgEComLogStatus *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogStatusWriteToStream(const SbgEComLogStatus *pLogData, SbgStreamBuffer *pStreamBuffer)
bool sbgEComLogStatusIsCpuUsageAvailable(const SbgEComLogStatus *pLogData)
void sbgEComLogStatusSetCanBusStatus(SbgEComLogStatus *pLogData, SbgEComCanBusStatus status)
SbgEComCanBusStatus sbgEComLogStatusGetCanBusStatus(const SbgEComLogStatus *pLogData)
enum _SbgEComCanBusStatus SbgEComCanBusStatus
struct _SbgEComLogStatus SbgEComLogStatus
_SbgEComCanBusStatus
Definition sbgEComLogStatus.h:94
@ SBG_ECOM_CAN_BUS_OK
Definition sbgEComLogStatus.h:97
@ SBG_ECOM_CAN_BUS_TX_RX_ERR
Definition sbgEComLogStatus.h:96
@ SBG_ECOM_CAN_BUS_OFF
Definition sbgEComLogStatus.h:95
@ SBG_ECOM_CAN_BUS_ERROR
Definition sbgEComLogStatus.h:98
enum _SbgErrorCode SbgErrorCode
Used to read/write data from/to a memory buffer stream.
struct _SbgStreamBuffer SbgStreamBuffer
Definition sbgEComLogStatus.h:144
uint16_t reserved3
Definition sbgEComLogStatus.h:151
uint32_t timeStamp
Definition sbgEComLogStatus.h:145
uint8_t cpuUsage
Definition sbgEComLogStatus.h:153
uint16_t generalStatus
Definition sbgEComLogStatus.h:146
uint32_t aidingStatus
Definition sbgEComLogStatus.h:149
uint16_t comStatus2
Definition sbgEComLogStatus.h:148
uint32_t comStatus
Definition sbgEComLogStatus.h:147
uint32_t uptime
Definition sbgEComLogStatus.h:152
uint32_t reserved2
Definition sbgEComLogStatus.h:150