mirror of
https://github.com/QuantumLeaps/qpc.git
synced 2025-01-14 06:43:19 +08:00
7.4.0-rc.3
This commit is contained in:
parent
c284a04584
commit
d3f94c7783
2
examples
2
examples
@ -1 +1 @@
|
||||
Subproject commit c2de401845b27784d4d9f5a9d6185f7b8d99add0
|
||||
Subproject commit 16ea07cc4dbcbde83431a9962cf4ec157b951dcf
|
20
include/qp.h
20
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_) \
|
||||
|
@ -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)
|
||||
|
@ -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_))
|
||||
|
@ -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:
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
193
qpc.qm
193
qpc.qm
@ -355,7 +355,7 @@ return me;</code>
|
||||
// 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;</code>
|
||||
</operation>
|
||||
<!--${QEP::QMsm::isInState}-->
|
||||
<operation name="isInState" type="bool" visibility="0x00" properties="0x00">
|
||||
<specifiers>const</specifiers>
|
||||
<documentation>//! @private @memberof QMsm
|
||||
//! @deprecated instead use: QASM_IS_IN()
|
||||
|
||||
//! @private @memberof QMsm</documentation>
|
||||
<!--${QEP::QMsm::isInState::stateObj}-->
|
||||
<parameter name="stateObj" type="QMState const * const"/>
|
||||
<code>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;</code>
|
||||
</operation>
|
||||
<!--${QEP::QMsm::stateObj}-->
|
||||
<operation name="stateObj" type="QMState const *" visibility="0x00" properties="0x02">
|
||||
<specifiers>const</specifiers>
|
||||
<documentation>//! @public @memberof QMsm
|
||||
|
||||
//! @public @memberof QMsm</documentation>
|
||||
@ -2324,22 +2295,22 @@ me->super.vptr = &vtable; // hook vptr to QActive vtable</code>
|
||||
<!--${QF::QActive::setAttr::attr2}-->
|
||||
<parameter name="attr2" type="void const *"/>
|
||||
</operation>
|
||||
<!--${QF::QActive::start_}-->
|
||||
<operation name="start_" type="void" visibility="0x02" properties="0x00">
|
||||
<documentation>//! @private @memberof QActive
|
||||
<!--${QF::QActive::start}-->
|
||||
<operation name="start" type="void" visibility="0x00" properties="0x00">
|
||||
<documentation>//! @public @memberof QActive
|
||||
|
||||
//! @private @memberof QActive</documentation>
|
||||
<!--${QF::QActive::start_::prioSpec}-->
|
||||
//! @public @memberof QActive</documentation>
|
||||
<!--${QF::QActive::start::prioSpec}-->
|
||||
<parameter name="prioSpec" type="QPrioSpec const"/>
|
||||
<!--${QF::QActive::start_::qSto}-->
|
||||
<!--${QF::QActive::start::qSto}-->
|
||||
<parameter name="qSto" type="QEvt const * * const"/>
|
||||
<!--${QF::QActive::start_::qLen}-->
|
||||
<!--${QF::QActive::start::qLen}-->
|
||||
<parameter name="qLen" type="uint_fast16_t const"/>
|
||||
<!--${QF::QActive::start_::stkSto}-->
|
||||
<!--${QF::QActive::start::stkSto}-->
|
||||
<parameter name="stkSto" type="void * const"/>
|
||||
<!--${QF::QActive::start_::stkSize}-->
|
||||
<!--${QF::QActive::start::stkSize}-->
|
||||
<parameter name="stkSize" type="uint_fast16_t const"/>
|
||||
<!--${QF::QActive::start_::par}-->
|
||||
<!--${QF::QActive::start::par}-->
|
||||
<parameter name="par" type="void const * const"/>
|
||||
</operation>
|
||||
<!--${QF::QActive::stop}-->
|
||||
@ -4684,26 +4655,6 @@ QF_gc(e); // recycle the referenced event
|
||||
(evtRef_) = (void *)0; \
|
||||
} while (false)</code>
|
||||
</operation>
|
||||
<!--${QF-macros::QACTIVE_START}-->
|
||||
<operation name="QACTIVE_START" type="void" visibility="0x03" properties="0x00">
|
||||
<!--${QF-macros::QACTIVE_START::me_}-->
|
||||
<parameter name="me_" type="<QActive subclass *>"/>
|
||||
<!--${QF-macros::QACTIVE_START::prioSpec_}-->
|
||||
<parameter name="prioSpec_" type="QPrioSpec"/>
|
||||
<!--${QF-macros::QACTIVE_START::qSto_}-->
|
||||
<parameter name="qSto_" type="QEvt const * *"/>
|
||||
<!--${QF-macros::QACTIVE_START::qLen_}-->
|
||||
<parameter name="qLen_" type="uint_fast16_t"/>
|
||||
<!--${QF-macros::QACTIVE_START::stkSto_}-->
|
||||
<parameter name="stkSto_" type="void *"/>
|
||||
<!--${QF-macros::QACTIVE_START::stkSize_}-->
|
||||
<parameter name="stkSize_" type="uint_fast16_t"/>
|
||||
<!--${QF-macros::QACTIVE_START::par_}-->
|
||||
<parameter name="par_" type="void const *"/>
|
||||
<code>\
|
||||
(QActive_start_((QActive *)(me_), (prioSpec_), \
|
||||
(qSto_), (qLen_), (stkSto_), (stkSize_), (par_)))</code>
|
||||
</operation>
|
||||
<!--${QF-macros::QACTIVE_POST}-->
|
||||
<operation name="QACTIVE_POST?def Q_SPY" type="void" visibility="0x03" properties="0x00">
|
||||
<!--${QF-macros::QACTIVE_POST::me_}-->
|
||||
@ -5160,22 +5111,22 @@ return 0;
|
||||
<!--${QV::QActive}-->
|
||||
<class name="QActive" superclass="QEP::QAsm">
|
||||
<documentation>//! QActive active object class customization for QV</documentation>
|
||||
<!--${QV::QActive::start_}-->
|
||||
<operation name="start_" type="void" visibility="0x00" properties="0x04">
|
||||
<!--${QV::QActive::start}-->
|
||||
<operation name="start" type="void" visibility="0x00" properties="0x04">
|
||||
<documentation>//! @public @memberof QActive
|
||||
|
||||
//! @public @memberof QActive</documentation>
|
||||
<!--${QV::QActive::start_::prioSpec}-->
|
||||
<!--${QV::QActive::start::prioSpec}-->
|
||||
<parameter name="prioSpec" type="QPrioSpec const"/>
|
||||
<!--${QV::QActive::start_::qSto}-->
|
||||
<!--${QV::QActive::start::qSto}-->
|
||||
<parameter name="qSto" type="QEvt const * * const"/>
|
||||
<!--${QV::QActive::start_::qLen}-->
|
||||
<!--${QV::QActive::start::qLen}-->
|
||||
<parameter name="qLen" type="uint_fast16_t const"/>
|
||||
<!--${QV::QActive::start_::stkSto}-->
|
||||
<!--${QV::QActive::start::stkSto}-->
|
||||
<parameter name="stkSto" type="void * const"/>
|
||||
<!--${QV::QActive::start_::stkSize}-->
|
||||
<!--${QV::QActive::start::stkSize}-->
|
||||
<parameter name="stkSize" type="uint_fast16_t const"/>
|
||||
<!--${QV::QActive::start_::par}-->
|
||||
<!--${QV::QActive::start::par}-->
|
||||
<parameter name="par" type="void const * const"/>
|
||||
<code>Q_UNUSED_PAR(stkSto); // not needed in QV
|
||||
Q_UNUSED_PAR(stkSize); // not needed in QV
|
||||
@ -5683,22 +5634,22 @@ return 0;
|
||||
<!--${QK::QActive}-->
|
||||
<class name="QActive" superclass="QEP::QAsm">
|
||||
<documentation>// QActive class customization for QK</documentation>
|
||||
<!--${QK::QActive::start_}-->
|
||||
<operation name="start_" type="void" visibility="0x00" properties="0x04">
|
||||
<!--${QK::QActive::start}-->
|
||||
<operation name="start" type="void" visibility="0x00" properties="0x04">
|
||||
<documentation>//! @public @memberof QActive
|
||||
|
||||
//! @public @memberof QActive</documentation>
|
||||
<!--${QK::QActive::start_::prioSpec}-->
|
||||
<!--${QK::QActive::start::prioSpec}-->
|
||||
<parameter name="prioSpec" type="QPrioSpec const"/>
|
||||
<!--${QK::QActive::start_::qSto}-->
|
||||
<!--${QK::QActive::start::qSto}-->
|
||||
<parameter name="qSto" type="QEvt const * * const"/>
|
||||
<!--${QK::QActive::start_::qLen}-->
|
||||
<!--${QK::QActive::start::qLen}-->
|
||||
<parameter name="qLen" type="uint_fast16_t const"/>
|
||||
<!--${QK::QActive::start_::stkSto}-->
|
||||
<!--${QK::QActive::start::stkSto}-->
|
||||
<parameter name="stkSto" type="void * const"/>
|
||||
<!--${QK::QActive::start_::stkSize}-->
|
||||
<!--${QK::QActive::start::stkSize}-->
|
||||
<parameter name="stkSize" type="uint_fast16_t const"/>
|
||||
<!--${QK::QActive::start_::par}-->
|
||||
<!--${QK::QActive::start::par}-->
|
||||
<parameter name="par" type="void const * const"/>
|
||||
<code>Q_UNUSED_PAR(stkSto); // not needed in QK
|
||||
Q_UNUSED_PAR(stkSize); // not needed in QK
|
||||
@ -6278,22 +6229,22 @@ return 0;
|
||||
<!--${QXK::QActive}-->
|
||||
<class name="QActive" superclass="QEP::QAsm">
|
||||
<documentation>// QActive active object class customization for QK</documentation>
|
||||
<!--${QXK::QActive::start_}-->
|
||||
<operation name="start_" type="void" visibility="0x00" properties="0x04">
|
||||
<!--${QXK::QActive::start}-->
|
||||
<operation name="start" type="void" visibility="0x00" properties="0x04">
|
||||
<documentation>//! @public @memberof QActive
|
||||
|
||||
//! @public @memberof QActive</documentation>
|
||||
<!--${QXK::QActive::start_::prioSpec}-->
|
||||
<!--${QXK::QActive::start::prioSpec}-->
|
||||
<parameter name="prioSpec" type="QPrioSpec const"/>
|
||||
<!--${QXK::QActive::start_::qSto}-->
|
||||
<!--${QXK::QActive::start::qSto}-->
|
||||
<parameter name="qSto" type="QEvt const * * const"/>
|
||||
<!--${QXK::QActive::start_::qLen}-->
|
||||
<!--${QXK::QActive::start::qLen}-->
|
||||
<parameter name="qLen" type="uint_fast16_t const"/>
|
||||
<!--${QXK::QActive::start_::stkSto}-->
|
||||
<!--${QXK::QActive::start::stkSto}-->
|
||||
<parameter name="stkSto" type="void * const"/>
|
||||
<!--${QXK::QActive::start_::stkSize}-->
|
||||
<!--${QXK::QActive::start::stkSize}-->
|
||||
<parameter name="stkSize" type="uint_fast16_t const"/>
|
||||
<!--${QXK::QActive::start_::par}-->
|
||||
<!--${QXK::QActive::start::par}-->
|
||||
<parameter name="par" type="void const * const"/>
|
||||
<code>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);</code>
|
||||
</operation>
|
||||
<!--${QXK::QXThread::start}-->
|
||||
<operation name="start" type="void" visibility="0x00" properties="0x02">
|
||||
<documentation>//! @public @memberof QXThread
|
||||
|
||||
//! @public @memberof QXThread</documentation>
|
||||
<!--${QXK::QXThread::start::prioSpec}-->
|
||||
<parameter name="prioSpec" type="QPrioSpec const"/>
|
||||
<!--${QXK::QXThread::start::qSto}-->
|
||||
<parameter name="qSto" type="QEvt const * * const"/>
|
||||
<!--${QXK::QXThread::start::qLen}-->
|
||||
<parameter name="qLen" type="uint_fast16_t const"/>
|
||||
<!--${QXK::QXThread::start::stkSto}-->
|
||||
<parameter name="stkSto" type="void * const"/>
|
||||
<!--${QXK::QXThread::start::stkSize}-->
|
||||
<parameter name="stkSize" type="uint_fast16_t const"/>
|
||||
<!--${QXK::QXThread::start::par}-->
|
||||
<parameter name="par" type="void const * const"/>
|
||||
<code>QActive_start(&me->super, prioSpec, qSto, qLen, stkSto, stkSize, par);</code>
|
||||
</operation>
|
||||
<!--${QXK::QXThread::delay}-->
|
||||
<operation name="delay" type="bool" visibility="0x00" properties="0x01">
|
||||
<documentation>//! @public @memberof QXThread
|
||||
@ -7364,25 +7334,6 @@ QF_CRIT_EXIT();</code>
|
||||
</package>
|
||||
<!--${QXK-macros}-->
|
||||
<package name="QXK-macros" stereotype="0x02">
|
||||
<!--${QXK-macros::QXTHREAD_START}-->
|
||||
<operation name="QXTHREAD_START" type="void" visibility="0x03" properties="0x00">
|
||||
<!--${QXK-macros::QXTHREAD_START::me_}-->
|
||||
<parameter name="me_" type="<QActive subclass *>"/>
|
||||
<!--${QXK-macros::QXTHREAD_START::prioSpec_}-->
|
||||
<parameter name="prioSpec_" type="QPrioSpec const"/>
|
||||
<!--${QXK-macros::QXTHREAD_START::qSto_}-->
|
||||
<parameter name="qSto_" type="QEvt const * *"/>
|
||||
<!--${QXK-macros::QXTHREAD_START::qLen_}-->
|
||||
<parameter name="qLen_" type="uint_fast16_t"/>
|
||||
<!--${QXK-macros::QXTHREAD_START::stkSto_}-->
|
||||
<parameter name="stkSto_" type="void *"/>
|
||||
<!--${QXK-macros::QXTHREAD_START::stkSize_}-->
|
||||
<parameter name="stkSize_" type="uint_fast16_t"/>
|
||||
<!--${QXK-macros::QXTHREAD_START::par_}-->
|
||||
<parameter name="par_" type="void const *"/>
|
||||
<code>QACTIVE_START((me_), (prioSpec_), (qSto_), (qLen_), \
|
||||
(stkSto_), (stkSize_), (par_))</code>
|
||||
</operation>
|
||||
<!--${QXK-macros::QXTHREAD_POST_X}-->
|
||||
<operation name="QXTHREAD_POST_X" type="void" visibility="0x03" properties="0x00">
|
||||
<!--${QXK-macros::QXTHREAD_POST_X::me_}-->
|
||||
@ -8196,22 +8147,22 @@ return 0; // return no error</code>
|
||||
<!--${QS::QUTest-stub::QActive}-->
|
||||
<class name="QActive" superclass="QEP::QAsm">
|
||||
<documentation>// QActive stub for QUTest</documentation>
|
||||
<!--${QS::QUTest-stub::QActive::start_}-->
|
||||
<operation name="start_" type="void" visibility="0x02" properties="0x00">
|
||||
<!--${QS::QUTest-stub::QActive::start}-->
|
||||
<operation name="start" type="void" visibility="0x02" properties="0x00">
|
||||
<documentation>//! @private @memberof QActive
|
||||
|
||||
//! @private @memberof QActive</documentation>
|
||||
<!--${QS::QUTest-stub::QActive::start_::prioSpec}-->
|
||||
<!--${QS::QUTest-stub::QActive::start::prioSpec}-->
|
||||
<parameter name="prioSpec" type="QPrioSpec const"/>
|
||||
<!--${QS::QUTest-stub::QActive::start_::qSto}-->
|
||||
<!--${QS::QUTest-stub::QActive::start::qSto}-->
|
||||
<parameter name="qSto" type="QEvt const * * const"/>
|
||||
<!--${QS::QUTest-stub::QActive::start_::qLen}-->
|
||||
<!--${QS::QUTest-stub::QActive::start::qLen}-->
|
||||
<parameter name="qLen" type="uint_fast16_t const"/>
|
||||
<!--${QS::QUTest-stub::QActive::start_::stkSto}-->
|
||||
<!--${QS::QUTest-stub::QActive::start::stkSto}-->
|
||||
<parameter name="stkSto" type="void * const"/>
|
||||
<!--${QS::QUTest-stub::QActive::start_::stkSize}-->
|
||||
<!--${QS::QUTest-stub::QActive::start::stkSize}-->
|
||||
<parameter name="stkSize" type="uint_fast16_t const"/>
|
||||
<!--${QS::QUTest-stub::QActive::start_::par}-->
|
||||
<!--${QS::QUTest-stub::QActive::start::par}-->
|
||||
<parameter name="par" type="void const * const"/>
|
||||
<code>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)
|
||||
|
36
qpc.sha1
36
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
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user