54Q_DEFINE_THIS_MODULE(
"qf_time")
58#if (QP_VERSION < 730U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))
59#error qpc version 7.3.0 or higher required
70void QTimeEvt_ctorX(
QTimeEvt *
const me,
73 uint_fast8_t
const tickRate)
101 uint_fast8_t
const tickRate
105 uint_fast8_t
const qsId = ((
QActive *)(me->
act))->prio;
138 me->
next = (
QTimeEvt *)QTimeEvt_timeEvtHead_[tickRate].act;
139 QTimeEvt_timeEvtHead_[tickRate].act = me;
145 QS_OBJ_PRE_(me->
act);
147 QS_TEC_PRE_(interval);
148 QS_U8_PRE_(tickRate);
175 QS_OBJ_PRE_(me->
act);
176 QS_TEC_PRE_(me->
ctr);
190 QS_OBJ_PRE_(me->
act);
206 uint_fast8_t
const tickRate
209 uint_fast8_t
const qsId = ((
QActive *)(me->
act))->prio;
243 me->
next = (
QTimeEvt *)QTimeEvt_timeEvtHead_[tickRate].act;
244 QTimeEvt_timeEvtHead_[tickRate].act = me;
255 QS_OBJ_PRE_(me->
act);
256 QS_TEC_PRE_(me->
ctr);
258 QS_2U8_PRE_(tickRate, (wasArmed ? 1U : 0U));
280 return wasDisarmed != 0U;
297 uint_fast8_t
const tickRate,
298 void const *
const sender)
310 QTimeEvt *prev = &QTimeEvt_timeEvtHead_[tickRate];
314 QS_TEC_PRE_(prev->
ctr);
315 QS_U8_PRE_(tickRate);
320 for (; limit > 0U; --limit) {
326 if (QTimeEvt_timeEvtHead_[tickRate].act != (
void *)0) {
330 prev->
next = (
QTimeEvt *)QTimeEvt_timeEvtHead_[tickRate].act;
331 QTimeEvt_timeEvtHead_[tickRate].act = (
void *)0;
380 QS_U8_PRE_(tickRate);
389 QS_U8_PRE_(tickRate);
394 QXThread_timeout_(act);
434bool QTimeEvt_noActive(uint_fast8_t
const tickRate) {
441 if (QTimeEvt_timeEvtHead_[tickRate].next != (
QTimeEvt *)0) {
444 else if ((QTimeEvt_timeEvtHead_[tickRate].act != (
void *)0)) {
#define Q_UNUSED_PAR(par_)
#define Q_EVT_CAST(class_)
@ Q_USER_SIG
offset for the user signals (QP Application)
#define QACTIVE_POST(me_, e_, sender_)
#define QF_CRIT_EXIT_NOP()
Internal (package scope) QP/C interface.
#define QACTIVE_CAST_(ptr_)
@ QS_QF_TIMEEVT_AUTO_DISARM
a time event expired and was disarmed
@ QS_QF_TIMEEVT_DISARM
true disarming of an armed time event
@ QS_QF_TIMEEVT_REARM
rearming of a time event
@ QS_QF_TIMEEVT_POST
a time event posted itself directly to an AO
@ QS_QF_TIMEEVT_DISARM_ATTEMPT
attempt to disarm a disarmed QTimeEvt
@ QS_QF_TICK
QTimeEvt tick was called.
@ QS_QF_TIMEEVT_ARM
a time event was armed
QS/C package-scope interface.
QP Functional Safety (FuSa) Subsystem.
#define Q_ASSERT_INCRIT(id_, expr_)
#define Q_ENSURE_INCRIT(id_, expr_)
#define Q_REQUIRE_INCRIT(id_, expr_)
Active object class (based on the QHsm implementation strategy)
struct QTimeEvt *volatile next