43 #define MAX_NUM_USER_TASKS 32
61 #define ESOS_USE_SERIAL_PORT
67 #if defined(ESOS_USE_SERIAL_PORT)
69 #endif // USE_USB or USE_SERIAL
76 #endif //ESOS_USE_IRQS
78 #ifdef ESOS_USE_WATCHDOG
83 #endif //ESOS_USE_WATCHDOG
99 #if defined (ESOS_USE_I2C_100KBPS) || defined (ESOS_USE_I2C) || defined (ESOS_USE_I2C_400KBPS)
104 #endif // ESOS_USE_I2C
107 #if defined (ESOS_USE_SPI)
112 #endif // ESOS_USE_SPI
115 #ifdef ESOS_RUNS_ON_REAL_OS
122 #define OS_END return(1)
123 #define OS_ITERATE usleep(10000)
129 #define OS_END while(1)
149 #define MAX_NUM_CHILD_TASKS MAX_NUM_USER_TASKS
150 #define REMOVE_IDX 0xFE
159 volatile uint8_t* pau8_Data;
172 uint32_t u32_Postmark;
178 uint32_t u32_cntDown;
185 #define ESOS_USER_FLAG_0 ESOS_BIT0
189 #define ESOS_USER_FLAG_1 ESOS_BIT1
193 #define ESOS_USER_FLAG_2 ESOS_BIT2
197 #define ESOS_USER_FLAG_3 ESOS_BIT3
201 #define ESOS_USER_FLAG_4 ESOS_BIT4
205 #define ESOS_USER_FLAG_5 ESOS_BIT5
209 #define ESOS_USER_FLAG_6 ESOS_BIT6
213 #define ESOS_USER_FLAG_7 ESOS_BIT7
217 #define ESOS_USER_FLAG_8 ESOS_BIT8
221 #define ESOS_USER_FLAG_9 ESOS_BIT9
225 #define ESOS_USER_FLAG_10 ESOS_BIT10
229 #define ESOS_USER_FLAG_11 ESOS_BIT11
233 #define ESOS_USER_FLAG_12 ESOS_BIT12
237 #define ESOS_USER_FLAG_13 ESOS_BIT13
241 #define ESOS_USER_FLAG_14 ESOS_BIT14
245 #define ESOS_USER_FLAG_15 ESOS_BIT15
249 #define ESOS_USER_FLAG_16 ESOS_BIT16
253 #define ESOS_USER_FLAG_17 ESOS_BIT17
257 #define ESOS_USER_FLAG_18 ESOS_BIT18
261 #define ESOS_USER_FLAG_19 ESOS_BIT19
265 #define ESOS_USER_FLAG_20 ESOS_BIT20
269 #define ESOS_USER_FLAG_21 ESOS_BIT21
273 #define ESOS_USER_FLAG_22 ESOS_BIT22
277 #define ESOS_USER_FLAG_23 ESOS_BIT23
281 #define ESOS_USER_FLAG_24 ESOS_BIT24
285 #define ESOS_USER_FLAG_25 ESOS_BIT25
289 #define ESOS_USER_FLAG_26 ESOS_BIT26
293 #define ESOS_USER_FLAG_27 ESOS_BIT27
297 #define ESOS_USER_FLAG_28 ESOS_BIT28
301 #define ESOS_USER_FLAG_29 ESOS_BIT29
305 #define ESOS_USER_FLAG_30 ESOS_BIT30
309 #define ESOS_USER_FLAG_31 ESOS_BIT31
324 #define ESOS_USER_TIMER(timername) void timername(void)
394 uint32_t __esos_hw_GetSystemTickCount(
void);
396 uint32_t __esos_hw_PRNG_u32(
void);
397 void __esos_hw_config_PRNG(
void);
398 void __esos_hw_set_PRNG_Seed(uint32_t u32_seed);
401 #define __MILLISECONDS_PER_TICK 1
402 #define MILLISECONDS __MILLISECONDS_PER_TICK
403 #define SECONDS MILLISECONDS*1000
404 #define MINUTES SECONDS*60
405 #define HOURS MINUTES*60
406 #define DAYS HOURS*24
418 #define esos_GetSystemTick() __esos_hw_GetSystemTickCount()
421 uint16_t __esos_hasTickDurationPassed(uint32_t u32_startTick, uint32_t u32_period);
422 void __esos_tmrSvcsExecute(
void);
424 void __esos_InitCommSystem(
void);
431 extern uint8_t __esos_u8UserTasksRegistered;
432 extern uint32_t __esos_u32UserFlags, __esos_u32SystemFlags;
443 #define esos_GetNumberRegisteredTasks() (__esos_u8UserTasksRegistered)
454 #define esos_GetFutureSystemTick(deltaT) ((uint32_t)(deltaT) + __esos_hw_GetSystemTickCount());
472 #define esos_SetUserFlag(mask) BIT_SET_MASK(__esos_u32UserFlags, (mask))
492 #define esos_ClearUserFlag(mask) BIT_CLEAR_MASK(__esos_u32UserFlags, (mask))
514 #define esos_IsUserFlagSet(mask) IS_BIT_SET_MASK(__esos_u32UserFlags, (mask))
536 #define esos_IsUserFlagClear(mask) IS_BIT_CLEAR_MASK(__esos_u32UserFlags, (mask))
540 #define __esos_SetSystemFlag(mask) BIT_SET_MASK(__esos_u32SystemFlags, (mask))
541 #define __esos_ClearSystemFlag(mask) BIT_CLEAR_MASK(__esos_u32SystemFlags, (mask))
542 #define __esos_IsSystemFlagSet(mask) IS_BIT_SET_MASK(__esos_u32SystemFlags, (mask))
543 #define __esos_IsSystemFlagClear(mask) IS_BIT_CLEAR_MASK(__esos_u32SystemFlags, (mask))
546 #define ESOS_TMR_FAILURE 0xFF
547 #define MAX_NUM_TMRS 16
555 #define esos_GetNumberRunningTimers() (__esos_u8TmrSvcsRegistered)
568 #define esos_IsTimerRunning(hndl) IS_BIT_SET_MASK(__esos_u32TmrActiveFlags, (ESOS_BIT0<<(hndl)))
569 #define __esos_MarkTimerRunning(hndl) BIT_SET_MASK(__esos_u32TmrActiveFlags, (ESOS_BIT0<<(hndl)))
570 #define __esos_MarkTimerStopped(hndl) BIT_CLEAR_MASK(__esos_u32TmrActiveFlags, (ESOS_BIT0<<(hndl)))
574 #define __ESOS_SYS_FLAG_PACK_TASKS ESOS_BIT0
575 #define __ESOS_SYS_FLAG_NULL_LAST_TASK ESOS_BIT1
576 #define __ESOS_SYS_COMM_TX_IS_BUSY ESOS_BIT2
577 #define __ESOS_SYS_COMM_RX_IS_BUSY ESOS_BIT3
578 #define __ESOS_SYS_COMM_TX_ONGOING ESOS_BIT4
579 #define __ESOS_SYS_I2C_IN_USE ESOS_BIT8
580 #define __ESOS_SYS_SPI_IN_USE ESOS_BIT9
581 #define __ESOS_SYS_ADC_IN_USE ESOS_BIT10
584 #define __abs(x) (((x) < 0) ? -(x) : (x))