7.4.0-rc.1

This commit is contained in:
MMS 2024-06-07 16:06:49 -04:00
parent 074c0dc3ae
commit 4009bc764f
56 changed files with 519 additions and 584 deletions

1
.gitignore vendored
View File

@ -37,6 +37,7 @@
version-* version-*
JLink*.* JLink*.*
cert/
html/ html/
latex/ latex/
doxygen/gen/ doxygen/gen/

@ -1 +1 @@
Subproject commit 5e7c7e64d3a6b1c3fde11cb03252bfb37bbf1149 Subproject commit b11c80ef242ca83d3f988b846ea28aedaa0ad2ce

View File

@ -44,9 +44,9 @@
#define QP_H_ #define QP_H_
//============================================================================ //============================================================================
#define QP_VERSION_STR "7.3.5-rc.1" #define QP_VERSION_STR "7.4.0-rc.1"
#define QP_VERSION 735U #define QP_VERSION 740U
#define QP_RELEASE 0x70A1DEF0U #define QP_RELEASE 0x7092C3BBU
//============================================================================ //============================================================================
//! @cond INTERNAL //! @cond INTERNAL
@ -162,14 +162,19 @@ extern QEvt const QEvt_reserved_[4];
// public: // public:
//! @public @memberof QEvt //! @public @memberof QEvt
static inline QEvt * QEvt_ctor(QEvt * const me, static inline void QEvt_ctor(QEvt * const me,
enum_t const sig) enum_t const sig)
{ {
if (sig != QEVT_DYNAMIC) {
me->sig = (QSignal)sig; me->sig = (QSignal)sig;
me->refCtr_ = 0U; me->refCtr_ = 0U;
me->evtTag_ = QEVT_MARKER; me->evtTag_ = QEVT_MARKER;
} }
//! @public @memberof QEvt
static inline QEvt * QEvt_init(QEvt * const me,
uint8_t dummy)
{
(void)dummy;
return me; return me;
} }
@ -1155,31 +1160,31 @@ void QF_gcFromISR(QEvt const * const e);
#define Q_PRIO(prio_, pthre_) ((QPrioSpec)((prio_) | ((pthre_) << 8U))) #define Q_PRIO(prio_, pthre_) ((QPrioSpec)((prio_) | ((pthre_) << 8U)))
//${QF-macros::Q_NEW} ........................................................ //${QF-macros::Q_NEW} ........................................................
#ifndef QEVT_DYN_CTOR #ifndef QEVT_PAR_INIT
#define Q_NEW(evtT_, sig_) ((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \ #define Q_NEW(evtT_, sig_) ((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \
QF_NO_MARGIN, (enum_t)(sig_))) QF_NO_MARGIN, (enum_t)(sig_)))
#endif // ndef QEVT_DYN_CTOR #endif // ndef QEVT_PAR_INIT
//${QF-macros::Q_NEW} ........................................................ //${QF-macros::Q_NEW} ........................................................
#ifdef QEVT_DYN_CTOR #ifdef QEVT_PAR_INIT
#define Q_NEW(evtT_, sig_, ...) \ #define Q_NEW(evtT_, sig_, ...) \
(evtT_##_ctor((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \ (evtT_##_init((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \
QF_NO_MARGIN, (sig_)), __VA_ARGS__)) QF_NO_MARGIN, (sig_)), __VA_ARGS__))
#endif // def QEVT_DYN_CTOR #endif // def QEVT_PAR_INIT
//${QF-macros::Q_NEW_X} ...................................................... //${QF-macros::Q_NEW_X} ......................................................
#ifndef QEVT_DYN_CTOR #ifndef QEVT_PAR_INIT
#define Q_NEW_X(evtT_, margin_, sig_) \ #define Q_NEW_X(evtT_, margin_, sig_) \
((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \ ((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \
(margin_), (enum_t)(sig_))) (margin_), (enum_t)(sig_)))
#endif // ndef QEVT_DYN_CTOR #endif // ndef QEVT_PAR_INIT
//${QF-macros::Q_NEW_X} ...................................................... //${QF-macros::Q_NEW_X} ......................................................
#ifdef QEVT_DYN_CTOR #ifdef QEVT_PAR_INIT
#define Q_NEW_X(evtT_, margin_, sig_, ...) \ #define Q_NEW_X(evtT_, margin_, sig_, ...) \
(evtT_##_ctor((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \ (evtT_##_init((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \
(margin_), (sig_)), __VA_ARGS__)) (margin_), (sig_)), __VA_ARGS__))
#endif // def QEVT_DYN_CTOR #endif // def QEVT_PAR_INIT
//${QF-macros::Q_NEW_REF} .................................................... //${QF-macros::Q_NEW_REF} ....................................................
#define Q_NEW_REF(evtRef_, evtT_) \ #define Q_NEW_REF(evtRef_, evtT_) \

View File

@ -62,7 +62,12 @@
//============================================================================ //============================================================================
// QP API compatibility layer... // QP API compatibility layer...
#if (QP_API_VERSION < 730) #if (QP_API_VERSION < 740)
#ifdef QEVT_DYN_CTOR
//! @deprecated #QEVT_DYN_CTOR, please use #QEVT_PAR_INIT
#define QEVT_PAR_INIT
#endif
//! @deprecated plain 'char' is no longer forbidden in MISRA-C:2023 //! @deprecated plain 'char' is no longer forbidden in MISRA-C:2023
typedef char char_t; typedef char char_t;

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,7 +1,7 @@
//============================================================================ //============================================================================
// QP configuration file (QK on ARM Cortex-M) // QP configuration file (QK on ARM Cortex-M)
// Last updated for version: 7.3.0 // Last updated for version: 7.4.0
// Last updated on: 2023-10-30 // Last updated on: 2024-06-06
// //
// Q u a n t u m L e a P s // Q u a n t u m L e a P s
// ------------------------ // ------------------------
@ -129,9 +129,9 @@
// <i>Default: 1 // <i>Default: 1
#define QF_MAX_TICK_RATE 1U #define QF_MAX_TICK_RATE 1U
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR) // <c1>Event parameter initialization (QEVT_PAR_INIT)
// <i>Dynamic Event Constructor (RAII) // <i>Resource Acquisition Is Initialization (RAII) for dynamic events
//#define QEVT_DYN_CTOR //#define QEVT_PAR_INIT
// </c> // </c>
// <c1>Active Object stop API (QACTIVE_CAN_STOP) // <c1>Active Object stop API (QACTIVE_CAN_STOP)
@ -184,10 +184,10 @@
//.......................................................................... //..........................................................................
// <h>QS Software Tracing // <h>QS Software Tracing
// <i>Target-resident component of QP/Spy software tracing system // <i>Target-resident component of QP/Spy software tracing system
// <i>(tracing instrumenation and command-input). // <i>(tracing instrumentation and command-input).
// <n>NOTE: Requires command-line macro: Q_SPY // <n>NOTE: Requires command-line macro: Q_SPY
// <i>The QS software tracing instrumenation is activated only when // <i>The QS software tracing instrumentation is activated only when
// <i>the macro Q_SPY is defined on the command-line to the compiler. // <i>the macro Q_SPY is defined on the command-line to the compiler.
// <i>Typically, Q_SPY is defined only in the "spy" build configuration. // <i>Typically, Q_SPY is defined only in the "spy" build configuration.
@ -199,22 +199,6 @@
// <i>Default: 4 (2^32 dynamic range) // <i>Default: 4 (2^32 dynamic range)
#define QS_TIME_SIZE 4U #define QS_TIME_SIZE 4U
// <o>Object pointer size (QS_OBJ_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of object pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_OBJ_PTR_SIZE 4U
// <o>Function pointer size (QS_FUN_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of function pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_FUN_PTR_SIZE 4U
// <o>QS buffer counter size (QS_CTR_SIZE) // <o>QS buffer counter size (QS_CTR_SIZE)
// <1U=>1 // <1U=>1
// <2U=>2 (default) // <2U=>2 (default)

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -53,4 +55,3 @@
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,7 +1,7 @@
//============================================================================ //============================================================================
// QP configuration file (QV on ARM Cortex-M) // QP configuration file (QV on ARM Cortex-M)
// Last updated for version: 7.3.0 // Last updated for version: 7.4.0
// Last updated on: 2023-10-30 // Last updated on: 2024-06-06
// //
// Q u a n t u m L e a P s // Q u a n t u m L e a P s
// ------------------------ // ------------------------
@ -129,9 +129,9 @@
// <i>Default: 1 // <i>Default: 1
#define QF_MAX_TICK_RATE 1U #define QF_MAX_TICK_RATE 1U
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR) // <c1>Event parameter initialization (QEVT_PAR_INIT)
// <i>Dynamic Event Constructor (RAII) // <i>Resource Acquisition Is Initialization (RAII) for dynamic events
//#define QEVT_DYN_CTOR //#define QEVT_PAR_INIT
// </c> // </c>
// <c1>Active Object stop API (QACTIVE_CAN_STOP) // <c1>Active Object stop API (QACTIVE_CAN_STOP)
@ -184,10 +184,10 @@
//.......................................................................... //..........................................................................
// <h>QS Software Tracing // <h>QS Software Tracing
// <i>Target-resident component of QP/Spy software tracing system // <i>Target-resident component of QP/Spy software tracing system
// <i>(tracing instrumenation and command-input). // <i>(tracing instrumentation and command-input).
// <n>NOTE: Requires command-line macro: Q_SPY // <n>NOTE: Requires command-line macro: Q_SPY
// <i>The QS software tracing instrumenation is activated only when // <i>The QS software tracing instrumentation is activated only when
// <i>the macro Q_SPY is defined on the command-line to the compiler. // <i>the macro Q_SPY is defined on the command-line to the compiler.
// <i>Typically, Q_SPY is defined only in the "spy" build configuration. // <i>Typically, Q_SPY is defined only in the "spy" build configuration.
@ -199,22 +199,6 @@
// <i>Default: 4 (2^32 dynamic range) // <i>Default: 4 (2^32 dynamic range)
#define QS_TIME_SIZE 4U #define QS_TIME_SIZE 4U
// <o>Object pointer size (QS_OBJ_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of object pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_OBJ_PTR_SIZE 4U
// <o>Function pointer size (QS_FUN_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of function pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_FUN_PTR_SIZE 4U
// <o>QS buffer counter size (QS_CTR_SIZE) // <o>QS buffer counter size (QS_CTR_SIZE)
// <1U=>1 // <1U=>1
// <2U=>2 (default) // <2U=>2 (default)

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -28,7 +28,7 @@
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2024-05-28 //! @date Last updated on: 2024-05-28
//! @version Last updated for: @ref qpc_7_3_5 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QXK/C port to ARM Cortex-M, ARM-CLANG //! @brief QXK/C port to ARM Cortex-M, ARM-CLANG

