namespace associated with the QP/C++ framework More...
Data Structures | |
| struct | QEvt |
| QEvt base class. More... | |
| union | QHsmAttr |
| Attribute of for the QHsm class (Hierarchical State Machine). More... | |
| class | QHsm |
| Hierarchical State Machine base class. More... | |
| class | QMsm |
| QM State Machine implementation strategy. More... | |
| struct | QMState |
| State object for the QP::QMsm class (QM State Machine). More... | |
| struct | QMTranActTable |
| Transition-Action Table for the QP::QMsm State Machine. More... | |
| class | QEP |
| Provides miscellaneous QEP services. More... | |
| class | QEQueue |
| Native QF Event Queue class. More... | |
| class | QActive |
| QActive active object (based on QP::QHsm implementation) More... | |
| class | QMActive |
| QMActive active object (based on QP::QMsm implementation) More... | |
| class | QTimeEvt |
| Time Event class. More... | |
| class | QF |
| QF services. More... | |
| class | QTicker |
| Ticker Active Object class. More... | |
| class | QK |
| QK services. More... | |
| class | QMPool |
| Native QF memory pool class. More... | |
| struct | QPSet |
| Priority Set of up to 32 elements */. More... | |
| struct | QSpyId |
| QS ID type for applying local filtering. More... | |
| class | QS |
| QS logging facilities. More... | |
| class | QActiveDummy |
| Dummy Active Object class. More... | |
| class | QV |
| QV services. More... | |
| class | QXK |
| QXK services. More... | |
| class | QXThread |
| Extended (blocking) thread of the QXK preemptive kernel. More... | |
| class | QXSemaphore |
| Counting Semaphore of the QXK preemptive kernel. More... | |
| class | QXMutex |
| Priority Ceiling Mutex the QXK preemptive kernel. More... | |
| struct | QFreeBlock |
| Structure representing a free block in the Native QF Memory Pool. More... | |
| class | QXKIdleThread |
Typedefs | |
| using | QSignal = std::uint16_t |
| QSignal represents the signal of an event. More... | |
| using | QState = std::uint_fast8_t |
| Type returned from state-handler functions. More... | |
| using | QStateHandler = QState(*)(void *const me, QEvt const *const e) |
| Pointer to state-handler function. More... | |
| using | QActionHandler = QState(*)(void *const me) |
| Pointer to an action-handler function. More... | |
| using | QXThreadHandler = void(*)(QXThread *const me) |
| Pointer to a thread-handler function. More... | |
| using | QEQueueCtr = std::uint8_t |
| The data type to store the ring-buffer counters based on the macro QF_EQUEUE_CTR_SIZE. More... | |
| using | QEvtSize = std::uint8_t |
| using | QTimeEvtCtr = std::uint8_t |
| using | QSubscrList = QPSet |
| Subscriber List. More... | |
| using | QSchedStatus = std::uint_fast16_t |
| The scheduler lock status. More... | |
| using | QMPoolSize = std::uint8_t |
| using | QMPoolCtr = std::uint8_t |
| using | QPSetBits = std::uint8_t |
| using | QSTimeCtr = std::uint8_t |
| using | QSCtr = std::uint_fast16_t |
| QS ring buffer counter and offset type. More... | |
Functions | |
| std::uint_fast8_t | QF_LOG2 (QPSetBits x) noexcept |
| void | TEST (char const *title) |
| void | QUIT_fail_ (char const *cond, char const *module, int line) |
| void | onRunTests (void) |
| std::uint8_t | QF_EVT_POOL_ID_ (QEvt const *const e) noexcept |
return the Pool-ID of an event e More... | |
| std::uint8_t | QF_EVT_REF_CTR_ (QEvt const *const e) noexcept |
return the Reference Conter of an event e More... | |
| void | QF_EVT_REF_CTR_INC_ (QEvt const *const e) noexcept |
increment the refCtr_ of an event e More... | |
| void | QF_EVT_REF_CTR_DEC_ (QEvt const *const e) noexcept |
decrement the refCtr_ of an event e More... | |
| static void | initial_events (void) |
| process all events posted during initialization */ More... | |
| void | QS_target_info_ (std::uint8_t const isReset) noexcept |
| send the Target info (object sizes, build time-stamp, QP version) More... | |
| static void | rxParseData_ (std::uint8_t const b) noexcept |
| static void | rxHandleBadFrame_ (std::uint8_t const state) noexcept |
| static void | rxReportAck_ (enum QSpyRxRecords const recId) noexcept |
| static void | rxReportError_ (std::uint8_t const code) noexcept |
| static void | rxReportDone_ (enum QSpyRxRecords const recId) noexcept |
| static void | rxPoke_ (void) noexcept |
| static void | initial_events (void) |
| process all events posted during initialization More... | |
Variables | |
| constexpr char_t const | versionStr [] {QP_VERSION_STR} |
| the current QP version number string based on QP_VERSION_STR More... | |
| constexpr enum_t | Q_USER_SIG {4} |
| Offset or the user signals. More... | |
| std::uint_fast16_t const | QF_NO_MARGIN = 0xFFFFU |
| special value of margin that causes asserting failure in case event allocation or event posting fails More... | |
| constexpr std::uint16_t | QS_EOD = 0xFFFFU |
| Constant representing End-Of-Data condition returned from the QP::QS::getByte() function. More... | |
| constexpr std::uint8_t | QUTEST_ON_POST {124U} |
| std::uint8_t volatile | QF_intNest |
| char const | BUILD_DATE [12] = __DATE__ |
| the calendar date of the last translation of the form: "Mmm dd yyyy" More... | |
| char const | BUILD_TIME [9] = __TIME__ |
| the time of the last translation of the form: "hh:mm:ss" More... | |
| static constexpr std::uint_fast16_t | QXTHREAD_NO_TIMEOUT = 0U |
| no-timeout sepcification when blocking on queues or semaphores More... | |
| static QEvt const | QEP_reservedEvt_ [4] |
| QF_EPOOL_TYPE_ | QF_pool_ [QF_MAX_EPOOL] |
| allocate event pools More... | |
| std::uint_fast8_t | QF_maxPool_ |
| QSubscrList * | QF_subscrList_ |
| the subscriber list array More... | |
| enum_t | QF_maxPubSignal_ |
| the maximum published signal More... | |
| constexpr std::uint8_t | TE_IS_LINKED = 1U << 7U |
| constexpr std::uint8_t | TE_WAS_DISARMED = 1U << 6U |
| constexpr std::uint8_t | TE_TICK_RATE = 0x0FU |
| constexpr std::uint8_t | QS_FRAME = 0x7EU |
| Frame character of the QS output protocol. More... | |
| constexpr std::uint8_t | QS_ESC = 0x7DU |
| Escape character of the QS output protocol. More... | |
| constexpr std::uint8_t | QS_ESC_XOR = 0x20U |
| Escape modifier of the QS output protocol. More... | |
| constexpr std::uint8_t | QS_GOOD_CHKSUM = 0xFFU |
| Escape character of the QS output protocol. More... | |
| QPSet | QV_readySet_ |
| static QXKIdleThread | l_idleThread |
namespace associated with the QP/C++ framework
| union QP::QHsmAttr |
Attribute of for the QHsm class (Hierarchical State Machine).

