flags (any, all, new)
More...
|
|
#define | flgAny 0U |
| | wait for any flags to be set
|
|
#define | flgAll 1U |
| | wait for all flags to be set
|
|
#define | flgNew 2U |
| | ignore flags in flag object that have been set before
|
|
#define | flgAnyNew ( flgAny | flgNew ) |
| | flgAny | flgNew
|
|
#define | flgAllNew ( flgAll | flgNew ) |
| | flgAll | flgNew
|
| #define | OS_FLG(flg, ...) |
| | define and initialize a flag object
|
| #define | static_FLG(flg, ...) |
| | static alias of OS_FLG()
|
| #define | FLG_INIT(...) |
| | create and initialize a flag object
|
| #define | FLG_CREATE(...) |
| | create and initialize a flag object
|
|
#define | FLG_NEW FLG_CREATE |
| | alias of FLG_CREATE()
|
|
| void | flg_init (flg_t *flg, unsigned init) |
| | initialize a flag object
|
| void | flg_reset (flg_t *flg) |
| | reset the flag object and wake up all waiting tasks with 'E_STOPPED' event value
|
|
void | flg_kill (flg_t *flg) |
| | alias of flg_reset()
|
| unsigned | flg_take (flg_t *flg, unsigned flags, unsigned mode) |
| | check if required flags have been set in the flag object
|
|
unsigned | flg_tryWait (flg_t *flg, unsigned flags, unsigned mode) |
| | alias of flg_take()
|
| int | flg_waitFor (flg_t *flg, unsigned flags, unsigned mode, cnt_t delay) |
| | wait on flag object for given flags for given duration of time
|
| int | flg_waitUntil (flg_t *flg, unsigned flags, unsigned mode, cnt_t time) |
| | wait on flag object for given flags until given timepoint
|
| int | flg_wait (flg_t *flg, unsigned flags, unsigned mode) |
| | wait indefinitely on flag object until required flags have been set
|
| unsigned | flg_give (flg_t *flg, unsigned flags) |
| | set given flags in flag object
|
|
unsigned | flg_set (flg_t *flg, unsigned flags) |
| | alias of flg_give()
|
| unsigned | flg_clear (flg_t *flg, unsigned flags) |
| | clear given flags in flag object
|
| unsigned | flg_get (flg_t *flg) |
| | get current flags from flag object
|
◆ OS_FLG
| #define OS_FLG |
( |
| flg, |
|
|
| ... ) |
Value:flg_t flg[] = { _FLG_INIT( _VA_FLG(__VA_ARGS__) ) }
define and initialize a flag object
- Parameters
-
| flg | name of a pointer to flag object |
| ... | init: (optional) initial value of flag; default: 0 |
◆ static_FLG
| #define static_FLG |
( |
| flg, |
|
|
| ... ) |
Value:static flg_t flg[] = { _FLG_INIT( _VA_FLG(__VA_ARGS__) ) }
static alias of OS_FLG()
◆ FLG_INIT
Value:_FLG_INIT( _VA_FLG(__VA_ARGS__) )
create and initialize a flag object
- Parameters
-
| ... | init: (optional) initial value of flag; default: 0 |
- Returns
- flag object
- Note
- use only in 'C' code
◆ FLG_CREATE
| #define FLG_CREATE |
( |
| ... | ) |
|
Value:
#define FLG_INIT(...)
create and initialize a flag object
Definition osflag.h:121
create and initialize a flag object
- Parameters
-
| ... | init: (optional) initial value of flag; default: 0 |
- Returns
- flag object as array (id)
- Note
- use only in 'C' code
◆ flg_init()
| void flg_init |
( |
flg_t * | flg, |
|
|
unsigned | init ) |
initialize a flag object
- Parameters
-
| flg | pointer to flag object |
| init | initial value of flag |
◆ flg_reset()
| void flg_reset |
( |
flg_t * | flg | ) |
|
reset the flag object and wake up all waiting tasks with 'E_STOPPED' event value
- Parameters
-
| flg | pointer to flag object |
- Note
- use only in thread mode
◆ flg_take()
| unsigned flg_take |
( |
flg_t * | flg, |
|
|
unsigned | flags, |
|
|
unsigned | mode ) |
check if required flags have been set in the flag object
- Parameters
-
| flg | pointer to flag object |
| flags | all flags to wait |
| mode | waiting mode
- flgAny: wait for any flags to be set
- flgAll: wait for all flags to be set
- flgNew: ignore flags in flag object that have been set before ( either flgAny or flgAll can be used with flgNew )
|
- Return values
-
| 0 | required flags have been set |
| another | value remaining flags, try again |
◆ flg_waitFor()
| int flg_waitFor |
( |
flg_t * | flg, |
|
|
unsigned | flags, |
|
|
unsigned | mode, |
|
|
cnt_t | delay ) |
wait on flag object for given flags for given duration of time
- Parameters
-
| flg | pointer to flag object |
| flags | all flags to wait |
| mode | waiting mode
- flgAny: wait for any flags to be set
- flgAll: wait for all flags to be set
- flgNew: ignore flags in flag object that have been set before ( either flgAny or flgAll can be used with flgNew )
|
| delay | duration of time (maximum number of ticks to wait on flag object for given flags)
- IMMEDIATE: don't wait until required flags have been set
- INFINITE: wait indefinitely until required flags have been set
|
- Return values
-
| E_SUCCESS | required flags have been set |
| E_STOPPED | flag object was reseted before the specified timeout expired |
| E_TIMEOUT | required flags have not been set before the specified timeout expired |
◆ flg_waitUntil()
| int flg_waitUntil |
( |
flg_t * | flg, |
|
|
unsigned | flags, |
|
|
unsigned | mode, |
|
|
cnt_t | time ) |
wait on flag object for given flags until given timepoint
- Parameters
-
| flg | pointer to flag object |
| flags | all flags to wait |
| mode | waiting mode
- flgAny: wait for any flags to be set
- flgAll: wait for all flags to be set
- flgNew: ignore flags in flag object that have been set before ( either flgAny or flgAll can be used with flgNew )
|
| time | timepoint value |
- Return values
-
| E_SUCCESS | required flags have been set |
| E_STOPPED | flag object was reseted before the specified timeout expired |
| E_TIMEOUT | required flags have not been set before the specified timeout expired |
◆ flg_wait()
| int flg_wait |
( |
flg_t * | flg, |
|
|
unsigned | flags, |
|
|
unsigned | mode ) |
|
inline |
wait indefinitely on flag object until required flags have been set
- Parameters
-
| flg | pointer to flag object |
| flags | all flags to wait |
| mode | waiting mode
- flgAny: wait for any flags to be set
- flgAll: wait for all flags to be set
- flgNew: ignore flags in flag object that have been set before ( either flgAny or flgAll can be used with flgNew )
|
- Return values
-
◆ flg_give()
| unsigned flg_give |
( |
flg_t * | flg, |
|
|
unsigned | flags ) |
set given flags in flag object
- Parameters
-
| flg | pointer to flag object |
| flags | all flags to set |
- Returns
- flags after setting
◆ flg_clear()
| unsigned flg_clear |
( |
flg_t * | flg, |
|
|
unsigned | flags ) |
clear given flags in flag object
- Parameters
-
| flg | pointer to flag object |
| flags | all flags to clear |
- Returns
- flags before clearing
◆ flg_get()
| unsigned flg_get |
( |
flg_t * | flg | ) |
|
get current flags from flag object
- Parameters
-
| flg | pointer to flag object |
- Returns
- current flags in flag object