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