View File

@ -1,7 +1,7 @@
//============================================================================ //============================================================================
// QP configuration file (QXK on ARM Cortex-M) // QP configuration file (QXK on ARM Cortex-M)
// Last updated for version: 7.3.0 // Last updated for version: 7.4.0
// Last updated on: 2023-10-30 // Last updated on: 2024-06-06
// //
// Q u a n t u m L e a P s // Q u a n t u m L e a P s
// ------------------------ // ------------------------
@ -129,9 +129,9 @@
// <i>Default: 1 // <i>Default: 1
#define QF_MAX_TICK_RATE 1U #define QF_MAX_TICK_RATE 1U
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR) // <c1>Event parameter initialization (QEVT_PAR_INIT)
// <i>Dynamic Event Constructor (RAII) // <i>Resource Acquisition Is Initialization (RAII) for dynamic events
//#define QEVT_DYN_CTOR //#define QEVT_PAR_INIT
// </c> // </c>
// <c1>Active Object stop API (QACTIVE_CAN_STOP) // <c1>Active Object stop API (QACTIVE_CAN_STOP)
@ -184,10 +184,10 @@
//.......................................................................... //..........................................................................
// <h>QS Software Tracing // <h>QS Software Tracing
// <i>Target-resident component of QP/Spy software tracing system // <i>Target-resident component of QP/Spy software tracing system
// <i>(tracing instrumenation and command-input). // <i>(tracing instrumentation and command-input).
// <n>NOTE: Requires command-line macro: Q_SPY // <n>NOTE: Requires command-line macro: Q_SPY
// <i>The QS software tracing instrumenation is activated only when // <i>The QS software tracing instrumentation is activated only when
// <i>the macro Q_SPY is defined on the command-line to the compiler. // <i>the macro Q_SPY is defined on the command-line to the compiler.
// <i>Typically, Q_SPY is defined only in the "spy" build configuration. // <i>Typically, Q_SPY is defined only in the "spy" build configuration.
@ -199,22 +199,6 @@
// <i>Default: 4 (2^32 dynamic range) // <i>Default: 4 (2^32 dynamic range)
#define QS_TIME_SIZE 4U #define QS_TIME_SIZE 4U
// <o>Object pointer size (QS_OBJ_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of object pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_OBJ_PTR_SIZE 4U
// <o>Function pointer size (QS_FUN_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of function pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_FUN_PTR_SIZE 4U
// <o>QS buffer counter size (QS_CTR_SIZE) // <o>QS buffer counter size (QS_CTR_SIZE)
// <1U=>1 // <1U=>1
// <2U=>2 (default) // <2U=>2 (default)

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -58,4 +55,3 @@
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -28,7 +28,7 @@
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2024-05-28 //! @date Last updated on: 2024-05-28
//! @version Last updated for: @ref qpc_7_3_5 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QXK/C port to ARM Cortex-M, GNU-ARM //! @brief QXK/C port to ARM Cortex-M, GNU-ARM

View File

@ -27,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -52,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -28,7 +28,7 @@
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2024-05-28 //! @date Last updated on: 2024-05-28
//! @version Last updated for: @ref qpc_7_3_5 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QXK/C port to ARM Cortex-M, IAR-ARM //! @brief QXK/C port to ARM Cortex-M, IAR-ARM

View File

