Go to the documentation of this file.
65 #if OS_CONFIG_MAX_ERROR_PARAM >= 1
68 #if OS_CONFIG_MAX_ERROR_PARAM >= 2
71 #if OS_CONFIG_MAX_ERROR_PARAM == 3
76 #if defined(OS_CONFIG_HOOK_ERROR) && OS_CONFIG_HOOK_ERROR == true && !defined(__DOXYGEN__)
77 #define OS_CALL_ERROR_HOOK(error) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
78 if (!blockErrorHook) { \
79 blockErrorHook = true; \
81 blockErrorHook = false; \
93 #define OS_CALL_ERROR_HOOK(error)
96 #if defined(OS_CONFIG_MAX_ERROR_PARAM) && OS_CONFIG_MAX_ERROR_PARAM >= 0 && !defined(__DOXYGEN__)
97 #if OS_CONFIG_MAX_ERROR_PARAM == 0
98 #define OS_SET_ERROR_INFO0(serviceId) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
99 errorInfo.id = serviceId; \
102 #define OS_SET_ERROR_INFO1(serviceId, paramPtr1, size1) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
103 errorInfo.id = serviceId; \
106 #define OS_SET_ERROR_INFO2(serviceId, paramPtr1, size1, \
107 paramPtr2, size2) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
108 errorInfo.id = serviceId; \
111 #define OS_SET_ERROR_INFO3(serviceId, paramPtr1, size1, \
113 paramPtr3, size3) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
114 errorInfo.id = serviceId; \
118 #if OS_CONFIG_MAX_ERROR_PARAM == 1
119 #define OS_SET_ERROR_INFO0(serviceId) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
120 errorInfo.id = serviceId; \
123 #define OS_SET_ERROR_INFO1(serviceId, paramPtr1, size1) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
124 errorInfo.id = serviceId; \
125 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
128 #define OS_SET_ERROR_INFO2(serviceId, paramPtr1, size1, \
129 paramPtr2, size2) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
130 errorInfo.id = serviceId; \
131 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
134 #define OS_SET_ERROR_INFO3(serviceId, paramPtr1, size1, \
136 paramPtr3, size3) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
137 errorInfo.id = serviceId; \
138 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
142 #if OS_CONFIG_MAX_ERROR_PARAM == 2
143 #define OS_SET_ERROR_INFO0(serviceId) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
144 errorInfo.id = serviceId; \
147 #define OS_SET_ERROR_INFO1(serviceId, paramPtr1, size1) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
148 errorInfo.id = serviceId; \
149 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
152 #define OS_SET_ERROR_INFO2(serviceId, paramPtr1, size1, \
153 paramPtr2, size2) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
154 errorInfo.id = serviceId; \
155 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
156 memcpy((uint8_t*) &errorInfo.param2, paramPtr2, size2); \
159 #define OS_SET_ERROR_INFO3(serviceId, paramPtr1, size1, \
161 paramPtr3, size3) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
162 errorInfo.id = serviceId; \
163 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
164 memcpy((uint8_t*) &errorInfo.param2, paramPtr2, size2); \
168 #if OS_CONFIG_MAX_ERROR_PARAM == 3
169 #define OS_SET_ERROR_INFO0(serviceId) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
170 errorInfo.id = serviceId; \
173 #define OS_SET_ERROR_INFO1(serviceId, paramPtr1, size1) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
174 errorInfo.id = serviceId; \
175 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
178 #define OS_SET_ERROR_INFO2(serviceId, paramPtr1, size1, \
179 paramPtr2, size2) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
180 errorInfo.id = serviceId; \
181 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
182 memcpy((uint8_t*) &errorInfo.param2, paramPtr2, size2); \
185 #define OS_SET_ERROR_INFO3(serviceId, paramPtr1, size1, \
187 paramPtr3, size3) ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { \
188 errorInfo.id = serviceId; \
189 memcpy((uint8_t*) &errorInfo.param1, paramPtr1, size1); \
190 memcpy((uint8_t*) &errorInfo.param2, paramPtr2, size2); \
191 memcpy((uint8_t*) &errorInfo.param3, paramPtr3, size3); \
195 #if OS_CONFIG_MAX_ERROR_PARAM > 3
196 #error Values of OS_CONFIG_MAX_ERROR_PARAM larger 3 are not supported!
208 #define OS_SET_ERROR_INFO0(serviceId)
220 #define OS_SET_ERROR_INFO1(serviceId, paramPtr1, size1)
234 #define OS_SET_ERROR_INFO2(serviceId, paramPtr1, size1, paramPtr2, size2)
250 #define OS_SET_ERROR_INFO3(serviceId, paramPtr1, size1, paramPtr2, size2, paramPtr3, size3)
256 #define OSErrorGetServiceId() (errorInfo.id);
259 #define OSError_GetAlarmBase_AlarmID() ((AlarmType) errorInfo.param1)
260 #define OSError_GetAlarmBase_Info() ((AlarmBaseRefType) errorInfo.param2)
263 #define OSError_GetAlarm_AlarmID() ((AlarmType) errorInfo.param1)
264 #define OSError_GetAlarm_Tick() ((TickRefType) errorInfo.param2)
267 #define OSError_SetRelAlarm_AlarmID() ((AlarmType) errorInfo.param1)
268 #define OSError_SetRelAlarm_increment() ((TickType) errorInfo.param2)
269 #define OSError_SetRelAlarm_cycle() ((TickType) errorInfo.param3)
272 #define OSError_SetAbsAlarm_AlarmID() ((AlarmType) errorInfo.param1)
273 #define OSError_SetAbsAlarm_start() ((TickType) errorInfo.param2)
274 #define OSError_SetAbsAlarm_cycle() ((TickType) errorInfo.param3)
277 #define OSError_CancelAlarm_AlarmID() ((AlarmType) errorInfo.param1)
280 #define OSError_IncrementCounter_CounterID() ((CounterType) errorInfo.param1)
283 #define OSError_GetCounterValue_CounterID() ((CounterType) errorInfo.param1)
284 #define OSError_GetCounterValue_Value() ((TickRefType) errorInfo.param2)
287 #define OSError_GetElapsedValue_CounterID() ((CounterType) errorInfo.param1)
288 #define OSError_GetElapsedValue_Value() ((TickRefType) errorInfo.param2)
289 #define OSError_GetElapsedValue_ElapsedValue() ((TickRefType) errorInfo.param3)
292 #define OSError_SetEvent_TaskID() ((TaskType) errorInfo.param1)
293 #define OSError_SetEvent_Mask() ((EventMaskType) errorInfo.param2)
296 #define OSError_ClearEvent_Mask() ((EventMaskType) errorInfo.param1)
299 #define OSError_GetEvent_TaskID() ((TaskType) errorInfo.param1)
300 #define OSError_GetEvent_Type() ((EventMaskRefType) errorInfo.param2)
303 #define OSError_WaitEvent_Mask() ((EventMaskType) errorInfo.param1)
306 #define OSError_StartOS_Mode() ((AppModeType) errorInfo.param1)
309 #define OSError_ShutdownOS_Error ((StatusType) errorInfo.param1)
312 #define OSError_GetResource_ResID() ((ResourceType) errorInfo.param1)
315 #define OSError_ReleaseResource_ResID() ((ResourceType) errorInfo.param1)
318 #define OSError_ActivateTask_TaskID() ((TaskType) errorInfo.param1)
321 #define OSError_ChainTask_TaskID() ((TaskType) errorInfo.param1)
324 #define OSError_GetTaskID_TaskID() ((TaskRefType) errorInfo.param1)
327 #define OSError_GetTaskState_TaskID() ((TaskType) errorInfo.param1)
328 #define OSError_GetTaskState_State() ((TaskStateRefType) errorInfo.param2)
331 #define OSError_StartScheduleTableRel_ScheduleTableID ((ScheduleTableType) errorInfo.param1)
332 #define OSError_StartScheduleTableRel_Offset ((TickType) errorInfo.param2)
335 #define OSError_StartScheduleTableAbs_ScheduleTableID ((ScheduleTableType) errorInfo.param1)
336 #define OSError_StartScheduleTableAbs_Start ((TickType) errorInfo.param2)
339 #define OSError_StopScheduleTable_ScheduleTableID ((ScheduleTableType) errorInfo.param1)
342 #define OSError_NextScheduleTable_ScheduleTableID_From ((ScheduleTableType) errorInfo.param1)
343 #define OSError_NextScheduleTable_ScheduleTableID_To ((ScheduleTableType) errorInfo.param2)
346 #define OSError_GetScheduleTableStatus_ScheduleTableID ((ScheduleTableType) errorInfo.param1)
347 #define OSError_GetScheduleTableStatus_ScheduleStatus ((ScheduleTableStatusRefType) errorInfo.param2)
@ OSServiceId_GetAlarmBase
@ OSServiceId_NextScheduleTable
@ OSServiceId_CancelAlarm
@ OSServiceId_SetRelAlarm
@ OSServiceId_ResumeOSInterrupts
@ OSServiceId_EnableAllInterrupts
@ OSServiceId_StopScheduleTable
@ OSServiceId_GetScheduleTableStatus
@ OSServiceId_ActivateTask
enum osServiceIdType OSServiceIdType
Type for Service IDs.
@ OSServiceId_ReleaseResource
@ OSServiceId_IncrementCounter
@ OSServiceId_StartScheduleTableAbs
@ OSServiceId_GetActiveApplicationMode
@ OSServiceId_GetTaskState
Structure used for saving error information.
@ OSServiceId_ResumeAllInterrupts
OSServiceIdType id
ID of service.
@ OSServiceId_SetAbsAlarm
@ OSServiceId_GetResource
@ OSServiceId_TerminateTask
@ OSServiceId_DisableAllInterrupts
@ OSServiceId_SuspendOSInterrupts
osServiceIdType
Type for Service IDs.
@ OSServiceId_SuspendAllInterrupts
@ OSServiceId_GetCounterValue
@ OSServiceId_StartScheduleTableRel
@ OSServiceId_GetElapsedValue