Microchip® Advanced Software Framework

ucos_ii.h File Reference
#include <app_cfg.h>
#include <os_cfg.h>
#include <os_cpu.h>

Data Structures

struct  os_event
 
struct  os_mem
 
struct  os_mem_data
 
struct  os_q
 
struct  os_q_data
 
struct  os_sem_data
 
struct  os_stk_data
 
struct  os_tcb
 
struct  os_tmr
 
struct  os_tmr_wheel
 

Macros

#define OS_ASCII_NUL   (INT8U)0
 
#define OS_DEL_ALWAYS   1u
 
#define OS_DEL_NO_PEND   0u
 
#define OS_ERR_CREATE_ISR   16u
 
#define OS_ERR_DEL_ISR   15u
 
#define OS_ERR_EVENT_NAME_TOO_LONG   11u
 
#define OS_ERR_EVENT_TYPE   1u
 
#define OS_ERR_FLAG_GRP_DEPLETED   114u
 
#define OS_ERR_FLAG_INVALID_OPT   113u
 
#define OS_ERR_FLAG_INVALID_PGRP   110u
 
#define OS_ERR_FLAG_NAME_TOO_LONG   115u
 
#define OS_ERR_FLAG_NOT_RDY   112u
 
#define OS_ERR_FLAG_WAIT_TYPE   111u
 
#define OS_ERR_INVALID_OPT   7u
 
#define OS_ERR_MBOX_FULL   20u
 
#define OS_ERR_MEM_FULL   94u
 
#define OS_ERR_MEM_INVALID_ADDR   98u
 
#define OS_ERR_MEM_INVALID_BLKS   91u
 
#define OS_ERR_MEM_INVALID_PART   90u
 
#define OS_ERR_MEM_INVALID_PBLK   95u
 
#define OS_ERR_MEM_INVALID_PDATA   97u
 
#define OS_ERR_MEM_INVALID_PMEM   96u
 
#define OS_ERR_MEM_INVALID_SIZE   92u
 
#define OS_ERR_MEM_NAME_TOO_LONG   99u
 
#define OS_ERR_MEM_NO_FREE_BLKS   93u
 
#define OS_ERR_NAME_GET_ISR   17u
 
#define OS_ERR_NAME_SET_ISR   18u
 
#define OS_ERR_NONE   0u
 
#define OS_ERR_NOT_MUTEX_OWNER   100u
 
#define OS_ERR_PDATA_NULL   9u
 
#define OS_ERR_PEND_ABORT   14u
 
#define OS_ERR_PEND_ISR   2u
 
#define OS_ERR_PEND_LOCKED   13u
 
#define OS_ERR_PEVENT_NULL   4u
 
#define OS_ERR_PIP_LOWER   120u
 
#define OS_ERR_PNAME_NULL   12u
 
#define OS_ERR_POST_ISR   5u
 
#define OS_ERR_POST_NULL_PTR   3u
 
#define OS_ERR_PRIO   41u
 
#define OS_ERR_PRIO_EXIST   40u
 
#define OS_ERR_PRIO_INVALID   42u
 
#define OS_ERR_Q_EMPTY   31u
 
#define OS_ERR_Q_FULL   30u
 
#define OS_ERR_QUERY_ISR   6u
 
#define OS_ERR_SEM_OVF   50u
 
#define OS_ERR_TASK_CREATE_ISR   60u
 
#define OS_ERR_TASK_DEL   61u
 
#define OS_ERR_TASK_DEL_IDLE   62u
 
#define OS_ERR_TASK_DEL_ISR   64u
 
#define OS_ERR_TASK_DEL_REQ   63u
 
#define OS_ERR_TASK_NAME_TOO_LONG   65u
 
#define OS_ERR_TASK_NO_MORE_TCB   66u
 
#define OS_ERR_TASK_NOT_EXIST   67u
 
#define OS_ERR_TASK_NOT_SUSPENDED   68u
 
#define OS_ERR_TASK_OPT   69u
 
#define OS_ERR_TASK_RESUME_PRIO   70u
 
#define OS_ERR_TASK_SUSPEND_IDLE   71u
 
#define OS_ERR_TASK_SUSPEND_PRIO   72u
 
#define OS_ERR_TASK_WAITING   73u
 
#define OS_ERR_TIME_DLY_ISR   85u
 
#define OS_ERR_TIME_INVALID_MINUTES   81u
 
#define OS_ERR_TIME_INVALID_MS   83u
 
#define OS_ERR_TIME_INVALID_SECONDS   82u
 
#define OS_ERR_TIME_NOT_DLY   80u
 
#define OS_ERR_TIME_ZERO_DLY   84u
 
#define OS_ERR_TIMEOUT   10u
 
#define OS_ERR_TMR_INACTIVE   135u
 
#define OS_ERR_TMR_INVALID   138u
 
#define OS_ERR_TMR_INVALID_DEST   136u
 
#define OS_ERR_TMR_INVALID_DLY   130u
 
#define OS_ERR_TMR_INVALID_NAME   133u
 
#define OS_ERR_TMR_INVALID_OPT   132u
 
#define OS_ERR_TMR_INVALID_PERIOD   131u
 
#define OS_ERR_TMR_INVALID_STATE   141u
 
#define OS_ERR_TMR_INVALID_TYPE   137u
 
#define OS_ERR_TMR_ISR   139u
 
#define OS_ERR_TMR_NAME_TOO_LONG   140u
 
#define OS_ERR_TMR_NO_CALLBACK   143u
 
#define OS_ERR_TMR_NON_AVAIL   134u
 
#define OS_ERR_TMR_STOPPED   142u
 
#define OS_EVENT_EN   (((OS_Q_EN > 0) && (OS_MAX_QS > 0)) || (OS_MBOX_EN > 0) || (OS_SEM_EN > 0) || (OS_MUTEX_EN > 0))
 
#define OS_EVENT_TBL_SIZE   ((OS_LOWEST_PRIO) / 8 + 1) /* Size of event table */
 