@ -1,7 +1,7 @@
//============================================================================ //============================================================================
// QP configuration file (QK on ARM Cortex-R) // QP configuration file (QK on ARM Cortex-R)
// Last updated for version: 7.3.0 // Last updated for version: 7.4.0
// Last updated on: 2023-10-30 // Last updated on: 2024-06-06
// //
// Q u a n t u m L e a P s // Q u a n t u m L e a P s
// ------------------------ // ------------------------
@ -129,9 +129,9 @@
// <i>Default: 1 // <i>Default: 1
#define QF_MAX_TICK_RATE 1U #define QF_MAX_TICK_RATE 1U
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR) // <c1>Event parameter initialization (QEVT_PAR_INIT)
// <i>Dynamic Event Constructor (RAII) // <i>Resource Acquisition Is Initialization (RAII) for dynamic events
//#define QEVT_DYN_CTOR //#define QEVT_PAR_INIT
// </c> // </c>
// <c1>Active Object stop API (QACTIVE_CAN_STOP) // <c1>Active Object stop API (QACTIVE_CAN_STOP)
@ -184,10 +184,10 @@
//.......................................................................... //..........................................................................
// <h>QS Software Tracing // <h>QS Software Tracing
// <i>Target-resident component of QP/Spy software tracing system // <i>Target-resident component of QP/Spy software tracing system
// <i>(tracing instrumenation and command-input). // <i>(tracing instrumentation and command-input).
// <n>NOTE: Requires command-line macro: Q_SPY // <n>NOTE: Requires command-line macro: Q_SPY
// <i>The QS software tracing instrumenation is activated only when // <i>The QS software tracing instrumentation is activated only when
// <i>the macro Q_SPY is defined on the command-line to the compiler. // <i>the macro Q_SPY is defined on the command-line to the compiler.
// <i>Typically, Q_SPY is defined only in the "spy" build configuration. // <i>Typically, Q_SPY is defined only in the "spy" build configuration.
@ -199,22 +199,6 @@
// <i>Default: 4 (2^32 dynamic range) // <i>Default: 4 (2^32 dynamic range)
#define QS_TIME_SIZE 4U #define QS_TIME_SIZE 4U
// <o>Object pointer size (QS_OBJ_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of object pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_OBJ_PTR_SIZE 4U
// <o>Function pointer size (QS_FUN_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of function pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_FUN_PTR_SIZE 4U
// <o>QS buffer counter size (QS_CTR_SIZE) // <o>QS buffer counter size (QS_CTR_SIZE)
// <1U=>1 // <1U=>1
// <2U=>2 (default) // <2U=>2 (default)
@ -226,8 +210,8 @@
// </h> // </h>
//.......................................................................... //..........................................................................
// <h>QK Preemptive Non-Blocking Kernel // <h>QK Preemptive Kernel
// <i>Preemptive non-blocking RTOS kernel. // <i>Cooperative Run-to-Completion RTOS kernel.
// <h>Context switch callback (QF_ON_CONTEXT_SW) // <h>Context switch callback (QF_ON_CONTEXT_SW)
@ -249,7 +233,6 @@
// </h> // </h>
// </h>
//------------- <<< end of configuration section >>> ----------------------- //------------- <<< end of configuration section >>> -----------------------

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,7 +1,7 @@
//============================================================================ //============================================================================
// QP configuration file (QV on ARM Cortex-R) // QP configuration file (QV on ARM Cortex-R)
// Last updated for version: 7.3.0 // Last updated for version: 7.4.0
// Last updated on: 2023-10-30 // Last updated on: 2024-06-06
// //
// Q u a n t u m L e a P s // Q u a n t u m L e a P s
// ------------------------ // ------------------------
@ -129,9 +129,9 @@
// <i>Default: 1 // <i>Default: 1
#define QF_MAX_TICK_RATE 1U #define QF_MAX_TICK_RATE 1U
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR) // <c1>Event parameter initialization (QEVT_PAR_INIT)
// <i>Dynamic Event Constructor (RAII) // <i>Resource Acquisition Is Initialization (RAII) for dynamic events
//#define QEVT_DYN_CTOR //#define QEVT_PAR_INIT
// </c> // </c>
// <c1>Active Object stop API (QACTIVE_CAN_STOP) // <c1>Active Object stop API (QACTIVE_CAN_STOP)
@ -184,10 +184,10 @@
//.......................................................................... //..........................................................................
// <h>QS Software Tracing // <h>QS Software Tracing
// <i>Target-resident component of QP/Spy software tracing system // <i>Target-resident component of QP/Spy software tracing system
// <i>(tracing instrumenation and command-input). // <i>(tracing instrumentation and command-input).
// <n>NOTE: Requires command-line macro: Q_SPY // <n>NOTE: Requires command-line macro: Q_SPY
// <i>The QS software tracing instrumenation is activated only when // <i>The QS software tracing instrumentation is activated only when
// <i>the macro Q_SPY is defined on the command-line to the compiler. // <i>the macro Q_SPY is defined on the command-line to the compiler.
// <i>Typically, Q_SPY is defined only in the "spy" build configuration. // <i>Typically, Q_SPY is defined only in the "spy" build configuration.
@ -199,22 +199,6 @@
// <i>Default: 4 (2^32 dynamic range) // <i>Default: 4 (2^32 dynamic range)
#define QS_TIME_SIZE 4U #define QS_TIME_SIZE 4U
// <o>Object pointer size (QS_OBJ_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of object pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_OBJ_PTR_SIZE 4U
// <o>Function pointer size (QS_FUN_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of function pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_FUN_PTR_SIZE 4U
// <o>QS buffer counter size (QS_CTR_SIZE) // <o>QS buffer counter size (QS_CTR_SIZE)
// <1U=>1 // <1U=>1
// <2U=>2 (default) // <2U=>2 (default)
@ -249,8 +233,6 @@
// </h> // </h>
// </h>
//------------- <<< end of configuration section >>> ----------------------- //------------- <<< end of configuration section >>> -----------------------
#endif // QP_CONFIG_H_ #endif // QP_CONFIG_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,7 +1,7 @@
//============================================================================ //============================================================================
// QP configuration file (generic) // QP configuration file (generic)
// Last updated for version: 7.3.0 // Last updated for version: 7.4.0
// Last updated on: 2023-10-30 // Last updated on: 2024-06-06
// //
// Q u a n t u m L e a P s // Q u a n t u m L e a P s
// ------------------------ // ------------------------
@ -129,9 +129,9 @@
// <i>Default: 1 // <i>Default: 1
#define QF_MAX_TICK_RATE 1U #define QF_MAX_TICK_RATE 1U
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR) // <c1>Event parameter initialization (QEVT_PAR_INIT)
// <i>Dynamic Event Constructor (RAII) // <i>Resource Acquisition Is Initialization (RAII) for dynamic events
//#define QEVT_DYN_CTOR //#define QEVT_PAR_INIT
// </c> // </c>
// <c1>Active Object stop API (QACTIVE_CAN_STOP) // <c1>Active Object stop API (QACTIVE_CAN_STOP)
@ -184,10 +184,10 @@
//.......................................................................... //..........................................................................
// <h>QS Software Tracing // <h>QS Software Tracing
// <i>Target-resident component of QP/Spy software tracing system // <i>Target-resident component of QP/Spy software tracing system
// <i>(tracing instrumenation and command-input). // <i>(tracing instrumentation and command-input).
// <n>NOTE: Requires command-line macro: Q_SPY // <n>NOTE: Requires command-line macro: Q_SPY
// <i>The QS software tracing instrumenation is activated only when // <i>The QS software tracing instrumentation is activated only when
// <i>the macro Q_SPY is defined on the command-line to the compiler. // <i>the macro Q_SPY is defined on the command-line to the compiler.
// <i>Typically, Q_SPY is defined only in the "spy" build configuration. // <i>Typically, Q_SPY is defined only in the "spy" build configuration.
@ -199,22 +199,6 @@
// <i>Default: 4 (2^32 dynamic range) // <i>Default: 4 (2^32 dynamic range)
#define QS_TIME_SIZE 4U #define QS_TIME_SIZE 4U
// <o>Object pointer size (QS_OBJ_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of object pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_OBJ_PTR_SIZE 4U
// <o>Function pointer size (QS_FUN_PTR_SIZE)
// <2U=>2
// <4U=>4 (default)
// <8U=>8
// <i>Size of function pointer for QS [bytes]
// <i>Default: 4 (4G address space)
#define QS_FUN_PTR_SIZE 4U
// <o>QS buffer counter size (QS_CTR_SIZE) // <o>QS buffer counter size (QS_CTR_SIZE)
// <1U=>1 // <1U=>1
// <2U=>2 (default) // <2U=>2 (default)

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU, generic C11 compiler //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -53,4 +55,3 @@
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 16-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 16-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
//!
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 2U #define QS_OBJ_PTR_SIZE 2U

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
//!
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 16-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 16-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
//!
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 2U #define QS_OBJ_PTR_SIZE 2U

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
//!
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 16-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 16-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 2U #define QS_OBJ_PTR_SIZE 2U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 16-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 16-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 2U #define QS_OBJ_PTR_SIZE 2U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 16-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 16-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 2U #define QS_OBJ_PTR_SIZE 2U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,18 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-19 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to POSIX with GNU //! @brief QS/C port to POSIX with GNU
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U
#define QS_TIME_SIZE 4U
#if defined(__LP64__) || defined(_LP64) // 64-bit architecture? #if defined(__LP64__) || defined(_LP64) // 64-bit architecture?
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
@ -58,4 +60,3 @@ void QS_rx_input(void); // handle the QS-RX input
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-19 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to POSIX with GNU //! @brief QS/C port to POSIX with GNU
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U
#define QS_TIME_SIZE 4U
#if defined(__LP64__) || defined(_LP64) // 64-bit architecture? #if defined(__LP64__) || defined(_LP64) // 64-bit architecture?
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
@ -58,4 +60,3 @@ void QS_rx_input(void); // handle the QS-RX input
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-19 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to POSIX with GNU //! @brief QS/C port to POSIX with GNU
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U
#define QS_TIME_SIZE 4U
#if defined(__LP64__) || defined(_LP64) // 64-bit architecture? #if defined(__LP64__) || defined(_LP64) // 64-bit architecture?
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
@ -58,4 +60,3 @@ void QS_rx_input(void); // handle the QS-RX input
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port for the "Qube" execution harness (Windows, Linux, macOS) //! @brief QS/C port for the "Qube" execution harness (Windows, Linux, macOS)
@ -31,11 +36,7 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U #if defined(__LP64__) || defined(_LP64) || defined(_WIN64) // 64-bit?
#define QS_TIME_SIZE 4U
// 64-bit architecture?
#if defined(__LP64__) || defined(_LP64) || defined(_WIN64)
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
#else // 32-bit architecture #else // 32-bit architecture
@ -52,7 +53,6 @@
// and QF_CRIT_EXIT() are needed. In this port QS is configured to be used // and QF_CRIT_EXIT() are needed. In this port QS is configured to be used
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
//
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QP #include "qp_port.h" // use QS with QP
#endif #endif

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-05-23 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -49,7 +48,6 @@
// and QF_CRIT_EXIT() are needed. In this port QS is configured to be used // and QF_CRIT_EXIT() are needed. In this port QS is configured to be used
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
//
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QP #include "qp_port.h" // use QS with QP
#endif #endif
@ -57,4 +55,3 @@
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -49,7 +48,6 @@
// and QF_CRIT_EXIT() are needed. In this port QS is configured to be used // and QF_CRIT_EXIT() are needed. In this port QS is configured to be used
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
//
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QP #include "qp_port.h" // use QS with QP
#endif #endif
@ -57,4 +55,3 @@
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,21 +27,15 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C11 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
//! @description
//! This is an example of a QP/C port with the documentation for the
//! configuration macros and includes.
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -49,7 +48,6 @@
// and QF_CRIT_EXIT() are needed. In this port QS is configured to be used // and QF_CRIT_EXIT() are needed. In this port QS is configured to be used
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
//
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QP #include "qp_port.h" // use QS with QP
#endif #endif
@ -57,4 +55,3 @@
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to Win32 with GNU or Visual C++ compilers //! @brief QS/C port to Win32 with GNU or Visual C++ compilers
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U
#define QS_TIME_SIZE 4U
#ifdef _WIN64 // 64-bit architecture? #ifdef _WIN64 // 64-bit architecture?
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
@ -58,4 +60,3 @@ void QS_rx_input(void); // handle the QS-RX input
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to Win32 with GNU or Visual C++ compilers //! @brief QS/C port to Win32 with GNU or Visual C++ compilers
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U
#define QS_TIME_SIZE 4U
#ifdef _WIN64 // 64-bit architecture? #ifdef _WIN64 // 64-bit architecture?
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
@ -58,4 +60,3 @@ void QS_rx_input(void); // handle the QS-RX input
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to Win32 with GNU or Visual C++ compilers //! @brief QS/C port to Win32 with GNU or Visual C++ compilers
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
#define QS_CTR_SIZE 4U
#define QS_TIME_SIZE 4U
#ifdef _WIN64 // 64-bit architecture? #ifdef _WIN64 // 64-bit architecture?
#define QS_OBJ_PTR_SIZE 8U #define QS_OBJ_PTR_SIZE 8U
#define QS_FUN_PTR_SIZE 8U #define QS_FUN_PTR_SIZE 8U
@ -58,4 +60,3 @@ void QS_rx_input(void); // handle the QS-RX input
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_

