42 #error Source file included in a project NOT based on the QV kernel
45Q_DEFINE_THIS_MODULE(
"qv")
52void QV_schedDisable(uint_fast8_t const ceiling) {
65 QV_priv_.schedCeil = ceiling;
94 QF_bzero_(&QActive_registry_[0],
sizeof(QActive_registry_));
116 QS_beginRec_((uint_fast8_t)QS_QF_RUN);
124#if (defined QF_ON_CONTEXT_SW) || (defined Q_SPY)
125 uint_fast8_t pprev = 0U;
127#ifdef QF_ON_CONTEXT_SW
141 uint_fast8_t
const p = (QPSet_notEmpty(&QV_priv_.
readySet)
146 QActive *
const a = QActive_registry_[p];
148#if (defined QF_ON_CONTEXT_SW) || (defined Q_SPY)
155#ifdef QF_ON_CONTEXT_SW
157 ? QActive_registry_[pprev]
166 QEvt const *
const e = QActive_get_(a);
170#if (QF_MAX_EPOOL > 0U)
176 QPSet_remove(&QV_priv_.
readySet, p);
180#if (defined QF_ON_CONTEXT_SW) || (defined Q_SPY)
187#ifdef QF_ON_CONTEXT_SW
216 uint_fast16_t
const qLen,
218 uint_fast16_t
const stkSize,
219 void const *
const par)
227 && (stkSto == (
void *)0));
230 me->
prio = (uint8_t)(prioSpec & 0xFFU);
234 QEQueue_init(&me->
eQueue, qSto, qLen);
void QF_onStartup(void)
Startup QF callback.
void QF_bzero_(void *const start, uint_fast16_t const len)
void QF_onCleanup(void)
Cleanup QF callback.
int_t QF_run(void)
Transfers control to QF to run the application.
void QF_gc(QEvt const *const e)
Recycle a mutable (mutable) event.
void QF_onContextSw(QActive *prev, QActive *next)
QF context switch callback used in built-in kernels (QV/QK/QXK)
void QF_init(void)
QF initialization.
void QF_stop(void)
Invoked by the application layer to stop the QF framework and return control to the OS/Kernel (used i...
#define Q_UNUSED_PAR(par_)
Helper macro to clearly mark unused parameters of functions.
QEvt const * QEvtPtr
Pointer to const event instances passed around in QP Framework.
int int_t
Alias for assertion-ID numbers in QP assertions and return from QF_run()
uint16_t QPrioSpec
Priority specification for Active Objects in QP.
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)
Active object class (based on the QHsm implementation strategy)
QACTIVE_EQUEUE_TYPE eQueue
Port-dependent event-queue type (often QEQueue)
void QActive_register_(QActive *const me)
Register this active object to be managed by the framework.
uint8_t prio
QF-priority [1..QF_MAX_ACTIVE] of this AO.
void QActive_start(QActive *const me, QPrioSpec const prioSpec, QEvtPtr *const qSto, uint_fast16_t const qLen, void *const stkSto, uint_fast16_t const stkSize, void const *const par)
Starts execution of an active object and registers the object with the framework.
uint8_t pthre
Preemption-threshold [1..QF_MAX_ACTIVE] of this AO.
struct QAsmVtable const * vptr
Virtual pointer inherited by all QAsm subclasses (see also SAS_QP_OO)
Virtual table for the QAsm class.
void(* init)(QAsm *const me, void const *const e, uint_fast8_t const qsId)
Virtual function to take the top-most initial transition in the state machine.
void(* dispatch)(QAsm *const me, QEvt const *const e, uint_fast8_t const qsId)
Virtual function to dispatch an event to the state machine.
Private attributes of the QV kernel.
void QV_schedEnable(void)