132uint_fast8_t QK_sched_(
void);
136void QK_activate_(
void);
146#define QF_SCHED_STAT_ QSchedStatus lockStat_;
149#define QF_SCHED_LOCK_(ceil_) do { \
150 if (QK_ISR_CONTEXT_()) { \
153 lockStat_ = QK_schedLock((ceil_)); \
158#define QF_SCHED_UNLOCK_() do { \
159 if (lockStat_ != 0xFFU) { \
160 QK_schedUnlock(lockStat_); \
165#define QACTIVE_EQUEUE_WAIT_(me_) \
166 Q_ASSERT_INCRIT(320, (me_)->eQueue.frontEvt != (QEvt *)0)
170#define QACTIVE_EQUEUE_SIGNAL_(me_) do { \
171 QPSet_insert(&QK_priv_.readySet, (uint_fast8_t)(me_)->prio); \
172 QPSet_update_(&QK_priv_.readySet, &QK_priv_.readySet_dis); \
173 if (!QK_ISR_CONTEXT_()) { \
174 if (QK_sched_() != 0U) { \
183#define QACTIVE_EQUEUE_SIGNAL_(me_) do { \
184 QPSet_insert(&QK_priv_.readySet, (uint_fast8_t)(me_)->prio); \
185 if (!QK_ISR_CONTEXT_()) { \
186 if (QK_sched_() != 0U) { \
197#define QF_EPOOL_TYPE_ QMPool
200#define QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_) \
201 (QMPool_init(&(p_), (poolSto_), (poolSize_), (evtSize_)))
204#define QF_EPOOL_EVENT_SIZE_(p_) ((uint_fast16_t)(p_).blockSize)
207#define QF_EPOOL_GET_(p_, e_, m_, qsId_) \
208 ((e_) = (QEvt *)QMPool_get(&(p_), (m_), (qsId_)))
211#define QF_EPOOL_PUT_(p_, e_, qsId_) \
212 (QMPool_put(&(p_), (e_), (qsId_)))
uint_fast8_t QSchedStatus
Private attributes of the QK kernel.
uint_fast8_t nextPrio_dis
uint_fast8_t lockCeil_dis
QK preemptive non-blocking kernel (QK namespace emulated as a "class" in C)
QSchedStatus QK_schedLock(uint_fast8_t const ceiling)
Set of Active Objects of up to QF_MAX_ACTIVE elements.