92
qpc.md5
View File

@ -1,10 +1,10 @@
4d275cf16910927c20f700d54e13435e *qpc.qm ce2c6802e00361bbddbdf95a19746c97 *qpc.qm
f71fdc0261b7d7e1693f7cf92b269fc0 *include/qequeue.h f71fdc0261b7d7e1693f7cf92b269fc0 *include/qequeue.h
57b1efebccde23a26f9d11e822ec379f *include/qk.h 57b1efebccde23a26f9d11e822ec379f *include/qk.h
807f80a7a39be52083010803f76b4f05 *include/qmpool.h 807f80a7a39be52083010803f76b4f05 *include/qmpool.h
e8f2c2b5f22fedb0e344ea8aa3f71055 *include/qp.h 452994196124e44d9db81c366f5c9057 *include/qp.h
e7b6c999b10d91f5c1adf1fde500e452 *include/qp_pkg.h e7b6c999b10d91f5c1adf1fde500e452 *include/qp_pkg.h
2ae619716b9a6c948ba2b3431d00c03b *include/qpc.h 01e5748669bf110cd91d0bbe8eb5b206 *include/qpc.h
2f2ed281e63d5803738ab0c92a77171f *include/qs.h 2f2ed281e63d5803738ab0c92a77171f *include/qs.h
66f8bd1303a72346f52fbcccfd363586 *include/qs_dummy.h 66f8bd1303a72346f52fbcccfd363586 *include/qs_dummy.h
fad2d5ccd173e6374f4bce243709eef7 *include/qs_pkg.h fad2d5ccd173e6374f4bce243709eef7 *include/qs_pkg.h
@ -19,10 +19,10 @@ b4ade402584ddb981fe5967e1a4418c7 *src/qf/qep_hsm.c
091c7f1f25217df387119df63ee51dd1 *src/qf/qf_actq.c 091c7f1f25217df387119df63ee51dd1 *src/qf/qf_actq.c
858f4abf264ab69734b4df56b0bfa739 *src/qf/qf_defer.c 858f4abf264ab69734b4df56b0bfa739 *src/qf/qf_defer.c
29309e868460c232ef237a666b6d02b4 *src/qf/qf_dyn.c 29309e868460c232ef237a666b6d02b4 *src/qf/qf_dyn.c
83aff99fd71e3383f700d3dd5b712c4e *src/qf/qf_mem.c 276a142fc226625a51fe678ded9ca642 *src/qf/qf_mem.c
e090893c0f33678c6bf267c637c6cb48 *src/qf/qf_ps.c e090893c0f33678c6bf267c637c6cb48 *src/qf/qf_ps.c
5a1d0999864f48a688d34e9273868e8b *src/qf/qf_qact.c 5a1d0999864f48a688d34e9273868e8b *src/qf/qf_qact.c
a34020507dc261f49eaaaf2062dcb81d *src/qf/qf_qeq.c 0ce5878f6b86d0542503c63049083320 *src/qf/qf_qeq.c
f9867335faa23f0b57c921c8882e7a52 *src/qf/qf_qmact.c f9867335faa23f0b57c921c8882e7a52 *src/qf/qf_qmact.c
d457172637ab14cf42f99071bc7b8e7a *src/qf/qf_time.c d457172637ab14cf42f99071bc7b8e7a *src/qf/qf_time.c
ccd28413fc3a093ca99b03854cf7439b *src/qk/CMakeLists.txt ccd28413fc3a093ca99b03854cf7439b *src/qk/CMakeLists.txt
@ -51,80 +51,80 @@ be52f283a42b5b277097b5984181f204 *ports/lint-plus/options.lnt
ecca2c20a6e0dc29a1f62aeb500ed165 *ports/lint-plus/std.lnt ecca2c20a6e0dc29a1f62aeb500ed165 *ports/lint-plus/std.lnt
8f1b876266fb274386670d94d0ba0fa2 *ports/arm-cm/qk/armclang/qk_port.c 8f1b876266fb274386670d94d0ba0fa2 *ports/arm-cm/qk/armclang/qk_port.c
5fcbb1d62dcc33ad8e0f38dfcf6f88a3 *ports/arm-cm/qk/armclang/qp_port.h 5fcbb1d62dcc33ad8e0f38dfcf6f88a3 *ports/arm-cm/qk/armclang/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qk/armclang/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qk/armclang/qs_port.h
5112a0c22478899fe2f06136257b4f14 *ports/arm-cm/qk/config/qp_config.h ff973dd6492f060525805ba13d6ca02a *ports/arm-cm/qk/config/qp_config.h
116b6f9ac224fe5d60f0bfe0f8a4f9f0 *ports/arm-cm/qk/gnu/qk_port.c 116b6f9ac224fe5d60f0bfe0f8a4f9f0 *ports/arm-cm/qk/gnu/qk_port.c
12847297533c3226ccf66f189df8b4ca *ports/arm-cm/qk/gnu/qp_port.h 12847297533c3226ccf66f189df8b4ca *ports/arm-cm/qk/gnu/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qk/gnu/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qk/gnu/qs_port.h
ca7328d9e59618ce34a118d936e1b269 *ports/arm-cm/qk/iar/qk_port.c ca7328d9e59618ce34a118d936e1b269 *ports/arm-cm/qk/iar/qk_port.c
a5152099566e2b5f43787d67d5d86aef *ports/arm-cm/qk/iar/qp_port.h a5152099566e2b5f43787d67d5d86aef *ports/arm-cm/qk/iar/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qk/iar/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qk/iar/qs_port.h
a13c0887eb882d089ec5cb57c8f755ac *ports/arm-cm/qv/armclang/qp_port.h a13c0887eb882d089ec5cb57c8f755ac *ports/arm-cm/qv/armclang/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qv/armclang/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qv/armclang/qs_port.h
277f97c6a850930b54c02e83a99e9663 *ports/arm-cm/qv/armclang/qv_port.c 277f97c6a850930b54c02e83a99e9663 *ports/arm-cm/qv/armclang/qv_port.c
b69e5ac1cde60ce0eda00d853048270e *ports/arm-cm/qv/config/qp_config.h 247a4d37cdedb45f4819bf628d0d83cf *ports/arm-cm/qv/config/qp_config.h
6213045e2390e7a59644f40e1aaa189c *ports/arm-cm/qv/gnu/qp_port.h 6213045e2390e7a59644f40e1aaa189c *ports/arm-cm/qv/gnu/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qv/gnu/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qv/gnu/qs_port.h
1c87a822c4d802784342b58803261cdc *ports/arm-cm/qv/gnu/qv_port.c 1c87a822c4d802784342b58803261cdc *ports/arm-cm/qv/gnu/qv_port.c
517ee111b0df9926e6ba3d30be5210ea *ports/arm-cm/qv/iar/qp_port.h 517ee111b0df9926e6ba3d30be5210ea *ports/arm-cm/qv/iar/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qv/iar/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qv/iar/qs_port.h
867217f77f0c6cdb0a82a964a7027510 *ports/arm-cm/qv/iar/qv_port.c 867217f77f0c6cdb0a82a964a7027510 *ports/arm-cm/qv/iar/qv_port.c
40058ac0609321670e6e7816670e97af *ports/arm-cm/qxk/armclang/qp_port.h 40058ac0609321670e6e7816670e97af *ports/arm-cm/qxk/armclang/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qxk/armclang/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qxk/armclang/qs_port.h
157999f7597ee32773fcfc13e7ef61fd *ports/arm-cm/qxk/armclang/qxk_port.c bb7067859e7fec9e77684879a1cfae34 *ports/arm-cm/qxk/armclang/qxk_port.c
31c4cd8ad90ea6517df1d4054033fe03 *ports/arm-cm/qxk/config/qp_config.h 16ef2e0af8dd350486f709b548d87c75 *ports/arm-cm/qxk/config/qp_config.h
35ec850c15f42e2eab924d06bf2d4165 *ports/arm-cm/qxk/gnu/qp_port.h 35ec850c15f42e2eab924d06bf2d4165 *ports/arm-cm/qxk/gnu/qp_port.h
a0699895649b5d644e4068794b0e94dc *ports/arm-cm/qxk/gnu/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qxk/gnu/qs_port.h
9bc69ca01a321ce71216552af9493b60 *ports/arm-cm/qxk/gnu/qxk_port.c 068945110c5583a8b149930d9a446cc3 *ports/arm-cm/qxk/gnu/qxk_port.c
9145c3ae665b20e224bd91406668754c *ports/arm-cm/qxk/iar/qp_port.h 9145c3ae665b20e224bd91406668754c *ports/arm-cm/qxk/iar/qp_port.h
f6c251ec335af215b842ff2ef686e93f *ports/arm-cm/qxk/iar/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qxk/iar/qs_port.h
6a047634910a10c3c2bc82f28551b5aa *ports/arm-cm/qxk/iar/qxk_port.c 7745f5f6adfdd3813bc3d6a24e87aada *ports/arm-cm/qxk/iar/qxk_port.c
b08b183d0275dbf6b55c46b94523a1a2 *ports/arm-cm/qutest/qp_port.h b08b183d0275dbf6b55c46b94523a1a2 *ports/arm-cm/qutest/qp_port.h
c755db99d10db142bcb98018f55e2b7a *ports/arm-cm/qutest/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cm/qutest/qs_port.h
829261756c701d26e742005c59cd25f7 *ports/arm-cr/qk/config/qp_config.h 1cc03f9c79b011da50d753018054dac1 *ports/arm-cr/qk/config/qp_config.h
957f53c5d716ee9f88d4d8b7418f8757 *ports/arm-cr/qk/gnu/qp_port.h 957f53c5d716ee9f88d4d8b7418f8757 *ports/arm-cr/qk/gnu/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/arm-cr/qk/gnu/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cr/qk/gnu/qs_port.h
6a6a54ca44b045c2977cfaf621d32836 *ports/arm-cr/qk/iar/qp_port.h 6a6a54ca44b045c2977cfaf621d32836 *ports/arm-cr/qk/iar/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/arm-cr/qk/iar/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cr/qk/iar/qs_port.h
7aab625aad16d5b55ab530a7f468e70b *ports/arm-cr/qk/ti/qp_port.h 7aab625aad16d5b55ab530a7f468e70b *ports/arm-cr/qk/ti/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/arm-cr/qk/ti/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cr/qk/ti/qs_port.h
b91fd7d938880060e3914db32a1a7885 *ports/arm-cr/qv/gnu/qp_port.h b91fd7d938880060e3914db32a1a7885 *ports/arm-cr/qv/gnu/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/arm-cr/qv/gnu/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cr/qv/gnu/qs_port.h
e7b34d68bbf61b9e5c1706c8c2e2b4d3 *ports/arm-cr/qv/iar/qp_port.h e7b34d68bbf61b9e5c1706c8c2e2b4d3 *ports/arm-cr/qv/iar/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/arm-cr/qv/iar/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cr/qv/iar/qs_port.h
734d65377844b288a3e5dcc5200302b6 *ports/arm-cr/qv/ti/qp_port.h 734d65377844b288a3e5dcc5200302b6 *ports/arm-cr/qv/ti/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/arm-cr/qv/ti/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/arm-cr/qv/ti/qs_port.h
975c3375c8ca11093bc92dbfb7000eaa *ports/msp430/qk/qp_port.h 975c3375c8ca11093bc92dbfb7000eaa *ports/msp430/qk/qp_port.h
dd181f9664fbe39a2900b99493a06191 *ports/msp430/qk/qs_port.h abcdbdcac677ff605ee003ef1e08fb80 *ports/msp430/qk/qs_port.h
3c7664e8ee8739bdd42bda3020ce5364 *ports/msp430/qv/qp_port.h 3c7664e8ee8739bdd42bda3020ce5364 *ports/msp430/qv/qp_port.h
dd181f9664fbe39a2900b99493a06191 *ports/msp430/qv/qs_port.h abcdbdcac677ff605ee003ef1e08fb80 *ports/msp430/qv/qs_port.h
07306e4b15b72b175365e26568ea6e3d *ports/msp430/qutest/qp_port.h 07306e4b15b72b175365e26568ea6e3d *ports/msp430/qutest/qp_port.h
dd181f9664fbe39a2900b99493a06191 *ports/msp430/qutest/qs_port.h abcdbdcac677ff605ee003ef1e08fb80 *ports/msp430/qutest/qs_port.h
c2ed34e686a5ac9afe06026731247bf4 *ports/pic32/qk/xc32/qk_port.c c2ed34e686a5ac9afe06026731247bf4 *ports/pic32/qk/xc32/qk_port.c
e9dbc68a7233a4303a068b562be12049 *ports/pic32/qk/xc32/qp_port.h e9dbc68a7233a4303a068b562be12049 *ports/pic32/qk/xc32/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/pic32/qk/xc32/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/pic32/qk/xc32/qs_port.h
ab9eacbab706ff105144eddecde681e0 *ports/pic32/qv/xc32/qp_port.h ab9eacbab706ff105144eddecde681e0 *ports/pic32/qv/xc32/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/pic32/qv/xc32/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/pic32/qv/xc32/qs_port.h
33c16b6ecad7187219fc6195fbd566da *ports/pic32/qutest/xc32/qp_port.h 33c16b6ecad7187219fc6195fbd566da *ports/pic32/qutest/xc32/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/pic32/qutest/xc32/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/pic32/qutest/xc32/qs_port.h
3d35c4a4377708ef2493dfd4e63e074a *ports/config/qp_config.h 7bd98101a1922e7dcf39107f2c07a7a4 *ports/config/qp_config.h
d9a8f8c2b8ebdae309622841af4f80e7 *ports/embos/CMakeLists.txt d9a8f8c2b8ebdae309622841af4f80e7 *ports/embos/CMakeLists.txt
acf19d8d939b7e12fca90be762e7c377 *ports/embos/qf_port.c acf19d8d939b7e12fca90be762e7c377 *ports/embos/qf_port.c
d5f7e75934bd283d4fa239afee096e78 *ports/embos/qp_port.h d5f7e75934bd283d4fa239afee096e78 *ports/embos/qp_port.h
75df7abe15807abb5e7bf5ec08116aff *ports/embos/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/embos/qs_port.h
9d19cdfdd9eb682d6de7847bd0900f5a *ports/freertos/CMakeLists.txt 9d19cdfdd9eb682d6de7847bd0900f5a *ports/freertos/CMakeLists.txt
21610b5e0eaccb85d82c7edb74fc32dc *ports/freertos/qf_port.c 21610b5e0eaccb85d82c7edb74fc32dc *ports/freertos/qf_port.c
672615c0e1e9daab9aec12c300682f58 *ports/freertos/qp_port.h 672615c0e1e9daab9aec12c300682f58 *ports/freertos/qp_port.h
2d756fbf15d4c00837320a329eddf065 *ports/freertos/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/freertos/qs_port.h
04694f7224092a477cd4580aee7022fd *ports/threadx/CMakeLists.txt 04694f7224092a477cd4580aee7022fd *ports/threadx/CMakeLists.txt
b80df6c2ee6fc3ec6d7a4bf08963ec01 *ports/threadx/qf_port.c b80df6c2ee6fc3ec6d7a4bf08963ec01 *ports/threadx/qf_port.c
74570b4afbf0281af9638778781bda0b *ports/threadx/qp_port.h 74570b4afbf0281af9638778781bda0b *ports/threadx/qp_port.h
96a132818a53ac1c6e46ace36dc75663 *ports/threadx/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/threadx/qs_port.h
97dbc9c6b8b0c2b46499b9070688dd3c *ports/threadx/README.md 97dbc9c6b8b0c2b46499b9070688dd3c *ports/threadx/README.md
eec27f333c2787b6f3fdca5dbdd573b2 *ports/uc-os2/CMakeLists.txt eec27f333c2787b6f3fdca5dbdd573b2 *ports/uc-os2/CMakeLists.txt
cc34f3f5ffa004831362473563cd345a *ports/uc-os2/qf_port.c cc34f3f5ffa004831362473563cd345a *ports/uc-os2/qf_port.c
b9be2bca2c48d39a43e4b3d059376b6a *ports/uc-os2/qp_port.h b9be2bca2c48d39a43e4b3d059376b6a *ports/uc-os2/qp_port.h
96a132818a53ac1c6e46ace36dc75663 *ports/uc-os2/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *ports/uc-os2/qs_port.h
281f9d70e7fb90b4457bee33b544c460 *ports/qep-only/CMakeLists.txt 281f9d70e7fb90b4457bee33b544c460 *ports/qep-only/CMakeLists.txt
6ce09e456ded120d13d73a92e022fa3d *ports/qep-only/qp_port.h 6ce09e456ded120d13d73a92e022fa3d *ports/qep-only/qp_port.h
f26311a1912e214477781255c7c71834 *ports/qep-only/safe_std.h f26311a1912e214477781255c7c71834 *ports/qep-only/safe_std.h
@ -132,26 +132,26 @@ f26311a1912e214477781255c7c71834 *ports/qep-only/safe_std.h
0a9db5ee3129a97bd19c433e12f0442e *ports/posix/qf_port.c 0a9db5ee3129a97bd19c433e12f0442e *ports/posix/qf_port.c
c1764d38614122b0a02a0172a21906d9 *ports/posix/qp_port.h c1764d38614122b0a02a0172a21906d9 *ports/posix/qp_port.h
5902d6c50e3d3e87c4cbeb66485c01c9 *ports/posix/qs_port.c 5902d6c50e3d3e87c4cbeb66485c01c9 *ports/posix/qs_port.c
306c23ae37e9b02f2f37f2d21331f28d *ports/posix/qs_port.h a6c1ccba363f62079a579cd71ceccfe8 *ports/posix/qs_port.h
6690cf3899e6461ed7604dba13cf7520 *ports/posix/README.md 6690cf3899e6461ed7604dba13cf7520 *ports/posix/README.md
f26311a1912e214477781255c7c71834 *ports/posix/safe_std.h f26311a1912e214477781255c7c71834 *ports/posix/safe_std.h
c36532b0e4b1956d9113f6ced25fb47b *ports/posix-qv/CMakeLists.txt c36532b0e4b1956d9113f6ced25fb47b *ports/posix-qv/CMakeLists.txt
044efad276cba04709c027cc66b7d356 *ports/posix-qv/qf_port.c 044efad276cba04709c027cc66b7d356 *ports/posix-qv/qf_port.c
46cd7f9bce31d6d519886f31f824fae0 *ports/posix-qv/qp_port.h 46cd7f9bce31d6d519886f31f824fae0 *ports/posix-qv/qp_port.h
94d91c859c62fd464f6ce61c9d4e82b1 *ports/posix-qv/qs_port.c 94d91c859c62fd464f6ce61c9d4e82b1 *ports/posix-qv/qs_port.c
306c23ae37e9b02f2f37f2d21331f28d *ports/posix-qv/qs_port.h a6c1ccba363f62079a579cd71ceccfe8 *ports/posix-qv/qs_port.h
a39965a1d1c41b224c8f328c9e28999b *ports/posix-qv/README.md a39965a1d1c41b224c8f328c9e28999b *ports/posix-qv/README.md
f26311a1912e214477781255c7c71834 *ports/posix-qv/safe_std.h f26311a1912e214477781255c7c71834 *ports/posix-qv/safe_std.h
51ca57651ed492278fd728d3b94aba4d *ports/posix-qutest/CMakeLists.txt 51ca57651ed492278fd728d3b94aba4d *ports/posix-qutest/CMakeLists.txt
2ec8125e0cbaf03c06c679d698ec6a32 *ports/posix-qutest/qp_port.h 2ec8125e0cbaf03c06c679d698ec6a32 *ports/posix-qutest/qp_port.h
306c23ae37e9b02f2f37f2d21331f28d *ports/posix-qutest/qs_port.h a6c1ccba363f62079a579cd71ceccfe8 *ports/posix-qutest/qs_port.h
a7e763528627d662501e8a28ca6321c1 *ports/posix-qutest/qutest_port.c a7e763528627d662501e8a28ca6321c1 *ports/posix-qutest/qutest_port.c
f26311a1912e214477781255c7c71834 *ports/posix-qutest/safe_std.h f26311a1912e214477781255c7c71834 *ports/posix-qutest/safe_std.h
5fa44dffb653cecb1d9ea41d154ce852 *ports/win32/CMakeLists.txt 5fa44dffb653cecb1d9ea41d154ce852 *ports/win32/CMakeLists.txt
20fc7e8b39e32f53aca8e3f08e372957 *ports/win32/qf_port.c 20fc7e8b39e32f53aca8e3f08e372957 *ports/win32/qf_port.c
dddd41fe592d8832b95179820de552d2 *ports/win32/qp_port.h dddd41fe592d8832b95179820de552d2 *ports/win32/qp_port.h
a46c047f83877a192b2de24f27238770 *ports/win32/qs_port.c a46c047f83877a192b2de24f27238770 *ports/win32/qs_port.c
018ec5ae698a31c6fb0f2c002194c5bd *ports/win32/qs_port.h 68809b0a38489524f2ed461e970a136c *ports/win32/qs_port.h
635a4a93c62e4b3501c5e3371a08cd65 *ports/win32/qwin_gui.c 635a4a93c62e4b3501c5e3371a08cd65 *ports/win32/qwin_gui.c
a8f227294c6673a22b050e1165a911e3 *ports/win32/qwin_gui.h a8f227294c6673a22b050e1165a911e3 *ports/win32/qwin_gui.h
9af4450a3685e578e1774e5b707f6692 *ports/win32/README.md 9af4450a3685e578e1774e5b707f6692 *ports/win32/README.md
@ -160,14 +160,14 @@ c28c6dd7ad5899389e556c8cc61692ce *ports/win32-qv/CMakeLists.txt
7d3aaf7289eb37ac9ef638d092f1d28f *ports/win32-qv/qf_port.c 7d3aaf7289eb37ac9ef638d092f1d28f *ports/win32-qv/qf_port.c
6e8a4ca279ced37f24ac45e4ff6d4157 *ports/win32-qv/qp_port.h 6e8a4ca279ced37f24ac45e4ff6d4157 *ports/win32-qv/qp_port.h
a46c047f83877a192b2de24f27238770 *ports/win32-qv/qs_port.c a46c047f83877a192b2de24f27238770 *ports/win32-qv/qs_port.c
018ec5ae698a31c6fb0f2c002194c5bd *ports/win32-qv/qs_port.h 68809b0a38489524f2ed461e970a136c *ports/win32-qv/qs_port.h
c935dbe9f32dd4d0584d4b47bc734d19 *ports/win32-qv/qwin_gui.c c935dbe9f32dd4d0584d4b47bc734d19 *ports/win32-qv/qwin_gui.c
37499e3a99c8c38d52d9b61be19319b7 *ports/win32-qv/qwin_gui.h 37499e3a99c8c38d52d9b61be19319b7 *ports/win32-qv/qwin_gui.h
4cb22092a4b28d1c1b2efc1e58900b99 *ports/win32-qv/README.md 4cb22092a4b28d1c1b2efc1e58900b99 *ports/win32-qv/README.md
f26311a1912e214477781255c7c71834 *ports/win32-qv/safe_std.h f26311a1912e214477781255c7c71834 *ports/win32-qv/safe_std.h
f62276b6a322c8fffce657cdb4998ed7 *ports/win32-qutest/CMakeLists.txt f62276b6a322c8fffce657cdb4998ed7 *ports/win32-qutest/CMakeLists.txt
f9f1dfd9b7c2f0ce7b2c5928da09b123 *ports/win32-qutest/qp_port.h f9f1dfd9b7c2f0ce7b2c5928da09b123 *ports/win32-qutest/qp_port.h
018ec5ae698a31c6fb0f2c002194c5bd *ports/win32-qutest/qs_port.h 68809b0a38489524f2ed461e970a136c *ports/win32-qutest/qs_port.h
d8259b2bb16d1826806a636c6a3293f8 *ports/win32-qutest/qutest_port.c d8259b2bb16d1826806a636c6a3293f8 *ports/win32-qutest/qutest_port.c
faed3388f63c9ec3dca2a5c6cf808a95 *ports/win32-qutest/README.md faed3388f63c9ec3dca2a5c6cf808a95 *ports/win32-qutest/README.md
f26311a1912e214477781255c7c71834 *ports/win32-qutest/safe_std.h f26311a1912e214477781255c7c71834 *ports/win32-qutest/safe_std.h
@ -177,5 +177,5 @@ f26311a1912e214477781255c7c71834 *ports/win32-qutest/safe_std.h
f167809c37f879a55cbc113e0e4d6ef6 *zephyr/qf_port.c f167809c37f879a55cbc113e0e4d6ef6 *zephyr/qf_port.c
0076e0da63938ff838dd5736b6a309da *zephyr/qp-zephyr.jpg 0076e0da63938ff838dd5736b6a309da *zephyr/qp-zephyr.jpg
4332e3b86722b1ccfed1dd134889fcac *zephyr/qp_port.h 4332e3b86722b1ccfed1dd134889fcac *zephyr/qp_port.h
64b537ae433a0d0c0949c4bca7b45603 *zephyr/qs_port.h d69a97a65c94b684ef56cef35faf73f0 *zephyr/qs_port.h
ba08c605b0c369326884f9006464666f *zephyr/README.md ba08c605b0c369326884f9006464666f *zephyr/README.md

