48Q_DEFINE_THIS_MODULE(
"qf_qeq")
53#if (QP_VERSION < 730U) || (QP_VERSION != ((QP_RELEASE^4294967295U)%0x2710U))
54#error qpcpp version 7.3.0 or higher required
65 std::uint_fast16_t
const qLen)
noexcept
71 #if (QF_EQUEUE_CTR_SIZE == 1U)
86 m_frontEvt_dis =
static_cast<std::uintptr_t
>(~Q_PTR2UINT_CAST_(m_frontEvt));
89 m_nFree_dis =
static_cast<QEQueueCtr>(~m_nFree);
99 std::uint_fast16_t
const margin,
100 std::uint_fast8_t
const qsId)
noexcept
131 if (e->getPoolNum_() != 0U) {
155 if (m_frontEvt ==
nullptr) {
160 m_frontEvt_dis =
static_cast<std::uintptr_t
>(~Q_PTR2UINT_CAST_(e));
207 QEvt const *
const e,
208 std::uint_fast8_t
const qsId)
noexcept
236 if (e->getPoolNum_() != 0U) {
260 QEvt const *
const frontEvt = m_frontEvt;
263 m_frontEvt_dis =
static_cast<std::uintptr_t
>(~Q_PTR2UINT_CAST_(e));
266 if (frontEvt !=
nullptr) {
280 m_ring[tmp] = frontEvt;
297 QEvt const *
const e = m_frontEvt;
300 ==
static_cast<std::uintptr_t
>(~m_frontEvt_dis));
329 QEvt const *
const frontEvt = m_ring[tmp];
333 static_cast<std::uintptr_t
>(~Q_PTR2UINT_CAST_(frontEvt));
335 m_frontEvt = frontEvt;
347 m_frontEvt =
nullptr;
350 static_cast<std::uintptr_t
>(~Q_PTR2UINT_CAST_(
nullptr));
QEvt const * get(std::uint_fast8_t const qsId) noexcept
void init(QEvt const *qSto[], std::uint_fast16_t const qLen) noexcept
bool post(QEvt const *const e, std::uint_fast16_t const margin, std::uint_fast8_t const qsId) noexcept
void postLIFO(QEvt const *const e, std::uint_fast8_t const qsId) noexcept
QSignal sig
Signal of the event (see Event Signal)
std::uint8_t volatile refCtr_
Event reference counter.)
std::uint_fast8_t getPoolNum_() const noexcept
Internal function to get the event pool-number of the given event.
constexpr std::uint_fast16_t NO_MARGIN
void QEvt_refCtr_inc_(QEvt const *const e) noexcept
#define Q_UNUSED_PAR(par_)
Helper macro to clearly mark unused parameters of functions.
Internal (package scope) QP/C++ interface.
#define Q_PTR2UINT_CAST_(ptr_)
Internal helper macro to cast pointers to integers.
#define QS_2U8_PRE(data1_, data2_)
#define QS_TEST_PROBE_DEF(fun_)
#define QS_TEST_PROBE_ID(id_, code_)
#define QS_BEGIN_PRE(rec_, qsId_)
QS/C++ port to a 32-bit CPU, generic C++ compiler.
QP Functional Safety (FuSa) Subsystem.
#define Q_ASSERT_INCRIT(id_, expr_)
#define Q_INVARIANT_INCRIT(id_, expr_)
#define Q_REQUIRE_INCRIT(id_, expr_)