42 #error Source file included in a project NOT based on the QV kernel
47Q_DEFINE_THIS_MODULE(
"qv")
60 if (ceiling >
priv_.schedCeil) {
66 static_cast<std::uint8_t
>(ceiling));
69 priv_.schedCeil = ceiling;
79 if (
priv_.schedCeil != 0U) {
118 QS::beginRec_(QS_REC_NUM_(QS_QF_RUN));
126#if (defined QF_ON_CONTEXT_SW) || (defined Q_SPY)
127 std::uint_fast8_t pprev = 0U;
129#ifdef QF_ON_CONTEXT_SW
143 std::uint_fast8_t
const p = (
QV::priv_.readySet.notEmpty()
150#if (defined QF_ON_CONTEXT_SW) || (defined Q_SPY)
154 static_cast<std::uint8_t
>(pprev));
157#ifdef QF_ON_CONTEXT_SW
172#if (QF_MAX_EPOOL > 0U)
182#if (defined QF_ON_CONTEXT_SW) || (defined Q_SPY)
186 QS_U8_PRE(
static_cast<std::uint8_t
>(pprev));
189#ifdef QF_ON_CONTEXT_SW
219 std::uint_fast16_t
const qLen,
221 std::uint_fast16_t
const stkSize,
222 void const *
const par)
233 m_prio =
static_cast<std::uint8_t
>(prioSpec & 0xFFU);
Active object class (based on the QHsm implementation strategy)
void start(QPrioSpec const prioSpec, QEvtPtr *const qSto, std::uint_fast16_t const qLen, void *const stkSto, std::uint_fast16_t const stkSize, void const *const par)
void init(void const *const e, std::uint_fast8_t const qsId) override
Virtual function to take the top-most initial transition in the state machine.
static QActive * registry_[QF_MAX_ACTIVE+1U]
void register_() noexcept
void dispatch(QEvt const *const e, std::uint_fast8_t const qsId) override
Virtual function to dispatch an event to the state machine.
QACTIVE_EQUEUE_TYPE m_eQueue
QEvt const * get_() noexcept
std::uint_fast8_t getPrio() const noexcept
QACTIVE_EQUEUE_TYPE const & getEQueue() const noexcept
Private attributes of the QV kernel.
QF Active Object Framework namespace.
void gc(QEvt const *const e) noexcept
Recycle a mutable (mutable) event.
void bzero_(void *const start, std::uint_fast16_t const len) noexcept
void schedDisable(std::uint_fast8_t const ceiling)
QEvt const * QEvtPtr
Pointer to const event instances passed around in QP Framework.
std::uint16_t QPrioSpec
Priority specification for Active Objects in QP.
int int_t
Alias for assertion-ID numbers in QP assertions and return from QP::QF::run()
#define Q_UNUSED_PAR(par_)
Helper macro to clearly mark unused parameters of functions.
void QF_onContextSw(QP::QActive *prev, QP::QActive *next)
Internal (package scope) QP/C++ interface.
#define QF_INT_DISABLE()
Disable interrupts.
#define QF_INT_ENABLE()
Enable interrupts.
QS/C++ dummy public interface.
#define QS_2U8_PRE(data1_, data2_)
#define QS_BEGIN_PRE(rec_, qsId_)
QP Functional Safety (FuSa) Subsystem.
#define Q_REQUIRE_INCRIT(id_, expr_)
Assertion for checking a precondition (in critical section)