|
void | QActive_psInit (QSubscrList *const subscrSto, enum_t const maxSignal) |
|
static QStateHandler | QHsm_state (QHsm *const me) |
|
void | QActive_ctor (QActive *const me, QStateHandler const initial) |
|
void | QActive_stop (QActive *const me) |
|
bool | QActive_defer (QActive const *const me, QEQueue *const eq, QEvt const *const e) |
|
bool | QActive_recall (QActive *const me, QEQueue *const eq) |
|
uint_fast16_t | QActive_flushDeferred (QActive const *const me, QEQueue *const eq) |
|
void | QActive_register_ (QActive *const me) |
|
void | QActive_unregister_ (QActive *const me) |
|
void | QHsm_ctor (QHsm *const me, QStateHandler const initial) |
|
QState | QHsm_top (QHsm const *const me, QEvt const *const e) |
|
void | QHsm_init_ (QHsm *const me, void const *const e, uint_fast8_t const qs_id) |
|
void | QHsm_dispatch_ (QHsm *const me, QEvt const *const e, uint_fast8_t const qs_id) |
|
QTicker is an efficient active object specialized to process QF system clock tick at a specified tick rate [0..QF_MAX_TICK_RATE]. Placing system clock tick processing in an active object allows you to remove the non-deterministic QTIMEEVT_TICK_X() processing from the interrupt level and move it into the thread-level, where you can prioritize it as low as you wish.
- Usage
- The following example illustrates use of QTicker active objects:
void SysTick_Handler(void) {
. . .
. . .
}
void Timer0A_IRQHandler(void) {
. . .
. . .
}
main () {
. . .
1U,
0, 0, 0, 0, 0);
2U,
0, 0, 0, 0, 0);
. . .
}
#define QACTIVE_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_)
#define QACTIVE_POST(me_, e_, sender_)
"Ticker" Active Object class
Definition at line 1353 of file qf.h.