69
qpc.qm
View File

@ -277,17 +277,24 @@ Contact information:
};</code> };</code>
</attribute> </attribute>
<!--${QEP::QEvt::ctor}--> <!--${QEP::QEvt::ctor}-->
<operation name="ctor" type="QEvt *" visibility="0x00" properties="0x02"> <operation name="ctor" type="void" visibility="0x00" properties="0x02">
<documentation>//! @public @memberof QEvt <documentation>//! @public @memberof QEvt
//! @public @memberof QEvt</documentation> //! @public @memberof QEvt</documentation>
<!--${QEP::QEvt::ctor::sig}--> <!--${QEP::QEvt::ctor::sig}-->
<parameter name="sig" type="enum_t const"/> <parameter name="sig" type="enum_t const"/>
<code>if (sig != QEVT_DYNAMIC) { <code>me-&gt;sig = (QSignal)sig;
me-&gt;sig = (QSignal)sig;
me-&gt;refCtr_ = 0U; me-&gt;refCtr_ = 0U;
me-&gt;evtTag_ = QEVT_MARKER; me-&gt;evtTag_ = QEVT_MARKER;</code>
} </operation>
<!--${QEP::QEvt::init}-->
<operation name="init" type="QEvt *" visibility="0x00" properties="0x02">
<documentation>//! @public @memberof QEvt
//! @public @memberof QEvt</documentation>
<!--${QEP::QEvt::init::dummy}-->
<parameter name="dummy" type="uint8_t"/>
<code>(void)dummy;
return me;</code> return me;</code>
</operation> </operation>
<!--${QEP::QEvt::verify_}--> <!--${QEP::QEvt::verify_}-->
@ -3654,7 +3661,15 @@ QF_CRIT_EXIT();</code>
<parameter name="qSto" type="struct QEvt const ** const"/> <parameter name="qSto" type="struct QEvt const ** const"/>
<!--${QF::QEQueue::init::qLen}--> <!--${QF::QEQueue::init::qLen}-->
<parameter name="qLen" type="uint_fast16_t const"/> <parameter name="qLen" type="uint_fast16_t const"/>
<code>me-&gt;frontEvt = (QEvt *)0; // no events in the queue <code>QF_CRIT_STAT
QF_CRIT_ENTRY();
QF_MEM_SYS();
#if (QF_EQUEUE_CTR_SIZE == 1U)
Q_REQUIRE_INCRIT(100, qLen &lt; 0xFFU);
#endif
me-&gt;frontEvt = (QEvt *)0; // no events in the queue
me-&gt;ring = qSto; // the beginning of the ring buffer me-&gt;ring = qSto; // the beginning of the ring buffer
me-&gt;end = (QEQueueCtr)qLen; me-&gt;end = (QEQueueCtr)qLen;
if (qLen != 0U) { if (qLen != 0U) {
@ -3662,7 +3677,10 @@ if (qLen != 0U) {
me-&gt;tail = 0U; me-&gt;tail = 0U;
} }
me-&gt;nFree = (QEQueueCtr)(qLen + 1U); // +1 for frontEvt me-&gt;nFree = (QEQueueCtr)(qLen + 1U); // +1 for frontEvt
me-&gt;nMin = me-&gt;nFree;</code> me-&gt;nMin = me-&gt;nFree;
QF_MEM_APP();
QF_CRIT_EXIT();</code>
</operation> </operation>
<!--${QF::QEQueue::post}--> <!--${QF::QEQueue::post}-->
<operation name="post" type="bool" visibility="0x00" properties="0x00"> <operation name="post" type="bool" visibility="0x00" properties="0x00">
@ -3961,7 +3979,7 @@ Q_ASSERT_INCRIT(110, poolSize &gt;= me-&gt;blockSize);
// start at the head of the free list // start at the head of the free list
QFreeBlock *fb = me-&gt;free_head; QFreeBlock *fb = me-&gt;free_head;
me-&gt;nTot = 1U; // the last block already in the list uint32_t nTot = 1U; // the last block already in the list
// chain all blocks together in a free-list... // chain all blocks together in a free-list...
for (uint_fast32_t size = poolSize - me-&gt;blockSize; for (uint_fast32_t size = poolSize - me-&gt;blockSize;
@ -3973,14 +3991,22 @@ for (uint_fast32_t size = poolSize - me-&gt;blockSize;
fb-&gt;next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb-&gt;next)); fb-&gt;next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb-&gt;next));
#endif #endif
fb = fb-&gt;next; // advance to the next block fb = fb-&gt;next; // advance to the next block
++me-&gt;nTot; // one more free block in the pool ++nTot; // one more free block in the pool
} }
// dynamic range check
#if (QF_MPOOL_CTR_SIZE == 1U)
Q_ENSURE_INCRIT(190, nTot &lt; 0xFFU);
#elif (QF_MPOOL_CTR_SIZE == 2U)
Q_ENSURE_INCRIT(190, nTot &lt; 0xFFFFU);
#endif
fb-&gt;next = (QFreeBlock *)0; // the last link points to NULL fb-&gt;next = (QFreeBlock *)0; // the last link points to NULL
#ifndef Q_UNSAFE #ifndef Q_UNSAFE
fb-&gt;next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb-&gt;next)); fb-&gt;next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb-&gt;next));
#endif #endif
me-&gt;nTot = (QMPoolCtr)nTot;
me-&gt;nFree = me-&gt;nTot; // all blocks are free me-&gt;nFree = me-&gt;nTot; // all blocks are free
me-&gt;nMin = me-&gt;nTot; // the minimum # free blocks me-&gt;nMin = me-&gt;nTot; // the minimum # free blocks
me-&gt;start = (QFreeBlock *)poolSto; // the original start this pool buffer me-&gt;start = (QFreeBlock *)poolSto; // the original start this pool buffer
@ -4525,7 +4551,7 @@ QF_gc(e); // recycle the referenced event
<code>((QPrioSpec)((prio_) | ((pthre_) &lt;&lt; 8U)))</code> <code>((QPrioSpec)((prio_) | ((pthre_) &lt;&lt; 8U)))</code>
</operation> </operation>
<!--${QF-macros::Q_NEW}--> <!--${QF-macros::Q_NEW}-->
<operation name="Q_NEW?ndef QEVT_DYN_CTOR" type="void" visibility="0x03" properties="0x00"> <operation name="Q_NEW?ndef QEVT_PAR_INIT" type="void" visibility="0x03" properties="0x00">
<!--${QF-macros::Q_NEW::evtT_}--> <!--${QF-macros::Q_NEW::evtT_}-->
<parameter name="evtT_" type="&lt;event class&gt;"/> <parameter name="evtT_" type="&lt;event class&gt;"/>
<!--${QF-macros::Q_NEW::sig_}--> <!--${QF-macros::Q_NEW::sig_}-->
@ -4534,7 +4560,7 @@ QF_gc(e); // recycle the referenced event
QF_NO_MARGIN, (enum_t)(sig_)))</code> QF_NO_MARGIN, (enum_t)(sig_)))</code>
</operation> </operation>
<!--${QF-macros::Q_NEW}--> <!--${QF-macros::Q_NEW}-->
<operation name="Q_NEW?def QEVT_DYN_CTOR" type="void" visibility="0x03" properties="0x00"> <operation name="Q_NEW?def QEVT_PAR_INIT" type="void" visibility="0x03" properties="0x00">
<!--${QF-macros::Q_NEW::evtT_}--> <!--${QF-macros::Q_NEW::evtT_}-->
<parameter name="evtT_" type="&lt;event class&gt;"/> <parameter name="evtT_" type="&lt;event class&gt;"/>
<!--${QF-macros::Q_NEW::sig_}--> <!--${QF-macros::Q_NEW::sig_}-->
@ -4542,11 +4568,11 @@ QF_gc(e); // recycle the referenced event
<!--${QF-macros::Q_NEW::...}--> <!--${QF-macros::Q_NEW::...}-->
<parameter name="..." type="__VA_ARGS__"/> <parameter name="..." type="__VA_ARGS__"/>
<code>\ <code>\
(evtT_##_ctor((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \ (evtT_##_init((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \
QF_NO_MARGIN, (sig_)), __VA_ARGS__))</code> QF_NO_MARGIN, (sig_)), __VA_ARGS__))</code>
</operation> </operation>
<!--${QF-macros::Q_NEW_X}--> <!--${QF-macros::Q_NEW_X}-->
<operation name="Q_NEW_X?ndef QEVT_DYN_CTOR" type="void" visibility="0x03" properties="0x00"> <operation name="Q_NEW_X?ndef QEVT_PAR_INIT" type="void" visibility="0x03" properties="0x00">
<!--${QF-macros::Q_NEW_X::evtT_}--> <!--${QF-macros::Q_NEW_X::evtT_}-->
<parameter name="evtT_" type="&lt;event class&gt;"/> <parameter name="evtT_" type="&lt;event class&gt;"/>
<!--${QF-macros::Q_NEW_X::margin_}--> <!--${QF-macros::Q_NEW_X::margin_}-->
@ -4558,7 +4584,7 @@ QF_gc(e); // recycle the referenced event
(margin_), (enum_t)(sig_)))</code> (margin_), (enum_t)(sig_)))</code>
</operation> </operation>
<!--${QF-macros::Q_NEW_X}--> <!--${QF-macros::Q_NEW_X}-->
<operation name="Q_NEW_X?def QEVT_DYN_CTOR" type="void" visibility="0x03" properties="0x00"> <operation name="Q_NEW_X?def QEVT_PAR_INIT" type="void" visibility="0x03" properties="0x00">
<!--${QF-macros::Q_NEW_X::evtT_}--> <!--${QF-macros::Q_NEW_X::evtT_}-->
<parameter name="evtT_" type="&lt;event class&gt;"/> <parameter name="evtT_" type="&lt;event class&gt;"/>
<!--${QF-macros::Q_NEW_X::margin_}--> <!--${QF-macros::Q_NEW_X::margin_}-->
@ -4568,7 +4594,7 @@ QF_gc(e); // recycle the referenced event
<!--${QF-macros::Q_NEW_X::...}--> <!--${QF-macros::Q_NEW_X::...}-->
<parameter name="..." type="__VA_ARGS__"/> <parameter name="..." type="__VA_ARGS__"/>
<code>\ <code>\
(evtT_##_ctor((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \ (evtT_##_init((evtT_ *)QF_newX_((uint_fast16_t)sizeof(evtT_), \
(margin_), (sig_)), __VA_ARGS__))</code> (margin_), (sig_)), __VA_ARGS__))</code>
</operation> </operation>
<!--${QF-macros::Q_NEW_REF}--> <!--${QF-macros::Q_NEW_REF}-->
@ -8956,9 +8982,9 @@ $declare1 ${QP-FuSa}
#define QP_H_ #define QP_H_
//============================================================================ //============================================================================
#define QP_VERSION_STR &quot;7.3.5-rc.1&quot; #define QP_VERSION_STR &quot;7.4.0-rc.1&quot;
#define QP_VERSION 735U #define QP_VERSION 740U
#define QP_RELEASE 0x70A1DEF0U #define QP_RELEASE 0x7092C3BBU
//============================================================================ //============================================================================
//! @cond INTERNAL //! @cond INTERNAL
@ -9716,7 +9742,12 @@ extern char const Q_BUILD_TIME[9];
//============================================================================ //============================================================================
// QP API compatibility layer... // QP API compatibility layer...
#if (QP_API_VERSION &lt; 730) #if (QP_API_VERSION &lt; 740)
#ifdef QEVT_DYN_CTOR
//! @deprecated #QEVT_DYN_CTOR, please use #QEVT_PAR_INIT
#define QEVT_PAR_INIT
#endif
//! @deprecated plain 'char' is no longer forbidden in MISRA-C:2023 //! @deprecated plain 'char' is no longer forbidden in MISRA-C:2023
typedef char char_t; typedef char char_t;