#define OS_EVENT_TYPE_FLAG   5u
 
#define OS_EVENT_TYPE_MBOX   1u
 
#define OS_EVENT_TYPE_MUTEX   4u
 
#define OS_EVENT_TYPE_Q   2u
 
#define OS_EVENT_TYPE_SEM   3u
 
#define OS_EVENT_TYPE_UNUSED   0u
 
#define OS_EXT   extern
 
#define OS_FALSE   0u
 
#define OS_FLAG_CLR   0u
 
#define OS_FLAG_CONSUME   0x80u /* Consume the flags if condition(s) satisfied */
 
#define OS_FLAG_ERR_NOT_RDY   OS_ERR_FLAG_NOT_RDY
 
#define OS_FLAG_ERR_WAIT_TYPE   OS_ERR_FLAG_WAIT_TYPE
 
#define OS_FLAG_GRP_DEPLETED   OS_ERR_FLAG_GRP_DEPLETED
 
#define OS_FLAG_INVALID_OPT   OS_ERR_FLAG_INVALID_OPT
 
#define OS_FLAG_INVALID_PGRP   OS_ERR_FLAG_INVALID_PGRP
 
#define OS_FLAG_SET   1u
 
#define OS_FLAG_WAIT_CLR_ALL   0u /* Wait for ALL the bits specified to be CLR (i.e. 0) */
 
#define OS_FLAG_WAIT_CLR_AND   0u
 
#define OS_FLAG_WAIT_CLR_ANY   1u /* Wait for ANY of the bits specified to be CLR (i.e. 0) */
 
#define OS_FLAG_WAIT_CLR_OR   1u
 
#define OS_FLAG_WAIT_SET_ALL   2u /* Wait for ALL the bits specified to be SET (i.e. 1) */
 
#define OS_FLAG_WAIT_SET_AND   2u
 
#define OS_FLAG_WAIT_SET_ANY   3u /* Wait for ANY of the bits specified to be SET (i.e. 1) */
 
#define OS_FLAG_WAIT_SET_OR   3u
 
#define OS_MBOX_FULL   OS_ERR_MBOX_FULL
 
#define OS_MEM_FULL   OS_ERR_MEM_FULL
 
#define OS_MEM_INVALID_ADDR   OS_ERR_MEM_INVALID_ADDR
 
#define OS_MEM_INVALID_BLKS   OS_ERR_MEM_INVALID_BLKS
 
#define OS_MEM_INVALID_PART   OS_ERR_MEM_INVALID_PART
 
#define OS_MEM_INVALID_PBLK   OS_ERR_MEM_INVALID_PBLK
 
#define OS_MEM_INVALID_PDATA   OS_ERR_MEM_INVALID_PDATA
 
#define OS_MEM_INVALID_PMEM   OS_ERR_MEM_INVALID_PMEM
 
#define OS_MEM_INVALID_SIZE   OS_ERR_MEM_INVALID_SIZE
 
#define OS_MEM_NAME_TOO_LONG   OS_ERR_MEM_NAME_TOO_LONG
 
#define OS_MEM_NO_FREE_BLKS   OS_ERR_MEM_NO_FREE_BLKS
 
#define OS_N_SYS_TASKS   2u /* Number of system tasks */
 
#define OS_NO_ERR   OS_ERR_NONE
 
#define OS_NO_MORE_TCB   OS_ERR_TASK_NO_MORE_TCB
 
#define OS_PEND_OPT_BROADCAST   1u /* Broadcast action to ALL tasks waiting */
 
#define OS_PEND_OPT_NONE   0u /* NO option selected */
 
#define OS_POST_OPT_BROADCAST   0x01u /* Broadcast message to ALL tasks waiting */
 
#define OS_POST_OPT_FRONT   0x02u /* Post to highest priority task waiting */
 
#define OS_POST_OPT_NO_SCHED   0x04u /* Do not call the scheduler if this option is selected */
 
#define OS_POST_OPT_NONE   0x00u /* NO option selected */
 
#define OS_PRIO_ERR   OS_ERR_PRIO
 
#define OS_PRIO_EXIST   OS_ERR_PRIO_EXIST
 
#define OS_PRIO_INVALID   OS_ERR_PRIO_INVALID
 
#define OS_PRIO_SELF   0xFFu /* Indicate SELF priority */
 
#define OS_Q_EMPTY   OS_ERR_Q_EMPTY
 
#define OS_Q_FULL   OS_ERR_Q_FULL
 
#define OS_RDY_TBL_SIZE   ((OS_LOWEST_PRIO) / 8 + 1) /* Size of ready table */
 
#define OS_SEM_OVF   OS_ERR_SEM_OVF
 
#define OS_STAT_FLAG   0x20u /* Pending on event flag group */
 
#define OS_STAT_MBOX   0x02u /* Pending on mailbox */
 
#define OS_STAT_MULTI   0x80u /* Pending on multiple events */
 
#define OS_STAT_MUTEX   0x10u /* Pending on mutual exclusion semaphore */
 
#define OS_STAT_PEND_ABORT   2u /* Pending aborted */
 
#define OS_STAT_PEND_ANY   (OS_STAT_SEM | OS_STAT_MBOX | OS_STAT_Q | OS_STAT_MUTEX | OS_STAT_FLAG)
 
#define OS_STAT_PEND_OK   0u /* Pending status OK, not pending, or pending complete */
 
#define OS_STAT_PEND_TO   1u /* Pending timed out */
 
#define OS_STAT_Q   0x04u /* Pending on queue */
 
#define OS_STAT_RDY   0x00u /* Ready to run */
 
#define OS_STAT_SEM   0x01u /* Pending on semaphore */
 
#define OS_STAT_SUSPEND   0x08u /* Task is suspended */
 
#define OS_TASK_DEL_ERR   OS_ERR_TASK_DEL
 
#define OS_TASK_DEL_IDLE   OS_ERR_TASK_DEL_IDLE
 
#define OS_TASK_DEL_ISR   OS_ERR_TASK_DEL_ISR
 
