| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
os.h File Reference
`#include <os_cfg.h>`
`#include <cpu.h>`
`#include <cpu_core.h>`
`#include <lib_def.h>`
`#include <os_type.h>`
`#include <os_cpu.h>`

Go to the source code of this file.

## Data Structures
struct | OS_RDY_LIST
struct | OS_PEND_DATA
struct | OS_PEND_LIST
struct | OS_PEND_OBJ
struct | OS_FLAG_GRP
struct | OS_MEM
struct | OS_MSG
struct | OS_MSG_POOL
struct | OS_MSG_Q
struct | OS_MUTEX
struct | OS_Q
struct | OS_SEM
struct | OS_TCB
struct | OS_TICK_SPOKE
struct | OS_TMR
struct | OS_TMR_SPOKE

## Macros
#define | OS_VERSION 30300u /* Version of uC/OS-III (Vx.yy.zz mult. by 10000) */
#define | OS_SCHED_LOCK_TIME_MEAS_START()
#define | OS_SCHED_LOCK_TIME_MEAS_STOP()
#define | OS_CRITICAL_ENTER() CPU_CRITICAL_ENTER()
#define | OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT()
#define | OS_CRITICAL_EXIT() CPU_CRITICAL_EXIT()
#define | OS_CRITICAL_EXIT_NO_SCHED() CPU_CRITICAL_EXIT()
#define | OS_EXT extern
#define | OS_PRIO_TBL_SIZE (((OS_CFG_PRIO_MAX - 1u) / DEF_INT_CPU_NBR_BITS) + 1u)
#define | OS_MSG_EN (((OS_CFG_TASK_Q_EN > 0u) || (OS_CFG_Q_EN > 0u)) ? 1u : 0u)
#define | OS_STATE_OS_STOPPED (OS_STATE)(0u)
#define | OS_STATE_OS_RUNNING (OS_STATE)(1u)
#define | OS_STATE_NOT_RDY (CPU_BOOLEAN)(0u)
#define | OS_STATE_RDY (CPU_BOOLEAN)(1u)
#define | OS_TASK_STATE_BIT_DLY (OS_STATE)(0x01u) /* /-------- SUSPENDED bit */
#define | OS_TASK_STATE_BIT_PEND (OS_STATE)(0x02u) /* | /----- PEND bit */
#define | OS_TASK_STATE_BIT_SUSPENDED (OS_STATE)(0x04u) /* | | /--- Delayed/Timeout bit */
#define | OS_TASK_STATE_RDY (OS_STATE)( 0u) /* 0 0 0 Ready */
#define | OS_TASK_STATE_DLY (OS_STATE)( 1u) /* 0 0 1 Delayed or Timeout */
#define | OS_TASK_STATE_PEND (OS_STATE)( 2u) /* 0 1 0 Pend */
#define | OS_TASK_STATE_PEND_TIMEOUT (OS_STATE)( 3u) /* 0 1 1 Pend + Timeout */
#define | OS_TASK_STATE_SUSPENDED (OS_STATE)( 4u) /* 1 0 0 Suspended */
#define | OS_TASK_STATE_DLY_SUSPENDED (OS_STATE)( 5u) /* 1 0 1 Suspended + Delayed or Timeout */
#define | OS_TASK_STATE_PEND_SUSPENDED (OS_STATE)( 6u) /* 1 1 0 Suspended + Pend */
#define | OS_TASK_STATE_PEND_TIMEOUT_SUSPENDED (OS_STATE)( 7u) /* 1 1 1 Suspended + Pend + Timeout */
#define | OS_TASK_STATE_DEL (OS_STATE)(255u)
#define | OS_TASK_PEND_ON_NOTHING (OS_STATE)( 0u) /* Pending on nothing */
#define | OS_TASK_PEND_ON_FLAG (OS_STATE)( 1u) /* Pending on event flag group */
#define | OS_TASK_PEND_ON_TASK_Q (OS_STATE)( 2u) /* Pending on message to be sent to task */
#define | OS_TASK_PEND_ON_MULTI (OS_STATE)( 3u) /* Pending on multiple semaphores and/or queues */
#define | OS_TASK_PEND_ON_MUTEX (OS_STATE)( 4u) /* Pending on mutual exclusion semaphore */
#define | OS_TASK_PEND_ON_Q (OS_STATE)( 5u) /* Pending on queue */
#define | OS_TASK_PEND_ON_SEM (OS_STATE)( 6u) /* Pending on semaphore */
#define | OS_TASK_PEND_ON_TASK_SEM (OS_STATE)( 7u) /* Pending on signal to be sent to task */
#define | OS_STATUS_PEND_OK (OS_STATUS)( 0u) /* Pending status OK, !pending, or pending complete */
#define | OS_STATUS_PEND_ABORT (OS_STATUS)( 1u) /* Pending aborted */
#define | OS_STATUS_PEND_DEL (OS_STATUS)( 2u) /* Pending object deleted */
#define | OS_STATUS_PEND_TIMEOUT (OS_STATUS)( 3u) /* Pending timed out */
#define | OS_OBJ_TYPE_NONE (OS_OBJ_TYPE)CPU_TYPE_CREATE('N', 'O', 'N', 'E')
#define | OS_OBJ_TYPE_FLAG (OS_OBJ_TYPE)CPU_TYPE_CREATE('F', 'L', 'A', 'G')
#define | OS_OBJ_TYPE_MEM (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'E', 'M', ' ')
#define | OS_OBJ_TYPE_MUTEX (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'U', 'T', 'X')
#define | OS_OBJ_TYPE_Q (OS_OBJ_TYPE)CPU_TYPE_CREATE('Q', 'U', 'E', 'U')
#define | OS_OBJ_TYPE_SEM (OS_OBJ_TYPE)CPU_TYPE_CREATE('S', 'E', 'M', 'A')
#define | OS_OBJ_TYPE_TASK_MSG (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'S', 'G')
#define | OS_OBJ_TYPE_TASK_RESUME (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'R', 'E', 'S')
#define | OS_OBJ_TYPE_TASK_SIGNAL (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'I', 'G')
#define | OS_OBJ_TYPE_TASK_SUSPEND (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'U', 'S')
#define | OS_OBJ_TYPE_TICK (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'I', 'C', 'K')
#define | OS_OBJ_TYPE_TMR (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'R', ' ')
#define | OS_OPT_NONE (OS_OPT)(0x0000u)
#define | OS_OPT_DEL_NO_PEND (OS_OPT)(0x0000u)
#define | OS_OPT_DEL_ALWAYS (OS_OPT)(0x0001u)
#define | OS_OPT_PEND_FLAG_MASK (OS_OPT)(0x000Fu)
#define | OS_OPT_PEND_FLAG_CLR_ALL (OS_OPT)(0x0001u) /* Wait for ALL the bits specified to be CLR */
#define | OS_OPT_PEND_FLAG_CLR_AND (OS_OPT)(0x0001u)
#define | OS_OPT_PEND_FLAG_CLR_ANY (OS_OPT)(0x0002u) /* Wait for ANY of the bits specified to be CLR */
#define | OS_OPT_PEND_FLAG_CLR_OR (OS_OPT)(0x0002u)
#define | OS_OPT_PEND_FLAG_SET_ALL (OS_OPT)(0x0004u) /* Wait for ALL the bits specified to be SET */
#define | OS_OPT_PEND_FLAG_SET_AND (OS_OPT)(0x0004u)
#define | OS_OPT_PEND_FLAG_SET_ANY (OS_OPT)(0x0008u) /* Wait for ANY of the bits specified to be SET */
#define | OS_OPT_PEND_FLAG_SET_OR (OS_OPT)(0x0008u)
#define | OS_OPT_PEND_FLAG_CONSUME (OS_OPT)(0x0100u) /* Consume the flags if condition(s) satisfied */
#define | OS_OPT_PEND_BLOCKING (OS_OPT)(0x0000u)
#define | OS_OPT_PEND_NON_BLOCKING (OS_OPT)(0x8000u)
#define | OS_OPT_PEND_ABORT_1 (OS_OPT)(0x0000u) /* Pend abort a single waiting task */
#define | OS_OPT_PEND_ABORT_ALL (OS_OPT)(0x0100u) /* Pend abort ALL tasks waiting */
#define | OS_OPT_POST_NONE (OS_OPT)(0x0000u)
#define | OS_OPT_POST_FLAG_SET (OS_OPT)(0x0000u)
#define | OS_OPT_POST_FLAG_CLR (OS_OPT)(0x0001u)
#define | OS_OPT_POST_FIFO (OS_OPT)(0x0000u) /* Default is to post FIFO */
#define | OS_OPT_POST_LIFO (OS_OPT)(0x0010u) /* Post to highest priority task waiting */
#define | OS_OPT_POST_1 (OS_OPT)(0x0000u) /* Post message to highest priority task waiting */
#define | OS_OPT_POST_ALL (OS_OPT)(0x0200u) /* Broadcast message to ALL tasks waiting */
#define | OS_OPT_POST_NO_SCHED (OS_OPT)(0x8000u) /* Do not call the scheduler if this is selected */
#define | OS_OPT_TASK_NONE (OS_OPT)(0x0000u) /* No option selected */
#define | OS_OPT_TASK_STK_CHK (OS_OPT)(0x0001u) /* Enable stack checking for the task */
#define | OS_OPT_TASK_STK_CLR (OS_OPT)(0x0002u) /* Clear the stack when the task is create */
#define | OS_OPT_TASK_SAVE_FP (OS_OPT)(0x0004u) /* Save the contents of any floating-point registers */
#define | OS_OPT_TASK_NO_TLS (OS_OPT)(0x0008u) /* Specifies the task DOES NOT require TLS support */
#define | OS_OPT_TIME_DLY DEF_BIT_NONE
#define | OS_OPT_TIME_TIMEOUT ((OS_OPT)DEF_BIT_01)
#define | OS_OPT_TIME_MATCH ((OS_OPT)DEF_BIT_02)
#define | OS_OPT_TIME_PERIODIC ((OS_OPT)DEF_BIT_03)
#define | OS_OPT_TIME_HMSM_STRICT ((OS_OPT)DEF_BIT_NONE)
#define | OS_OPT_TIME_HMSM_NON_STRICT ((OS_OPT)DEF_BIT_04)
#define | OS_OPT_TIME_MASK
#define | OS_OPT_TIME_OPTS_MASK
#define | OS_OPT_TMR_NONE (OS_OPT)(0u) /* No option selected */
#define | OS_OPT_TMR_ONE_SHOT (OS_OPT)(1u) /* Timer will not auto restart when it expires */
#define | OS_OPT_TMR_PERIODIC (OS_OPT)(2u) /* Timer will auto restart when it expires */
#define | OS_OPT_TMR_CALLBACK (OS_OPT)(3u) /* OSTmrStop() option to call 'callback' w/ timer arg */
#define | OS_OPT_TMR_CALLBACK_ARG (OS_OPT)(4u) /* OSTmrStop() option to call 'callback' w/ new arg */
#define | OS_TMR_STATE_UNUSED (OS_STATE)(0u)
#define | OS_TMR_STATE_STOPPED (OS_STATE)(1u)
#define | OS_TMR_STATE_RUNNING (OS_STATE)(2u)
#define | OS_TMR_STATE_COMPLETED (OS_STATE)(3u)
#define | OS_PRIO_INIT (OS_PRIO)(OS_CFG_PRIO_MAX)
#define | OS_TICK_TH_INIT (OS_TICK)(DEF_BIT ((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) - 1u))
#define | OS_TICK_TH_RDY

