45 #define MAX_NUM_USER_TASKS 16
61 #define ESOS_USE_SERIAL_PORT
67 #if defined(ESOS_USE_BULK_CDC_USB) || defined(ESOS_USE_SERIAL_PORT)
69 #endif // USE_USB or USE_SERIAL
76 #endif //ESOS_USE_IRQS
78 #ifdef ESOS_RUNS_ON_REAL_OS
85 #define OS_END return(1)
86 #define OS_ITERATE usleep(10000)
92 #define OS_END while(1)
112 #define MAX_NUM_CHILD_TASKS MAX_NUM_USER_TASKS
113 #define REMOVE_IDX 0xFE
126 struct stTask pst_Task;
135 uint32_t u32_Postmark;
141 uint32_t u32_cntDown;
148 #define ESOS_USER_FLAG_0 BIT0
152 #define ESOS_USER_FLAG_1 BIT1
156 #define ESOS_USER_FLAG_2 BIT2
160 #define ESOS_USER_FLAG_3 BIT3
164 #define ESOS_USER_FLAG_4 BIT4
168 #define ESOS_USER_FLAG_5 BIT5
172 #define ESOS_USER_FLAG_6 BIT6
176 #define ESOS_USER_FLAG_7 BIT7
180 #define ESOS_USER_FLAG_8 BIT8
184 #define ESOS_USER_FLAG_9 BIT9
188 #define ESOS_USER_FLAG_A BIT10
192 #define ESOS_USER_FLAG_B BIT11
196 #define ESOS_USER_FLAG_C BIT12
200 #define ESOS_USER_FLAG_D BIT13
204 #define ESOS_USER_FLAG_E BIT14
208 #define ESOS_USER_FLAG_F BIT15
223 #define ESOS_USER_TIMER(timername) void timername(void)
281 uint16_t esos_hash_u32_to_u16(uint32_t u32_hash);
293 void __esos_hw_InitSystemTick(
void);
294 uint32_t __esos_hw_GetSystemTickCount(
void);
307 #define esos_GetSystemTick() __esos_hw_GetSystemTickCount()
310 uint16_t __esos_hasTickDurationPassed(uint32_t u32_startTick, uint32_t u32_period);
311 void __esos_tmrSvcsExecute(
void);
313 void __esos_InitCommSystem(
void);
320 extern uint8_t __esos_u8UserTasksRegistered;
321 extern uint16_t __esos_u16UserFlags, __esos_u16SystemFlags;
322 extern uint32_t __esos_u32FNVHash;
333 #define esos_GetNumberRegisteredTasks() (__esos_u8UserTasksRegistered)
344 #define esos_GetFutureSystemTick(deltaT) ((uint32_t)(deltaT) + __esos_hw_GetSystemTickCount());
362 #define esos_SetUserFlag(mask) BIT_SET_MASK(__esos_u16UserFlags, (mask))
382 #define esos_ClearUserFlag(mask) BIT_CLEAR_MASK(__esos_u16UserFlags, (mask))
404 #define esos_IsUserFlagSet(mask) IS_BIT_SET_MASK(__esos_u16UserFlags, (mask))
426 #define esos_IsUserFlagClear(mask) IS_BIT_CLEAR_MASK(__esos_u16UserFlags, (mask))
430 #define __esos_SetSystemFlag(mask) BIT_SET_MASK(__esos_u16SystemFlags, (mask))
431 #define __esos_ClearSystemFlag(mask) BIT_CLEAR_MASK(__esos_u16SystemFlags, (mask))
432 #define __esos_IsSystemFlagSet(mask) IS_BIT_SET_MASK(__esos_u16SystemFlags, (mask))
433 #define __esos_IsSystemFlagClear(mask) IS_BIT_CLEAR_MASK(__esos_u16SystemFlags, (mask))
436 #define ESOS_TMR_FAILURE 0xFF
437 #define MAX_NUM_TMRS 16
445 #define esos_GetNumberRunningTimers() (__esos_u8TmrSvcsRegistered)
458 #define esos_IsTimerRunning(hndl) IS_BIT_SET_MASK(__esos_u16TmrActiveFlags, (BIT0<<(hndl)))
459 #define __esos_MarkTimerRunning(hndl) BIT_SET_MASK(__esos_u16TmrActiveFlags, (BIT0<<(hndl)))
460 #define __esos_MarkTimerStopped(hndl) BIT_CLEAR_MASK(__esos_u16TmrActiveFlags, (BIT0<<(hndl)))
464 #define __ESOS_SYS_FLAG_PACK_TASKS BIT0
465 #define __ESOS_SYS_FLAG_NULL_LAST_TASK BIT1
466 #define __ESOS_SYS_COMM_TX_IS_BUSY BIT2
467 #define __ESOS_SYS_COMM_RX_IS_BUSY BIT3
468 #define __ESOS_SYS_I2C_IS_BUSY BIT4
469 #define __ESOS_SYS_SPI_IS_BUSY BIT5
470 #define __ESOS_SYS_ADC_IS_BUSY BIT6
473 #define __abs(x) (((x) < 0) ? -(x) : (x))