View File

@ -94,7 +94,7 @@ void QMPool_init(QMPool * const me,
// start at the head of the free list // start at the head of the free list
QFreeBlock *fb = me->free_head; QFreeBlock *fb = me->free_head;
me->nTot = 1U; // the last block already in the list uint32_t nTot = 1U; // the last block already in the list
// chain all blocks together in a free-list... // chain all blocks together in a free-list...
for (uint_fast32_t size = poolSize - me->blockSize; for (uint_fast32_t size = poolSize - me->blockSize;
@ -106,14 +106,22 @@ void QMPool_init(QMPool * const me,
fb->next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb->next)); fb->next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb->next));
#endif #endif
fb = fb->next; // advance to the next block fb = fb->next; // advance to the next block
++me->nTot; // one more free block in the pool ++nTot; // one more free block in the pool
} }
// dynamic range check
#if (QF_MPOOL_CTR_SIZE == 1U)
Q_ENSURE_INCRIT(190, nTot < 0xFFU);
#elif (QF_MPOOL_CTR_SIZE == 2U)
Q_ENSURE_INCRIT(190, nTot < 0xFFFFU);
#endif
fb->next = (QFreeBlock *)0; // the last link points to NULL fb->next = (QFreeBlock *)0; // the last link points to NULL
#ifndef Q_UNSAFE #ifndef Q_UNSAFE
fb->next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb->next)); fb->next_dis = (uintptr_t)(~Q_UINTPTR_CAST_(fb->next));
#endif #endif
me->nTot = (QMPoolCtr)nTot;
me->nFree = me->nTot; // all blocks are free me->nFree = me->nTot; // all blocks are free
me->nMin = me->nTot; // the minimum # free blocks me->nMin = me->nTot; // the minimum # free blocks
me->start = (QFreeBlock *)poolSto; // the original start this pool buffer me->start = (QFreeBlock *)poolSto; // the original start this pool buffer