| Data Fields | ||
|---|---|---|
| QStateHandler | fun | pointer to a state handler function |
| QActionHandler | act | pointer to an action-handler function |
| QXThreadHandler | thr | pointer to an thread-handler function |
| QMState const * | obj | pointer to QMState object |
| QMTranActTable const * | tatbl | transition-action table |
| struct QP::QMState |
State object for the QP::QMsm class (QM State Machine).

| Data Fields | ||
|---|---|---|
| QMState const * | superstate | superstate of this state |
| QStateHandler const | stateHandler | state handler function |
| QActionHandler const | entryAction | entry action handler function |
| QActionHandler const | exitAction | exit action handler function |
| QActionHandler const | initAction | init action handler function |
| struct QP::QMTranActTable |

| Data Fields | ||
|---|---|---|
| QMState const * | target | |
| QActionHandler const | act[1] | |
| struct QP::QFreeBlock |
Structure representing a free block in the Native QF Memory Pool.
Definition at line 122 of file qf_pkg.hpp.

| Data Fields | ||
|---|---|---|
| QFreeBlock *volatile | m_next | link to the next free block |
| using QSignal = std::uint16_t |
QSignal represents the signal of an event.
| using QState = std::uint_fast8_t |
| using QStateHandler = QState (*)(void * const me, QEvt const * const e) |
| using QActionHandler = QState (*)(void * const me) |
| using QXThreadHandler = void (*)(QXThread * const me) |
| using QEQueueCtr = std::uint8_t |
The data type to store the ring-buffer counters based on the macro QF_EQUEUE_CTR_SIZE.
Definition at line 72 of file qequeue.hpp.
| using QEvtSize = std::uint8_t |
| using QTimeEvtCtr = std::uint8_t |
| using QSubscrList = QPSet |
| typedef std::uint_fast16_t QSchedStatus |
| using QMPoolSize = std::uint8_t |
Definition at line 56 of file qmpool.hpp.
| using QMPoolCtr = std::uint8_t |
Definition at line 71 of file qmpool.hpp.
| using QPSetBits = std::uint8_t |
| using QSTimeCtr = std::uint8_t |
| using QSCtr = std::uint_fast16_t |
| enum QSpyRecords : std::int8_t |
Quantum Spy record types.
| Enumerator | |
|---|---|
| QS_EMPTY | QS record for cleanly starting a session. |
| QS_QEP_STATE_ENTRY | a state was entered |
| QS_QEP_STATE_EXIT | a state was exited |
| QS_QEP_STATE_INIT | an initial transition was taken in a state |
| QS_QEP_INIT_TRAN | the top-most initial transition was taken |
| QS_QEP_INTERN_TRAN | an internal transition was taken |
| QS_QEP_TRAN | a regular transition was taken |
| QS_QEP_IGNORED | an event was ignored (silently discarded) |
| QS_QEP_DISPATCH | an event was dispatched (begin of RTC step) |
| QS_QEP_UNHANDLED | an event was unhandled due to a guard |
| QS_QF_ACTIVE_DEFER | AO deferred an event. |
| QS_QF_ACTIVE_RECALL | AO recalled an event. |
| QS_QF_ACTIVE_SUBSCRIBE | an AO subscribed to an event |
| QS_QF_ACTIVE_UNSUBSCRIBE | an AO unsubscribed to an event |
| QS_QF_ACTIVE_POST | an event was posted (FIFO) directly to AO |
| QS_QF_ACTIVE_POST_LIFO | an event was posted (LIFO) directly to AO |
| QS_QF_ACTIVE_GET | AO got an event and its queue is not empty. |
| QS_QF_ACTIVE_GET_LAST | AO got an event and its queue is empty. |
| QS_QF_ACTIVE_RECALL_ATTEMPT | AO attempted to recall an event. |
| QS_QF_EQUEUE_POST | an event was posted (FIFO) to a raw queue |
| QS_QF_EQUEUE_POST_LIFO | an event was posted (LIFO) to a raw queue |
| QS_QF_EQUEUE_GET | get an event and queue still not empty |
| QS_QF_EQUEUE_GET_LAST | get the last event from the queue |
| QS_QF_NEW_ATTEMPT | an attempt to allocate an event failed |
| QS_QF_MPOOL_GET | a memory block was removed from memory pool |
| QS_QF_MPOOL_PUT | a memory block was returned to memory pool |
| QS_QF_PUBLISH | an event was published |
| QS_QF_NEW_REF | new event reference was created |
| QS_QF_NEW | new event was created |
| QS_QF_GC_ATTEMPT | garbage collection attempt |
| QS_QF_GC | garbage collection |
| QS_QF_TICK | QP::QF::tickX() was called. |
| QS_QF_TIMEEVT_ARM | a time event was armed |
| QS_QF_TIMEEVT_AUTO_DISARM | a time event expired and was disarmed |
| QS_QF_TIMEEVT_DISARM_ATTEMPT | attempt to disarm a disarmed QTimeEvt |
| QS_QF_TIMEEVT_DISARM | true disarming of an armed time event |
| QS_QF_TIMEEVT_REARM | rearming of a time event |
| QS_QF_TIMEEVT_POST | a time event posted itself directly to an AO |
| QS_QF_DELETE_REF | an event reference is about to be deleted |
| QS_QF_CRIT_ENTRY | critical section was entered |
| QS_QF_CRIT_EXIT | critical section was exited |
| QS_QF_ISR_ENTRY | an ISR was entered |
| QS_QF_ISR_EXIT | an ISR was exited |
| QS_QF_INT_DISABLE | interrupts were disabled |
| QS_QF_INT_ENABLE | interrupts were enabled |
| QS_QF_ACTIVE_POST_ATTEMPT | attempt to post an evt to AO failed |
| QS_QF_EQUEUE_POST_ATTEMPT | attempt to post an evt to QEQueue failed |
| QS_QF_MPOOL_GET_ATTEMPT | attempt to get a memory block failed |
| QS_MUTEX_LOCK | a mutex was locked |
| QS_MUTEX_UNLOCK | a mutex was unlocked |
| QS_SCHED_LOCK | scheduler was locked |
| QS_SCHED_UNLOCK | scheduler was unlocked |
| QS_SCHED_NEXT | scheduler found next task to execute |
| QS_SCHED_IDLE | scheduler became idle |
| QS_SCHED_RESUME | scheduler resumed previous task (not idle) |
| QS_QEP_TRAN_HIST | a tran to history was taken |
| QS_QEP_TRAN_EP | a tran to entry point into a submachine |
| QS_QEP_TRAN_XP | a tran to exit point out of a submachine |
| QS_TEST_PAUSED | test has been paused |
| QS_TEST_PROBE_GET | reports that Test-Probe has been used |
| QS_SIG_DICT | signal dictionary entry |
| QS_OBJ_DICT | object dictionary entry |
| QS_FUN_DICT | function dictionary entry |
| QS_USR_DICT | user QS record dictionary entry |
| QS_TARGET_INFO | reports the Target information |
| QS_TARGET_DONE | reports completion of a user callback |
| QS_RX_STATUS | reports QS data receive status |
| QS_QUERY_DATA | reports the data from "current object" query |
| QS_PEEK_DATA | reports the data from the PEEK query |
| QS_ASSERT_FAIL | assertion failed in the code |
| QS_QF_RUN | QF_run() was entered. |
| QS_RESERVED_71 | |
| QS_RESERVED_72 | |
| QS_RESERVED_73 | |
| QS_RESERVED_74 | |
| QS_RESERVED_75 | |
| QS_RESERVED_76 | |
| QS_RESERVED_77 | |
| QS_RESERVED_78 | |
| QS_RESERVED_79 | |
| QS_RESERVED_80 | |
| QS_RESERVED_81 | |
| QS_RESERVED_82 | |
| QS_RESERVED_83 | |
| QS_RESERVED_84 | |
| QS_RESERVED_85 | |
| QS_RESERVED_86 | |
| QS_RESERVED_87 | |
| QS_RESERVED_88 | |
| QS_RESERVED_89 | |
| QS_RESERVED_90 | |
| QS_RESERVED_91 | |
| QS_RESERVED_92 | |
| QS_RESERVED_93 | |
| QS_RESERVED_94 | |
| QS_RESERVED_95 | |
| QS_RESERVED_96 | |
| QS_RESERVED_97 | |
| QS_RESERVED_98 | |
| QS_RESERVED_99 | |
| QS_USER | the first record available to QS users |
| enum QSpyRecordGroups : std::int16_t |
QS record groups for QS_GLB_FILTER()
| Enumerator | |
|---|---|
| QS_ALL_RECORDS | all QS records |
| QS_SM_RECORDS | State Machine QS records. |
| QS_AO_RECORDS | Active Object QS records. |
| QS_EQ_RECORDS | Event Queues QS records. |
| QS_MP_RECORDS | Memory Pools QS records. |
| QS_TE_RECORDS | Time Events QS records. |
| QS_QF_RECORDS | |
| QS_SC_RECORDS | Scheduler QS records. |
| QS_U0_RECORDS | User Group 100-104 records. |
| QS_U1_RECORDS | User Group 105-109 records. |
| QS_U2_RECORDS | User Group 110-114 records. |
| QS_U3_RECORDS | User Group 115-119 records. |
| QS_U4_RECORDS | User Group 120-124 records. |
| QS_UA_RECORDS | All User records. |
| enum QSpyUserOffsets : std::int16_t |
QS user record group offsets for QS_GLB_FILTER()
| Enumerator | |
|---|---|
| QS_USER0 | offset for User Group 0 |
| QS_USER1 | offset of Group 1 |
| QS_USER2 | offset of Group 2 |
| QS_USER3 | offset of Group 3 |
| QS_USER4 | offset of Group 4 |
| enum QSpyIdOffsets : std::int16_t |
QS ID offsets for QS_LOC_FILTER()
| Enumerator | |
|---|---|
| QS_AO_ID | offset for AO priorities |
| QS_EP_ID | offset for event-pool IDs |
| QS_EQ_ID | offset for event-queue IDs |
| QS_AP_ID | offset for Appl-spec IDs |
| enum QSpyIdGroups : std::int16_t |
QS ID groups for QS_LOC_FILTER()
| Enumerator | |
|---|---|
| QS_ALL_IDS | all QS IDs |
| QS_AO_IDS | AO IDs (priorities) |
| QS_EP_IDS | event-pool IDs |
| QS_EQ_IDS | event-queue IDs |
| QS_AP_IDS | Application-specific IDs. |
| enum QSpyRxRecords : std::uint8_t |
Quantum Spy Receive (RX) record types.
| anonymous enum : QSignal |
| Enumerator | |
|---|---|
| QEP_EMPTY_SIG_ | empty signal for internal use only |
Definition at line 83 of file qep_hsm.cpp.
| enum QXK_Timeouts : std::uint8_t |
timeout signals
| Enumerator | |
|---|---|
| QXK_DELAY_SIG | |
| QXK_QUEUE_SIG | |
| QXK_SEMA_SIG | |
Definition at line 45 of file qxk_pkg.hpp.
|
noexcept |
| void QP::TEST | ( | char const * | title | ) |
| void QP::QUIT_fail_ | ( | char const * | cond, |
| char const * | module, | ||
| int | line | ||
| ) |
| void QP::onRunTests | ( | void | ) |
|
inlinenoexcept |
return the Pool-ID of an event e
Definition at line 140 of file qf_pkg.hpp.
|
inlinenoexcept |
return the Reference Conter of an event e
Definition at line 145 of file qf_pkg.hpp.
|
inlinenoexcept |
increment the refCtr_ of an event e
Definition at line 150 of file qf_pkg.hpp.
|
inlinenoexcept |
decrement the refCtr_ of an event e
Definition at line 155 of file qf_pkg.hpp.
|
static |
|
noexcept |
|
staticnoexcept |
|
staticnoexcept |
|
staticnoexcept |
|
staticnoexcept |
|
staticnoexcept |
|
static |
|
constexpr |
|
constexpr |
| std::uint_fast16_t const QF_NO_MARGIN = 0xFFFFU |
|
constexpr |
Constant representing End-Of-Data condition returned from the QP::QS::getByte() function.
|
constexpr |
| std::uint8_t volatile QF_intNest |
Definition at line 54 of file qutest.cpp.
| char const BUILD_DATE = __DATE__ |
the calendar date of the last translation of the form: "Mmm dd yyyy"
Definition at line 15 of file qstamp.cpp.
| char const BUILD_TIME = __TIME__ |
the time of the last translation of the form: "hh:mm:ss"
Definition at line 18 of file qstamp.cpp.
|
staticconstexpr |
no-timeout sepcification when blocking on queues or semaphores
Definition at line 45 of file qxthread.hpp.
|
static |
Definition at line 94 of file qep_hsm.cpp.
| QF_EPOOL_TYPE_ QF_pool_ |
allocate event pools
Definition at line 54 of file qf_dyn.cpp.
| std::uint_fast8_t QF_maxPool_ |
Definition at line 55 of file qf_dyn.cpp.
| QSubscrList * QF_subscrList_ |
|
constexpr |
Definition at line 132 of file qf_pkg.hpp.
|
constexpr |
Definition at line 133 of file qf_pkg.hpp.
|
constexpr |
Definition at line 134 of file qf_pkg.hpp.
|
constexpr |
Frame character of the QS output protocol.
Definition at line 255 of file qs_pkg.hpp.
|
constexpr |
Escape character of the QS output protocol.
Definition at line 258 of file qs_pkg.hpp.
|
constexpr |
Escape modifier of the QS output protocol.
The escaped byte is XOR-ed with the escape modifier before it is inserted into the QS buffer.
Definition at line 264 of file qs_pkg.hpp.
|
constexpr |
Escape character of the QS output protocol.
Definition at line 267 of file qs_pkg.hpp.
| QPSet QV_readySet_ |
|
static |