QActive native queue operations (based on QEQueue) More...
#include "qf_port.h"
#include "qf_pkg.h"
#include "qassert.h"
#include "qs_port.h"
#include "qs_pkg.h"
Go to the source code of this file.
Macros | |
#define | QTICKER_CAST_(me_) ((QActive *)(me_)) |
Perform downcast to QTicker pointer. More... | |
Functions | |
bool | QActive_post_ (QActive *const me, QEvt const *const e, uint_fast16_t const margin, void const *const sender) |
Implementation of the active object post (FIFO) operation. More... | |
void | QActive_postLIFO_ (QActive *const me, QEvt const *const e) |
Implementation of the active object post LIFO operation. More... | |
QEvt const * | QActive_get_ (QActive *const me) |
Get an event from the event queue of an active object. More... | |
uint_fast16_t | QF_getQueueMin (uint_fast8_t const prio) |
This function returns the minimum of free entries of the given event queue. More... | |
static void | QTicker_init_ (QHsm *const me, void const *par, uint_fast8_t const qs_id) |
static void | QTicker_dispatch_ (QHsm *const me, QEvt const *const e, uint_fast8_t const qs_id) |
static bool | QTicker_post_ (QActive *const me, QEvt const *const e, uint_fast16_t const margin, void const *const sender) |
virtual function to asynchronously post (FIFO) an event to an AO More... | |
static void | QTicker_postLIFO_ (QActive *const me, QEvt const *const e) |
void | QTicker_ctor (QTicker *const me, uint_fast8_t tickRate) |
"constructor" of QTicker More... | |
QActive native queue operations (based on QEQueue)
Definition in file qf_actq.c.
#define QTICKER_CAST_ | ( | me_ | ) | ((QActive *)(me_)) |
Perform downcast to QTicker pointer.
bool QActive_post_ | ( | QActive *const | me, |
QEvt const *const | e, | ||
uint_fast16_t const | margin, | ||
void const *const | sender | ||
) |
Implementation of the active object post (FIFO) operation.
[in,out] | me | pointer (see Object Orientation) |
[in] | e | pointer to the event to be posted |
[in] | margin | number of required free slots in the queue after posting the event. The special value QF_NO_MARGIN means that this function will assert if posting fails. |
[in] | sender | pointer to a sender object (used only for QS tracing) |
margin
parameter is special and denotes situation when the post() operation is assumed to succeed (event delivery guarantee). An assertion fires, when the event cannot be delivered in this case.Implementation of the active object post LIFO operation.
me
using the Last-In-First-Out (LIFO) policy.[in] | me | pointer (see Object Orientation) |
[in] | e | pointer to the event to post to the queue |
Get an event from the event queue of an active object.
[in,out] | me | pointer (see Object Orientation) |
uint_fast16_t QF_getQueueMin | ( | uint_fast8_t const | prio | ) |
This function returns the minimum of free entries of the given event queue.
prio
, since the active object was started.[in] | prio | Priority of the active object, whose queue is queried |
prio
, since the active object was started.
|
static |
|
static |
|
static |