OSTmrStateGet
Description
OSTmrStateGet()
allows the user to obtain the current state of a timer. A timer can be in one of four states:
OS_TMR_STATE_UNUSED
the timer has not been created
OS_TMR_STATE_STOPPED
the timer is created but has not yet started, or has been stopped.
OS_TMR_STATE_COMPLETED
the timer is in one-shot mode, and has completed its delay.
OS_TMR_STATE_RUNNING
the timer is currently running
Files
os.h/os_tmr.c
Prototype
OS_STATE OSTmrStateGet (OS_TMR *p_tmr, OS_ERR *p_err)
Arguments
p_tmr
is a pointer to the timer that the user is inquiring about.
p_err
a pointer to an error code and can be any of the following:
OS_ERR_NONE
If the function returned the state of the timer.
OS_ERR_OBJ_TYPE
If OS_CFG_OBJ_TYPE_CHK_EN
is set to DEF_ENABLED
in os_cfg.h
: p_tmr
is not pointing to a timer.
OS_ERR_OS_NOT_RUNNING
If OS_CFG_INVALID_OS_CALLS_CHK_EN
is set to DEF_ENABLED
in os_cfg.h
: if µC/OS-III is not running yet.
OS_ERR_TMR_INVALID
If OS_CFG_ARG_CHK_EN
is set to DEF_ENABLED
in os_cfg.h
: if p_tmr
is a NULL
pointer.
OS_ERR_TMR_INVALID_STATE
If the timer is in an invalid state.
OS_ERR_TMR_ISR
If OS_CFG_CALLED_FROM_ISR_CHK_EN
set to DEF_ENABLED
in os_cfg.h
: This function was called from an ISR, which is not allowed.
Returned Values
The state of the timer (see description).
Required Configuration
OS_CFG_TMR_EN
must be enabled in os_cfg.h
. Refer to µC-OS-III Configuration Manual.
Callers
Application.
Notes/Warnings
- Do not call this function from an ISR.
Example Usage
OS_STATE CloseDoorTmrState; OS_TMR CloseDoorTmr; void Task (void *p_arg) { OS_ERR err; (void)&p_arg; while (DEF_ON) { CloseDoorTmrState = OSTmrStateGet(&CloseDoorTmr, &err); /* Check "err" */ : : } }