#define OS_TASK_DEL_REQ   OS_ERR_TASK_DEL_REQ
 
#define OS_TASK_IDLE_ID   65535u /* ID numbers for Idle, Stat and Timer tasks */
 
#define OS_TASK_IDLE_PRIO   (OS_LOWEST_PRIO) /* IDLE task priority */
 
#define OS_TASK_NOT_EXIST   OS_ERR_TASK_NOT_EXIST
 
#define OS_TASK_NOT_SUSPENDED   OS_ERR_TASK_NOT_SUSPENDED
 
#define OS_TASK_OPT_ERR   OS_ERR_TASK_OPT
 
#define OS_TASK_OPT_NONE   0x0000u /* NO option selected */
 
#define OS_TASK_OPT_SAVE_FP   0x0004u /* Save the contents of any floating-point registers */
 
#define OS_TASK_OPT_STK_CHK   0x0001u /* Enable stack checking for the task */
 
#define OS_TASK_OPT_STK_CLR   0x0002u /* Clear the stack when the task is create */
 
#define OS_TASK_RESUME_PRIO   OS_ERR_TASK_RESUME_PRIO
 
#define OS_TASK_STAT_ID   65534u
 
#define OS_TASK_STAT_PRIO   (OS_LOWEST_PRIO - 1) /* Statistic task priority */
 
#define OS_TASK_SUSPEND_IDLE   OS_ERR_TASK_SUSPEND_IDLE
 
#define OS_TASK_SUSPEND_PRIO   OS_ERR_TASK_SUSPEND_PRIO
 
#define OS_TASK_TMR_ID   65533u
 
#define OS_TCB_RESERVED   ((OS_TCB *)1)
 
#define OS_TIME_INVALID_MINUTES   OS_ERR_TIME_INVALID_MINUTES
 
#define OS_TIME_INVALID_MS   OS_ERR_TIME_INVALID_MS
 
#define OS_TIME_INVALID_SECONDS   OS_ERR_TIME_INVALID_SECONDS
 
#define OS_TIME_NOT_DLY   OS_ERR_TIME_NOT_DLY
 
#define OS_TIME_ZERO_DLY   OS_ERR_TIME_ZERO_DLY
 
#define OS_TIMEOUT   OS_ERR_TIMEOUT
 
#define OS_TMR_OPT_CALLBACK   3u /* OSTmrStop() option to call 'callback' w/ timer arg. */
 
#define OS_TMR_OPT_CALLBACK_ARG   4u /* OSTmrStop() option to call 'callback' w/ new arg. */
 
#define OS_TMR_OPT_NONE   0u /* No option selected */
 
#define OS_TMR_OPT_ONE_SHOT   1u /* Timer will not automatically restart when it expires */
 
#define OS_TMR_OPT_PERIODIC   2u /* Timer will automatically restart when it expires */
 
#define OS_TMR_STATE_COMPLETED   2u
 
#define OS_TMR_STATE_RUNNING   3u
 
#define OS_TMR_STATE_STOPPED   1u
 
#define OS_TMR_STATE_UNUSED   0u
 
#define OS_TMR_TYPE   100u /* Used to identify Timers ... */
 
#define OS_TRUE   1u
 
#define OS_VERSION   286u /* Version of uC/OS-II (Vx.yy mult. by 100) */
 

Typedefs

typedef struct os_event OS_EVENT
 
typedef struct os_mem OS_MEM
 
typedef struct os_mem_data OS_MEM_DATA
 
typedef struct os_q OS_Q
 
typedef struct os_q_data OS_Q_DATA
 
typedef struct os_sem_data OS_SEM_DATA
 
typedef struct os_stk_data OS_STK_DATA
 
typedef struct os_tcb OS_TCB
 
typedef struct os_tmr OS_TMR
 
typedef void(* OS_TMR_CALLBACK )(void *ptmr, void *parg)
 
typedef struct os_tmr_wheel OS_TMR_WHEEL
 

Functions

void OS_Dummy (void)
 
INT8U OS_EventTaskRdy (OS_EVENT *pevent, void *pmsg, INT8U msk, INT8U pend_stat)
 
void OS_EventTaskRemove (OS_TCB *ptcb, OS_EVENT *pevent)
 
void OS_EventTaskWait (OS_EVENT *pevent)
 
void OS_EventWaitListInit (OS_EVENT *pevent)
 
void OS_MemClr (INT8U *pdest, INT16U size)
 
void OS_MemCopy (INT8U *pdest, INT8U *psrc, INT16U size)
 
void OS_MemInit (void)
 
void OS_QInit (void)
 
void OS_Sched (void)
 
INT8U OS_StrCopy (INT8U *pdest, INT8U *psrc)
 
INT8U OS_StrLen (INT8U *psrc)
 
void OS_TaskIdle (void *p_arg)
 
void OS_TaskStat (void *p_arg)
 
void OS_TaskStatStkChk (void)
 
void OS_TaskStkClr (OS_STK *pbos, INT32U size, INT16U opt)
 
INT8U OS_TCBInit (INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT32U stk_size, void *pext, INT16U opt)
 
void OSDebugInit (void)
 
void OSInit (void)
 
void OSInitHookBegin (void)
 
void OSInitHookEnd (void)
 
void OSIntEnter (void)
 
void OSIntExit (void)
 
OS_MEMOSMemCreate (void *addr, INT32U nblks, INT32U blksize, INT8U *perr)
 
void * OSMemGet (OS_MEM *pmem, INT8U *perr)
 
INT8U OSMemNameGet (OS_MEM *pmem, INT8U *pname, INT8U *perr)
 
void OSMemNameSet (OS_MEM *pmem, INT8U *pname, INT8U *perr)
 
INT8U OSMemPut (OS_MEM *pmem, void *pblk)
 
INT8U OSMemQuery (OS_MEM *pmem, OS_MEM_DATA *p_mem_data)
 
void * OSQAccept (OS_EVENT *pevent, INT8U *perr)
 
