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))
ESOS_TASK_HANDLE esos_GetFreeChildTaskStruct()
ESOS_TASK_HANDLE esos_RegisterTask(uint8_t(*taskname)(ESOS_TASK_HANDLE pstTask))
uint32_t esos_GetRandomUint32()
ESOS_TASK_HANDLE esos_GetTaskHandleFromID(uint16_t u16_TaskID)
ESOS_TMR_HANDLE esos_RegisterTimer(void(*pfnTmrFcn)(void), uint32_t u32_period)
uint8_t esos_UnregisterTimer(ESOS_TMR_HANDLE hnd_timer)
ESOS_TASK_HANDLE esos_GetTaskHandle(uint8_t(*taskname)(ESOS_TASK_HANDLE pstTask))
uint32_t esos_string_hash_u32(char *psz_str)
ESOS_TMR_HANDLE esos_GetTimerHandle(void(*pfnTmrFcn)(void))
uint8_t esos_UnregisterTask(uint8_t(*taskname)(ESOS_TASK_HANDLE pstTask))
uint8_t esos_ChangeTimerPeriod(ESOS_TMR_HANDLE hnd_timer, uint32_t u32_period)
unsigned char uint8_t
An abbreviation for an 8-bit unsigned integer.
Embedded Systems Operating System (ESOS) Definitions to make ESOS code more generic and portable...
uint32_t esos_buffer_hash_u32(void *buf, uint16_t len)