mirror of
https://github.com/QuantumLeaps/qpcpp.git
synced 2025-01-28 06:02:56 +08:00
7.4.0-rc.1
This commit is contained in:
parent
2dd72836be
commit
daa8c78da4
4
.gitignore
vendored
4
.gitignore
vendored
@ -37,10 +37,10 @@
|
||||
version-*
|
||||
JLink*.*
|
||||
|
||||
cert/
|
||||
html/
|
||||
latex/
|
||||
cert-pack/
|
||||
cert-latex/
|
||||
doxygen/gen/
|
||||
test_priv/
|
||||
dbg/
|
||||
rel/
|
||||
|
2
examples
2
examples
@ -1 +1 @@
|
||||
Subproject commit 7cb437b967372eedcde78f778680547406f21737
|
||||
Subproject commit 0537a180ce504ab971b26491c9bf945e4b711b4a
|
@ -44,9 +44,9 @@
|
||||
#define QP_HPP_
|
||||
|
||||
//============================================================================
|
||||
#define QP_VERSION_STR "7.3.5-rc.2"
|
||||
#define QP_VERSION 735U
|
||||
#define QP_RELEASE 0x70A1DEF0U
|
||||
#define QP_VERSION_STR "7.4.0-rc.1"
|
||||
#define QP_VERSION 740U
|
||||
#define QP_RELEASE 0x7092C3BBU
|
||||
|
||||
//============================================================================
|
||||
//! @cond INTERNAL
|
||||
@ -142,22 +142,22 @@ public:
|
||||
|
||||
public:
|
||||
static constexpr std::uint8_t MARKER {0xE0U};
|
||||
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
enum DynEvt: std::uint8_t { DYNAMIC };
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
|
||||
public:
|
||||
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
void ctor(DynEvt const dummy) noexcept;
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
explicit constexpr QEvt(QSignal const s) noexcept
|
||||
: sig(s),
|
||||
refCtr_(0U),
|
||||
evtTag_(MARKER)
|
||||
{}
|
||||
QEvt() = delete;
|
||||
void init() noexcept {
|
||||
// no event parameters to initialize
|
||||
}
|
||||
void init(DynEvt const dummy) noexcept {
|
||||
static_cast<void>(dummy);
|
||||
// no event parameters to initialize
|
||||
}
|
||||
static bool verify_(QEvt const * const e) noexcept {
|
||||
return (e != nullptr)
|
||||
&& ((e->evtTag_ & 0xF0U) == MARKER);
|
||||
@ -1131,30 +1131,17 @@ QEvt const * newRef_(
|
||||
//${QF::QF-dyn::deleteRef_} ..................................................
|
||||
void deleteRef_(QEvt const * const evtRef) noexcept;
|
||||
|
||||
//${QF::QF-dyn::newXfromISR_} ................................................
|
||||
#ifdef QF_ISR_API
|
||||
QEvt * newXfromISR_(
|
||||
std::uint_fast16_t const evtSize,
|
||||
std::uint_fast16_t const margin,
|
||||
enum_t const sig) noexcept;
|
||||
#endif // def QF_ISR_API
|
||||
|
||||
//${QF::QF-dyn::gcFromISR} ...................................................
|
||||
#ifdef QF_ISR_API
|
||||
void gcFromISR(QEvt const * e) noexcept;
|
||||
#endif // def QF_ISR_API
|
||||
|
||||
//${QF::QF-dyn::q_new} .......................................................
|
||||
#ifndef QEVT_DYN_CTOR
|
||||
#ifndef QEVT_PAR_INIT
|
||||
template<class evtT_>
|
||||
inline evtT_ * q_new(enum_t const sig) {
|
||||
return static_cast<evtT_*>(
|
||||
QP::QF::newX_(sizeof(evtT_), QP::QF::NO_MARGIN, sig));
|
||||
}
|
||||
#endif // ndef QEVT_DYN_CTOR
|
||||
#endif // ndef QEVT_PAR_INIT
|
||||
|
||||
//${QF::QF-dyn::q_new} .......................................................
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
#ifdef QEVT_PAR_INIT
|
||||
template<class evtT_, typename... Args>
|
||||
inline evtT_ * q_new(
|
||||
enum_t const sig,
|
||||
@ -1162,13 +1149,13 @@ inline evtT_ * q_new(
|
||||
{
|
||||
evtT_ *e = static_cast<evtT_*>(
|
||||
QP::QF::newX_(sizeof(evtT_), QP::QF::NO_MARGIN, sig));
|
||||
e->ctor(args...); // e cannot be nullptr
|
||||
e->init(args...); // e cannot be nullptr
|
||||
return e;
|
||||
}
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
#endif // def QEVT_PAR_INIT
|
||||
|
||||
//${QF::QF-dyn::q_new_x} .....................................................
|
||||
#ifndef QEVT_DYN_CTOR
|
||||
#ifndef QEVT_PAR_INIT
|
||||
template<class evtT_>
|
||||
inline evtT_ * q_new_x(
|
||||
std::uint_fast16_t const margin,
|
||||
@ -1176,10 +1163,10 @@ inline evtT_ * q_new_x(
|
||||
{
|
||||
return static_cast<evtT_*>(QP::QF::newX_(sizeof(evtT_), margin, sig));
|
||||
}
|
||||
#endif // ndef QEVT_DYN_CTOR
|
||||
#endif // ndef QEVT_PAR_INIT
|
||||
|
||||
//${QF::QF-dyn::q_new_x} .....................................................
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
#ifdef QEVT_PAR_INIT
|
||||
template<class evtT_, typename... Args>
|
||||
inline evtT_ * q_new_x(
|
||||
std::uint_fast16_t const margin,
|
||||
@ -1188,11 +1175,11 @@ inline evtT_ * q_new_x(
|
||||
{
|
||||
evtT_ *e = static_cast<evtT_*>(QP::QF::newX_(sizeof(evtT_), margin, sig));
|
||||
if (e != nullptr) {
|
||||
e->ctor(args...);
|
||||
e->init(args...);
|
||||
}
|
||||
return e;
|
||||
}
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
#endif // def QEVT_PAR_INIT
|
||||
|
||||
//${QF::QF-dyn::q_new_ref} ...................................................
|
||||
template<class evtT_>
|
||||
@ -1210,6 +1197,19 @@ inline void q_delete_ref(evtT_ const *& evtRef) {
|
||||
evtRef = nullptr;
|
||||
}
|
||||
|
||||
//${QF::QF-dyn::newXfromISR_} ................................................
|
||||
#ifdef QF_ISR_API
|
||||
QEvt * newXfromISR_(
|
||||
std::uint_fast16_t const evtSize,
|
||||
std::uint_fast16_t const margin,
|
||||
enum_t const sig) noexcept;
|
||||
#endif // def QF_ISR_API
|
||||
|
||||
//${QF::QF-dyn::gcFromISR} ...................................................
|
||||
#ifdef QF_ISR_API
|
||||
void gcFromISR(QEvt const * e) noexcept;
|
||||
#endif // def QF_ISR_API
|
||||
|
||||
} // namespace QF
|
||||
} // namespace QP
|
||||
//$enddecl${QF::QF-dyn} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -1233,24 +1233,24 @@ void QF_onContextSw(
|
||||
(static_cast<QP::QPrioSpec>((prio_) | (pthre_) << 8U))
|
||||
|
||||
//${QF-macros::Q_NEW} ........................................................
|
||||
#ifndef QEVT_DYN_CTOR
|
||||
#ifndef QEVT_PAR_INIT
|
||||
#define Q_NEW(evtT_, sig_) (QP::QF::q_new<evtT_>((sig_)))
|
||||
#endif // ndef QEVT_DYN_CTOR
|
||||
#endif // ndef QEVT_PAR_INIT
|
||||
|
||||
//${QF-macros::Q_NEW} ........................................................
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
#ifdef QEVT_PAR_INIT
|
||||
#define Q_NEW(evtT_, sig_, ...) (QP::QF::q_new<evtT_>((sig_), __VA_ARGS__))
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
#endif // def QEVT_PAR_INIT
|
||||
|
||||
//${QF-macros::Q_NEW_X} ......................................................
|
||||
#ifndef QEVT_DYN_CTOR
|
||||
#ifndef QEVT_PAR_INIT
|
||||
#define Q_NEW_X(evtT_, margin_, sig_) (QP::QF::q_new_x<evtT_>((margin_), (sig_)))
|
||||
#endif // ndef QEVT_DYN_CTOR
|
||||
#endif // ndef QEVT_PAR_INIT
|
||||
|
||||
//${QF-macros::Q_NEW_X} ......................................................
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
#ifdef QEVT_PAR_INIT
|
||||
#define Q_NEW_X(evtT_, margin_, sig_, ...) (QP::QF::q_new_x<evtT_>((margin_), (sig_), __VA_ARGS__))
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
#endif // def QEVT_PAR_INIT
|
||||
|
||||
//${QF-macros::Q_NEW_REF} ....................................................
|
||||
#define Q_NEW_REF(evtRef_, evtT_) (QP::QF::q_new_ref<evtT_>(e, (evtRef_)))
|
||||
|
@ -62,7 +62,12 @@
|
||||
//============================================================================
|
||||
// QP/C++ 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/AUTOSAR-C++
|
||||
using char_t = char;
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
//============================================================================
|
||||
// QP configuration file (QK on ARM Cortex-M)
|
||||
// Last updated for version: 7.3.0
|
||||
// Last updated on: 2023-10-30
|
||||
// Last updated for version: 7.4.0
|
||||
// Last updated on: 2024-06-06
|
||||
//
|
||||
// Q u a n t u m L e a P s
|
||||
// ------------------------
|
||||
@ -129,9 +129,13 @@
|
||||
// <i>Default: 1
|
||||
#define QF_MAX_TICK_RATE 1U
|
||||
|
||||
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR)
|
||||
// <i>Dynamic Event Constructor (RAII)
|
||||
//#define QEVT_DYN_CTOR
|
||||
// <c1>Event parameter initialization (QEVT_PAR_INIT)
|
||||
// <i>Resource Acquisition Is Initialization (RAII) for dynamic events
|
||||
//#define QEVT_PAR_INIT
|
||||
|
||||
// <c1>Provide destructors for QP classes
|
||||
// <i>Destructors for classes
|
||||
//#define Q_XTOR
|
||||
// </c>
|
||||
|
||||
// <c1>Active Object stop API (QACTIVE_CAN_STOP)
|
||||
@ -184,10 +188,10 @@
|
||||
//..........................................................................
|
||||
// <h>QS Software Tracing
|
||||
// <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
|
||||
// <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>Typically, Q_SPY is defined only in the "spy" build configuration.
|
||||
|
||||
@ -199,22 +203,6 @@
|
||||
// <i>Default: 4 (2^32 dynamic range)
|
||||
#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)
|
||||
// <1U=>1
|
||||
// <2U=>2 (default)
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
//============================================================================
|
||||
// QP configuration file (QV on ARM Cortex-M)
|
||||
// Last updated for version: 7.3.0
|
||||
// Last updated on: 2023-10-30
|
||||
// Last updated for version: 7.4.0
|
||||
// Last updated on: 2024-06-06
|
||||
//
|
||||
// Q u a n t u m L e a P s
|
||||
// ------------------------
|
||||
@ -129,9 +129,13 @@
|
||||
// <i>Default: 1
|
||||
#define QF_MAX_TICK_RATE 1U
|
||||
|
||||
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR)
|
||||
// <i>Dynamic Event Constructor (RAII)
|
||||
//#define QEVT_DYN_CTOR
|
||||
// <c1>Event parameter initialization (QEVT_PAR_INIT)
|
||||
// <i>Resource Acquisition Is Initialization (RAII) for dynamic events
|
||||
//#define QEVT_PAR_INIT
|
||||
|
||||
// <c1>Provide destructors for QP classes
|
||||
// <i>Destructors for classes
|
||||
//#define Q_XTOR
|
||||
// </c>
|
||||
|
||||
// <c1>Active Object stop API (QACTIVE_CAN_STOP)
|
||||
@ -184,10 +188,10 @@
|
||||
//..........................................................................
|
||||
// <h>QS Software Tracing
|
||||
// <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
|
||||
// <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>Typically, Q_SPY is defined only in the "spy" build configuration.
|
||||
|
||||
@ -199,22 +203,6 @@
|
||||
// <i>Default: 4 (2^32 dynamic range)
|
||||
#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)
|
||||
// <1U=>1
|
||||
// <2U=>2 (default)
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
//============================================================================
|
||||
// QP configuration file (QXK on ARM Cortex-M)
|
||||
// Last updated for version: 7.3.0
|
||||
// Last updated on: 2023-10-30
|
||||
// Last updated for version: 7.4.0
|
||||
// Last updated on: 2024-06-06
|
||||
//
|
||||
// Q u a n t u m L e a P s
|
||||
// ------------------------
|
||||
@ -129,9 +129,13 @@
|
||||
// <i>Default: 1
|
||||
#define QF_MAX_TICK_RATE 1U
|
||||
|
||||
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR)
|
||||
// <i>Dynamic Event Constructor (RAII)
|
||||
//#define QEVT_DYN_CTOR
|
||||
// <c1>Event parameter initialization (QEVT_PAR_INIT)
|
||||
// <i>Resource Acquisition Is Initialization (RAII) for dynamic events
|
||||
//#define QEVT_PAR_INIT
|
||||
|
||||
// <c1>Provide destructors for QP classes
|
||||
// <i>Destructors for classes
|
||||
//#define Q_XTOR
|
||||
// </c>
|
||||
|
||||
// <c1>Active Object stop API (QACTIVE_CAN_STOP)
|
||||
@ -184,10 +188,10 @@
|
||||
//..........................................................................
|
||||
// <h>QS Software Tracing
|
||||
// <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
|
||||
// <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>Typically, Q_SPY is defined only in the "spy" build configuration.
|
||||
|
||||
@ -199,22 +203,6 @@
|
||||
// <i>Default: 4 (2^32 dynamic range)
|
||||
#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)
|
||||
// <1U=>1
|
||||
// <2U=>2 (default)
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -27,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -50,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -58,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
//============================================================================
|
||||
// QP configuration file (QK on ARM Cortex-R)
|
||||
// Last updated for version: 7.3.0
|
||||
// Last updated on: 2023-10-30
|
||||
// Last updated for version: 7.4.0
|
||||
// Last updated on: 2024-06-06
|
||||
//
|
||||
// Q u a n t u m L e a P s
|
||||
// ------------------------
|
||||
@ -129,9 +129,13 @@
|
||||
// <i>Default: 1
|
||||
#define QF_MAX_TICK_RATE 1U
|
||||
|
||||
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR)
|
||||
// <i>Dynamic Event Constructor (RAII)
|
||||
//#define QEVT_DYN_CTOR
|
||||
// <c1>Event parameter initialization (QEVT_PAR_INIT)
|
||||
// <i>Resource Acquisition Is Initialization (RAII) for dynamic events
|
||||
//#define QEVT_PAR_INIT
|
||||
|
||||
// <c1>Provide destructors for QP classes
|
||||
// <i>Destructors for classes
|
||||
//#define Q_XTOR
|
||||
// </c>
|
||||
|
||||
// <c1>Active Object stop API (QACTIVE_CAN_STOP)
|
||||
@ -184,10 +188,10 @@
|
||||
//..........................................................................
|
||||
// <h>QS Software Tracing
|
||||
// <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
|
||||
// <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>Typically, Q_SPY is defined only in the "spy" build configuration.
|
||||
|
||||
@ -199,22 +203,6 @@
|
||||
// <i>Default: 4 (2^32 dynamic range)
|
||||
#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)
|
||||
// <1U=>1
|
||||
// <2U=>2 (default)
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
//============================================================================
|
||||
// QP configuration file (generic)
|
||||
// Last updated for version: 7.3.0
|
||||
// Last updated on: 2023-10-30
|
||||
// Last updated for version: 7.4.0
|
||||
// Last updated on: 2024-06-06
|
||||
//
|
||||
// Q u a n t u m L e a P s
|
||||
// ------------------------
|
||||
@ -129,9 +129,13 @@
|
||||
// <i>Default: 1
|
||||
#define QF_MAX_TICK_RATE 1U
|
||||
|
||||
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR)
|
||||
// <i>Dynamic Event Constructor (RAII)
|
||||
//#define QEVT_DYN_CTOR
|
||||
// <c1>Event parameter initialization (QEVT_PAR_INIT)
|
||||
// <i>Resource Acquisition Is Initialization (RAII) for dynamic events
|
||||
//#define QEVT_PAR_INIT
|
||||
|
||||
// <c1>Provide destructors for QP classes
|
||||
// <i>Destructors for classes
|
||||
//#define Q_XTOR
|
||||
// </c>
|
||||
|
||||
// <c1>Active Object stop API (QACTIVE_CAN_STOP)
|
||||
@ -184,10 +188,10 @@
|
||||
//..........................................................................
|
||||
// <h>QS Software Tracing
|
||||
// <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
|
||||
// <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>Typically, Q_SPY is defined only in the "spy" build configuration.
|
||||
|
||||
@ -199,22 +203,6 @@
|
||||
// <i>Default: 4 (2^32 dynamic range)
|
||||
#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)
|
||||
// <1U=>1
|
||||
// <2U=>2 (default)
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
//============================================================================
|
||||
// QP configuration file (generic)
|
||||
// Last updated for version: 7.3.0
|
||||
// Last updated on: 2023-10-30
|
||||
// Last updated for version: 7.4.0
|
||||
// Last updated on: 2024-06-06
|
||||
//
|
||||
// Q u a n t u m L e a P s
|
||||
// ------------------------
|
||||
@ -129,10 +129,9 @@
|
||||
// <i>Default: 1
|
||||
#define QF_MAX_TICK_RATE 1U
|
||||
|
||||
// <c1>Dynamic Event Constructor (QEVT_DYN_CTOR)
|
||||
// <i>Dynamic Event Constructor (RAII)
|
||||
//#define QEVT_DYN_CTOR
|
||||
// </c>
|
||||
// <c1>Event parameter initialization (QEVT_PAR_INIT)
|
||||
// <i>Resource Acquisition Is Initialization (RAII) for dynamic events
|
||||
//#define QEVT_PAR_INIT
|
||||
|
||||
// <c1>Provide destructors for QP classes
|
||||
// <i>Destructors for classes
|
||||
@ -189,10 +188,10 @@
|
||||
//..........................................................................
|
||||
// <h>QS Software Tracing
|
||||
// <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
|
||||
// <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>Typically, Q_SPY is defined only in the "spy" build configuration.
|
||||
|
||||
@ -204,22 +203,6 @@
|
||||
// <i>Default: 4 (2^32 dynamic range)
|
||||
#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)
|
||||
// <1U=>1
|
||||
// <2U=>2 (default)
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,8 +27,8 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
@ -31,9 +36,6 @@
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,12 +47,11 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
#ifndef QP_PORT_H_
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-29
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -41,11 +43,11 @@
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,21 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-17
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @description
|
||||
//! This is an example QP/C++ port with the documentation for the main
|
||||
//! items, such as configuration macros, functions, and includes.
|
||||
//! @brief QS/C++ port to a 16-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 2U
|
||||
|
||||
@ -44,11 +43,11 @@
|
||||
#define QS_FUN_PTR_SIZE 2U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,36 +27,27 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-17
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @description
|
||||
//! This is an example QP/C++ port with the documentation for the main
|
||||
//! items, such as configuration macros, functions, and includes.
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
//! QS buffer counter size in bytes
|
||||
#define QS_CTR_SIZE 2U
|
||||
|
||||
//! 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
|
||||
|
||||
//! function pointer size in bytes
|
||||
// function pointer size in bytes
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,21 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-17
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @description
|
||||
//! This is an example QP/C++ port with the documentation for the main
|
||||
//! items, such as configuration macros, functions, and includes.
|
||||
//! @brief QS/C++ port to a 16-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 2U
|
||||
|
||||
@ -44,11 +43,11 @@
|
||||
#define QS_FUN_PTR_SIZE 2U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,36 +27,27 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-17
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//! @description
|
||||
//! This is an example QP/C++ port with the documentation for the main
|
||||
//! items, such as configuration macros, functions, and includes.
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
//! QS buffer counter size in bytes
|
||||
#define QS_CTR_SIZE 2U
|
||||
|
||||
//! 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
|
||||
|
||||
//! function pointer size in bytes
|
||||
// function pointer size in bytes
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,30 +27,27 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 16-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
#define QS_OBJ_PTR_SIZE 2U
|
||||
|
||||
// function pointer size in bytes
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
#define QS_FUN_PTR_SIZE 2U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,30 +27,27 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 16-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
#define QS_OBJ_PTR_SIZE 2U
|
||||
|
||||
// function pointer size in bytes
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
#define QS_FUN_PTR_SIZE 2U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,30 +27,27 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port, generic C++ compiler
|
||||
//! @brief QS/C++ port to a 16-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
#define QS_OBJ_PTR_SIZE 2U
|
||||
|
||||
// function pointer size in bytes
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
#define QS_FUN_PTR_SIZE 2U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,8 +27,8 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
@ -31,9 +36,6 @@
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,30 +27,27 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-09-03
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++ compiler
|
||||
//!
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
// function pointer size in bytes
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
#define QS_FUN_PTR_SIZE 4U
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,8 +27,8 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
@ -31,9 +36,6 @@
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,7 +47,7 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -53,4 +55,3 @@
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-21
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to POIX
|
||||
//! @brief QS/C++ port to POSIX/Win32
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
#define QS_CTR_SIZE 4U
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(_LP64) // 64-bit OS?
|
||||
#define QS_OBJ_PTR_SIZE 8U
|
||||
#define QS_FUN_PTR_SIZE 8U
|
||||
@ -48,11 +50,11 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-20
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to POIX
|
||||
//! @brief QS/C++ port to POSIX/Win32
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
#define QS_CTR_SIZE 4U
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(_LP64) // 64-bit OS?
|
||||
#define QS_OBJ_PTR_SIZE 8U
|
||||
#define QS_FUN_PTR_SIZE 8U
|
||||
@ -48,11 +50,11 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-20
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to POIX
|
||||
//! @brief QS/C++ port to POSIX/Win32
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
#define QS_CTR_SIZE 4U
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(_LP64) // 64-bit OS?
|
||||
#define QS_OBJ_PTR_SIZE 8U
|
||||
#define QS_FUN_PTR_SIZE 8U
|
||||
@ -48,11 +50,11 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,8 +27,8 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
@ -31,9 +36,6 @@
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,12 +47,11 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
#ifndef QP_PORT_H_
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,8 +27,8 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-16
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to a 32-bit CPU, generic C++11 compiler
|
||||
@ -31,9 +36,6 @@
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
// QS time-stamp size in bytes
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
// object pointer size in bytes
|
||||
#define QS_OBJ_PTR_SIZE 4U
|
||||
|
||||
@ -45,12 +47,11 @@
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
//*before* "qs.hpp".
|
||||
#ifndef QP_PORT_H_
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-18
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to Win32
|
||||
//! @brief QS/C++ port to POSIX/Win32
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
#define QS_CTR_SIZE 4U
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(_LP64) // 64-bit OS?
|
||||
#define QS_OBJ_PTR_SIZE 8U
|
||||
#define QS_FUN_PTR_SIZE 8U
|
||||
@ -48,11 +50,11 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -60,4 +62,3 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-18
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to Win32
|
||||
//! @brief QS/C++ port to POSIX/Win32
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
#define QS_CTR_SIZE 4U
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(_LP64) // 64-bit OS?
|
||||
#define QS_OBJ_PTR_SIZE 8U
|
||||
#define QS_FUN_PTR_SIZE 8U
|
||||
@ -48,11 +50,11 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -60,4 +62,3 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
//============================================================================
|
||||
// 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.
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-QL-commercial
|
||||
@ -22,18 +27,15 @@
|
||||
// <www.state-machine.com>
|
||||
// <info@state-machine.com>
|
||||
//============================================================================
|
||||
//! @date Last updated on: 2023-08-18
|
||||
//! @version Last updated for: @ref qpcpp_7_3_0
|
||||
//! @date Last updated on: 2024-06-06
|
||||
//! @version Last updated for: @ref qpcpp_7_4_0
|
||||
//!
|
||||
//! @file
|
||||
//! @brief QS/C++ port to Win32
|
||||
//! @brief QS/C++ port to POSIX/Win32
|
||||
|
||||
#ifndef QS_PORT_HPP_
|
||||
#define QS_PORT_HPP_
|
||||
|
||||
#define QS_CTR_SIZE 4U
|
||||
#define QS_TIME_SIZE 4U
|
||||
|
||||
#if defined(_WIN64) || defined(__LP64__) || defined(_LP64) // 64-bit OS?
|
||||
#define QS_OBJ_PTR_SIZE 8U
|
||||
#define QS_FUN_PTR_SIZE 8U
|
||||
@ -48,11 +50,11 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// NOTE: QS might be used with or without other QP components, in which case
|
||||
// the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp" *before* "qs.hpp".
|
||||
//
|
||||
// NOTE: QS might be used with or without other QP components, in which
|
||||
// case the separate definitions of the macros QF_CRIT_STAT, QF_CRIT_ENTRY(),
|
||||
// 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.hpp"
|
||||
// *before* "qs.hpp".
|
||||
#ifndef QP_PORT_HPP_
|
||||
#include "qp_port.hpp" // use QS with QP
|
||||
#endif
|
||||
@ -60,4 +62,3 @@ void QS_rx_input(void); // handle the QS-RX input
|
||||
#include "qs.hpp" // QS platform-independent public interface
|
||||
|
||||
#endif // QS_PORT_HPP_
|
||||
|
||||
|
86
qpcpp.md5
86
qpcpp.md5
@ -1,10 +1,10 @@
|
||||
0c7051849804080425142a71b1e9b13b *qpcpp.qm
|
||||
ace44a87357f68f4c7de6b1a680b0933 *qpcpp.qm
|
||||
2c7717f261e842ae0449a321d3c50f3e *include/qequeue.hpp
|
||||
fe1ff6084ff592ca8d14a6efffec296c *include/qk.hpp
|
||||
0cf7c36bbbca2e0ebfe61347e9e572e5 *include/qmpool.hpp
|
||||
1290aa2707d23ea765a131a4c30d7ce9 *include/qp.hpp
|
||||
c53660e6bdc9a4a449b67238a3cab402 *include/qp.hpp
|
||||
61c7a3aa8cb265f478915f39b7fae9cc *include/qp_pkg.hpp
|
||||
81e2fed348f03200d00b4d7c4473826f *include/qpcpp.hpp
|
||||
5fd2515efbc5c06e02bb1a4200490b58 *include/qpcpp.hpp
|
||||
be2da5d56117fd172f12c8b6589f6402 *include/qs.hpp
|
||||
d59808009be96849963572ffcbf9dceb *include/qs_dummy.hpp
|
||||
db4013ceefb33498f5d38e15d0cb9323 *include/qs_pkg.hpp
|
||||
@ -18,11 +18,11 @@ dec4234285d4efd40b3ae6f680bc7179 *src/qf/qep_msm.cpp
|
||||
8b5c1ece58069ed5582864fd2dc58167 *src/qf/qf_act.cpp
|
||||
eba1e6d624f4b1c7c82b2f98ef3e9198 *src/qf/qf_actq.cpp
|
||||
39b02b596faa57abfa96b0f7c3f7fb82 *src/qf/qf_defer.cpp
|
||||
7b797a3a69836d0aba3c600130606f01 *src/qf/qf_dyn.cpp
|
||||
f23875214b4c4c905bdb0567d900b36b *src/qf/qf_mem.cpp
|
||||
706becce3359b5dd6277c127b4132e04 *src/qf/qf_dyn.cpp
|
||||
83d38b1377e52db75950f1a4d4b47e8a *src/qf/qf_mem.cpp
|
||||
37cfa5b9419f1e00608267ff29fbc1a8 *src/qf/qf_ps.cpp
|
||||
19cf8976578a43e93bfbb51dbe932b6c *src/qf/qf_qact.cpp
|
||||
46f954811c55e933e016bb36ab22adcd *src/qf/qf_qeq.cpp
|
||||
b59c6108ccab5975b9f9303d4058acdb *src/qf/qf_qeq.cpp
|
||||
816dc7182f4014539f6f5304782ddb7b *src/qf/qf_qmact.cpp
|
||||
c551aafbf9ecba93cfdb12f81fbfba61 *src/qf/qf_time.cpp
|
||||
4dc7ca60248f4c13034e6f2481c7663d *src/qk/CMakeLists.txt
|
||||
@ -50,80 +50,80 @@ ede719cdbc201d14586a3f11e77ced26 *ports/lint-plus/au-ql-cpp11.lnt
|
||||
5f789348dba099c2055f737ba756faac *ports/lint-plus/std.lnt
|
||||
1f3d9dfbf71077abbdb9f27c96879101 *ports/arm-cm/qk/armclang/qk_port.cpp
|
||||
aba379ac6a39b1f21057bed8156f0516 *ports/arm-cm/qk/armclang/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qk/armclang/qs_port.hpp
|
||||
c2f71cb14dd220d5f06fd915174f6c75 *ports/arm-cm/qk/config/qp_config.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qk/armclang/qs_port.hpp
|
||||
da7e124adad7bbfb1f2f970d13a5d5f1 *ports/arm-cm/qk/config/qp_config.hpp
|
||||
ef801586265ec37c619a8fe9868220d8 *ports/arm-cm/qk/gnu/qk_port.cpp
|
||||
c6227ba01b71184c9e03ee6c8137ffc2 *ports/arm-cm/qk/gnu/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qk/gnu/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qk/gnu/qs_port.hpp
|
||||
01fd92d735fe42035f26eccc0ba83d4b *ports/arm-cm/qk/iar/qk_port.cpp
|
||||
98e1649f0c8fb4efc200767a32514ea4 *ports/arm-cm/qk/iar/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qk/iar/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qk/iar/qs_port.hpp
|
||||
1b7ab4c3d54bd187f07b7f24527f95d8 *ports/arm-cm/qv/armclang/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qv/armclang/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qv/armclang/qs_port.hpp
|
||||
2edb1e42edf2d7fce80120a780396f5a *ports/arm-cm/qv/armclang/qv_port.cpp
|
||||
36821742fd954c214c5675a44b98e8bd *ports/arm-cm/qv/config/qp_config.hpp
|
||||
2ac68f3f51ff26608df023c17c6c3265 *ports/arm-cm/qv/config/qp_config.hpp
|
||||
03aa01a02561593169bfb4b563c7fc29 *ports/arm-cm/qv/gnu/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qv/gnu/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qv/gnu/qs_port.hpp
|
||||
57ae9990dab9cbab2b2c4234fdab42d0 *ports/arm-cm/qv/gnu/qv_port.cpp
|
||||
342f4a28c22e1d092b135636456b6400 *ports/arm-cm/qv/iar/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qv/iar/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qv/iar/qs_port.hpp
|
||||
fed596b153b928c8631e2712361049af *ports/arm-cm/qv/iar/qv_port.cpp
|
||||
fbab3cb88a019df3a12ee56a4a6f90b2 *ports/arm-cm/qxk/armclang/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qxk/armclang/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qxk/armclang/qs_port.hpp
|
||||
3e6878ba5e8df9ed733edf9f2da2ae9e *ports/arm-cm/qxk/armclang/qxk_port.cpp
|
||||
e219623c0ac1ee0fcb24d9b2245e406e *ports/arm-cm/qxk/config/qp_config.hpp
|
||||
f96ba44c9c5d16e5a12c70f4b9a91228 *ports/arm-cm/qxk/config/qp_config.hpp
|
||||
246d7b72e2f0c1e3ba6e699740dbe390 *ports/arm-cm/qxk/gnu/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qxk/gnu/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qxk/gnu/qs_port.hpp
|
||||
f12841a5d59075aa3e1e9cfb683c4b98 *ports/arm-cm/qxk/gnu/qxk_port.cpp
|
||||
55b897c657e225d775cf6121d6278585 *ports/arm-cm/qxk/iar/qp_port.hpp
|
||||
91a3b66c3f12a98bef48b00640ed5e6d *ports/arm-cm/qxk/iar/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qxk/iar/qs_port.hpp
|
||||
bcb7406483cc9280c2b05113f6078cb6 *ports/arm-cm/qxk/iar/qxk_port.cpp
|
||||
0f3ac7def7c330e85912d95527c94ebc *ports/arm-cm/qutest/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cm/qutest/qs_port.hpp
|
||||
a595b03768298546cd9dff7f4e8876f7 *ports/arm-cr/qk/config/qp_config.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cm/qutest/qs_port.hpp
|
||||
0b1aa9a3a51511f60cb9c94fd467d42a *ports/arm-cr/qk/config/qp_config.hpp
|
||||
0d2162273e16e4d6ad3e71b19ec7ca45 *ports/arm-cr/qk/gnu/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cr/qk/gnu/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cr/qk/gnu/qs_port.hpp
|
||||
b752ce288855bf410176fa39a6dffb27 *ports/arm-cr/qk/iar/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cr/qk/iar/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cr/qk/iar/qs_port.hpp
|
||||
8dc7c7e3e4c9d65299030b2769381f1a *ports/arm-cr/qk/ti/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cr/qk/ti/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cr/qk/ti/qs_port.hpp
|
||||
a2b9a032a510488006b8ad612e061fc6 *ports/arm-cr/qv/gnu/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cr/qv/gnu/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cr/qv/gnu/qs_port.hpp
|
||||
526e806ca856fef6f16e44a58ab3d89d *ports/arm-cr/qv/iar/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cr/qv/iar/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cr/qv/iar/qs_port.hpp
|
||||
0b426a92acaee631bad6c87e6623612a *ports/arm-cr/qv/ti/qp_port.hpp
|
||||
4c0ab6f6ad804f0bd70f146d53a1d197 *ports/arm-cr/qv/ti/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/arm-cr/qv/ti/qs_port.hpp
|
||||
3dc3f0903feca56ec1075f412a33ce93 *ports/msp430/qk/qp_port.hpp
|
||||
4298e1795a43964162145ce02971f27a *ports/msp430/qk/qs_port.hpp
|
||||
9fe0bc88c876080155359beef966d20e *ports/msp430/qk/qs_port.hpp
|
||||
4bbd4f9996670ccabb7da4a47bad6c20 *ports/msp430/qv/qp_port.hpp
|
||||
4298e1795a43964162145ce02971f27a *ports/msp430/qv/qs_port.hpp
|
||||
9fe0bc88c876080155359beef966d20e *ports/msp430/qv/qs_port.hpp
|
||||
e263c1dff4c90e29da7250e9581872bc *ports/msp430/qutest/qp_port.hpp
|
||||
4298e1795a43964162145ce02971f27a *ports/msp430/qutest/qs_port.hpp
|
||||
9fe0bc88c876080155359beef966d20e *ports/msp430/qutest/qs_port.hpp
|
||||
93766c6a0c4b71d4ab3325448f2123c1 *ports/pic32/qk/xc32/qk_port.cpp
|
||||
77dc85dd965856b92713b053a9e5456c *ports/pic32/qk/xc32/qp_port.hpp
|
||||
593f647601a840935442920b371cbb8f *ports/pic32/qk/xc32/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/pic32/qk/xc32/qs_port.hpp
|
||||
c40714b55d55e955163ba501bc76486b *ports/pic32/qv/xc32/qp_port.hpp
|
||||
593f647601a840935442920b371cbb8f *ports/pic32/qv/xc32/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/pic32/qv/xc32/qs_port.hpp
|
||||
f06c0d53c5c9918f08e99e01e20af046 *ports/pic32/qutest/xc32/qp_port.hpp
|
||||
8769dc506ab52067b0a374e5765525d3 *ports/pic32/qutest/xc32/qs_port.hpp
|
||||
77ee959e7ece547ca6d15ba753af987f *ports/config/qp_config.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/pic32/qutest/xc32/qs_port.hpp
|
||||
bbfb2c7c7901538009f523b4837501cd *ports/config/qp_config.hpp
|
||||
906dd67f13bf4cdfb83afc1c59c57ed2 *ports/embos/CMakeLists.txt
|
||||
c3bf7454d756ae63ee0b69fb9671478f *ports/embos/qf_port.cpp
|
||||
0d7461d523df40ff7e33b0be5ae47048 *ports/embos/qp_port.hpp
|
||||
5f098b1f50529ede0aff7e065d1234ef *ports/embos/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/embos/qs_port.hpp
|
||||
bb18f0378bf49ece5551b7631efc3229 *ports/freertos/CMakeLists.txt
|
||||
ce95f7bb92b80a759a69db63a535df80 *ports/freertos/qf_port.cpp
|
||||
0c444889e3db0ba221db1421d7a48d64 *ports/freertos/qp_port.hpp
|
||||
f1d2ad95d14899edf65a236f1df4cfce *ports/freertos/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/freertos/qs_port.hpp
|
||||
75e3906b6c068c7b59cf0c9a7a3c7454 *ports/threadx/CMakeLists.txt
|
||||
79cdcd34a0393f77edee99ceb53709a5 *ports/threadx/qf_port.cpp
|
||||
50f5bd76fc61e90edb546f2e11fc39e8 *ports/threadx/qp_port.hpp
|
||||
5f098b1f50529ede0aff7e065d1234ef *ports/threadx/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/threadx/qs_port.hpp
|
||||
23b496a982c574af2a47d01eb79e47f2 *ports/threadx/README.md
|
||||
ae8b2f8b0649c8dfacbf6495fa560ad8 *ports/uc-os2/CMakeLists.txt
|
||||
297438508fad9376be5cc20642b9bc80 *ports/uc-os2/qf_port.cpp
|
||||
f3c0b50eb1d3db891235d862dc398c18 *ports/uc-os2/qp_port.hpp
|
||||
5f098b1f50529ede0aff7e065d1234ef *ports/uc-os2/qs_port.hpp
|
||||
41482d0d440eee366e7b4814c6d10235 *ports/uc-os2/qs_port.hpp
|
||||
bb83d2a07ba0eb25a09bd64da602e3fa *ports/qep-only/CMakeLists.txt
|
||||
ec8563c61bcb8cb4682b7bc4ffc67d0a *ports/qep-only/qp_port.hpp
|
||||
7955fc33c291eb6b8ebabaae0d6bd0da *ports/qep-only/safe_std.h
|
||||
@ -131,19 +131,19 @@ a29450c971859f6191f37c937b012eae *ports/posix/CMakeLists.txt
|
||||
a78cc40df8e511983e4f51b5233345d9 *ports/posix/qf_port.cpp
|
||||
52e4d5e5d1113a3a0831aac6a44a3d21 *ports/posix/qp_port.hpp
|
||||
ae25ce9cf24260ec8affa08170f9d15a *ports/posix/qs_port.cpp
|
||||
dab4a85af98e1c67aa8de87b22e048c1 *ports/posix/qs_port.hpp
|
||||
91e88a47256436209fc651881283230d *ports/posix/qs_port.hpp
|
||||
f45c6f63edac95fd0b5d9cbeaa1f3926 *ports/posix/README.md
|
||||
7955fc33c291eb6b8ebabaae0d6bd0da *ports/posix/safe_std.h
|
||||
bbfb6bd8a58a8d5591f61b05b460cec5 *ports/posix-qv/CMakeLists.txt
|
||||
3d1f2fa3662328387bbfa4cb974a7017 *ports/posix-qv/qf_port.cpp
|
||||
221db06f9b4381533c738f1ca177f8cf *ports/posix-qv/qp_port.hpp
|
||||
ae25ce9cf24260ec8affa08170f9d15a *ports/posix-qv/qs_port.cpp
|
||||
dab4a85af98e1c67aa8de87b22e048c1 *ports/posix-qv/qs_port.hpp
|
||||
91e88a47256436209fc651881283230d *ports/posix-qv/qs_port.hpp
|
||||
72ee0355e2e9b6bd2a1e4c32480f361a *ports/posix-qv/README.md
|
||||
7955fc33c291eb6b8ebabaae0d6bd0da *ports/posix-qv/safe_std.h
|
||||
2171085568a15c190c72b106ea3c11b6 *ports/posix-qutest/CMakeLists.txt
|
||||
bc92f9570cafbe645318e54af34933e9 *ports/posix-qutest/qp_port.hpp
|
||||
e898e8f446a8fcfd84b5092144b21ef3 *ports/posix-qutest/qs_port.hpp
|
||||
91e88a47256436209fc651881283230d *ports/posix-qutest/qs_port.hpp
|
||||
2b993b3de35967e54388740f67d4be2c *ports/posix-qutest/qutest_port.cpp
|
||||
0ac7e3d28e684d07baacdcd0d3e65c4a *ports/posix-qutest/README.md
|
||||
7955fc33c291eb6b8ebabaae0d6bd0da *ports/posix-qutest/safe_std.h
|
||||
@ -151,7 +151,7 @@ e898e8f446a8fcfd84b5092144b21ef3 *ports/posix-qutest/qs_port.hpp
|
||||
b98e9825ffcbd8178145207316bf7910 *ports/win32/qf_port.cpp
|
||||
fc5a9085222501f994b6d517d6624a52 *ports/win32/qp_port.hpp
|
||||
b53aafe66b369a2e54344c792e481c1c *ports/win32/qs_port.cpp
|
||||
7fb4d8aa04a203af95a365f6a56f89b3 *ports/win32/qs_port.hpp
|
||||
91e88a47256436209fc651881283230d *ports/win32/qs_port.hpp
|
||||
a1c6143aa627599750360c58f4740129 *ports/win32/qwin_gui.c
|
||||
64172552524a5e6449168adedfd858b0 *ports/win32/qwin_gui.h
|
||||
84d25d92b6521b22736719d3ed33c289 *ports/win32/README.md
|
||||
@ -160,14 +160,14 @@ a1c6143aa627599750360c58f4740129 *ports/win32/qwin_gui.c
|
||||
7145fb32942db86db0dd6e7f090705a7 *ports/win32-qv/qf_port.cpp
|
||||
38fbe14322593c37bdfe39c121e058fb *ports/win32-qv/qp_port.hpp
|
||||
b53aafe66b369a2e54344c792e481c1c *ports/win32-qv/qs_port.cpp
|
||||
7fb4d8aa04a203af95a365f6a56f89b3 *ports/win32-qv/qs_port.hpp
|
||||
91e88a47256436209fc651881283230d *ports/win32-qv/qs_port.hpp
|
||||
a1c6143aa627599750360c58f4740129 *ports/win32-qv/qwin_gui.c
|
||||
64172552524a5e6449168adedfd858b0 *ports/win32-qv/qwin_gui.h
|
||||
4b910f53af0a91e12da39391840e396d *ports/win32-qv/README.md
|
||||
7955fc33c291eb6b8ebabaae0d6bd0da *ports/win32-qv/safe_std.h
|
||||
3d3f6d71f8afe29ec99b50b17fa84b65 *ports/win32-qutest/CMakeLists.txt
|
||||
c7cac095c6af24752bb87d63aba5beaf *ports/win32-qutest/qp_port.hpp
|
||||
7fb4d8aa04a203af95a365f6a56f89b3 *ports/win32-qutest/qs_port.hpp
|
||||
91e88a47256436209fc651881283230d *ports/win32-qutest/qs_port.hpp
|
||||
c6f58183235c7dd685200b38808de610 *ports/win32-qutest/qutest_port.cpp
|
||||
7955fc33c291eb6b8ebabaae0d6bd0da *ports/win32-qutest/safe_std.h
|
||||
1595522f609b1198a88aff4523334557 *zephyr/CMakeLists.txt
|
||||
|
116
qpcpp.qm
116
qpcpp.qm
@ -76,16 +76,9 @@ Contact information:
|
||||
<code> {0xE0U};</code>
|
||||
</attribute>
|
||||
<!--${QEP::QEvt::DynEvt}-->
|
||||
<attribute name="DynEvt?def QEVT_DYN_CTOR" type="enum" visibility="0x04" properties="0x00">
|
||||
<attribute name="DynEvt" type="enum" visibility="0x04" properties="0x00">
|
||||
<code>: std::uint8_t { DYNAMIC };</code>
|
||||
</attribute>
|
||||
<!--${QEP::QEvt::ctor}-->
|
||||
<operation name="ctor?def QEVT_DYN_CTOR" type="void" visibility="0x00" properties="0x00">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<!--${QEP::QEvt::ctor::dummy}-->
|
||||
<parameter name="dummy" type="DynEvt const"/>
|
||||
<code>Q_UNUSED_PAR(dummy);</code>
|
||||
</operation>
|
||||
<!--${QEP::QEvt::QEvt}-->
|
||||
<operation name="QEvt" type="explicit constexpr" visibility="0x00" properties="0x02">
|
||||
<specifiers>noexcept</specifiers>
|
||||
@ -99,6 +92,19 @@ Contact information:
|
||||
<operation name="QEvt" type="" visibility="0x00" properties="0x00">
|
||||
<specifiers>= delete</specifiers>
|
||||
</operation>
|
||||
<!--${QEP::QEvt::init}-->
|
||||
<operation name="init" type="void" visibility="0x00" properties="0x02">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<code>// no event parameters to initialize</code>
|
||||
</operation>
|
||||
<!--${QEP::QEvt::init}-->
|
||||
<operation name="init" type="void" visibility="0x00" properties="0x02">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<!--${QEP::QEvt::init::dummy}-->
|
||||
<parameter name="dummy" type="DynEvt const"/>
|
||||
<code>static_cast<void>(dummy);
|
||||
// no event parameters to initialize</code>
|
||||
</operation>
|
||||
<!--${QEP::QEvt::verify_}-->
|
||||
<operation name="verify_" type="bool" visibility="0x00" properties="0x03">
|
||||
<specifiers>noexcept</specifiers>
|
||||
@ -3498,7 +3504,15 @@ QF_CRIT_EXIT();</code>
|
||||
<parameter name="qSto[]" type="QEvt const *"/>
|
||||
<!--${QF::QEQueue::init::qLen}-->
|
||||
<parameter name="qLen" type="std::uint_fast16_t const"/>
|
||||
<code>m_frontEvt = nullptr; // 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 < 0xFFU);
|
||||
#endif
|
||||
|
||||
m_frontEvt = nullptr; // no events in the queue
|
||||
m_ring = &qSto[0];
|
||||
m_end = static_cast<QEQueueCtr>(qLen);
|
||||
if (qLen > 0U) {
|
||||
@ -3506,7 +3520,10 @@ if (qLen > 0U) {
|
||||
m_tail = 0U;
|
||||
}
|
||||
m_nFree = static_cast<QEQueueCtr>(qLen + 1U); //+1 for frontEvt
|
||||
m_nMin = m_nFree;</code>
|
||||
m_nMin = m_nFree;
|
||||
|
||||
QF_MEM_APP();
|
||||
QF_CRIT_EXIT();</code>
|
||||
</operation>
|
||||
<!--${QF::QEQueue::post}-->
|
||||
<operation name="post" type="bool" visibility="0x00" properties="0x00">
|
||||
@ -3793,7 +3810,7 @@ Q_ASSERT_INCRIT(110, poolSize >= m_blockSize);
|
||||
|
||||
// start at the head of the free list
|
||||
QFreeBlock *fb = m_free_head;
|
||||
m_nTot = 1U; // the last block already in the list
|
||||
std::uint32_t nTot = 1U; // the last block already in the list
|
||||
|
||||
// chain all blocks together in a free-list...
|
||||
for (std::uint_fast32_t size = poolSize - m_blockSize;
|
||||
@ -3805,15 +3822,22 @@ for (std::uint_fast32_t size = poolSize - m_blockSize;
|
||||
fb->m_next_dis = ~Q_UINTPTR_CAST_(fb->m_next);
|
||||
#endif
|
||||
fb = fb->m_next; // advance to the next block
|
||||
++m_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->m_next = nullptr; // the last link points to NULL
|
||||
#ifndef Q_UNSAFE
|
||||
fb->m_next_dis = ~Q_UINTPTR_CAST_(fb->m_next);
|
||||
#endif
|
||||
|
||||
fb->m_next = nullptr; // the last link points to NULL
|
||||
m_nTot = static_cast<QMPoolCtr>(nTot);
|
||||
m_nFree = m_nTot; // all blocks are free
|
||||
m_nMin = m_nTot; // the minimum # free blocks
|
||||
m_start = static_cast<QFreeBlock *>(poolSto); // original start
|
||||
@ -4349,42 +4373,26 @@ QF_CRIT_EXIT();
|
||||
gc(evtRef); // recycle the referenced event
|
||||
#endif</code>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::newXfromISR_}-->
|
||||
<operation name="newXfromISR_?def QF_ISR_API" type="QEvt *" visibility="0x00" properties="0x01">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<!--${QF::QF-dyn::newXfromISR_::evtSize}-->
|
||||
<parameter name="evtSize" type="std::uint_fast16_t const"/>
|
||||
<!--${QF::QF-dyn::newXfromISR_::margin}-->
|
||||
<parameter name="margin" type="std::uint_fast16_t const"/>
|
||||
<!--${QF::QF-dyn::newXfromISR_::sig}-->
|
||||
<parameter name="sig" type="enum_t const"/>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::gcFromISR}-->
|
||||
<operation name="gcFromISR?def QF_ISR_API" type="void" visibility="0x00" properties="0x01">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<!--${QF::QF-dyn::gcFromISR::e}-->
|
||||
<parameter name="e" type="QEvt const *"/>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::q_new}-->
|
||||
<operation name="q_new?ndef QEVT_DYN_CTOR" type="template<class evtT_> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<operation name="q_new?ndef QEVT_PAR_INIT" type="template<class evtT_> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<!--${QF::QF-dyn::q_new::sig}-->
|
||||
<parameter name="sig" type="enum_t const"/>
|
||||
<code>return static_cast<evtT_*>(
|
||||
QP::QF::newX_(sizeof(evtT_), QP::QF::NO_MARGIN, sig));</code>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::q_new}-->
|
||||
<operation name="q_new?def QEVT_DYN_CTOR" type="template<class evtT_, typename... Args> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<operation name="q_new?def QEVT_PAR_INIT" type="template<class evtT_, typename... Args> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<!--${QF::QF-dyn::q_new::sig}-->
|
||||
<parameter name="sig" type="enum_t const"/>
|
||||
<!--${QF::QF-dyn::q_new::args}-->
|
||||
<parameter name="args" type="Args..."/>
|
||||
<code>evtT_ *e = static_cast<evtT_*>(
|
||||
QP::QF::newX_(sizeof(evtT_), QP::QF::NO_MARGIN, sig));
|
||||
e->ctor(args...); // e cannot be nullptr
|
||||
e->init(args...); // e cannot be nullptr
|
||||
return e;</code>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::q_new_x}-->
|
||||
<operation name="q_new_x?ndef QEVT_DYN_CTOR" type="template<class evtT_> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<operation name="q_new_x?ndef QEVT_PAR_INIT" type="template<class evtT_> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<!--${QF::QF-dyn::q_new_x::margin}-->
|
||||
<parameter name="margin" type="std::uint_fast16_t const"/>
|
||||
<!--${QF::QF-dyn::q_new_x::sig}-->
|
||||
@ -4392,7 +4400,7 @@ return e;</code>
|
||||
<code>return static_cast<evtT_*>(QP::QF::newX_(sizeof(evtT_), margin, sig));</code>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::q_new_x}-->
|
||||
<operation name="q_new_x?def QEVT_DYN_CTOR" type="template<class evtT_, typename... Args> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<operation name="q_new_x?def QEVT_PAR_INIT" type="template<class evtT_, typename... Args> evtT_ *" visibility="0x00" properties="0x02">
|
||||
<!--${QF::QF-dyn::q_new_x::margin}-->
|
||||
<parameter name="margin" type="std::uint_fast16_t const"/>
|
||||
<!--${QF::QF-dyn::q_new_x::sig}-->
|
||||
@ -4401,7 +4409,7 @@ return e;</code>
|
||||
<parameter name="args" type="Args..."/>
|
||||
<code>evtT_ *e = static_cast<evtT_*>(QP::QF::newX_(sizeof(evtT_), margin, sig));
|
||||
if (e != nullptr) {
|
||||
e->ctor(args...);
|
||||
e->init(args...);
|
||||
}
|
||||
return e;</code>
|
||||
</operation>
|
||||
@ -4420,6 +4428,22 @@ return e;</code>
|
||||
<code>QP::QF::deleteRef_(evtRef);
|
||||
evtRef = nullptr;</code>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::newXfromISR_}-->
|
||||
<operation name="newXfromISR_?def QF_ISR_API" type="QEvt *" visibility="0x00" properties="0x01">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<!--${QF::QF-dyn::newXfromISR_::evtSize}-->
|
||||
<parameter name="evtSize" type="std::uint_fast16_t const"/>
|
||||
<!--${QF::QF-dyn::newXfromISR_::margin}-->
|
||||
<parameter name="margin" type="std::uint_fast16_t const"/>
|
||||
<!--${QF::QF-dyn::newXfromISR_::sig}-->
|
||||
<parameter name="sig" type="enum_t const"/>
|
||||
</operation>
|
||||
<!--${QF::QF-dyn::gcFromISR}-->
|
||||
<operation name="gcFromISR?def QF_ISR_API" type="void" visibility="0x00" properties="0x01">
|
||||
<specifiers>noexcept</specifiers>
|
||||
<!--${QF::QF-dyn::gcFromISR::e}-->
|
||||
<parameter name="e" type="QEvt const *"/>
|
||||
</operation>
|
||||
</package>
|
||||
</package>
|
||||
<!--${QF-extern-C}-->
|
||||
@ -4444,7 +4468,7 @@ evtRef = nullptr;</code>
|
||||
(static_cast<QP::QPrioSpec>((prio_) | (pthre_) << 8U))</code>
|
||||
</operation>
|
||||
<!--${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_}-->
|
||||
<parameter name="evtT_" type="<event class>"/>
|
||||
<!--${QF-macros::Q_NEW::sig_}-->
|
||||
@ -4452,7 +4476,7 @@ evtRef = nullptr;</code>
|
||||
<code>(QP::QF::q_new<evtT_>((sig_)))</code>
|
||||
</operation>
|
||||
<!--${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_}-->
|
||||
<parameter name="evtT_" type="<event class>"/>
|
||||
<!--${QF-macros::Q_NEW::sig_}-->
|
||||
@ -4462,7 +4486,7 @@ evtRef = nullptr;</code>
|
||||
<code>(QP::QF::q_new<evtT_>((sig_), __VA_ARGS__))</code>
|
||||
</operation>
|
||||
<!--${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_}-->
|
||||
<parameter name="evtT_" type="<event class>"/>
|
||||
<!--${QF-macros::Q_NEW_X::margin_}-->
|
||||
@ -4472,7 +4496,7 @@ evtRef = nullptr;</code>
|
||||
<code>(QP::QF::q_new_x<evtT_>((margin_), (sig_)))</code>
|
||||
</operation>
|
||||
<!--${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_}-->
|
||||
<parameter name="evtT_" type="<event class>"/>
|
||||
<!--${QF-macros::Q_NEW_X::margin_}-->
|
||||
@ -8504,9 +8528,9 @@ if (QS_GLB_CHECK_(rec_) && QS_LOC_CHECK_(qsId_)) { \
|
||||
#define QP_HPP_
|
||||
|
||||
//============================================================================
|
||||
#define QP_VERSION_STR "7.3.5-rc.2"
|
||||
#define QP_VERSION 735U
|
||||
#define QP_RELEASE 0x70A1DEF0U
|
||||
#define QP_VERSION_STR "7.4.0-rc.1"
|
||||
#define QP_VERSION 740U
|
||||
#define QP_RELEASE 0x7092C3BBU
|
||||
|
||||
//============================================================================
|
||||
//! @cond INTERNAL
|
||||
@ -9349,7 +9373,12 @@ extern char const BUILD_TIME[9];
|
||||
//============================================================================
|
||||
// QP/C++ 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/AUTOSAR-C++
|
||||
using char_t = char;
|
||||
@ -9746,7 +9775,6 @@ namespace {
|
||||
Q_DEFINE_THIS_MODULE("qf_dyn")
|
||||
} // unnamed namespace
|
||||
|
||||
$define ${QEP::QEvt::ctor}
|
||||
$define ${QF::QF-dyn}
|
||||
|
||||
#endif // (QF_MAX_EPOOL > 0U) mutable events configured</text>
|
||||
|
@ -65,19 +65,6 @@ Q_DEFINE_THIS_MODULE("qf_dyn")
|
||||
#endif
|
||||
//$endskip${QP_VERSION} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
//$define${QEP::QEvt::ctor} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||||
namespace QP {
|
||||
|
||||
//${QEP::QEvt::ctor} .........................................................
|
||||
#ifdef QEVT_DYN_CTOR
|
||||
void QEvt::ctor(DynEvt const dummy) noexcept {
|
||||
Q_UNUSED_PAR(dummy);
|
||||
}
|
||||
|
||||
#endif // def QEVT_DYN_CTOR
|
||||
|
||||
} // namespace QP
|
||||
//$enddef${QEP::QEvt::ctor} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
//$define${QF::QF-dyn} vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||||
namespace QP {
|
||||
namespace QF {
|
||||
|
@ -98,7 +98,7 @@ void QMPool::init(
|
||||
|
||||
// start at the head of the free list
|
||||
QFreeBlock *fb = m_free_head;
|
||||
m_nTot = 1U; // the last block already in the list
|
||||
std::uint32_t nTot = 1U; // the last block already in the list
|
||||
|
||||
// chain all blocks together in a free-list...
|
||||
for (std::uint_fast32_t size = poolSize - m_blockSize;
|
||||
@ -110,15 +110,22 @@ void QMPool::init(
|
||||
fb->m_next_dis = ~Q_UINTPTR_CAST_(fb->m_next);
|
||||
#endif
|
||||
fb = fb->m_next; // advance to the next block
|
||||
++m_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->m_next = nullptr; // the last link points to NULL
|
||||
#ifndef Q_UNSAFE
|
||||
fb->m_next_dis = ~Q_UINTPTR_CAST_(fb->m_next);
|
||||
#endif
|
||||
|
||||
fb->m_next = nullptr; // the last link points to NULL
|
||||
m_nTot = static_cast<QMPoolCtr>(nTot);
|
||||
m_nFree = m_nTot; // all blocks are free
|
||||
m_nMin = m_nTot; // the minimum # free blocks
|
||||
m_start = static_cast<QFreeBlock *>(poolSto); // original start
|
||||
|
@ -73,6 +73,14 @@ void QEQueue::init(
|
||||
QEvt const * qSto[],
|
||||
std::uint_fast16_t const qLen) noexcept
|
||||
{
|
||||
QF_CRIT_STAT
|
||||
QF_CRIT_ENTRY();
|
||||
QF_MEM_SYS();
|
||||
|
||||
#if (QF_EQUEUE_CTR_SIZE == 1U)
|
||||
Q_REQUIRE_INCRIT(100, qLen < 0xFFU);
|
||||
#endif
|
||||
|
||||
m_frontEvt = nullptr; // no events in the queue
|
||||
m_ring = &qSto[0];
|
||||
m_end = static_cast<QEQueueCtr>(qLen);
|
||||
@ -82,6 +90,9 @@ void QEQueue::init(
|
||||
}
|
||||
m_nFree = static_cast<QEQueueCtr>(qLen + 1U); //+1 for frontEvt
|
||||
m_nMin = m_nFree;
|
||||
|
||||
QF_MEM_APP();
|
||||
QF_CRIT_EXIT();
|
||||
}
|
||||
|
||||
//${QF::QEQueue::post} .......................................................
|
||||
|
Loading…
x
Reference in New Issue
Block a user