OS_EVENTOSQCreate (void **start, INT16U size)
 
OS_EVENTOSQDel (OS_EVENT *pevent, INT8U opt, INT8U *perr)
 
INT8U OSQFlush (OS_EVENT *pevent)
 
void * OSQPend (OS_EVENT *pevent, INT16U timeout, INT8U *perr)
 
INT8U OSQPendAbort (OS_EVENT *pevent, INT8U opt, INT8U *perr)
 
INT8U OSQPost (OS_EVENT *pevent, void *pmsg)
 
INT8U OSQPostFront (OS_EVENT *pevent, void *pmsg)
 
INT8U OSQPostOpt (OS_EVENT *pevent, void *pmsg, INT8U opt)
 
INT8U OSQQuery (OS_EVENT *pevent, OS_Q_DATA *p_q_data)
 
void OSSchedLock (void)
 
void OSSchedUnlock (void)
 
INT16U OSSemAccept (OS_EVENT *pevent)
 
OS_EVENTOSSemCreate (INT16U cnt)
 
OS_EVENTOSSemDel (OS_EVENT *pevent, INT8U opt, INT8U *perr)
 
void OSSemPend (OS_EVENT *pevent, INT16U timeout, INT8U *perr)
 
INT8U OSSemPendAbort (OS_EVENT *pevent, INT8U opt, INT8U *perr)
 
INT8U OSSemPost (OS_EVENT *pevent)
 
INT8U OSSemQuery (OS_EVENT *pevent, OS_SEM_DATA *p_sem_data)
 
void OSSemSet (OS_EVENT *pevent, INT16U cnt, INT8U *perr)
 
void OSStart (void)
 
void OSStatInit (void)
 
INT8U OSTaskCreate (void(*task)(void *p_arg), void *p_arg, OS_STK *ptos, INT8U prio)
 
INT8U OSTaskCreateExt (void(*task)(void *p_arg), void *p_arg, OS_STK *ptos, INT8U prio, INT16U id, OS_STK *pbos, INT32U stk_size, void *pext, INT16U opt)
 
void OSTaskCreateHook (OS_TCB *ptcb)
 
INT8U OSTaskDel (INT8U prio)
 
void OSTaskDelHook (OS_TCB *ptcb)
 
INT8U OSTaskDelReq (INT8U prio)
 
void OSTaskIdleHook (void)
 
INT8U OSTaskQuery (INT8U prio, OS_TCB *p_task_data)
 
INT8U OSTaskResume (INT8U prio)
 
void OSTaskStatHook (void)
 
INT8U OSTaskStkChk (INT8U prio, OS_STK_DATA *p_stk_data)
 
OS_STK * OSTaskStkInit (void(*task)(void *p_arg), void *p_arg, OS_STK *ptos, INT16U opt)
 
INT8U OSTaskSuspend (INT8U prio)
 
void OSTaskSwHook (void)
 
void OSTCBInitHook (OS_TCB *ptcb)
 
void OSTimeDly (INT16U ticks)
 
INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli)
 
INT8U OSTimeDlyResume (INT8U prio)
 
INT32U OSTimeGet (void)
 
void OSTimeSet (INT32U ticks)
 
void OSTimeTick (void)
 
void OSTimeTickHook (void)
 
void OSTmr_Init (void)
 
OS_TMROSTmrCreate (INT32U dly, INT32U period, INT8U opt, OS_TMR_CALLBACK callback, void *callback_arg, INT8U *pname, INT8U *perr)
 
BOOLEAN OSTmrDel (OS_TMR *ptmr, INT8U *perr)
 
INT32U OSTmrRemainGet (OS_TMR *ptmr, INT8U *perr)
 
INT8U OSTmrSignal (void)
 
BOOLEAN OSTmrStart (OS_TMR *ptmr, INT8U *perr)
 
INT8U OSTmrStateGet (OS_TMR *ptmr, INT8U *perr)
 
BOOLEAN OSTmrStop (OS_TMR *ptmr, INT8U opt, void *callback_arg, INT8U *perr)
 
INT16U OSVersion (void)
 

Variables

OS_EXT INT8U OSCPUUsage
 
OS_EXT INT32U OSCtxSwCtr
 
OS_EXT OS_EVENTOSEventFreeList
 
OS_EXT OS_EVENT OSEventTbl [OS_MAX_EVENTS]
 
OS_EXT volatile INT32U OSIdleCtr
 
OS_EXT INT32U OSIdleCtrMax
 
OS_EXT INT32U OSIdleCtrRun
 
OS_EXT INT8U OSIntNesting
 
OS_EXT INT8U OSLockNesting
 
OS_EXT OS_MEMOSMemFreeList
 
OS_EXT OS_MEM OSMemTbl [OS_MAX_MEM_PART]
 
OS_EXT INT8U OSPrioCur
 
OS_EXT INT8U OSPrioHighRdy
 
OS_EXT OS_QOSQFreeList
 
OS_EXT OS_Q OSQTbl [OS_MAX_QS]
 
OS_EXT INT8U OSRdyGrp
 
OS_EXT INT8U OSRdyTbl [OS_RDY_TBL_SIZE]
 
OS_EXT BOOLEAN OSRunning
 
OS_EXT BOOLEAN OSStatRdy
 
OS_EXT INT8U OSTaskCtr
 
OS_EXT OS_STK OSTaskIdleStk [OS_TASK_IDLE_STK_SIZE]
 
OS_EXT OS_STK OSTaskStatStk [OS_TASK_STAT_STK_SIZE]
 
OS_EXT OS_TCBOSTCBCur
 
OS_EXT OS_TCBOSTCBFreeList
 
OS_EXT OS_TCBOSTCBHighRdy
 
OS_EXT OS_TCBOSTCBList
 
OS_EXT OS_TCBOSTCBPrioTbl [OS_LOWEST_PRIO+1]
 
OS_EXT OS_TCB OSTCBTbl [OS_MAX_TASKS+OS_N_SYS_TASKS]
 
