40Q_DEFINE_THIS_MODULE(
"qf_ps")
43enum_t QActive_maxPubSignal_;
51 QActive_subscrList_ = subscrSto;
52 QActive_maxPubSignal_ = maxSignal;
55 for (
enum_t sig = 0; sig < maxSignal; ++sig) {
56 QPSet_setEmpty(&subscrSto[sig].set);
64 void const *
const sender,
65 uint_fast8_t
const qsId)
103 if (QPSet_notEmpty(&subscrSet)) {
105 uint_fast8_t p = QPSet_findMax(&subscrSet);
121 QPSet_remove(&subscrSet, p);
122 if (QPSet_notEmpty(&subscrSet)) {
123 p = QPSet_findMax(&subscrSet);
145#if (QF_MAX_EPOOL > 0U)
158 uint_fast8_t
const p = (uint_fast8_t)me->
prio;
185 uint_fast8_t
const p = (uint_fast8_t)me->
prio;
213 uint_fast8_t
const p = (uint_fast8_t)me->
prio;
#define QF_SCHED_LOCK_(ceil_)
#define QF_SCHED_UNLOCK_()
#define Q_UNUSED_PAR(par_)
Helper macro to clearly mark unused parameters of functions.
#define Q_USER_SIG
offset for the user signals (QP Application))
#define QACTIVE_POST(me_, e_, sender_)
Invoke the direct event posting facility QActive_post_().
#define QF_CRIT_EXIT_NOP()
No-operation for exiting a critical section.
uint16_t QSignal
The signal of event QEvt.
#define QF_MAX_ACTIVE
Maximum # Active Objects in the system (1..64)
Internal (package scope) QP/C interface.
#define QS_2U8_PRE(data1_, data2_)
#define QS_BEGIN_PRE(rec_, qsId_)
QP Functional Safety (FuSa) Subsystem.
#define Q_ASSERT_INCRIT(id_, expr_)
General-purpose assertion with user-specified ID number (in critical section)
#define Q_REQUIRE_INCRIT(id_, expr_)
Assertion for checking a precondition (in critical section)
Active object class (based on the QHsm implementation strategy)
QSubscrList * QActive_subscrList_
Static (one per-class) pointer to all subscriber AOs for a given event signal.
void QActive_unsubscribe(QActive const *const me, enum_t const sig)
Unsubscribes from the delivery of signal sig to the active object.
enum_t QActive_maxPubSignal_
Static (one per-class) maximum published signal (the size of the subscrList_ array)
void QActive_publish_(QEvt const *const e, void const *const sender, uint_fast8_t const qsId)
Publish event to all subscribers of a given signal e->sig
QActive * QActive_registry_[QF_MAX_ACTIVE+1U]
Static (one per-class) array of registered active objects.
uint8_t prio
QF-priority [1..QF_MAX_ACTIVE] of this AO.
void QActive_subscribe(QActive const *const me, enum_t const sig)
Subscribes for delivery of signal sig to the active object.
void QActive_unsubscribeAll(QActive const *const me)
Unsubscribes from the delivery of all signals to the active object.
QSignal sig
Signal of the event (see Event Signal)
uint8_t volatile refCtr_
Event reference counter.
uint8_t poolNum_
Event pool number of this event.
Set of Active Objects of up to QF_MAX_ACTIVE elements.
Subscriber List (for publish-subscribe)