IntrOS
Loading...
Searching...
No Matches
Event

events (transfer of a value to all waiting tasks) More...

Macros

#define OS_EVT(evt)
 define and initialize an event object
#define static_EVT(evt)
 static alias of OS_EVT()
#define EVT_INIT()
 create and initialize an event object
#define EVT_CREATE()
 create and initialize an event object
#define EVT_NEW   EVT_CREATE
 alias of EVT_CREATE()

Functions

void evt_init (evt_t *evt)
 initialize an event object
void evt_reset (evt_t *evt)
 reset the event object and wake up all waiting tasks with 'E_STOPPED' event value
void evt_kill (evt_t *evt)
 alias of evt_reset()
int evt_waitFor (evt_t *evt, unsigned *event, cnt_t delay)
 wait for release the event object for given duration of time
int evt_waitUntil (evt_t *evt, unsigned *event, cnt_t time)
 wait for release the event object until given timepoint
int evt_wait (evt_t *evt, unsigned *event)
 wait indefinitely until the event object has been released
void evt_give (evt_t *evt, unsigned event)
 resume all tasks that are waiting on the event object

Detailed Description

events (transfer of a value to all waiting tasks)

Macro Definition Documentation

◆ OS_EVT

#define OS_EVT ( evt)
Value:
evt_t evt[] = { _EVT_INIT() }

define and initialize an event object

Parameters
evtname of a pointer to event object

◆ static_EVT

#define static_EVT ( evt)
Value:
static evt_t evt[] = { _EVT_INIT() }

static alias of OS_EVT()

◆ EVT_INIT

#define EVT_INIT ( )
Value:
_EVT_INIT()

create and initialize an event object

Returns
event object
Note
use only in 'C' code

◆ EVT_CREATE

#define EVT_CREATE ( )
Value:
{ EVT_INIT () }
#define EVT_INIT()
create and initialize an event object
Definition osevent.h:94

create and initialize an event object

Returns
event object as array (id)
Note
use only in 'C' code

Function Documentation

◆ evt_init()

void evt_init ( evt_t * evt)

initialize an event object

Parameters
evtpointer to event object

◆ evt_reset()

void evt_reset ( evt_t * evt)

reset the event object and wake up all waiting tasks with 'E_STOPPED' event value

Parameters
evtpointer to event object
Note
use only in thread mode

◆ evt_waitFor()

int evt_waitFor ( evt_t * evt,
unsigned * event,
cnt_t delay )

wait for release the event object for given duration of time

Parameters
evtpointer to event object
eventpointer to store event value
delayduration of time (maximum number of ticks to wait for release the event object)
  • IMMEDIATE: don't wait until the event object has been released
  • INFINITE: wait indefinitely until the event object has been released
Return values
E_SUCCESSevent value was successfully transferred from the event object
E_STOPPEDevent object was reseted before the specified timeout expired
E_TIMEOUTevent object was not released before the specified timeout expired

◆ evt_waitUntil()

int evt_waitUntil ( evt_t * evt,
unsigned * event,
cnt_t time )

wait for release the event object until given timepoint

Parameters
evtpointer to event object
eventpointer to store event value
timetimepoint value
Return values
E_SUCCESSevent value was successfully transferred from the event object
E_STOPPEDevent object was reseted before the specified timeout expired
E_TIMEOUTevent object was not released before the specified timeout expired

◆ evt_wait()

int evt_wait ( evt_t * evt,
unsigned * event )
inline

wait indefinitely until the event object has been released

Parameters
evtpointer to event object
eventpointer to store event value
Return values
E_SUCCESSevent value was successfully transferred from the event object
E_STOPPEDevent object was reseted

◆ evt_give()

void evt_give ( evt_t * evt,
unsigned event )

resume all tasks that are waiting on the event object

Parameters
evtpointer to event object
eventevent value