OS_EXT volatile INT32U OSTime
 
OS_EXT INT16U OSTmrFree
 
OS_EXT OS_TMROSTmrFreeList
 
OS_EXT OS_EVENTOSTmrSem
 
OS_EXT OS_EVENTOSTmrSemSignal
 
OS_EXT OS_STK OSTmrTaskStk [OS_TASK_TMR_STK_SIZE]
 
OS_EXT OS_TMR OSTmrTbl [OS_TMR_CFG_MAX]
 
OS_EXT INT32U OSTmrTime
 
OS_EXT INT16U OSTmrUsed
 
OS_EXT OS_TMR_WHEEL OSTmrWheelTbl [OS_TMR_CFG_WHEEL_SIZE]
 
INT8U const OSUnMapTbl [256]
 

#define OS_DEL_ALWAYS   1u

Referenced by OSQDel(), and OSSemDel().

#define OS_DEL_NO_PEND   0u

Referenced by OSQDel(), and OSSemDel().

#define OS_ERR_CREATE_ISR   16u
#define OS_ERR_DEL_ISR   15u

Referenced by OSQDel(), and OSSemDel().

#define OS_ERR_EVENT_NAME_TOO_LONG   11u
#define OS_ERR_FLAG_GRP_DEPLETED   114u
#define OS_ERR_FLAG_INVALID_OPT   113u
#define OS_ERR_FLAG_INVALID_PGRP   110u
#define OS_ERR_FLAG_NAME_TOO_LONG   115u
#define OS_ERR_FLAG_NOT_RDY   112u
#define OS_ERR_FLAG_WAIT_TYPE   111u
#define OS_ERR_INVALID_OPT   7u

Referenced by OSQDel(), and OSSemDel().

#define OS_ERR_MBOX_FULL   20u
#define OS_ERR_MEM_FULL   94u

Referenced by OSMemPut().

#define OS_ERR_MEM_INVALID_ADDR   98u

Referenced by OSMemCreate().

#define OS_ERR_MEM_INVALID_BLKS   91u

Referenced by OSMemCreate().

#define OS_ERR_MEM_INVALID_PART   90u

Referenced by OSMemCreate().

#define OS_ERR_MEM_INVALID_PBLK   95u

Referenced by OSMemPut().

#define OS_ERR_MEM_INVALID_PDATA   97u

Referenced by OSMemQuery().

#define OS_ERR_MEM_INVALID_PMEM   96u
#define OS_ERR_MEM_INVALID_SIZE   92u

Referenced by OSMemCreate().

#define OS_ERR_MEM_NAME_TOO_LONG   99u

Referenced by OSMemNameSet().

#define OS_ERR_MEM_NO_FREE_BLKS   93u

Referenced by OSMemGet().

#define OS_ERR_NAME_GET_ISR   17u

Referenced by OSMemNameGet().

#define OS_ERR_NAME_SET_ISR   18u

Referenced by OSMemNameSet().

#define OS_ERR_NOT_MUTEX_OWNER   100u
#define OS_ERR_PDATA_NULL   9u
#define OS_ERR_PEND_ABORT   14u
#define OS_ERR_PEND_ISR   2u

Referenced by OSQPend(), and OSSemPend().

#define OS_ERR_PEND_LOCKED   13u

Referenced by OSQPend(), and OSSemPend().

#define OS_ERR_PIP_LOWER   120u
#define OS_ERR_PNAME_NULL   12u

Referenced by OSMemNameGet(), and OSMemNameSet().

#define OS_ERR_POST_ISR   5u
#define OS_ERR_POST_NULL_PTR   3u
#define OS_ERR_PRIO   41u

Referenced by OSTaskQuery().

#define OS_ERR_PRIO_EXIST   40u

Referenced by OSTaskCreate(), and OSTaskCreateExt().

#define OS_ERR_Q_EMPTY   31u

Referenced by OSQAccept().

#define OS_ERR_Q_FULL   30u

Referenced by OSQPost(), OSQPostFront(), and OSQPostOpt().

#define OS_ERR_QUERY_ISR   6u
#define OS_ERR_SEM_OVF   50u

Referenced by OSSemPost().

#define OS_ERR_TASK_CREATE_ISR   60u

Referenced by OSTaskCreate(), and OSTaskCreateExt().

#define OS_ERR_TASK_DEL   61u

Referenced by OSTaskDel(), and OSTaskDelReq().

#define OS_ERR_TASK_DEL_IDLE   62u

Referenced by OSTaskDel(), and OSTaskDelReq().

#define OS_ERR_TASK_DEL_ISR   64u

Referenced by OSTaskDel().

#define OS_ERR_TASK_DEL_REQ   63u

Referenced by OSTaskDelReq().

#define OS_ERR_TASK_NAME_TOO_LONG   65u
#define OS_ERR_TASK_NO_MORE_TCB   66u

Referenced by OS_TCBInit().

#define OS_ERR_TASK_NOT_EXIST   67u
#define OS_ERR_TASK_NOT_SUSPENDED   68u

Referenced by OSTaskResume().

#define OS_ERR_TASK_OPT   69u

Referenced by OSTaskStkChk().

#define OS_ERR_TASK_RESUME_PRIO   70u

Referenced by OSTaskResume().

#define OS_ERR_TASK_SUSPEND_IDLE   71u

Referenced by OSTaskSuspend().

#define OS_ERR_TASK_SUSPEND_PRIO   72u

Referenced by OSTaskSuspend().

#define OS_ERR_TASK_WAITING   73u

Referenced by OSQDel(), OSSemDel(), and OSSemSet().

#define OS_ERR_TIME_DLY_ISR   85u

Referenced by OSTimeDlyHMSM().

#define OS_ERR_TIME_INVALID_MINUTES   81u

Referenced by OSTimeDlyHMSM().

#define OS_ERR_TIME_INVALID_MS   83u

Referenced by OSTimeDlyHMSM().

#define OS_ERR_TIME_INVALID_SECONDS   82u

