sbgECom Library  5.2.590-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#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)
54
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)
67
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)
78
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)
84
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)
88
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)
113
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)
134
135//----------------------------------------------------------------------//
136//- Status definitions -//
137//----------------------------------------------------------------------//
138
142typedef 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;
152 uint8_t cpuUsage;
154
155//----------------------------------------------------------------------//
156//- Public methods -//
157//----------------------------------------------------------------------//
158
167
176
177//----------------------------------------------------------------------//
178//- Public getters & helpers -//
179//----------------------------------------------------------------------//
180
188
196
204
205//----------------------------------------------------------------------//
206//- DEPRECATED - Used for backward compatibility -//
207//----------------------------------------------------------------------//
208
209SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogStatus SbgLogStatusData);
210
211SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseStatusData(SbgStreamBuffer *pStreamBuffer, SbgEComLogStatus *pLogData));
212SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteStatusData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogStatus *pLogData));
213
214SBG_DEPRECATED(SbgEComCanBusStatus sbgEComLogStatusGetCanStatus(uint32_t status));
215SBG_DEPRECATED(uint32_t sbgEComLogStatusBuildCommunicationStatus(SbgEComCanBusStatus canStatus, uint32_t masks));
216
217#ifdef __cplusplus
218}
219#endif
220
221#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: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.
struct _SbgStreamBuffer SbgStreamBuffer
Definition sbgEComLogStatus.h:143
uint16_t reserved3
Definition sbgEComLogStatus.h:150
uint32_t timeStamp
Definition sbgEComLogStatus.h:144
uint8_t cpuUsage
Definition sbgEComLogStatus.h:152
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