## Typedefs
typedef struct os_int_q | OS_INT_Q
typedef void(* | OS_TASK_PTR )(void *p_arg)
typedef void(* | OS_TMR_CALLBACK_PTR )(void *p_tmr, void *p_arg)

## Enumerations
enum | OS_ERR { OS_ERR_NONE = 0u, OS_ERR_A = 10000u, OS_ERR_ACCEPT_ISR = 10001u, OS_ERR_B = 11000u, OS_ERR_C = 12000u, OS_ERR_CREATE_ISR = 12001u, OS_ERR_D = 13000u, OS_ERR_DEL_ISR = 13001u, OS_ERR_E = 14000u, OS_ERR_F = 15000u, OS_ERR_FATAL_RETURN = 15001u, OS_ERR_FLAG_GRP_DEPLETED = 15101u, OS_ERR_FLAG_NOT_RDY = 15102u, OS_ERR_FLAG_PEND_OPT = 15103u, OS_ERR_FLUSH_ISR = 15104u, OS_ERR_G = 16000u, OS_ERR_H = 17000u, OS_ERR_I = 18000u, OS_ERR_ILLEGAL_CREATE_RUN_TIME = 18001u, OS_ERR_INT_Q = 18002u, OS_ERR_INT_Q_FULL = 18003u, OS_ERR_INT_Q_SIZE = 18004u, OS_ERR_INT_Q_STK_INVALID = 18005u, OS_ERR_INT_Q_STK_SIZE_INVALID = 18006u, OS_ERR_J = 19000u, OS_ERR_K = 20000u, OS_ERR_L = 21000u, OS_ERR_LOCK_NESTING_OVF = 21001u, OS_ERR_M = 22000u, OS_ERR_MEM_CREATE_ISR = 22201u, OS_ERR_MEM_FULL = 22202u, OS_ERR_MEM_INVALID_P_ADDR = 22203u, OS_ERR_MEM_INVALID_BLKS = 22204u, OS_ERR_MEM_INVALID_PART = 22205u, OS_ERR_MEM_INVALID_P_BLK = 22206u, OS_ERR_MEM_INVALID_P_MEM = 22207u, OS_ERR_MEM_INVALID_P_DATA = 22208u, OS_ERR_MEM_INVALID_SIZE = 22209u, OS_ERR_MEM_NO_FREE_BLKS = 22210u, OS_ERR_MSG_POOL_EMPTY = 22301u, OS_ERR_MSG_POOL_NULL_PTR = 22302u, OS_ERR_MUTEX_NOT_OWNER = 22401u, OS_ERR_MUTEX_OWNER = 22402u, OS_ERR_MUTEX_NESTING = 22403u, OS_ERR_N = 23000u, OS_ERR_NAME = 23001u, OS_ERR_NO_MORE_ID_AVAIL = 23002u, OS_ERR_O = 24000u, OS_ERR_OBJ_CREATED = 24001u, OS_ERR_OBJ_DEL = 24002u, OS_ERR_OBJ_PTR_NULL = 24003u, OS_ERR_OBJ_TYPE = 24004u, OS_ERR_OPT_INVALID = 24101u, OS_ERR_OS_NOT_RUNNING = 24201u, OS_ERR_OS_RUNNING = 24202u, OS_ERR_P = 25000u, OS_ERR_PEND_ABORT = 25001u, OS_ERR_PEND_ABORT_ISR = 25002u, OS_ERR_PEND_ABORT_NONE = 25003u, OS_ERR_PEND_ABORT_SELF = 25004u, OS_ERR_PEND_DEL = 25005u, OS_ERR_PEND_ISR = 25006u, OS_ERR_PEND_LOCKED = 25007u, OS_ERR_PEND_WOULD_BLOCK = 25008u, OS_ERR_POST_NULL_PTR = 25101u, OS_ERR_POST_ISR = 25102u, OS_ERR_PRIO_EXIST = 25201u, OS_ERR_PRIO = 25202u, OS_ERR_PRIO_INVALID = 25203u, OS_ERR_PTR_INVALID = 25301u, OS_ERR_Q = 26000u, OS_ERR_Q_FULL = 26001u, OS_ERR_Q_EMPTY = 26002u, OS_ERR_Q_MAX = 26003u, OS_ERR_Q_SIZE = 26004u, OS_ERR_R = 27000u, OS_ERR_REG_ID_INVALID = 27001u, OS_ERR_ROUND_ROBIN_1 = 27002u, OS_ERR_ROUND_ROBIN_DISABLED = 27003u, OS_ERR_S = 28000u, OS_ERR_SCHED_INVALID_TIME_SLICE = 28001u, OS_ERR_SCHED_LOCK_ISR = 28002u, OS_ERR_SCHED_LOCKED = 28003u, OS_ERR_SCHED_NOT_LOCKED = 28004u, OS_ERR_SCHED_UNLOCK_ISR = 28005u, OS_ERR_SEM_OVF = 28101u, OS_ERR_SET_ISR = 28102u, OS_ERR_STAT_RESET_ISR = 28201u, OS_ERR_STAT_PRIO_INVALID = 28202u, OS_ERR_STAT_STK_INVALID = 28203u, OS_ERR_STAT_STK_SIZE_INVALID = 28204u, OS_ERR_STATE_INVALID = 28205u, OS_ERR_STATUS_INVALID = 28206u, OS_ERR_STK_INVALID = 28207u, OS_ERR_STK_SIZE_INVALID = 28208u, OS_ERR_STK_LIMIT_INVALID = 28209u, OS_ERR_T = 29000u, OS_ERR_TASK_CHANGE_PRIO_ISR = 29001u, OS_ERR_TASK_CREATE_ISR = 29002u, OS_ERR_TASK_DEL = 29003u, OS_ERR_TASK_DEL_IDLE = 29004u, OS_ERR_TASK_DEL_INVALID = 29005u, OS_ERR_TASK_DEL_ISR = 29006u, OS_ERR_TASK_INVALID = 29007u, OS_ERR_TASK_NO_MORE_TCB = 29008u, OS_ERR_TASK_NOT_DLY = 29009u, OS_ERR_TASK_NOT_EXIST = 29010u, OS_ERR_TASK_NOT_SUSPENDED = 29011u, OS_ERR_TASK_OPT = 29012u, OS_ERR_TASK_RESUME_ISR = 29013u, OS_ERR_TASK_RESUME_PRIO = 29014u, OS_ERR_TASK_RESUME_SELF = 29015u, OS_ERR_TASK_RUNNING = 29016u, OS_ERR_TASK_STK_CHK_ISR = 29017u, OS_ERR_TASK_SUSPENDED = 29018u, OS_ERR_TASK_SUSPEND_IDLE = 29019u, OS_ERR_TASK_SUSPEND_INT_HANDLER = 29020u, OS_ERR_TASK_SUSPEND_ISR = 29021u, OS_ERR_TASK_SUSPEND_PRIO = 29022u, OS_ERR_TASK_WAITING = 29023u, OS_ERR_TCB_INVALID = 29101u, OS_ERR_TLS_ID_INVALID = 29120u, OS_ERR_TLS_ISR = 29121u, OS_ERR_TLS_NO_MORE_AVAIL = 29122u, OS_ERR_TLS_NOT_EN = 29123u, OS_ERR_TLS_DESTRUCT_ASSIGNED = 29124u, OS_ERR_TICK_PRIO_INVALID = 29201u, OS_ERR_TICK_STK_INVALID = 29202u, OS_ERR_TICK_STK_SIZE_INVALID = 29203u, OS_ERR_TICK_WHEEL_SIZE = 29204u, OS_ERR_TIME_DLY_ISR = 29301u, OS_ERR_TIME_DLY_RESUME_ISR = 29302u, OS_ERR_TIME_GET_ISR = 29303u, OS_ERR_TIME_INVALID_HOURS = 29304u, OS_ERR_TIME_INVALID_MINUTES = 29305u, OS_ERR_TIME_INVALID_SECONDS = 29306u, OS_ERR_TIME_INVALID_MILLISECONDS = 29307u, OS_ERR_TIME_NOT_DLY = 29308u, OS_ERR_TIME_SET_ISR = 29309u, OS_ERR_TIME_ZERO_DLY = 29310u, OS_ERR_TIMEOUT = 29401u, OS_ERR_TMR_INACTIVE = 29501u, OS_ERR_TMR_INVALID_DEST = 29502u, OS_ERR_TMR_INVALID_DLY = 29503u, OS_ERR_TMR_INVALID_PERIOD = 29504u, OS_ERR_TMR_INVALID_STATE = 29505u, OS_ERR_TMR_INVALID = 29506u, OS_ERR_TMR_ISR = 29507u, OS_ERR_TMR_NO_CALLBACK = 29508u, OS_ERR_TMR_NON_AVAIL = 29509u, OS_ERR_TMR_PRIO_INVALID = 29510u, OS_ERR_TMR_STK_INVALID = 29511u, OS_ERR_TMR_STK_SIZE_INVALID = 29512u, OS_ERR_TMR_STOPPED = 29513u, OS_ERR_U = 30000u, OS_ERR_V = 31000u, OS_ERR_W = 32000u, OS_ERR_X = 33000u, OS_ERR_Y = 34000u, OS_ERR_YIELD_ISR = 34001u, OS_ERR_Z = 35000u }