Referenced by OSTimeDlyHMSM().

#define OS_ERR_TIME_NOT_DLY   80u

Referenced by OSTimeDlyResume().

#define OS_ERR_TIME_ZERO_DLY   84u

Referenced by OSTimeDlyHMSM().

#define OS_ERR_TIMEOUT   10u

Referenced by OSQPend(), and OSSemPend().

#define OS_ERR_TMR_INACTIVE   135u
#define OS_ERR_TMR_INVALID   138u
#define OS_ERR_TMR_INVALID_DEST   136u
#define OS_ERR_TMR_INVALID_DLY   130u

Referenced by OSTmrCreate().

#define OS_ERR_TMR_INVALID_NAME   133u
#define OS_ERR_TMR_INVALID_OPT   132u

Referenced by OSTmrCreate(), and OSTmrStop().

#define OS_ERR_TMR_INVALID_PERIOD   131u

Referenced by OSTmrCreate().

#define OS_ERR_TMR_INVALID_STATE   141u
#define OS_ERR_TMR_INVALID_TYPE   137u
#define OS_ERR_TMR_ISR   139u
#define OS_ERR_TMR_NAME_TOO_LONG   140u

Referenced by OSTmrCreate().

#define OS_ERR_TMR_NO_CALLBACK   143u

Referenced by OSTmrStop().

#define OS_ERR_TMR_NON_AVAIL   134u

Referenced by OSTmrCreate().

#define OS_ERR_TMR_STOPPED   142u

Referenced by OSTmrStop().

#define OS_EVENT_EN   (((OS_Q_EN > 0) && (OS_MAX_QS > 0)) || (OS_MBOX_EN > 0) || (OS_SEM_EN > 0) || (OS_MUTEX_EN > 0))
#define OS_EVENT_TBL_SIZE   ((OS_LOWEST_PRIO) / 8 + 1) /* Size of event table */
#define OS_EVENT_TYPE_FLAG   5u
#define OS_EVENT_TYPE_MBOX   1u
#define OS_EVENT_TYPE_MUTEX   4u
#define OS_EVENT_TYPE_SEM   3u
#define OS_EVENT_TYPE_UNUSED   0u

Referenced by OS_InitEventList(), OSQDel(), and OSSemDel().

#define OS_EXT   extern
#define OS_FLAG_CLR   0u
#define OS_FLAG_CONSUME   0x80u /* Consume the flags if condition(s) satisfied */
#define OS_FLAG_ERR_NOT_RDY   OS_ERR_FLAG_NOT_RDY
#define OS_FLAG_ERR_WAIT_TYPE   OS_ERR_FLAG_WAIT_TYPE
#define OS_FLAG_GRP_DEPLETED   OS_ERR_FLAG_GRP_DEPLETED
#define OS_FLAG_INVALID_OPT   OS_ERR_FLAG_INVALID_OPT
#define OS_FLAG_INVALID_PGRP   OS_ERR_FLAG_INVALID_PGRP
#define OS_FLAG_SET   1u
#define OS_FLAG_WAIT_CLR_ALL   0u /* Wait for ALL the bits specified to be CLR (i.e. 0) */
#define OS_FLAG_WAIT_CLR_AND   0u
#define OS_FLAG_WAIT_CLR_ANY   1u /* Wait for ANY of the bits specified to be CLR (i.e. 0) */
#define OS_FLAG_WAIT_CLR_OR   1u
#define OS_FLAG_WAIT_SET_ALL   2u /* Wait for ALL the bits specified to be SET (i.e. 1) */
#define OS_FLAG_WAIT_SET_AND   2u
#define OS_FLAG_WAIT_SET_ANY   3u /* Wait for ANY of the bits specified to be SET (i.e. 1) */
#define OS_FLAG_WAIT_SET_OR   3u
#define OS_MBOX_FULL   OS_ERR_MBOX_FULL
#define OS_MEM_FULL   OS_ERR_MEM_FULL
#define OS_MEM_INVALID_ADDR   OS_ERR_MEM_INVALID_ADDR
#define OS_MEM_INVALID_BLKS   OS_ERR_MEM_INVALID_BLKS
#define OS_MEM_INVALID_PART   OS_ERR_MEM_INVALID_PART
#define OS_MEM_INVALID_PBLK   OS_ERR_MEM_INVALID_PBLK
#define OS_MEM_INVALID_PDATA   OS_ERR_MEM_INVALID_PDATA
#define OS_MEM_INVALID_PMEM   OS_ERR_MEM_INVALID_PMEM
#define OS_MEM_INVALID_SIZE   OS_ERR_MEM_INVALID_SIZE
#define OS_MEM_NAME_TOO_LONG   OS_ERR_MEM_NAME_TOO_LONG
#define OS_MEM_NO_FREE_BLKS   OS_ERR_MEM_NO_FREE_BLKS
#define OS_N_SYS_TASKS   2u /* Number of system tasks */

Referenced by OS_InitTCBList().

#define OS_NO_ERR   OS_ERR_NONE
#define OS_NO_MORE_TCB   OS_ERR_TASK_NO_MORE_TCB
#define OS_PEND_OPT_BROADCAST   1u /* Broadcast action to ALL tasks waiting */

Referenced by OSQPendAbort(), and OSSemPendAbort().

#define OS_PEND_OPT_NONE   0u /* NO option selected */

Referenced by OSQPendAbort(), and OSSemPendAbort().

#define OS_POST_OPT_BROADCAST   0x01u /* Broadcast message to ALL tasks waiting */

Referenced by OSQPostOpt().

#define OS_POST_OPT_FRONT   0x02u /* Post to highest priority task waiting */

Referenced by OSQPostOpt().

#define OS_POST_OPT_NO_SCHED   0x04u /* Do not call the scheduler if this option is selected */

Referenced by OSQPostOpt().