View File

@ -71,6 +71,14 @@ void QEQueue_init(QEQueue * const me,
struct QEvt const ** const qSto, struct QEvt const ** const qSto,
uint_fast16_t const qLen) uint_fast16_t const qLen)
{ {
QF_CRIT_STAT
QF_CRIT_ENTRY();
QF_MEM_SYS();
#if (QF_EQUEUE_CTR_SIZE == 1U)
Q_REQUIRE_INCRIT(100, qLen < 0xFFU);
#endif
me->frontEvt = (QEvt *)0; // no events in the queue me->frontEvt = (QEvt *)0; // no events in the queue
me->ring = qSto; // the beginning of the ring buffer me->ring = qSto; // the beginning of the ring buffer
me->end = (QEQueueCtr)qLen; me->end = (QEQueueCtr)qLen;
@ -80,6 +88,9 @@ void QEQueue_init(QEQueue * const me,
} }
me->nFree = (QEQueueCtr)(qLen + 1U); // +1 for frontEvt me->nFree = (QEQueueCtr)(qLen + 1U); // +1 for frontEvt
me->nMin = me->nFree; me->nMin = me->nFree;
QF_MEM_APP();
QF_CRIT_EXIT();
} }
//${QF::QEQueue::post} ....................................................... //${QF::QEQueue::post} .......................................................

