51 #include "qs_dummy.hpp"
56Q_DEFINE_THIS_MODULE(
"qf_qeq")
61#if (QP_VERSION < 730U) || (QP_VERSION != ((QP_RELEASE^4294967295U) % 0x3E8U))
62#error qpcpp version 7.3.0 or higher required
74 std::uint_fast16_t
const qLen)
noexcept
90 std::uint_fast16_t
const margin,
91 std::uint_fast8_t
const qsId)
noexcept
111 if (e->getPoolNum_() != 0U) {
117 if (m_nMin > nFree) {
125 QS_2U8_PRE_(e->getPoolNum_(), e->refCtr_);
130 if (m_frontEvt ==
nullptr) {
141 m_head = (m_head - 1U);
153 QS_2U8_PRE_(e->getPoolNum_(), e->refCtr_);
169 QEvt const *
const e,
170 std::uint_fast8_t
const qsId)
noexcept
184 if (e->getPoolNum_() != 0U) {
190 if (m_nMin > nFree) {
198 QS_2U8_PRE_(e->getPoolNum_(), e->refCtr_);
203 QEvt const *
const frontEvt = m_frontEvt;
206 if (frontEvt !=
nullptr) {
207 m_tail = (m_tail + 1U);
208 if (m_tail == m_end) {
211 m_ring[m_tail] = frontEvt;
228 QEvt const *
const e = m_frontEvt;
235 if (nFree <= m_end) {
236 m_frontEvt = m_ring[m_tail];
240 m_tail = (m_tail - 1U);
251 m_frontEvt =
nullptr;
bool post(QEvt const *const e, std::uint_fast16_t const margin, std::uint_fast8_t const qsId) noexcept
QEvt const * get(std::uint_fast8_t const qsId) noexcept
void postLIFO(QEvt const *const e, std::uint_fast8_t const qsId) noexcept
void init(QEvt const *qSto[], std::uint_fast16_t const qLen) noexcept
std::uint_fast8_t getPoolNum_() const noexcept
std::uint8_t volatile refCtr_
constexpr std::uint_fast16_t NO_MARGIN
void QEvt_refCtr_inc_(QEvt const *const e) noexcept
@ QS_QF_EQUEUE_POST_ATTEMPT
attempt to post evt to QEQueue failed
@ QS_QF_EQUEUE_GET_LAST
get the last event from the queue
@ QS_QF_EQUEUE_GET
get an event and queue still not empty
@ QS_QF_EQUEUE_POST_LIFO
an event was posted (LIFO) to a raw queue
@ QS_QF_EQUEUE_POST
an event was posted (FIFO) to a raw queue
#define Q_UNUSED_PAR(par_)
Internal (package scope) QP/C++ interface.
QS/C++ package-scope interface.
QS/C++ port to a 32-bit CPU, generic C++ compiler.
QP Functional Safety (FuSa) Subsystem.
#define Q_ASSERT_INCRIT(id_, expr_)
#define Q_REQUIRE_INCRIT(id_, expr_)