#define OS_POST_OPT_NONE   0x00u /* NO option selected */
#define OS_PRIO_ERR   OS_ERR_PRIO
#define OS_PRIO_EXIST   OS_ERR_PRIO_EXIST
#define OS_PRIO_INVALID   OS_ERR_PRIO_INVALID
#define OS_PRIO_SELF   0xFFu /* Indicate SELF priority */
#define OS_Q_EMPTY   OS_ERR_Q_EMPTY
#define OS_Q_FULL   OS_ERR_Q_FULL
#define OS_RDY_TBL_SIZE   ((OS_LOWEST_PRIO) / 8 + 1) /* Size of ready table */

Referenced by OS_InitRdyList().

#define OS_SEM_OVF   OS_ERR_SEM_OVF
#define OS_STAT_FLAG   0x20u /* Pending on event flag group */
#define OS_STAT_MBOX   0x02u /* Pending on mailbox */
#define OS_STAT_MULTI   0x80u /* Pending on multiple events */
#define OS_STAT_MUTEX   0x10u /* Pending on mutual exclusion semaphore */
#define OS_STAT_PEND_ABORT   2u /* Pending aborted */
#define OS_STAT_PEND_ANY   (OS_STAT_SEM | OS_STAT_MBOX | OS_STAT_Q | OS_STAT_MUTEX | OS_STAT_FLAG)

Referenced by OSTimeDlyResume(), and OSTimeTick().

#define OS_STAT_PEND_OK   0u /* Pending status OK, not pending, or pending complete */
#define OS_STAT_PEND_TO   1u /* Pending timed out */
#define OS_STAT_Q   0x04u /* Pending on queue */
#define OS_STAT_RDY   0x00u /* Ready to run */
#define OS_STAT_SEM   0x01u /* Pending on semaphore */
#define OS_STAT_SUSPEND   0x08u /* Task is suspended */
#define OS_TASK_DEL_ERR   OS_ERR_TASK_DEL
#define OS_TASK_DEL_IDLE   OS_ERR_TASK_DEL_IDLE
#define OS_TASK_DEL_ISR   OS_ERR_TASK_DEL_ISR
#define OS_TASK_DEL_REQ   OS_ERR_TASK_DEL_REQ
#define OS_TASK_IDLE_ID   65535u /* ID numbers for Idle, Stat and Timer tasks */

Referenced by OS_InitTaskIdle().

#define OS_TASK_IDLE_PRIO   (OS_LOWEST_PRIO) /* IDLE task priority */
#define OS_TASK_NOT_EXIST   OS_ERR_TASK_NOT_EXIST
#define OS_TASK_NOT_SUSPENDED   OS_ERR_TASK_NOT_SUSPENDED
#define OS_TASK_OPT_ERR   OS_ERR_TASK_OPT
#define OS_TASK_OPT_NONE   0x0000u /* NO option selected */
#define OS_TASK_OPT_SAVE_FP   0x0004u /* Save the contents of any floating-point registers */
#define OS_TASK_OPT_STK_CHK   0x0001u /* Enable stack checking for the task */
#define OS_TASK_OPT_STK_CLR   0x0002u /* Clear the stack when the task is create */
#define OS_TASK_RESUME_PRIO   OS_ERR_TASK_RESUME_PRIO
#define OS_TASK_STAT_ID   65534u

Referenced by OS_InitTaskStat().

#define OS_TASK_STAT_PRIO   (OS_LOWEST_PRIO - 1) /* Statistic task priority */

Referenced by OS_InitTaskStat().

#define OS_TASK_SUSPEND_IDLE   OS_ERR_TASK_SUSPEND_IDLE
#define OS_TASK_SUSPEND_PRIO   OS_ERR_TASK_SUSPEND_PRIO
#define OS_TASK_TMR_ID   65533u

Referenced by OSTmr_InitTask().

#define OS_TIME_INVALID_MINUTES   OS_ERR_TIME_INVALID_MINUTES
#define OS_TIME_INVALID_MS   OS_ERR_TIME_INVALID_MS
#define OS_TIME_INVALID_SECONDS   OS_ERR_TIME_INVALID_SECONDS
#define OS_TIME_NOT_DLY   OS_ERR_TIME_NOT_DLY
#define OS_TIME_ZERO_DLY   OS_ERR_TIME_ZERO_DLY
#define OS_TIMEOUT   OS_ERR_TIMEOUT
#define OS_TMR_OPT_CALLBACK   3u /* OSTmrStop() option to call 'callback' w/ timer arg. */

Referenced by OSTmrStop().

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

Referenced by OSTmrStop().

#define OS_TMR_OPT_NONE   0u /* No option selected */

Referenced by OSTmr_Free(), and OSTmrStop().

#define OS_TMR_OPT_ONE_SHOT   1u /* Timer will not automatically restart when it expires */

Referenced by OSTmrCreate(), and OSTmrRemainGet().

#define OS_TMR_OPT_PERIODIC   2u /* Timer will automatically restart when it expires */
#define OS_TMR_STATE_COMPLETED   2u
#define OS_TMR_STATE_RUNNING   3u
#define OS_TMR_STATE_STOPPED   1u
#define OS_TMR_STATE_UNUSED   0u
#define OS_TMR_TYPE   100u /* Used to identify Timers ... */
#define OS_VERSION   286u /* Version of uC/OS-II (Vx.yy mult. by 100) */

Referenced by OSVersion().

typedef struct os_event OS_EVENT
typedef struct os_mem OS_MEM
typedef struct os_mem_data OS_MEM_DATA
typedef struct os_q OS_Q
typedef struct os_q_data OS_Q_DATA
typedef struct os_sem_data OS_SEM_DATA
typedef struct os_stk_data OS_STK_DATA
typedef struct os_tcb OS_TCB
typedef struct os_tmr OS_TMR
typedef void(* OS_TMR_CALLBACK)(void *ptmr, void *parg)
typedef struct os_tmr_wheel OS_TMR_WHEEL

void OS_Dummy ( void  )

Referenced by OSTaskDel().