View File

@ -1,5 +1,10 @@
//============================================================================ //============================================================================
// QP/C Real-Time Embedded Framework (RTEF) // QP/C Real-Time Embedded Framework (RTEF)
//
// Q u a n t u m L e a P s
// ------------------------
// Modern Embedded Software
//
// Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved. // Copyright (C) 2005 Quantum Leaps, LLC. All rights reserved.
// //
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
@ -22,8 +27,8 @@
// <www.state-machine.com> // <www.state-machine.com>
// <info@state-machine.com> // <info@state-machine.com>
//============================================================================ //============================================================================
//! @date Last updated on: 2023-08-16 //! @date Last updated on: 2024-06-06
//! @version Last updated for: @ref qpc_7_3_0 //! @version Last updated for: @ref qpc_7_4_0
//! //!
//! @file //! @file
//! @brief QS/C port to a 32-bit CPU and a generic C99 compiler. //! @brief QS/C port to a 32-bit CPU and a generic C99 compiler.
@ -31,9 +36,6 @@
#ifndef QS_PORT_H_ #ifndef QS_PORT_H_
#define QS_PORT_H_ #define QS_PORT_H_
// QS time-stamp size in bytes
#define QS_TIME_SIZE 4U
// object pointer size in bytes // object pointer size in bytes
#define QS_OBJ_PTR_SIZE 4U #define QS_OBJ_PTR_SIZE 4U
@ -47,10 +49,9 @@
// with the other QP component, by simply including "qp_port.h" // with the other QP component, by simply including "qp_port.h"
// *before* "qs.h". // *before* "qs.h".
#ifndef QP_PORT_H_ #ifndef QP_PORT_H_
#include "qp_port.h" // use QS with QF #include "qp_port.h" // use QS with QP
#endif #endif
#include "qs.h" // QS platform-independent public interface #include "qs.h" // QS platform-independent public interface
#endif // QS_PORT_H_ #endif // QS_PORT_H_