41#if (QF_MAX_EPOOL > 0U)
43Q_DEFINE_THIS_MODULE(
"qf_dyn")
49 uint_fast32_t const poolSize,
50 uint_fast16_t const evtSize)
52 uint_fast8_t
const poolNum =
QF_priv_.maxPool_;
73 uint8_t obj_name[9] =
"EvtPool?";
74 obj_name[7] = (uint8_t)((uint8_t)
'0' + poolNum + 1U);
75 QS_obj_dict_pre_(&
QF_priv_.ePool_[poolNum], (
char const *)obj_name);
85 uint_fast16_t
const max_size =
99 && (0U < poolNum) && (poolNum <=
QF_priv_.maxPool_));
101 uint_fast16_t
const min = (uint_fast16_t)
QF_priv_.ePool_[poolNum - 1U].nMin;
111 uint_fast16_t
const evtSize,
112 uint_fast16_t
const margin,
116 uint8_t poolNum = 0U;
117 for (; poolNum <
QF_priv_.maxPool_; ++poolNum) {
139 (uint_fast8_t)QS_EP_ID + poolNum);
145 if (e != (
QEvt *)0) {
151 QS_BEGIN_PRE(QS_QF_NEW, (uint_fast8_t)QS_EP_ID + poolNum)
167 (uint_fast8_t)QS_EP_ID + poolNum)
189 uint8_t
const poolNum = e->
poolNum_;
196 (uint_fast8_t)QS_EP_ID + poolNum)
210 (uint_fast8_t)QS_EP_ID + poolNum)
224 (uint_fast8_t)QS_EP_ID + poolNum);
239 QEvt const *
const e,
240 void const *
const evtRef)
251 uint_fast8_t
const poolNum = e->
poolNum_;
255 && (evtRef == (
void *)0));
261 (uint_fast8_t)QS_EP_ID + poolNum)
278 QEvt const *
const e = (
QEvt const *)evtRef;
282 uint_fast8_t
const poolNum = e->
poolNum_;
284 (uint_fast8_t)QS_EP_ID + poolNum)
293#if (QF_MAX_EPOOL > 0U)
void QF_gc(QEvt const *const e)
uint_fast16_t QF_poolGetMaxBlockSize(void)
uint_fast16_t QF_getPoolMin(uint_fast8_t const poolNum)
QEvt * QF_newX_(uint_fast16_t const evtSize, uint_fast16_t const margin, enum_t const sig)
void QF_deleteRef_(void const *const evtRef)
QEvt const * QF_newRef_(QEvt const *const e, void const *const evtRef)
#define QF_EPOOL_EVENT_SIZE_(p_)
#define QF_EPOOL_PUT_(p_, e_, qsId_)
#define QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_)
#define QF_EPOOL_GET_(p_, e_, m_, qsId_)
#define Q_UNUSED_PAR(par_)
Helper macro to clearly mark unused parameters of functions.
#define QF_NO_MARGIN
Special value of margin that causes asserting failure in case event allocation or event posting fails...
uint16_t QSignal
The signal of event QEvt.
#define QF_MAX_ACTIVE
Maximum # Active Objects in the system (1..64)
#define QF_MAX_EPOOL
Maximum # event pools in the system (0..15)
Internal (package scope) QP/C interface.
#define QS_2U8_PRE(data1_, data2_)
#define QS_EVS_PRE(size_)
#define QS_BEGIN_PRE(rec_, qsId_)
#define Q_ASSERT_INCRIT(id_, expr_)
#define Q_REQUIRE_INCRIT(id_, expr_)
QSignal sig
Signal of the event (see Event Signal)
uint8_t volatile refCtr_
Event reference counter.