void OS_EventTaskRemove ( OS_TCB ptcb,
OS_EVENT pevent 
)
void OS_EventWaitListInit ( OS_EVENT pevent)
void OS_MemClr ( INT8U *  pdest,
INT16U  size 
)
void OS_MemCopy ( INT8U *  pdest,
INT8U *  psrc,
INT16U  size 
)

Referenced by OSTaskQuery().

void OS_MemInit ( void  )
void OS_QInit ( void  )

References OS_MAX_QS, OS_MemClr(), OSQFreeList, os_q::OSQPtr, and OSQTbl.

Referenced by OSInit().

INT8U OS_StrCopy ( INT8U *  pdest,
INT8U *  psrc 
)

References OS_ASCII_NUL.

Referenced by OSMemNameGet(), OSMemNameSet(), and OSTmrCreate().

INT8U OS_StrLen ( INT8U *  psrc)

References OS_ASCII_NUL.

Referenced by OSMemNameSet(), and OSTmrCreate().

void OS_TaskIdle ( void *  p_arg)

References OSIdleCtr, and OSTaskIdleHook().

Referenced by OS_InitTaskIdle().

void OS_TaskStkClr ( OS_STK *  pbos,
INT32U  size,
INT16U  opt 
)
void OSDebugInit ( void  )

Referenced by OSInit().

void OSInitHookBegin ( void  )

Referenced by OSInit().

void OSInitHookEnd ( void  )

Referenced by OSInit().

void OSIntEnter ( void  )

References OS_TRUE, OSIntNesting, and OSRunning.

void* OSMemGet ( OS_MEM pmem,
INT8U *  perr 
)
INT8U OSMemNameGet ( OS_MEM pmem,
INT8U *  pname,
INT8U *  perr 
)
void OSSchedLock ( void  )
void OSSchedUnlock ( void  )
INT16U OSSemAccept ( OS_EVENT pevent)
void OSStart ( void  )
void OSStatInit ( void  )
INT8U OSTaskCreate ( void(*)(void *p_arg)  task,
void *  p_arg,
OS_STK *  ptos,
INT8U  prio 
)
INT8U OSTaskCreateExt ( void(*)(void *p_arg)  task,
void *  p_arg,
OS_STK *  ptos,
INT8U  prio,
INT16U  id,
OS_STK *  pbos,
INT32U  stk_size,
void *  pext,
INT16U  opt 
)
void OSTaskCreateHook ( OS_TCB ptcb)

Referenced by OS_TCBInit().

void OSTaskDelHook ( OS_TCB ptcb)

Referenced by OSTaskDel().

void OSTaskIdleHook ( void  )

Referenced by OS_TaskIdle().

void OSTaskStatHook ( void  )

Referenced by OS_TaskStat().

OS_STK* OSTaskStkInit ( void(*)(void *p_arg)  task,
void *  p_arg,
OS_STK *  ptos,
INT16U  opt 
)

Referenced by OSTaskCreate(), and OSTaskCreateExt().

void OSTaskSwHook ( void  )
void OSTCBInitHook ( OS_TCB ptcb)

Referenced by OS_TCBInit().

INT8U OSTimeDlyHMSM ( INT8U  hours,
INT8U  minutes,
INT8U  seconds,
INT16U  milli 
)
INT32U OSTimeGet ( void  )

References OSTime.

void OSTimeSet ( INT32U  ticks)

References OSTime.

void OSTimeTickHook ( void  )

Referenced by OSTimeTick().

INT8U OSTmrSignal ( void  )

References OSSemPost(), and OSTmrSemSignal.

INT16U OSVersion ( void  )

References OS_VERSION.

OS_EXT INT8U OSCPUUsage

Referenced by OS_TaskStat().

OS_EXT INT32U OSCtxSwCtr

Referenced by OS_InitMisc(), OS_Sched(), and OSIntExit().

Referenced by OS_InitEventList().

OS_EXT volatile INT32U OSIdleCtr
OS_EXT INT32U OSIdleCtrMax
OS_EXT INT32U OSIdleCtrRun

Referenced by OS_InitMisc(), and OS_TaskStat().

OS_EXT OS_MEM* OSMemFreeList

Referenced by OS_MemInit(), and OSMemCreate().

Referenced by OS_MemInit().

OS_EXT INT8U OSPrioCur
OS_EXT INT8U OSPrioHighRdy
OS_EXT OS_Q* OSQFreeList

Referenced by OS_QInit(), OSQCreate(), and OSQDel().

Referenced by OS_QInit().

OS_EXT BOOLEAN OSStatRdy
OS_EXT INT8U OSTaskCtr

Referenced by OS_InitMisc(), OS_TCBInit(), and OSTaskDel().

OS_EXT OS_STK OSTaskIdleStk[OS_TASK_IDLE_STK_SIZE]

Referenced by OS_InitTaskIdle().

OS_EXT OS_STK OSTaskStatStk[OS_TASK_STAT_STK_SIZE]

Referenced by OS_InitTaskStat().

OS_EXT OS_TCB* OSTCBFreeList
OS_EXT OS_TCB* OSTCBHighRdy
OS_EXT volatile INT32U OSTime
OS_EXT INT16U OSTmrFree

Referenced by OSTmr_Alloc(), OSTmr_Free(), and OSTmr_Init().

OS_EXT OS_TMR* OSTmrFreeList

Referenced by OSTmr_Alloc(), OSTmr_Free(), and OSTmr_Init().

OS_EXT OS_EVENT* OSTmrSem
OS_EXT OS_EVENT* OSTmrSemSignal

Referenced by OSTmr_Init(), OSTmr_Task(), and OSTmrSignal().

OS_EXT OS_STK OSTmrTaskStk[OS_TASK_TMR_STK_SIZE]

Referenced by OSTmr_InitTask().

Referenced by OSTmr_Init().

OS_EXT INT32U OSTmrTime
OS_EXT INT16U OSTmrUsed

Referenced by OSTmr_Alloc(), OSTmr_Free(), and OSTmr_Init().

INT8U const OSUnMapTbl[256]

Referenced by OS_EventTaskRdy(), and OS_SchedNew().