## Functions
void | OSTaskCreate (OS_TCB *p_tcb, CPU_CHAR *p_name, OS_TASK_PTR p_task, void *p_arg, OS_PRIO prio, CPU_STK *p_stk_base, CPU_STK_SIZE stk_limit, CPU_STK_SIZE stk_size, OS_MSG_QTY q_size, OS_TICK time_quanta, void *p_ext, OS_OPT opt, OS_ERR *p_err)
OS_SEM_CTR | OSTaskSemPend (OS_TICK timeout, OS_OPT opt, CPU_TS *p_ts, OS_ERR *p_err)
OS_SEM_CTR | OSTaskSemPost (OS_TCB *p_tcb, OS_OPT opt, OS_ERR *p_err)
OS_SEM_CTR | OSTaskSemSet (OS_TCB *p_tcb, OS_SEM_CTR cnt, OS_ERR *p_err)
void | OS_TaskBlock (OS_TCB *p_tcb, OS_TICK timeout)
void | OS_TaskInit (OS_ERR *p_err)
void | OS_TaskInitTCB (OS_TCB *p_tcb)
void | OS_TaskQPost (OS_TCB *p_tcb, void *p_void, OS_MSG_SIZE msg_size, OS_OPT opt, CPU_TS ts, OS_ERR *p_err)
void | OS_TaskRdy (OS_TCB *p_tcb)
void | OS_TaskReturn (void)
OS_SEM_CTR | OS_TaskSemPost (OS_TCB *p_tcb, OS_OPT opt, CPU_TS ts, OS_ERR *p_err)
void | OSTimeDly (OS_TICK dly, OS_OPT opt, OS_ERR *p_err)
OS_TICK | OSTimeGet (OS_ERR *p_err)
void | OSTimeSet (OS_TICK ticks, OS_ERR *p_err)
void | OSTimeTick (void)
void | OSInit (OS_ERR *p_err)
void | OSIntEnter (void)
void | OSIntExit (void)
void | OSSched (void)
void | OSSchedLock (OS_ERR *p_err)
void | OSSchedUnlock (OS_ERR *p_err)
void | OSStart (OS_ERR *p_err)
CPU_INT16U | OSVersion (OS_ERR *p_err)
void | OS_IdleTask (void *p_arg)
void | OS_IdleTaskInit (OS_ERR *p_err)
void | OS_StatTaskInit (OS_ERR *p_err)
void | OS_TickTask (void *p_arg)
void | OS_TickTaskInit (OS_ERR *p_err)
void | OSInitHook (void)
void | OSTaskCreateHook (OS_TCB *p_tcb)
void | OSTaskDelHook (OS_TCB *p_tcb)
void | OSIdleTaskHook (void)
void | OSTaskReturnHook (OS_TCB *p_tcb)
void | OSStatTaskHook (void)
CPU_STK * | OSTaskStkInit (OS_TASK_PTR p_task, void *p_arg, CPU_STK *p_stk_base, CPU_STK *p_stk_limit, CPU_STK_SIZE stk_size, OS_OPT opt)
void | OSTaskSwHook (void)
void | OSTimeTickHook (void)
void | OSCfg_Init (void)
void | OS_MsgPoolCreate (OS_MSG *p_msg, OS_MSG_QTY size)
void | OS_MsgPoolInit (OS_ERR *p_err)
OS_MSG_QTY | OS_MsgQFreeAll (OS_MSG_Q *p_msg_q)
void * | OS_MsgQGet (OS_MSG_Q *p_msg_q, OS_MSG_SIZE *p_msg_size, CPU_TS *p_ts, OS_ERR *p_err)
void | OS_MsgQInit (OS_MSG_Q *p_msg_q, OS_MSG_QTY size)
void | OS_MsgQPut (OS_MSG_Q *p_msg_q, void *p_void, OS_MSG_SIZE msg_size, OS_OPT opt, CPU_TS ts, OS_ERR *p_err)
void | OS_Pend (OS_PEND_DATA *p_pend_data, OS_PEND_OBJ *p_obj, OS_STATE pending_on, OS_TICK timeout)
void | OS_PendAbort (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
void | OS_PendAbort1 (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
void | OS_PendObjDel (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
void | OS_PendObjDel1 (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, CPU_TS ts)
void | OS_Post (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, void *p_void, OS_MSG_SIZE msg_size, CPU_TS ts)
void | OS_Post1 (OS_PEND_OBJ *p_obj, OS_TCB *p_tcb, void *p_void, OS_MSG_SIZE msg_size, CPU_TS ts)
void | OS_PrioInit (void)
void | OS_PrioInsert (OS_PRIO prio)
void | OS_PrioRemove (OS_PRIO prio)
OS_PRIO | OS_PrioGetHighest (void)
void | OS_RdyListInit (void)
void | OS_RdyListInsert (OS_TCB *p_tcb)
void | OS_RdyListInsertHead (OS_TCB *p_tcb)
void | OS_RdyListInsertTail (OS_TCB *p_tcb)
void | OS_RdyListMoveHeadToTail (OS_RDY_LIST *p_rdy_list)
void | OS_RdyListRemove (OS_TCB *p_tcb)
void | OS_PendDataInit (OS_TCB *p_tcb, OS_PEND_DATA *p_pend_data_tbl, OS_OBJ_QTY tbl_size)
OS_PEND_LIST * | OS_PendListGetPtr (OS_PEND_OBJ *p_obj)
void | OS_PendListInit (OS_PEND_LIST *p_pend_list)
void | OS_PendListInsertHead (OS_PEND_LIST *p_pend_list, OS_PEND_DATA *p_pend_data)
void | OS_PendListInsertPrio (OS_PEND_LIST *p_pend_list, OS_PEND_DATA *p_pend_data)
void | OS_PendListChangePrio (OS_TCB *p_tcb, OS_PRIO prio_new)
void | OS_PendListRemove (OS_TCB *p_tcb)
void | OS_PendListRemove1 (OS_PEND_LIST *p_pend_list, OS_PEND_DATA *p_pend_data)
void | OS_TickListInit (void)
void | OS_TickListInsert (OS_TCB *p_tcb, OS_TICK time, OS_OPT opt, OS_ERR *p_err)
void | OS_TickListRemove (OS_TCB *p_tcb)
void | OS_TickListResetPeak (void)
void | OS_TickListUpdate (void)

## Variables
OS_EXT OS_IDLE_CTR | OSIdleTaskCtr
OS_EXT OS_TCB | OSIdleTaskTCB
OS_EXT OS_NESTING_CTR | OSIntNestingCtr
OS_EXT OS_STATE | OSRunning
OS_EXT OS_PRIO | OSPrioCur
OS_EXT OS_PRIO | OSPrioHighRdy
OS_EXT OS_PRIO | OSPrioSaved
CPU_DATA | OSPrioTbl [OS_PRIO_TBL_SIZE]
OS_EXT OS_RDY_LIST | OSRdyList [OS_CFG_PRIO_MAX]
OS_EXT OS_NESTING_CTR | OSSchedLockNestingCtr
OS_EXT OS_CTX_SW_CTR | OSTaskCtxSwCtr
OS_EXT OS_OBJ_QTY | OSTaskQty
OS_EXT OS_TICK | OSTickCtr
OS_EXT OS_TCB | OSTickTaskTCB
OS_EXT CPU_TS | OSTickTaskTimeMax
OS_EXT OS_TCB * | OSTCBCurPtr
OS_EXT OS_TCB * | OSTCBHighRdyPtr
CPU_STK *const | OSCfg_IdleTaskStkBasePtr
CPU_STK_SIZE const | OSCfg_IdleTaskStkLimit
CPU_STK_SIZE const | OSCfg_IdleTaskStkSize
CPU_INT32U const | OSCfg_IdleTaskStkSizeRAM
OS_INT_Q *const | OSCfg_IntQBasePtr
OS_OBJ_QTY const | OSCfg_IntQSize
CPU_INT32U const | OSCfg_IntQSizeRAM
CPU_STK *const | OSCfg_IntQTaskStkBasePtr
CPU_STK_SIZE const | OSCfg_IntQTaskStkLimit
CPU_STK_SIZE const | OSCfg_IntQTaskStkSize
CPU_INT32U const | OSCfg_IntQTaskStkSizeRAM
CPU_STK *const | OSCfg_ISRStkBasePtr
CPU_STK_SIZE const | OSCfg_ISRStkSize
CPU_INT32U const | OSCfg_ISRStkSizeRAM
OS_MSG_SIZE const | OSCfg_MsgPoolSize
CPU_INT32U const | OSCfg_MsgPoolSizeRAM
OS_MSG *const | OSCfg_MsgPoolBasePtr
OS_PRIO const | OSCfg_StatTaskPrio
OS_RATE_HZ const | OSCfg_StatTaskRate_Hz
CPU_STK *const | OSCfg_StatTaskStkBasePtr
CPU_STK_SIZE const | OSCfg_StatTaskStkLimit
CPU_STK_SIZE const | OSCfg_StatTaskStkSize
CPU_INT32U const | OSCfg_StatTaskStkSizeRAM
CPU_STK_SIZE const | OSCfg_StkSizeMin
OS_RATE_HZ const | OSCfg_TickRate_Hz
OS_PRIO const | OSCfg_TickTaskPrio
CPU_STK *const | OSCfg_TickTaskStkBasePtr
CPU_STK_SIZE const | OSCfg_TickTaskStkLimit
CPU_STK_SIZE const | OSCfg_TickTaskStkSize
CPU_INT32U const | OSCfg_TickTaskStkSizeRAM
OS_OBJ_QTY const | OSCfg_TickWheelSize
CPU_INT32U const | OSCfg_TickWheelSizeRAM
OS_PRIO const | OSCfg_TmrTaskPrio
OS_RATE_HZ const | OSCfg_TmrTaskRate_Hz
CPU_STK *const | OSCfg_TmrTaskStkBasePtr
CPU_STK_SIZE const | OSCfg_TmrTaskStkLimit
CPU_STK_SIZE const | OSCfg_TmrTaskStkSize
CPU_INT32U const | OSCfg_TmrTaskStkSizeRAM
OS_OBJ_QTY const | OSCfg_TmrWheelSize
CPU_INT32U const | OSCfg_TmrSizeRAM
CPU_STK | OSCfg_IdleTaskStk []
CPU_STK | OSCfg_ISRStk []
CPU_STK | OSCfg_TickTaskStk []
OS_TICK_SPOKE | OSCfg_TickWheel []

## Macro Definition Documentation

#define OS_CRITICAL_ENTER | ( |  | ) | CPU_CRITICAL_ENTER()

Definition at line 141 of file os.h.

#define OS_CRITICAL_ENTER_CPU_CRITICAL_EXIT | ( |  | ) |

Definition at line 143 of file os.h.

#define OS_CRITICAL_EXIT | ( |  | ) | CPU_CRITICAL_EXIT()

Definition at line 145 of file os.h.

#define OS_CRITICAL_EXIT_NO_SCHED | ( |  | ) | CPU_CRITICAL_EXIT()

Definition at line 147 of file os.h.

#define OS_EXT extern

Definition at line 160 of file os.h.

#define OS_MSG_EN (((OS_CFG_TASK_Q_EN > 0u) || (OS_CFG_Q_EN > 0u)) ? 1u : 0u)

Definition at line 166 of file os.h.

#define OS_OBJ_TYPE_FLAG (OS_OBJ_TYPE)CPU_TYPE_CREATE('F', 'L', 'A', 'G')

Definition at line 242 of file os.h.

#define OS_OBJ_TYPE_MEM (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'E', 'M', ' ')

Definition at line 243 of file os.h.

#define OS_OBJ_TYPE_MUTEX (OS_OBJ_TYPE)CPU_TYPE_CREATE('M', 'U', 'T', 'X')

Definition at line 244 of file os.h.

#define OS_OBJ_TYPE_NONE (OS_OBJ_TYPE)CPU_TYPE_CREATE('N', 'O', 'N', 'E')

Definition at line 241 of file os.h.

#define OS_OBJ_TYPE_Q (OS_OBJ_TYPE)CPU_TYPE_CREATE('Q', 'U', 'E', 'U')

Definition at line 245 of file os.h.

#define OS_OBJ_TYPE_SEM (OS_OBJ_TYPE)CPU_TYPE_CREATE('S', 'E', 'M', 'A')

Definition at line 246 of file os.h.

#define OS_OBJ_TYPE_TASK_MSG (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'S', 'G')

Definition at line 247 of file os.h.

#define OS_OBJ_TYPE_TASK_RESUME (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'R', 'E', 'S')

Definition at line 248 of file os.h.

#define OS_OBJ_TYPE_TASK_SIGNAL (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'I', 'G')

Definition at line 249 of file os.h.

#define OS_OBJ_TYPE_TASK_SUSPEND (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'S', 'U', 'S')

Definition at line 250 of file os.h.

#define OS_OBJ_TYPE_TICK (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'I', 'C', 'K')

Definition at line 251 of file os.h.

#define OS_OBJ_TYPE_TMR (OS_OBJ_TYPE)CPU_TYPE_CREATE('T', 'M', 'R', ' ')

Definition at line 252 of file os.h.

#define OS_OPT_DEL_ALWAYS (OS_OPT)(0x0001u)

Definition at line 269 of file os.h.

#define OS_OPT_DEL_NO_PEND (OS_OPT)(0x0000u)

Definition at line 268 of file os.h.

#define OS_OPT_NONE (OS_OPT)(0x0000u)

Definition at line 260 of file os.h.

#define OS_OPT_PEND_ABORT_1 (OS_OPT)(0x0000u) /* Pend abort a single waiting task */

Definition at line 302 of file os.h.

#define OS_OPT_PEND_ABORT_ALL (OS_OPT)(0x0100u) /* Pend abort ALL tasks waiting */

Definition at line 303 of file os.h.

#define OS_OPT_PEND_BLOCKING (OS_OPT)(0x0000u)

Definition at line 293 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_ALL (OS_OPT)(0x0001u) /* Wait for ALL the bits specified to be CLR */

Definition at line 278 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_AND (OS_OPT)(0x0001u)

Definition at line 279 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_ANY (OS_OPT)(0x0002u) /* Wait for ANY of the bits specified to be CLR */

Definition at line 281 of file os.h.

#define OS_OPT_PEND_FLAG_CLR_OR (OS_OPT)(0x0002u)

Definition at line 282 of file os.h.

#define OS_OPT_PEND_FLAG_CONSUME (OS_OPT)(0x0100u) /* Consume the flags if condition(s) satisfied */

Definition at line 290 of file os.h.

#define OS_OPT_PEND_FLAG_MASK (OS_OPT)(0x000Fu)

Definition at line 277 of file os.h.

#define OS_OPT_PEND_FLAG_SET_ALL (OS_OPT)(0x0004u) /* Wait for ALL the bits specified to be SET */

Definition at line 284 of file os.h.

#define OS_OPT_PEND_FLAG_SET_AND (OS_OPT)(0x0004u)

Definition at line 285 of file os.h.

#define OS_OPT_PEND_FLAG_SET_ANY (OS_OPT)(0x0008u) /* Wait for ANY of the bits specified to be SET */

Definition at line 287 of file os.h.

#define OS_OPT_PEND_FLAG_SET_OR (OS_OPT)(0x0008u)

Definition at line 288 of file os.h.

#define OS_OPT_PEND_NON_BLOCKING (OS_OPT)(0x8000u)

Definition at line 294 of file os.h.

#define OS_OPT_POST_1 (OS_OPT)(0x0000u) /* Post message to highest priority task waiting */

Definition at line 319 of file os.h.

#define OS_OPT_POST_ALL (OS_OPT)(0x0200u) /* Broadcast message to ALL tasks waiting */

Definition at line 320 of file os.h.

#define OS_OPT_POST_FIFO (OS_OPT)(0x0000u) /* Default is to post FIFO */

Definition at line 317 of file os.h.

#define OS_OPT_POST_FLAG_CLR (OS_OPT)(0x0001u)

Definition at line 315 of file os.h.

#define OS_OPT_POST_FLAG_SET (OS_OPT)(0x0000u)

Definition at line 314 of file os.h.

#define OS_OPT_POST_LIFO (OS_OPT)(0x0010u) /* Post to highest priority task waiting */

Definition at line 318 of file os.h.

#define OS_OPT_POST_NO_SCHED (OS_OPT)(0x8000u) /* Do not call the scheduler if this is selected */

Definition at line 322 of file os.h.

#define OS_OPT_POST_NONE (OS_OPT)(0x0000u)

Definition at line 312 of file os.h.

#define OS_OPT_TASK_NO_TLS (OS_OPT)(0x0008u) /* Specifies the task DOES NOT require TLS support */

Definition at line 334 of file os.h.

#define OS_OPT_TASK_NONE (OS_OPT)(0x0000u) /* No option selected */

Definition at line 330 of file os.h.

#define OS_OPT_TASK_SAVE_FP (OS_OPT)(0x0004u) /* Save the contents of any floating-point registers */

Definition at line 333 of file os.h.

#define OS_OPT_TASK_STK_CHK (OS_OPT)(0x0001u) /* Enable stack checking for the task */

Definition at line 331 of file os.h.

#define OS_OPT_TASK_STK_CLR (OS_OPT)(0x0002u) /* Clear the stack when the task is create */

Definition at line 332 of file os.h.

#define OS_OPT_TIME_DLY DEF_BIT_NONE

Definition at line 342 of file os.h.

#define OS_OPT_TIME_HMSM_NON_STRICT ((OS_OPT)DEF_BIT_04)

Definition at line 348 of file os.h.

#define OS_OPT_TIME_HMSM_STRICT ((OS_OPT)DEF_BIT_NONE)

Definition at line 347 of file os.h.

#define OS_OPT_TIME_MASK

Value:
((OS_OPT)(OS_OPT_TIME_DLY | \
OS_OPT_TIME_TIMEOUT | \
OS_OPT_TIME_PERIODIC | \
OS_OPT_TIME_MATCH))

Definition at line 350 of file os.h.

#define OS_OPT_TIME_MATCH ((OS_OPT)DEF_BIT_02)

Definition at line 344 of file os.h.

#define OS_OPT_TIME_OPTS_MASK

Value:
(OS_OPT_TIME_DLY | \
OS_OPT_TIME_TIMEOUT | \
OS_OPT_TIME_PERIODIC | \
OS_OPT_TIME_MATCH | \
OS_OPT_TIME_HMSM_NON_STRICT)

Definition at line 355 of file os.h.

#define OS_OPT_TIME_PERIODIC ((OS_OPT)DEF_BIT_03)

Definition at line 345 of file os.h.

#define OS_OPT_TIME_TIMEOUT ((OS_OPT)DEF_BIT_01)

Definition at line 343 of file os.h.

#define OS_OPT_TMR_CALLBACK (OS_OPT)(3u) /* OSTmrStop() option to call 'callback' w/ timer arg */

Definition at line 372 of file os.h.

#define OS_OPT_TMR_CALLBACK_ARG (OS_OPT)(4u) /* OSTmrStop() option to call 'callback' w/ new arg */

Definition at line 373 of file os.h.

#define OS_OPT_TMR_NONE (OS_OPT)(0u) /* No option selected */

Definition at line 367 of file os.h.

#define OS_OPT_TMR_ONE_SHOT (OS_OPT)(1u) /* Timer will not auto restart when it expires */

Definition at line 369 of file os.h.

#define OS_OPT_TMR_PERIODIC (OS_OPT)(2u) /* Timer will auto restart when it expires */

Definition at line 370 of file os.h.

#define OS_PRIO_INIT (OS_PRIO)(OS_CFG_PRIO_MAX)

Definition at line 392 of file os.h.

#define OS_PRIO_TBL_SIZE (((OS_CFG_PRIO_MAX - 1u) / DEF_INT_CPU_NBR_BITS) + 1u)

Definition at line 164 of file os.h.

#define OS_SCHED_LOCK_TIME_MEAS_START | ( |  | ) |

Definition at line 77 of file os.h.

#define OS_SCHED_LOCK_TIME_MEAS_STOP | ( |  | ) |

Definition at line 84 of file os.h.

#define OS_STATE_NOT_RDY (CPU_BOOLEAN)(0u)

Definition at line 186 of file os.h.

#define OS_STATE_OS_RUNNING (OS_STATE)(1u)

Definition at line 184 of file os.h.

#define OS_STATE_OS_STOPPED (OS_STATE)(0u)

Definition at line 183 of file os.h.

#define OS_STATE_RDY (CPU_BOOLEAN)(1u)

Definition at line 187 of file os.h.

#define OS_STATUS_PEND_ABORT (OS_STATUS)( 1u) /* Pending aborted */

Definition at line 227 of file os.h.

#define OS_STATUS_PEND_DEL (OS_STATUS)( 2u) /* Pending object deleted */

Definition at line 228 of file os.h.

#define OS_STATUS_PEND_OK (OS_STATUS)( 0u) /* Pending status OK, !pending, or pending complete */

Definition at line 226 of file os.h.

#define OS_STATUS_PEND_TIMEOUT (OS_STATUS)( 3u) /* Pending timed out */

Definition at line 229 of file os.h.

#define OS_TASK_PEND_ON_FLAG (OS_STATE)( 1u) /* Pending on event flag group */

Definition at line 211 of file os.h.

#define OS_TASK_PEND_ON_MULTI (OS_STATE)( 3u) /* Pending on multiple semaphores and/or queues */

Definition at line 213 of file os.h.

#define OS_TASK_PEND_ON_MUTEX (OS_STATE)( 4u) /* Pending on mutual exclusion semaphore */

Definition at line 214 of file os.h.

#define OS_TASK_PEND_ON_NOTHING (OS_STATE)( 0u) /* Pending on nothing */

Definition at line 210 of file os.h.

#define OS_TASK_PEND_ON_Q (OS_STATE)( 5u) /* Pending on queue */

Definition at line 215 of file os.h.

#define OS_TASK_PEND_ON_SEM (OS_STATE)( 6u) /* Pending on semaphore */

Definition at line 216 of file os.h.

#define OS_TASK_PEND_ON_TASK_Q (OS_STATE)( 2u) /* Pending on message to be sent to task */

Definition at line 212 of file os.h.

#define OS_TASK_PEND_ON_TASK_SEM (OS_STATE)( 7u) /* Pending on signal to be sent to task */

Definition at line 217 of file os.h.

#define OS_TASK_STATE_BIT_DLY (OS_STATE)(0x01u) /* /-------- SUSPENDED bit */

Definition at line 191 of file os.h.

#define OS_TASK_STATE_BIT_PEND (OS_STATE)(0x02u) /* | /----- PEND bit */

Definition at line 193 of file os.h.

#define OS_TASK_STATE_BIT_SUSPENDED (OS_STATE)(0x04u) /* | | /--- Delayed/Timeout bit */

Definition at line 195 of file os.h.

#define OS_TASK_STATE_DEL (OS_STATE)(255u)

Definition at line 207 of file os.h.

#define OS_TASK_STATE_DLY (OS_STATE)( 1u) /* 0 0 1 Delayed or Timeout */

Definition at line 200 of file os.h.

#define OS_TASK_STATE_DLY_SUSPENDED (OS_STATE)( 5u) /* 1 0 1 Suspended + Delayed or Timeout */

Definition at line 204 of file os.h.

#define OS_TASK_STATE_PEND (OS_STATE)( 2u) /* 0 1 0 Pend */

Definition at line 201 of file os.h.

#define OS_TASK_STATE_PEND_SUSPENDED (OS_STATE)( 6u) /* 1 1 0 Suspended + Pend */

Definition at line 205 of file os.h.

#define OS_TASK_STATE_PEND_TIMEOUT (OS_STATE)( 3u) /* 0 1 1 Pend + Timeout */

Definition at line 202 of file os.h.

#define OS_TASK_STATE_PEND_TIMEOUT_SUSPENDED (OS_STATE)( 7u) /* 1 1 1 Suspended + Pend + Timeout */

Definition at line 206 of file os.h.

#define OS_TASK_STATE_RDY (OS_STATE)( 0u) /* 0 0 0 Ready */

Definition at line 199 of file os.h.

#define OS_TASK_STATE_SUSPENDED (OS_STATE)( 4u) /* 1 0 0 Suspended */

Definition at line 203 of file os.h.

#define OS_TICK_TH_INIT (OS_TICK)(DEF_BIT ((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) - 1u))

Definition at line 400 of file os.h.

#define OS_TICK_TH_RDY

Value:
(OS_TICK)(DEF_BIT_FIELD(((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) / 2u), \
((sizeof(OS_TICK) * DEF_OCTET_NBR_BITS) / 2u)))

Definition at line 403 of file os.h.

#define OS_TMR_STATE_COMPLETED (OS_STATE)(3u)

Definition at line 384 of file os.h.

#define OS_TMR_STATE_RUNNING (OS_STATE)(2u)

Definition at line 383 of file os.h.

#define OS_TMR_STATE_STOPPED (OS_STATE)(1u)

Definition at line 382 of file os.h.

#define OS_TMR_STATE_UNUSED (OS_STATE)(0u)

Definition at line 381 of file os.h.

#define OS_VERSION 30300u /* Version of uC/OS-III (Vx.yy.zz mult. by 10000) */

Definition at line 45 of file os.h.

## Typedef Documentation

typedef struct os_int_q OS_INT_Q

Definition at line 648 of file os.h.

typedef void(* OS_TASK_PTR)(void *p_arg)

Definition at line 654 of file os.h.

typedef void(* OS_TMR_CALLBACK_PTR)(void *p_tmr, void *p_arg)

Definition at line 672 of file os.h.

## Enumeration Type Documentation

enum OS_ERR

Enumerator:

  OS_ERR_NONE |
  OS_ERR_A |
  OS_ERR_ACCEPT_ISR |
  OS_ERR_B |
  OS_ERR_C |
  OS_ERR_CREATE_ISR |
  OS_ERR_D |
  OS_ERR_DEL_ISR |
  OS_ERR_E |
  OS_ERR_F |
  OS_ERR_FATAL_RETURN |
  OS_ERR_FLAG_GRP_DEPLETED |
  OS_ERR_FLAG_NOT_RDY |
  OS_ERR_FLAG_PEND_OPT |
  OS_ERR_FLUSH_ISR |
  OS_ERR_G |
  OS_ERR_H |
  OS_ERR_I |
  OS_ERR_ILLEGAL_CREATE_RUN_TIME |
  OS_ERR_INT_Q |
  OS_ERR_INT_Q_FULL |
  OS_ERR_INT_Q_SIZE |
  OS_ERR_INT_Q_STK_INVALID |
  OS_ERR_INT_Q_STK_SIZE_INVALID |
  OS_ERR_J |
  OS_ERR_K |
  OS_ERR_L |
  OS_ERR_LOCK_NESTING_OVF |
  OS_ERR_M |
  OS_ERR_MEM_CREATE_ISR |
  OS_ERR_MEM_FULL |
  OS_ERR_MEM_INVALID_P_ADDR |
  OS_ERR_MEM_INVALID_BLKS |
  OS_ERR_MEM_INVALID_PART |
  OS_ERR_MEM_INVALID_P_BLK |
  OS_ERR_MEM_INVALID_P_MEM |
  OS_ERR_MEM_INVALID_P_DATA |
  OS_ERR_MEM_INVALID_SIZE |
  OS_ERR_MEM_NO_FREE_BLKS |
  OS_ERR_MSG_POOL_EMPTY |
  OS_ERR_MSG_POOL_NULL_PTR |
  OS_ERR_MUTEX_NOT_OWNER |
  OS_ERR_MUTEX_OWNER |
  OS_ERR_MUTEX_NESTING |
  OS_ERR_N |
  OS_ERR_NAME |
  OS_ERR_NO_MORE_ID_AVAIL |
  OS_ERR_O |
  OS_ERR_OBJ_CREATED |
  OS_ERR_OBJ_DEL |
  OS_ERR_OBJ_PTR_NULL |
  OS_ERR_OBJ_TYPE |
  OS_ERR_OPT_INVALID |
  OS_ERR_OS_NOT_RUNNING |
  OS_ERR_OS_RUNNING |
  OS_ERR_P |
  OS_ERR_PEND_ABORT |
  OS_ERR_PEND_ABORT_ISR |
  OS_ERR_PEND_ABORT_NONE |
  OS_ERR_PEND_ABORT_SELF |
  OS_ERR_PEND_DEL |
  OS_ERR_PEND_ISR |
  OS_ERR_PEND_LOCKED |
  OS_ERR_PEND_WOULD_BLOCK |
  OS_ERR_POST_NULL_PTR |
  OS_ERR_POST_ISR |
  OS_ERR_PRIO_EXIST |
  OS_ERR_PRIO |
  OS_ERR_PRIO_INVALID |
  OS_ERR_PTR_INVALID |
  OS_ERR_Q |
  OS_ERR_Q_FULL |
  OS_ERR_Q_EMPTY |
  OS_ERR_Q_MAX |
  OS_ERR_Q_SIZE |
  OS_ERR_R |
  OS_ERR_REG_ID_INVALID |
  OS_ERR_ROUND_ROBIN_1 |
  OS_ERR_ROUND_ROBIN_DISABLED |
  OS_ERR_S |
  OS_ERR_SCHED_INVALID_TIME_SLICE |
  OS_ERR_SCHED_LOCK_ISR |
  OS_ERR_SCHED_LOCKED |
  OS_ERR_SCHED_NOT_LOCKED |
  OS_ERR_SCHED_UNLOCK_ISR |
  OS_ERR_SEM_OVF |
  OS_ERR_SET_ISR |
  OS_ERR_STAT_RESET_ISR |
  OS_ERR_STAT_PRIO_INVALID |
  OS_ERR_STAT_STK_INVALID |
  OS_ERR_STAT_STK_SIZE_INVALID |
  OS_ERR_STATE_INVALID |
  OS_ERR_STATUS_INVALID |
  OS_ERR_STK_INVALID |
  OS_ERR_STK_SIZE_INVALID |
  OS_ERR_STK_LIMIT_INVALID |
  OS_ERR_T |
  OS_ERR_TASK_CHANGE_PRIO_ISR |
  OS_ERR_TASK_CREATE_ISR |
  OS_ERR_TASK_DEL |
  OS_ERR_TASK_DEL_IDLE |
  OS_ERR_TASK_DEL_INVALID |
  OS_ERR_TASK_DEL_ISR |
  OS_ERR_TASK_INVALID |
  OS_ERR_TASK_NO_MORE_TCB |
  OS_ERR_TASK_NOT_DLY |
  OS_ERR_TASK_NOT_EXIST |
  OS_ERR_TASK_NOT_SUSPENDED |
  OS_ERR_TASK_OPT |
  OS_ERR_TASK_RESUME_ISR |
  OS_ERR_TASK_RESUME_PRIO |
  OS_ERR_TASK_RESUME_SELF |
  OS_ERR_TASK_RUNNING |
  OS_ERR_TASK_STK_CHK_ISR |
  OS_ERR_TASK_SUSPENDED |
  OS_ERR_TASK_SUSPEND_IDLE |
  OS_ERR_TASK_SUSPEND_INT_HANDLER |
  OS_ERR_TASK_SUSPEND_ISR |
  OS_ERR_TASK_SUSPEND_PRIO |
  OS_ERR_TASK_WAITING |
  OS_ERR_TCB_INVALID |
  OS_ERR_TLS_ID_INVALID |
  OS_ERR_TLS_ISR |
  OS_ERR_TLS_NO_MORE_AVAIL |
  OS_ERR_TLS_NOT_EN |
  OS_ERR_TLS_DESTRUCT_ASSIGNED |
  OS_ERR_TICK_PRIO_INVALID |
  OS_ERR_TICK_STK_INVALID |
  OS_ERR_TICK_STK_SIZE_INVALID |
  OS_ERR_TICK_WHEEL_SIZE |
  OS_ERR_TIME_DLY_ISR |
  OS_ERR_TIME_DLY_RESUME_ISR |
  OS_ERR_TIME_GET_ISR |
  OS_ERR_TIME_INVALID_HOURS |
  OS_ERR_TIME_INVALID_MINUTES |
  OS_ERR_TIME_INVALID_SECONDS |
  OS_ERR_TIME_INVALID_MILLISECONDS |
  OS_ERR_TIME_NOT_DLY |
  OS_ERR_TIME_SET_ISR |
  OS_ERR_TIME_ZERO_DLY |
  OS_ERR_TIMEOUT |
  OS_ERR_TMR_INACTIVE |
  OS_ERR_TMR_INVALID_DEST |
  OS_ERR_TMR_INVALID_DLY |
  OS_ERR_TMR_INVALID_PERIOD |
  OS_ERR_TMR_INVALID_STATE |
  OS_ERR_TMR_INVALID |
  OS_ERR_TMR_ISR |
  OS_ERR_TMR_NO_CALLBACK |
  OS_ERR_TMR_NON_AVAIL |
  OS_ERR_TMR_PRIO_INVALID |
  OS_ERR_TMR_STK_INVALID |
  OS_ERR_TMR_STK_SIZE_INVALID |
  OS_ERR_TMR_STOPPED |
  OS_ERR_U |
  OS_ERR_V |
  OS_ERR_W |
  OS_ERR_X |
  OS_ERR_Y |
  OS_ERR_YIELD_ISR |
  OS_ERR_Z |

Definition at line 421 of file os.h.

## Function Documentation

void OS_IdleTask | ( | void * | p_arg | ) |

Definition at line 781 of file os_core.c.

void OS_IdleTaskInit | ( | OS_ERR * | p_err | ) |

Definition at line 816 of file os_core.c.

void OS_MsgPoolCreate | ( | OS_MSG * | p_msg,
|  | OS_MSG_QTY | size
| ) |  |

void OS_MsgPoolInit | ( | OS_ERR * | p_err | ) |

OS_MSG_QTY OS_MsgQFreeAll | ( | OS_MSG_Q * | p_msg_q | ) |

void* OS_MsgQGet | ( | OS_MSG_Q * | p_msg_q,
|  | OS_MSG_SIZE * | p_msg_size,
|  | CPU_TS * | p_ts,
|  | OS_ERR * | p_err
| ) |  |

void OS_MsgQInit | ( | OS_MSG_Q * | p_msg_q,
|  | OS_MSG_QTY | size
| ) |  |

void OS_MsgQPut | ( | OS_MSG_Q * | p_msg_q,
|  | void * | p_void,
|  | OS_MSG_SIZE | msg_size,
|  | OS_OPT | opt,
|  | CPU_TS | ts,
|  | OS_ERR * | p_err
| ) |  |

void OS_Pend | ( | OS_PEND_DATA * | p_pend_data,
|  | OS_PEND_OBJ * | p_obj,
|  | OS_STATE | pending_on,
|  | OS_TICK | timeout
| ) |  |

Definition at line 873 of file os_core.c.

void OS_PendAbort | ( | OS_PEND_OBJ * | p_obj,
|  | OS_TCB * | p_tcb,
|  | CPU_TS | ts
| ) |  |

Definition at line 927 of file os_core.c.

void OS_PendAbort1 | ( | OS_PEND_OBJ * | p_obj,
|  | OS_TCB * | p_tcb,
|  | CPU_TS | ts
| ) |  |

Definition at line 1033 of file os_core.c.

void OS_PendDataInit | ( | OS_TCB * | p_tcb,
|  | OS_PEND_DATA * | p_pend_data_tbl,
|  | OS_OBJ_QTY | tbl_size
| ) |  |

Definition at line 1098 of file os_core.c.

void OS_PendListChangePrio | ( | OS_TCB * | p_tcb,
|  | OS_PRIO | prio_new
| ) |  |

Definition at line 1276 of file os_core.c.

OS_PEND_LIST* OS_PendListGetPtr | ( | OS_PEND_OBJ * | p_obj | ) |

void OS_PendListInit | ( | OS_PEND_LIST * | p_pend_list | ) |

Definition at line 1319 of file os_core.c.

void OS_PendListInsertHead | ( | OS_PEND_LIST * | p_pend_list,
|  | OS_PEND_DATA * | p_pend_data
| ) |  |

Definition at line 1373 of file os_core.c.

void OS_PendListInsertPrio | ( | OS_PEND_LIST * | p_pend_list,
|  | OS_PEND_DATA * | p_pend_data
| ) |  |

Definition at line 1461 of file os_core.c.

void OS_PendListRemove | ( | OS_TCB * | p_tcb | ) |

Definition at line 1564 of file os_core.c.

void OS_PendListRemove1 | ( | OS_PEND_LIST * | p_pend_list,
|  | OS_PEND_DATA * | p_pend_data
| ) |  |

Definition at line 1639 of file os_core.c.

void OS_PendObjDel | ( | OS_PEND_OBJ * | p_obj,
|  | OS_TCB * | p_tcb,
|  | CPU_TS | ts
| ) |  |

Definition at line 1693 of file os_core.c.

void OS_PendObjDel1 | ( | OS_PEND_OBJ * | p_obj,
|  | OS_TCB * | p_tcb,
|  | CPU_TS | ts
| ) |  |

Definition at line 1795 of file os_core.c.

void OS_Post | ( | OS_PEND_OBJ * | p_obj,
|  | OS_TCB * | p_tcb,
|  | void * | p_void,
|  | OS_MSG_SIZE | msg_size,
|  | CPU_TS | ts
| ) |  |

Definition at line 1844 of file os_core.c.

void OS_Post1 | ( | OS_PEND_OBJ * | p_obj,
|  | OS_TCB * | p_tcb,
|  | void * | p_void,
|  | OS_MSG_SIZE | msg_size,
|  | CPU_TS | ts
| ) |  |

Definition at line 1970 of file os_core.c.

OS_PRIO OS_PrioGetHighest | ( | void |  | ) |

Definition at line 85 of file os_prio.c.

void OS_PrioInit | ( | void |  | ) |

Definition at line 59 of file os_prio.c.

void OS_PrioInsert | ( | OS_PRIO | prio | ) |

Definition at line 115 of file os_prio.c.

void OS_PrioRemove | ( | OS_PRIO | prio | ) |

Definition at line 143 of file os_prio.c.

void OS_RdyListInit | ( | void |  | ) |

Definition at line 2040 of file os_core.c.

void OS_RdyListInsert | ( | OS_TCB * | p_tcb | ) |

Definition at line 2074 of file os_core.c.

void OS_RdyListInsertHead | ( | OS_TCB * | p_tcb | ) |

Definition at line 2141 of file os_core.c.

void OS_RdyListInsertTail | ( | OS_TCB * | p_tcb | ) |

Definition at line 2222 of file os_core.c.

void OS_RdyListMoveHeadToTail | ( | OS_RDY_LIST * | p_rdy_list | ) |

Definition at line 2299 of file os_core.c.

void OS_RdyListRemove | ( | OS_TCB * | p_tcb | ) |

Definition at line 2386 of file os_core.c.

void OS_StatTaskInit | ( | OS_ERR * | p_err | ) |

void OS_TaskBlock | ( | OS_TCB * | p_tcb,
|  | OS_TICK | timeout
| ) |  |

Definition at line 2598 of file os_core.c.

void OS_TaskInit | ( | OS_ERR * | p_err | ) |

Definition at line 1923 of file os_task.c.

void OS_TaskInitTCB | ( | OS_TCB * | p_tcb | ) |

Definition at line 1957 of file os_task.c.

void OS_TaskQPost | ( | OS_TCB * | p_tcb,
|  | void * | p_void,
|  | OS_MSG_SIZE | msg_size,
|  | OS_OPT | opt,
|  | CPU_TS | ts,
|  | OS_ERR * | p_err
| ) |  |

void OS_TaskRdy | ( | OS_TCB * | p_tcb | ) |

Definition at line 2636 of file os_core.c.

void OS_TaskReturn | ( | void |  | ) |

Definition at line 2292 of file os_task.c.

OS_SEM_CTR OS_TaskSemPost | ( | OS_TCB * | p_tcb,
|  | OS_OPT | opt,
|  | CPU_TS | ts,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 2342 of file os_task.c.

void OS_TickListInit | ( | void |  | ) |

Definition at line 166 of file os_tick.c.

void OS_TickListInsert | ( | OS_TCB * | p_tcb,
|  | OS_TICK | time,
|  | OS_OPT | opt,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 220 of file os_tick.c.

void OS_TickListRemove | ( | OS_TCB * | p_tcb | ) |

Definition at line 337 of file os_tick.c.

void OS_TickListResetPeak | ( | void |  | ) |

Definition at line 386 of file os_tick.c.

void OS_TickListUpdate | ( | void |  | ) |

Definition at line 415 of file os_tick.c.

void OS_TickTask | ( | void * | p_arg | ) |

Definition at line 61 of file os_tick.c.

void OS_TickTaskInit | ( | OS_ERR * | p_err | ) |

Definition at line 104 of file os_tick.c.

void OSCfg_Init | ( | void |  | ) |

Definition at line 240 of file os_cfg_app.c.

void OSIdleTaskHook | ( | void |  | ) |

Definition at line 63 of file os_cpu_c_m0.c.

void OSInit | ( | OS_ERR * | p_err | ) |

Definition at line 55 of file os_core.c.

void OSInitHook | ( | void |  | ) |

Definition at line 86 of file os_cpu_c_m0.c.

void OSIntEnter | ( | void |  | ) |

Definition at line 266 of file os_core.c.

void OSIntExit | ( | void |  | ) |

Definition at line 300 of file os_core.c.

void OSSched | ( | void |  | ) |

Definition at line 387 of file os_core.c.

void OSSchedLock | ( | OS_ERR * | p_err | ) |

Definition at line 444 of file os_core.c.

void OSSchedUnlock | ( | OS_ERR * | p_err | ) |

Definition at line 505 of file os_core.c.

void OSStart | ( | OS_ERR * | p_err | ) |

Definition at line 706 of file os_core.c.

void OSStatTaskHook | ( | void |  | ) |

Definition at line 114 of file os_cpu_c_m0.c.

void OSTaskCreate | ( | OS_TCB * | p_tcb,
|  | CPU_CHAR * | p_name,
|  | OS_TASK_PTR | p_task,
|  | void * | p_arg,
|  | OS_PRIO | prio,
|  | CPU_STK * | p_stk_base,
|  | CPU_STK_SIZE | stk_limit,
|  | CPU_STK_SIZE | stk_size,
|  | OS_MSG_QTY | q_size,
|  | OS_TICK | time_quanta,
|  | void * | p_ext,
|  | OS_OPT | opt,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 249 of file os_task.c.

void OSTaskCreateHook | ( | OS_TCB * | p_tcb | ) |

Definition at line 137 of file os_cpu_c_m0.c.

void OSTaskDelHook | ( | OS_TCB * | p_tcb | ) |

Definition at line 162 of file os_cpu_c_m0.c.

void OSTaskReturnHook | ( | OS_TCB * | p_tcb | ) |

Definition at line 188 of file os_cpu_c_m0.c.

OS_SEM_CTR OSTaskSemPend | ( | OS_TICK | timeout,
|  | OS_OPT | opt,
|  | CPU_TS * | p_ts,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 1262 of file os_task.c.

OS_SEM_CTR OSTaskSemPost | ( | OS_TCB * | p_tcb,
|  | OS_OPT | opt,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 1497 of file os_task.c.

OS_SEM_CTR OSTaskSemSet | ( | OS_TCB * | p_tcb,
|  | OS_SEM_CTR | cnt,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 1570 of file os_task.c.

CPU_STK* OSTaskStkInit | ( | OS_TASK_PTR | p_task,
|  | void * | p_arg,
|  | CPU_STK * | p_stk_base,
|  | CPU_STK * | p_stk_limit,
|  | CPU_STK_SIZE | stk_size,
|  | OS_OPT | opt
| ) |  |

Definition at line 229 of file os_cpu_c_m0.c.

void OSTaskSwHook | ( | void |  | ) |

Definition at line 283 of file os_cpu_c_m0.c.

void OSTimeDly | ( | OS_TICK | dly,
|  | OS_OPT | opt,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 80 of file os_time.c.

OS_TICK OSTimeGet | ( | OS_ERR * | p_err | ) |

Definition at line 457 of file os_time.c.

void OSTimeSet | ( | OS_TICK | ticks,
|  | OS_ERR * | p_err
| ) |  |

Definition at line 494 of file os_time.c.

void OSTimeTick | ( | void |  | ) |

Definition at line 528 of file os_time.c.

void OSTimeTickHook | ( | void |  | ) |

Definition at line 340 of file os_cpu_c_m0.c.

CPU_INT16U OSVersion | ( | OS_ERR * | p_err | ) |

Definition at line 745 of file os_core.c.

## Variable Documentation

CPU_STK OSCfg_IdleTaskStk[]

Definition at line 55 of file os_cfg_app.c.

CPU_STK* const OSCfg_IdleTaskStkBasePtr

Definition at line 89 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IdleTaskStkLimit

Definition at line 90 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IdleTaskStkSize

Definition at line 91 of file os_cfg_app.c.

CPU_INT32U const OSCfg_IdleTaskStkSizeRAM

Definition at line 92 of file os_cfg_app.c.

OS_INT_Q* const OSCfg_IntQBasePtr

Definition at line 104 of file os_cfg_app.c.

OS_OBJ_QTY const OSCfg_IntQSize

Definition at line 105 of file os_cfg_app.c.

CPU_INT32U const OSCfg_IntQSizeRAM

Definition at line 106 of file os_cfg_app.c.

CPU_STK* const OSCfg_IntQTaskStkBasePtr

Definition at line 107 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IntQTaskStkLimit

Definition at line 108 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_IntQTaskStkSize

Definition at line 109 of file os_cfg_app.c.

CPU_INT32U const OSCfg_IntQTaskStkSizeRAM

Definition at line 110 of file os_cfg_app.c.

CPU_STK OSCfg_ISRStk[]

CPU_STK* const OSCfg_ISRStkBasePtr

Definition at line 119 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_ISRStkSize

Definition at line 120 of file os_cfg_app.c.

CPU_INT32U const OSCfg_ISRStkSizeRAM

Definition at line 121 of file os_cfg_app.c.

OS_MSG* const OSCfg_MsgPoolBasePtr

Definition at line 132 of file os_cfg_app.c.

OS_MSG_SIZE const OSCfg_MsgPoolSize

Definition at line 130 of file os_cfg_app.c.

CPU_INT32U const OSCfg_MsgPoolSizeRAM

Definition at line 131 of file os_cfg_app.c.

OS_PRIO const OSCfg_StatTaskPrio

Definition at line 144 of file os_cfg_app.c.

OS_RATE_HZ const OSCfg_StatTaskRate_Hz

Definition at line 145 of file os_cfg_app.c.

CPU_STK* const OSCfg_StatTaskStkBasePtr

Definition at line 146 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_StatTaskStkLimit

Definition at line 147 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_StatTaskStkSize

Definition at line 148 of file os_cfg_app.c.

CPU_INT32U const OSCfg_StatTaskStkSizeRAM

Definition at line 149 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_StkSizeMin

Definition at line 153 of file os_cfg_app.c.

OS_RATE_HZ const OSCfg_TickRate_Hz

Definition at line 156 of file os_cfg_app.c.

OS_PRIO const OSCfg_TickTaskPrio

Definition at line 157 of file os_cfg_app.c.

CPU_STK OSCfg_TickTaskStk[]

Definition at line 74 of file os_cfg_app.c.

CPU_STK* const OSCfg_TickTaskStkBasePtr

Definition at line 158 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TickTaskStkLimit

Definition at line 159 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TickTaskStkSize

Definition at line 160 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TickTaskStkSizeRAM

Definition at line 161 of file os_cfg_app.c.

OS_TICK_SPOKE OSCfg_TickWheel[]

Definition at line 75 of file os_cfg_app.c.

OS_OBJ_QTY const OSCfg_TickWheelSize

Definition at line 162 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TickWheelSizeRAM

Definition at line 163 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TmrSizeRAM

OS_PRIO const OSCfg_TmrTaskPrio

Definition at line 176 of file os_cfg_app.c.

OS_RATE_HZ const OSCfg_TmrTaskRate_Hz

Definition at line 177 of file os_cfg_app.c.

CPU_STK* const OSCfg_TmrTaskStkBasePtr

Definition at line 178 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TmrTaskStkLimit

Definition at line 179 of file os_cfg_app.c.

CPU_STK_SIZE const OSCfg_TmrTaskStkSize

Definition at line 180 of file os_cfg_app.c.

CPU_INT32U const OSCfg_TmrTaskStkSizeRAM

Definition at line 181 of file os_cfg_app.c.

OS_OBJ_QTY const OSCfg_TmrWheelSize

Definition at line 182 of file os_cfg_app.c.

OS_EXT OS_IDLE_CTR OSIdleTaskCtr

Definition at line 1115 of file os.h.

OS_EXT OS_TCB OSIdleTaskTCB

Definition at line 1116 of file os.h.

OS_EXT OS_NESTING_CTR OSIntNestingCtr

Definition at line 1119 of file os.h.

OS_EXT OS_PRIO OSPrioCur

Definition at line 1168 of file os.h.

OS_EXT OS_PRIO OSPrioHighRdy

Definition at line 1169 of file os.h.

OS_EXT OS_PRIO OSPrioSaved

Definition at line 1170 of file os.h.

CPU_DATA OSPrioTbl[OS_PRIO_TBL_SIZE]

Definition at line 41 of file os_prio.c.

OS_EXT OS_RDY_LIST OSRdyList[OS_CFG_PRIO_MAX]

Definition at line 1184 of file os.h.

OS_EXT OS_STATE OSRunning

Definition at line 1124 of file os.h.

OS_EXT OS_NESTING_CTR OSSchedLockNestingCtr

Definition at line 1197 of file os.h.

OS_EXT OS_CTX_SW_CTR OSTaskCtxSwCtr

Definition at line 1224 of file os.h.

OS_EXT OS_OBJ_QTY OSTaskQty

Definition at line 1228 of file os.h.

OS_EXT OS_TCB* OSTCBCurPtr

Definition at line 1253 of file os.h.

OS_EXT OS_TCB* OSTCBHighRdyPtr

Definition at line 1254 of file os.h.

OS_EXT OS_TICK OSTickCtr

Definition at line 1235 of file os.h.

OS_EXT OS_TCB OSTickTaskTCB

Definition at line 1236 of file os.h.

OS_EXT CPU_TS OSTickTaskTimeMax

Definition at line 1237 of file os.h.