|
void | QActive_psInit (QSubscrList *const subscrSto, enum_t const maxSignal) |
|
void | QActive_ctor (QActive *const me, QStateHandler const initial) |
|
void | QActive_stop (QActive *const me) |
|
void | QActive_subscribe (QActive const *const me, enum_t const sig) |
|
void | QActive_unsubscribe (QActive const *const me, enum_t const sig) |
|
void | QActive_unsubscribeAll (QActive const *const me) |
|
bool | QActive_defer (QActive const *const me, struct QEQueue *const eq, QEvt const *const e) |
|
bool | QActive_recall (QActive *const me, struct QEQueue *const eq) |
|
uint_fast16_t | QActive_flushDeferred (QActive const *const me, struct QEQueue *const eq, uint_fast16_t const num) |
|
void | QAsm_ctor (QAsm *const me) |
|
QState | QHsm_top (QHsm const *const me, QEvt const *const e) |
|
uint8_t | prio |
|
uint8_t | pthre |
|
QACTIVE_THREAD_TYPE | thread |
|
QACTIVE_OS_OBJ_TYPE | osObject |
|
QACTIVE_EQUEUE_TYPE | eQueue |
|
uint8_t | prio_dis |
|
uint8_t | pthre_dis |
|
struct QAsmVtable const * | vptr |
|
union QAsmAttr | state |
|
union QAsmAttr | temp |
|
"Ticker" Active Object class
- Description
- 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:
extern QActive *
const the_Ticker0;
extern QActive *
const the Ticker1;
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 QTICKER_TRIG(ticker_, sender_)
Active object class (based on the QHsm implementation strategy)
"Ticker" Active Object class
Definition at line 1042 of file qp.h.