diff --git a/examples b/examples index c2de4018..16ea07cc 160000 --- a/examples +++ b/examples @@ -1 +1 @@ -Subproject commit c2de401845b27784d4d9f5a9d6185f7b8d99add0 +Subproject commit 16ea07cc4dbcbde83431a9962cf4ec157b951dcf diff --git a/include/qp.h b/include/qp.h index aea06c9d..b0b5f371 100644 --- a/include/qp.h +++ b/include/qp.h @@ -199,7 +199,7 @@ enum QStateRet { // unhandled and need to "bubble up" Q_RET_SUPER, //!< event passed to superstate to handle Q_RET_SUPER_SUB, //!< event passed to submachine superstate - Q_RET_UNHANDLED, //!< event unhandled due to a guard + Q_RET_UNHANDLED, //!< event unhandled due to guard // handled and do not need to "bubble up" Q_RET_HANDLED, //!< event handled (internal transition) @@ -417,13 +417,8 @@ bool QMsm_isIn_( QAsm * const me, QStateHandler const state); -//! @private @memberof QMsm -//! @deprecated instead use: QASM_IS_IN() -bool QMsm_isInState(QMsm const * const me, - QMState const * const stateObj); - //! @public @memberof QMsm -static inline QMState const * QMsm_stateObj(QMsm * const me) { +static inline QMState const * QMsm_stateObj(QMsm const * const me) { return me->super.state.obj; } @@ -861,10 +856,8 @@ void QActive_setAttr(QActive * const me, uint32_t attr1, void const * attr2); -// private: - -//! @private @memberof QActive -void QActive_start_(QActive * const me, +//! @public @memberof QActive +void QActive_start(QActive * const me, QPrioSpec const prioSpec, QEvt const * * const qSto, uint_fast16_t const qLen, @@ -1197,11 +1190,6 @@ void QF_gcFromISR(QEvt const * const e); (evtRef_) = (void *)0; \ } while (false) -//${QF-macros::QACTIVE_START} ................................................ -#define QACTIVE_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_) \ - (QActive_start_((QActive *)(me_), (prioSpec_), \ - (qSto_), (qLen_), (stkSto_), (stkSize_), (par_))) - //${QF-macros::QACTIVE_POST} ................................................. #ifdef Q_SPY #define QACTIVE_POST(me_, e_, sender_) \ diff --git a/include/qpc.h b/include/qpc.h index ac0660c6..c02c08a4 100644 --- a/include/qpc.h +++ b/include/qpc.h @@ -72,7 +72,19 @@ //! @deprecated plain 'char' is no longer forbidden in MISRA-C:2023 typedef char char_t; -//! @deprecated assertion failure handler +//! @deprecated Macro for starting an Active Object. +//! Use QActive::QActive_start() instead. +#define QACTIVE_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_) \ + (QActive_start((QActive *)(me_), (prioSpec_), \ + (qSto_), (qLen_), (stkSto_), (stkSize_), (par_))) + +//! @deprecated Macro for starting an eXtended Thread. +//! Use QXThread::QXThread_start() instead. +#define QXTHREAD_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_) \ + (QXThread_start((QXThread *)(me_), (prioSpec_), \ + (qSto_), (qLen_), (stkSto_), (stkSize_), (par_))) + +//! @deprecated Assertion failure handler. //! Use Q_onError() instead. #define Q_onAssert(module_, id_) Q_onError(module_, id_) @@ -130,7 +142,7 @@ static inline void QF_psInit( #define QHSM_DISPATCH(me_, e_, qsId_) QASM_DISPATCH((me_), (e_), (qsId_)) //! @deprecated instead use: QASM_IS_IN() -#define QHsm_isIn(me_, state_) QHsm_isIn_((QAsm *)(me_), (state_)) +#define QHsm_isIn(me_, state_) QASM_IS_IN((QAsm *)(me_), (state_)) //============================================================================ #if (QP_API_VERSION < 691) diff --git a/include/qxk.h b/include/qxk.h index 88334093..ba8287e7 100644 --- a/include/qxk.h +++ b/include/qxk.h @@ -163,6 +163,18 @@ void QXThread_ctor(QXThread * const me, QXThreadHandler const handler, uint_fast8_t const tickRate); +//! @public @memberof QXThread +static inline void QXThread_start(QXThread * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, + uint_fast16_t const qLen, + void * const stkSto, + uint_fast16_t const stkSize, + void const * const par) +{ + QActive_start(&me->super, prioSpec, qSto, qLen, stkSto, stkSize, par); +} + //! @public @memberof QXThread bool QXThread_delay(QTimeEvtCtr const nTicks); @@ -269,10 +281,6 @@ void QXMutex_unlock(QXMutex * const me); //$declare${QXK-macros} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -//${QXK-macros::QXTHREAD_START} .............................................. -#define QXTHREAD_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_) QACTIVE_START((me_), (prioSpec_), (qSto_), (qLen_), \ - (stkSto_), (stkSize_), (par_)) - //${QXK-macros::QXTHREAD_POST_X} ............................................. #define QXTHREAD_POST_X(me_, e_, margin_, sender_) \ QACTIVE_POST_X(&(me_)->super, (e_), (margin_), (sender_)) diff --git a/ports/embos/qf_port.c b/ports/embos/qf_port.c index 9595e678..604e0d32 100644 --- a/ports/embos/qf_port.c +++ b/ports/embos/qf_port.c @@ -101,10 +101,11 @@ void QF_stop(void) { } //............................................................................ -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { // create the embOS message box for the AO OS_MAILBOX_Create(&me->eQueue, @@ -297,7 +298,7 @@ QEvt const *QActive_get_(QActive * const me) { // FPU. In this QP-embOS port, an active object task that uses the FPU is // designated by the QF_TASK_USES_FPU attribute, which can be set with the // QF_setEmbOsTaskAttr() function. The task attributes must be set *before* -// calling QACTIVE_START(). The task attributes are saved in QActive.osObject +// calling QActive_start(). The task attributes are saved in QActive.osObject // member. // // NOTE3: diff --git a/ports/freertos/qf_port.c b/ports/freertos/qf_port.c index 3c7285b2..22a378fc 100644 --- a/ports/freertos/qf_port.c +++ b/ports/freertos/qf_port.c @@ -122,7 +122,7 @@ static void task_function(void *pvParameters) { // FreeRTOS task signature } //............................................................................ -void QActive_start_(QActive * const me, +void QActive_start(QActive * const me, QPrioSpec const prioSpec, QEvt const * * const qSto, uint_fast16_t const qLen, @@ -214,7 +214,7 @@ void QActive_stop(QActive * const me) { void QActive_setAttr(QActive *const me, uint32_t attr1, void const *attr2) { QF_CRIT_STAT QF_CRIT_ENTRY(); - // this function must be called before QACTIVE_START(), + // this function must be called before QActive_start(), // which implies that me->thread.pxDummy1 must not be used yet; Q_REQUIRE_INCRIT(300, me->thread.pxDummy1 == (void *)0); switch (attr1) { diff --git a/ports/posix-qv/qf_port.c b/ports/posix-qv/qf_port.c index eb9fcc37..26e731e2 100644 --- a/ports/posix-qv/qf_port.c +++ b/ports/posix-qv/qf_port.c @@ -367,10 +367,11 @@ int QF_consoleWaitForKey(void) { #endif // QActive functions ========================================================= -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { Q_UNUSED_PAR(stkSto); Q_UNUSED_PAR(stkSize); diff --git a/ports/posix/qf_port.c b/ports/posix/qf_port.c index 76c32805..a771a4ca 100644 --- a/ports/posix/qf_port.c +++ b/ports/posix/qf_port.c @@ -311,10 +311,11 @@ static void *thread_routine(void *arg) { // the expected POSIX signature } // QActive functions ======================================================= -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { Q_UNUSED_PAR(stkSto); Q_UNUSED_PAR(stkSize); diff --git a/ports/qube/qube.c b/ports/qube/qube.c index c1dd5785..c40c4426 100644 --- a/ports/qube/qube.c +++ b/ports/qube/qube.c @@ -357,7 +357,7 @@ int_t QF_run(void) { } //-------------------------------------------------------------------------- -void QActive_start_(QActive* const me, +void QActive_start(QActive* const me, QPrioSpec const prioSpec, QEvt const** const qSto, uint_fast16_t const qLen, diff --git a/ports/threadx/qf_port.c b/ports/threadx/qf_port.c index b94297c9..85568022 100644 --- a/ports/threadx/qf_port.c +++ b/ports/threadx/qf_port.c @@ -73,10 +73,11 @@ static void thread_function(ULONG thread_input) { // ThreadX signature } } //............................................................................ -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { me->prio = (uint8_t)(prioSpec & 0xFFU); // QF-priority me->pthre = (uint8_t)(prioSpec >> 8U); // QF preemption-threshold @@ -116,7 +117,7 @@ void QActive_start_(QActive * const me, QPrioSpec const prioSpec, } //............................................................................ void QActive_setAttr(QActive *const me, uint32_t attr1, void const *attr2) { - // this function must be called before QACTIVE_START(), + // this function must be called before QActive_start(), // which implies that me->thread.tx_thread_name must not be used yet; // QF_CRIT_STAT diff --git a/ports/uc-os2/qf_port.c b/ports/uc-os2/qf_port.c index 6084da7b..5d2422e1 100644 --- a/ports/uc-os2/qf_port.c +++ b/ports/uc-os2/qf_port.c @@ -83,10 +83,11 @@ static void task_function(void *pdata) { // uC-OS2 task signature } //............................................................................ -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { // task name to be passed to OSTaskCreateExt() void * const task_name = (void *)me->eQueue; @@ -168,7 +169,7 @@ void QActive_setAttr(QActive *const me, uint32_t attr1, void const *attr2) { QF_CRIT_ENTRY(); switch (attr1) { case TASK_NAME_ATTR: - // this function must be called before QACTIVE_START(), + // this function must be called before QActive_start(), // which implies that me->eQueue must not be used yet; Q_ASSERT_INCRIT(300, me->eQueue == (OS_EVENT *)0); // temporarily store the name, cast 'const' away @@ -311,7 +312,7 @@ QEvt const *QActive_get_(QActive * const me) { // NOTE1: // The member QActive.thread is set to the uC-OS2 task options in the // function QF_setUCosTaskAttr(), which must be called **before** -// QACTIVE_START(). +// QActive_start(). // // NOTE3: // The event posting to uC-OS2 message queue occurs OUTSIDE critical section, diff --git a/ports/win32-qv/qf_port.c b/ports/win32-qv/qf_port.c index ab5be3b1..434b7062 100644 --- a/ports/win32-qv/qf_port.c +++ b/ports/win32-qv/qf_port.c @@ -235,10 +235,11 @@ int QF_consoleWaitForKey(void) { // QActive functions ========================================================= -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { Q_UNUSED_PAR(stkSto); Q_UNUSED_PAR(stkSize); diff --git a/ports/win32/qf_port.c b/ports/win32/qf_port.c index 06406325..09507a8a 100644 --- a/ports/win32/qf_port.c +++ b/ports/win32/qf_port.c @@ -165,10 +165,11 @@ int QF_consoleWaitForKey(void) { // QActive functions ========================================================= -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { Q_UNUSED_PAR(stkSto); Q_UNUSED_PAR(stkSize); diff --git a/qpc.qm b/qpc.qm index 3369a8ac..d27f88ef 100644 --- a/qpc.qm +++ b/qpc.qm @@ -355,7 +355,7 @@ return me; // unhandled and need to "bubble up" Q_RET_SUPER, //!< event passed to superstate to handle Q_RET_SUPER_SUB, //!< event passed to submachine superstate - Q_RET_UNHANDLED, //!< event unhandled due to a guard + Q_RET_UNHANDLED, //!< event unhandled due to guard // handled and do not need to "bubble up" Q_RET_HANDLED, //!< event handled (internal transition) @@ -1258,7 +1258,7 @@ do { else if (r == Q_RET_SUPER_SUB) { t = me->temp.obj; // current host state of the submachine } - else { // event unhandled due to a guard? + else { // event unhandled due to a guard QF_CRIT_ENTRY(); // event must be unhandled due to a guard evaluating to 'false' Q_ASSERT_INCRIT(310, r == Q_RET_UNHANDLED); @@ -1455,40 +1455,11 @@ QF_CRIT_ENTRY(); Q_ENSURE_INCRIT(490, lbound > 0); QF_CRIT_EXIT(); -return inState; - - - - const - //! @private @memberof QMsm -//! @deprecated instead use: QASM_IS_IN() - -//! @private @memberof QMsm - - - bool inState = false; // assume that this SM is not in 'state' - -QMState const *s = me->super.state.obj; -int_fast8_t lbound = QMSM_MAX_NEST_DEPTH_; // fixed upper loop bound -for (; (s != (QMState *)0) && (lbound > 0); --lbound) { - if (s == stateObj) { // match found? - inState = true; - break; - } - else { - s = s->superstate; // advance to the superstate - } -} - -QF_CRIT_STAT -QF_CRIT_ENTRY(); -Q_ENSURE_INCRIT(590, lbound > 0); -QF_CRIT_EXIT(); - return inState; + const //! @public @memberof QMsm //! @public @memberof QMsm @@ -2324,22 +2295,22 @@ me->super.vptr = &vtable; // hook vptr to QActive vtable - - - //! @private @memberof QActive + + + //! @public @memberof QActive -//! @private @memberof QActive - +//! @public @memberof QActive + - + - + - + - + - + @@ -4684,26 +4655,6 @@ QF_gc(e); // recycle the referenced event (evtRef_) = (void *)0; \ } while (false) - - - - - - - - - - - - - - - - - \ - (QActive_start_((QActive *)(me_), (prioSpec_), \ - (qSto_), (qLen_), (stkSto_), (stkSize_), (par_))) - @@ -5160,22 +5111,22 @@ return 0; //! QActive active object class customization for QV - - + + //! @public @memberof QActive //! @public @memberof QActive - + - + - + - + - + - + Q_UNUSED_PAR(stkSto); // not needed in QV Q_UNUSED_PAR(stkSize); // not needed in QV @@ -5683,22 +5634,22 @@ return 0; // QActive class customization for QK - - + + //! @public @memberof QActive //! @public @memberof QActive - + - + - + - + - + - + Q_UNUSED_PAR(stkSto); // not needed in QK Q_UNUSED_PAR(stkSize); // not needed in QK @@ -6278,22 +6229,22 @@ return 0; // QActive active object class customization for QK - - + + //! @public @memberof QActive //! @public @memberof QActive - + - + - + - + - + - + QF_CRIT_STAT QF_CRIT_ENTRY(); @@ -6389,6 +6340,25 @@ me->super.super.state.act = Q_ACTION_CAST(0); // mark as extended thread QTimeEvt_ctorX(&me->timeEvt, &me->super, (enum_t)QXK_DELAY_SIG, tickRate); + + + //! @public @memberof QXThread + +//! @public @memberof QXThread + + + + + + + + + + + + + QActive_start(&me->super, prioSpec, qSto, qLen, stkSto, stkSize, par); + //! @public @memberof QXThread @@ -7364,25 +7334,6 @@ QF_CRIT_EXIT(); - - - - - - - - - - - - - - - - - QACTIVE_START((me_), (prioSpec_), (qSto_), (qLen_), \ - (stkSto_), (stkSize_), (par_)) - @@ -8196,22 +8147,22 @@ return 0; // return no error // QActive stub for QUTest - - + + //! @private @memberof QActive //! @private @memberof QActive - + - + - + - + - + - + Q_UNUSED_PAR(stkSto); Q_UNUSED_PAR(stkSize); @@ -9822,7 +9773,19 @@ extern char const Q_BUILD_TIME[9]; //! @deprecated plain 'char' is no longer forbidden in MISRA-C:2023 typedef char char_t; -//! @deprecated assertion failure handler +//! @deprecated Macro for starting an Active Object. +//! Use QActive::QActive_start() instead. +#define QACTIVE_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_) \ + (QActive_start((QActive *)(me_), (prioSpec_), \ + (qSto_), (qLen_), (stkSto_), (stkSize_), (par_))) + +//! @deprecated Macro for starting an eXtended Thread. +//! Use QXThread::QXThread_start() instead. +#define QXTHREAD_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_) \ + (QXThread_start((QXThread *)(me_), (prioSpec_), \ + (qSto_), (qLen_), (stkSto_), (stkSize_), (par_))) + +//! @deprecated Assertion failure handler. //! Use Q_onError() instead. #define Q_onAssert(module_, id_) Q_onError(module_, id_) @@ -9880,7 +9843,7 @@ static inline void QF_psInit( #define QHSM_DISPATCH(me_, e_, qsId_) QASM_DISPATCH((me_), (e_), (qsId_)) //! @deprecated instead use: QASM_IS_IN() -#define QHsm_isIn(me_, state_) QHsm_isIn_((QAsm *)(me_), (state_)) +#define QHsm_isIn(me_, state_) QASM_IS_IN((QAsm *)(me_), (state_)) //============================================================================ #if (QP_API_VERSION < 691) diff --git a/qpc.sha1 b/qpc.sha1 index a90a8d5d..89b5d324 100644 --- a/qpc.sha1 +++ b/qpc.sha1 @@ -1,20 +1,20 @@ -bdb9fd45fa87fbd718a23f61188801136f8cfc38 *qpc.qm +d875de4b3adef10ad05ff11713bed330be048922 *qpc.qm 4905c5e1a7afeafb9b644ca8ff0c7bd8b6d956ec *include/qequeue.h 80349c00631173d87bf4b98fddc7ccc417561d10 *include/qk.h f131ada80744965bc27f5d31c43ee8a5edac63fd *include/qmpool.h -11476265c9b27c47b762163715d76cd481540de7 *include/qp.h +e112ab5915f12deef350c75ef9e9ec69f7b8c59f *include/qp.h a9e58ddcc2185a56d79cad7dc5f31f7e5f5c89a3 *include/qp_pkg.h -cf4fef7f60ee125ac654ee64816a59caec8ffad1 *include/qpc.h +270513305e374cec84fed74979299835f4ae3246 *include/qpc.h d72b80d37040e1c428e38fba5a6880f76962a4f3 *include/qs.h 815d4314cf8ff757d2dfe160b5f4689ee22729a3 *include/qs_dummy.h abb43eb6d5ae56106b137a284f024bc5a03b20e0 *include/qs_pkg.h 68f55b6ffb4192d3a37508ddef694bef7e8adb2d *include/qsafe.h c7e98c8ea5989ddb53af1ed87283ebed2bf50c6d *include/qstamp.h 4c6a9b6c757448bc3d838f1c293d07bbb76617d6 *include/qv.h -0e9cdd8d3d572d176d3e0b16e26f7a569630a999 *include/qxk.h +4b229ebf5b2109147940f00e8b46a629ea5a29ba *include/qxk.h 7f54a0933a9dc2fcaca475919fa0067667ed99ed *src/qf/CMakeLists.txt 125ad159841f3290be4c1a1708641099101afc46 *src/qf/qep_hsm.c -661562d0d073d0993bdb83c1e40b005386bcca2d *src/qf/qep_msm.c +edac47d01b0d24636c312a4b85813e7d7af3fdfb *src/qf/qep_msm.c 8e366a46d0e9fd5580ec1a052b9bf54d322409fb *src/qf/qf_act.c b2ef0d4ea8d62bab84ff674c9037db35609c35fd *src/qf/qf_actq.c 8f1af64278e070f94a791bee8747eb2c8f8eaf42 *src/qf/qf_defer.c @@ -26,18 +26,18 @@ eab3084e49a9ac674f898a038c1c61e17b86db34 *src/qf/qf_ps.c c0265928351e6d891277d05aab1aeac20534c5a8 *src/qf/qf_qmact.c 390f03c5899d3657066bb7335905f9e44793236d *src/qf/qf_time.c 878a737efe234f40dc8c9374acc351e510b4da1e *src/qk/CMakeLists.txt -cfb544f3cd73a76ef3656641b9a825f5b6957d39 *src/qk/qk.c +144e820821d5676d6bbbacac028acb8ea50de0a7 *src/qk/qk.c 4e7914a38bc70dc9032ed7e74e3b49b13a80112c *src/qs/CMakeLists.txt fd621e42816352285008e72ca0b714e8d3bb5bd3 *src/qs/qs.c 96f2c2dee49009beeea2149c1ed71c8c53b6df01 *src/qs/qs_64bit.c 9f4e31b2ab70d6003737832bdaecedfab10ba04b *src/qs/qs_fp.c fd1c77d97cfd166a377139553a85b635135ad566 *src/qs/qs_rx.c aed0252b6ee3637bdfef31767a85e626a72a8226 *src/qs/qstamp.c -56769d24333885de20f31ea949add6370f8165fe *src/qs/qutest.c +b9309c48a98f04639c03ad9e363a46f031fe02c3 *src/qs/qutest.c b1d2def9b8f6cde464170af7682ab0f01f4f40f6 *src/qv/CMakeLists.txt -871301303bb8027f950800f9ed6d00544f3b98df *src/qv/qv.c +b6577263b393a83197f9383f4576dbd870ec1511 *src/qv/qv.c 4cb0461eeec92f5a2e0c5b8ec41da409c5958193 *src/qxk/CMakeLists.txt -b1dd543516393d3c4cc3bb89446c56b7d5c331da *src/qxk/qxk.c +bb8f6d1e612a39e40e3f780ec1a678ee75a1a0d8 *src/qxk/qxk.c a67a1aec687cb3f692dc5d49bec6e7460a38bbd0 *src/qxk/qxk_mutex.c 81b8a5c73f7c918fecd6e67969c9f625d9db408f *src/qxk/qxk_sema.c abd65424ec87f9ad930f141bffd83d6ddeb619e5 *src/qxk/qxk_xthr.c @@ -102,34 +102,34 @@ faf4df1db0c16caa5e84a303ad9a1ecaaa135b78 *ports/arm-cr/qv/ti/qs_port.h 7c5e810cf497ef306c2160a21e12bcd2fcd26583 *ports/msp430/qutest/qs_port.h 9d2c612b3954999eda20d12e13657e9205b8c972 *ports/config/qp_config.h 2ee7f5594f6121705bbc57145175b5c5867e0070 *ports/embos/CMakeLists.txt -9b20ade83535acbf74a35108c8cf2df77d096d58 *ports/embos/qf_port.c +05944870ca5f75d0942a2a65e32c4a9fc9ea4f9e *ports/embos/qf_port.c 301919d0bdfe1b9bc12639f3394f59c4e43d0b66 *ports/embos/qp_port.h faf4df1db0c16caa5e84a303ad9a1ecaaa135b78 *ports/embos/qs_port.h e65838e1764bd6b4eb73025be1e8116ac28247b2 *ports/freertos/CMakeLists.txt -0e08ab7821106a0071f961ff7f8e7ccc37b3120f *ports/freertos/qf_port.c +6343509d769b420f07cea628c68bec729dfbc942 *ports/freertos/qf_port.c c4cdfad6a99e8c121b034f74d4d23f2d2a333331 *ports/freertos/qp_port.h faf4df1db0c16caa5e84a303ad9a1ecaaa135b78 *ports/freertos/qs_port.h a01e1f6d49ce056ac4e130d54ae4724fda2ebf32 *ports/threadx/CMakeLists.txt -6bef3e567eed70d429faacfa606f0c3be5e83cff *ports/threadx/qf_port.c +fb18ebe253666180094170817e6453bcc3dcf386 *ports/threadx/qf_port.c 6792ed70d78732ad942fb99cb55194eacb23df37 *ports/threadx/qp_port.h faf4df1db0c16caa5e84a303ad9a1ecaaa135b78 *ports/threadx/qs_port.h 847cd324346d1d6c9c81422e99045442edcc7f64 *ports/threadx/README.md d9b6e1ca7a0215a3e141ae43970781d0f4d0d08f *ports/uc-os2/CMakeLists.txt -237186c610bd911d960c5191efbfa84c33c0bbb1 *ports/uc-os2/qf_port.c +85f46dc50c923694206f88f310c76083ff34ad2f *ports/uc-os2/qf_port.c 284ad7ebeb68aedf94e2fabba81b3787e9978ad9 *ports/uc-os2/qp_port.h faf4df1db0c16caa5e84a303ad9a1ecaaa135b78 *ports/uc-os2/qs_port.h 4a5da9508e2012b2ca3943b87134163e558964cc *ports/qep-only/CMakeLists.txt 1199ebd523ea4f24e1f7c43238018f64b923ff1d *ports/qep-only/qp_port.h 5189dfad3fea0ccb2218958dd3657f4403674b5e *ports/qep-only/safe_std.h 5d7914dfaf44a9c2552afdd5d8de4cfc3ebbc22a *ports/posix/CMakeLists.txt -5cb05d8b04f897257261beb6ef9dffefd096556b *ports/posix/qf_port.c +e4eb61f17c387d6a3f0986384ea2d321f96a20c9 *ports/posix/qf_port.c 9e6f98ae930242a4889e1a257c5c20bdbf2e6aab *ports/posix/qp_port.h 243f5fdf73141276dc8b90ec55c09e672d54c540 *ports/posix/qs_port.c a06f0f49fb35c21bb2c7df9b0cb66f7cff16c530 *ports/posix/qs_port.h 6e33b2e5092d117f58c47b632c59420f382ac39f *ports/posix/README.md 5189dfad3fea0ccb2218958dd3657f4403674b5e *ports/posix/safe_std.h 039b1e4066eb7eeac3233070ad6aa2cd9f6d1c69 *ports/posix-qv/CMakeLists.txt -e927b146bc21461c96a7db4e43e063f13730713c *ports/posix-qv/qf_port.c +7ad0df4b40d862f22a0781c7c54ac17f38b48cf7 *ports/posix-qv/qf_port.c dbce975f56b71518ca29f8694a3f67f146f0762c *ports/posix-qv/qp_port.h 243f5fdf73141276dc8b90ec55c09e672d54c540 *ports/posix-qv/qs_port.c a06f0f49fb35c21bb2c7df9b0cb66f7cff16c530 *ports/posix-qv/qs_port.h @@ -141,7 +141,7 @@ a06f0f49fb35c21bb2c7df9b0cb66f7cff16c530 *ports/posix-qutest/qs_port.h 5fc17dbde9691cbebd18c04a6a4cde4789ad1d71 *ports/posix-qutest/qutest_port.c 5189dfad3fea0ccb2218958dd3657f4403674b5e *ports/posix-qutest/safe_std.h cfea17ea9ab718e9e4f506e90c4b2fc8c1fea858 *ports/win32/CMakeLists.txt -85106972ea7ee49588057f661fb5c8105d20edb5 *ports/win32/qf_port.c +141eba516d088f91ed5c74968b5863414e8587da *ports/win32/qf_port.c 92e081241e4ce102193246ebe8f95879bd853c09 *ports/win32/qp_port.h eea30365b6b95a429cb1f1f17136df44d32e62ba *ports/win32/qs_port.c ff6375dabf341a7869781f82fd7eda32497c4069 *ports/win32/qs_port.h @@ -150,7 +150,7 @@ ff6375dabf341a7869781f82fd7eda32497c4069 *ports/win32/qs_port.h 3781ccdce31dea9d08493a801926eb278950786f *ports/win32/README.md 5189dfad3fea0ccb2218958dd3657f4403674b5e *ports/win32/safe_std.h 8d589868e287ceb185b4837064c80d4eed8e1a44 *ports/win32-qv/CMakeLists.txt -5c7448e33f794ecd8459b30b96d53ee4cd51520c *ports/win32-qv/qf_port.c +8c9f5fa1cd43311381c09b17db15b40d883470a6 *ports/win32-qv/qf_port.c e58272e88511fb06aa77589dd9e39c04e5f3180f *ports/win32-qv/qp_port.h eea30365b6b95a429cb1f1f17136df44d32e62ba *ports/win32-qv/qs_port.c ff6375dabf341a7869781f82fd7eda32497c4069 *ports/win32-qv/qs_port.h @@ -167,7 +167,7 @@ ff6375dabf341a7869781f82fd7eda32497c4069 *ports/win32-qutest/qs_port.h 848a30efa3274ff30fb72059f926fe7963ab2321 *zephyr/CMakeLists.txt 10764710e545dd4d2ce0ddf032711df7f9191937 *zephyr/Kconfig 2eb2a922e18b4760a68151ebee1b6282d20b4692 *zephyr/module.yml -0644ecb3cfe1d05837b375c5e236a36d294459d9 *zephyr/qf_port.c +fdae436b2e3b9657bd38a51a6f85482ba2e4c6a8 *zephyr/qf_port.c 109c291df50110f185adc17bcdf8becc0a79346c *zephyr/qp-zephyr.jpg ee0f1921d5994717b112b2c933f3c2cc3d690d74 *zephyr/qp_port.h faf4df1db0c16caa5e84a303ad9a1ecaaa135b78 *zephyr/qs_port.h diff --git a/src/qf/qep_msm.c b/src/qf/qep_msm.c index 5eee98fc..079abaa1 100644 --- a/src/qf/qep_msm.c +++ b/src/qf/qep_msm.c @@ -221,7 +221,7 @@ void QMsm_dispatch_( else if (r == Q_RET_SUPER_SUB) { t = me->temp.obj; // current host state of the submachine } - else { // event unhandled due to a guard? + else { // event unhandled due to a guard QF_CRIT_ENTRY(); // event must be unhandled due to a guard evaluating to 'false' Q_ASSERT_INCRIT(310, r == Q_RET_UNHANDLED); @@ -410,33 +410,6 @@ bool QMsm_isIn_( return inState; } -//${QEP::QMsm::isInState} .................................................... -//! @private @memberof QMsm -bool QMsm_isInState(QMsm const * const me, - QMState const * const stateObj) -{ - bool inState = false; // assume that this SM is not in 'state' - - QMState const *s = me->super.state.obj; - int_fast8_t lbound = QMSM_MAX_NEST_DEPTH_; // fixed upper loop bound - for (; (s != (QMState *)0) && (lbound > 0); --lbound) { - if (s == stateObj) { // match found? - inState = true; - break; - } - else { - s = s->superstate; // advance to the superstate - } - } - - QF_CRIT_STAT - QF_CRIT_ENTRY(); - Q_ENSURE_INCRIT(590, lbound > 0); - QF_CRIT_EXIT(); - - return inState; -} - //${QEP::QMsm::childStateObj} ................................................ //! @public @memberof QMsm QMState const * QMsm_childStateObj(QMsm const * const me, diff --git a/src/qk/qk.c b/src/qk/qk.c index ac362d40..6bae74ae 100644 --- a/src/qk/qk.c +++ b/src/qk/qk.c @@ -435,9 +435,9 @@ int_t QF_run(void) { //${QK::QActive} ............................................................. -//${QK::QActive::start_} ..................................................... +//${QK::QActive::start} ...................................................... //! @public @memberof QActive -void QActive_start_(QActive * const me, +void QActive_start(QActive * const me, QPrioSpec const prioSpec, QEvt const * * const qSto, uint_fast16_t const qLen, diff --git a/src/qs/qutest.c b/src/qs/qutest.c index acffb636..f88a7600 100644 --- a/src/qs/qutest.c +++ b/src/qs/qutest.c @@ -212,9 +212,9 @@ int_t QF_run(void) { //${QS::QUTest-stub::QActive} ................................................ -//${QS::QUTest-stub::QActive::start_} ........................................ +//${QS::QUTest-stub::QActive::start} ......................................... //! @private @memberof QActive -void QActive_start_(QActive * const me, +void QActive_start(QActive * const me, QPrioSpec const prioSpec, QEvt const * * const qSto, uint_fast16_t const qLen, diff --git a/src/qv/qv.c b/src/qv/qv.c index 7180adb5..7a31e1d0 100644 --- a/src/qv/qv.c +++ b/src/qv/qv.c @@ -279,9 +279,9 @@ int_t QF_run(void) { //${QV::QActive} ............................................................. -//${QV::QActive::start_} ..................................................... +//${QV::QActive::start} ...................................................... //! @public @memberof QActive -void QActive_start_(QActive * const me, +void QActive_start(QActive * const me, QPrioSpec const prioSpec, QEvt const * * const qSto, uint_fast16_t const qLen, diff --git a/src/qxk/qxk.c b/src/qxk/qxk.c index d79e86e8..30ba8b4a 100644 --- a/src/qxk/qxk.c +++ b/src/qxk/qxk.c @@ -472,9 +472,9 @@ int_t QF_run(void) { //${QXK::QActive} ............................................................ -//${QXK::QActive::start_} .................................................... +//${QXK::QActive::start} ..................................................... //! @public @memberof QActive -void QActive_start_(QActive * const me, +void QActive_start(QActive * const me, QPrioSpec const prioSpec, QEvt const * * const qSto, uint_fast16_t const qLen, diff --git a/test/qk/test_sched/test_sched.c b/test/qk/test_sched/test_sched.c index 246d915d..9e71d64a 100644 --- a/test/qk/test_sched/test_sched.c +++ b/test/qk/test_sched/test_sched.c @@ -144,7 +144,7 @@ int main() { for (uint8_t n = 0U; n < NUM_B; ++n) { if (pspecB[n] != 0U) { ObjB_ctor(&aoB[n]); // instantiate the AO - QACTIVE_START(&aoB[n].super, // AO to start + QActive_start(&aoB[n].super, // AO to start pspecB[n], // QF-prio/p-thre. aoB_queueSto[n], // event queue storage Q_DIM(aoB_queueSto[n]), // event length [events] diff --git a/test/qxk/test_sched/test_sched.c b/test/qxk/test_sched/test_sched.c index 0156c8ad..06d2ae71 100644 --- a/test/qxk/test_sched/test_sched.c +++ b/test/qxk/test_sched/test_sched.c @@ -188,7 +188,7 @@ int main() { for (n = 0U; n < NUM_B; ++n) { if (pspecB[n] != 0U) { ObjB_ctor(&aoB[n]); // instantiate the AO - QACTIVE_START(&aoB[n].super, // AO to start + QActive_start(&aoB[n].super, // AO to start pspecB[n], // QF-prio/p-thre. aoB_queueSto[n], // event queue storage Q_DIM(aoB_queueSto[n]), // event length [events] @@ -203,7 +203,7 @@ int main() { for (n = 0U; n < NUM_X; ++n) { QXThread_ctor(&thrX[n], &ThrX_run, 0U); // instantiate the thread if (pspecX[n] != 0U) { - QXTHREAD_START(&thrX[n], // thread to start + QXThread_start(&thrX[n], // thread to start pspecX[n], // QF-prio/p-thre. thrX_queueSto[n], // event queue storage Q_DIM(thrX_queueSto[n]), // event length [events] diff --git a/zephyr/qf_port.c b/zephyr/qf_port.c index 8028cf75..92075d9d 100644 --- a/zephyr/qf_port.c +++ b/zephyr/qf_port.c @@ -100,11 +100,11 @@ static void thread_entry(void *p1, void *p2, void *p3) { // // In the Zephyr port the generic function QActive_setAttr() is used to // set the options for the Zephyr thread (attr1) and thread name (attr2). -// QActive_setAttr() needs to be called *before* QACTIVE_START() for the +// QActive_setAttr() needs to be called *before* QActive_start() for the // given active object. // // In this Zephyr port the attributes will be used as follows -// (see also QActive_start_()): +// (see also QActive_start()): // - attr1 - will be used for thread options in k_thread_create() // - attr2 - will be used for thread name in k_thread_name_set() // @@ -113,10 +113,11 @@ void QActive_setAttr(QActive *const me, uint32_t attr1, void const *attr2) { me->thread.init_data = (void *)attr2; // will be used for thread name } //............................................................................ -void QActive_start_(QActive * const me, QPrioSpec const prioSpec, - QEvt const * * const qSto, uint_fast16_t const qLen, - void * const stkSto, uint_fast16_t const stkSize, - void const * const par) +void QActive_start(QActive * const me, + QPrioSpec const prioSpec, + QEvt const * * const qSto, uint_fast16_t const qLen, + void * const stkSto, uint_fast16_t const stkSize, + void const * const par) { me->prio = (uint8_t)(prioSpec & 0xFFU); // QF-priority of the AO me->pthre = 0U; // preemption-threshold (not used for AO registration)