QP/C++  7.0.1
Real-Time Embedded Framework
QP Namespace Reference

namespace associated with the QP/C++ framework More...

Data Structures

class  QActive
 QActive active object (based on QP::QHsm implementation) More...
 
class  QActiveDummy
 Dummy Active Object class. More...
 
class  QEP
 Provides miscellaneous QEP services. More...
 
class  QEQueue
 Native QF Event Queue class. More...
 
struct  QEvt
 QEvt base class. More...
 
class  QF
 QF services. More...
 
struct  QFreeBlock
 Structure representing a free block in the Native QF Memory Pool. More...
 
class  QHsm
 Hierarchical State Machine base class. More...
 
union  QHsmAttr
 Attribute of for the QHsm class (Hierarchical State Machine). More...
 
class  QHsmDummy
 Dummy HSM class. More...
 
class  QK
 QK services. More...
 
class  QMActive
 QMActive active object (based on QP::QMsm implementation) More...
 
class  QMPool
 Native QF memory pool 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...
 
struct  QPSet
 Priority Set of up to 32 elements *‍/. More...
 
class  QS
 QS software tracing facilities. More...
 
struct  QSpyId
 QS ID type for applying local filtering. More...
 
class  QTicker
 "Ticker" Active Object class More...
 
class  QTimeEvt
 Time Event class. More...
 
class  QV
 QV services. More...
 
class  QXK
 QXK services. More...
 
class  QXKIdleThread
 
class  QXMutex
 Priority Ceiling Mutex the QXK preemptive kernel. More...
 
class  QXSemaphore
 Counting Semaphore of the QXK preemptive kernel. More...
 
class  QXThread
 Extended (blocking) thread of the QXK preemptive kernel. More...
 

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 QEvtSize = std::uint8_t
 
using QTimeEvtCtr = std::uint8_t
 
using QSubscrList = QPSet
 Subscriber List. 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 QMPoolSize = std::uint8_t
 
using QMPoolCtr = std::uint8_t
 
using QPSetBits = std::uint8_t
 
using QSchedStatus = std::uint_fast16_t
 The scheduler lock status. More...
 
using QSTimeCtr = std::uint8_t
 
using QSCtr = std::uint_fast16_t
 QS ring buffer counter and offset type. More...
 

Enumerations

enum  QSpyRecords : std::int8_t {
  QS_EMPTY , QS_QEP_STATE_ENTRY , QS_QEP_STATE_EXIT , QS_QEP_STATE_INIT ,
  QS_QEP_INIT_TRAN , QS_QEP_INTERN_TRAN , QS_QEP_TRAN , QS_QEP_IGNORED ,
  QS_QEP_DISPATCH , QS_QEP_UNHANDLED , QS_QF_ACTIVE_DEFER , QS_QF_ACTIVE_RECALL ,
  QS_QF_ACTIVE_SUBSCRIBE , QS_QF_ACTIVE_UNSUBSCRIBE , QS_QF_ACTIVE_POST , QS_QF_ACTIVE_POST_LIFO ,
  QS_QF_ACTIVE_GET , QS_QF_ACTIVE_GET_LAST , QS_QF_ACTIVE_RECALL_ATTEMPT , QS_QF_EQUEUE_POST ,
  QS_QF_EQUEUE_POST_LIFO , QS_QF_EQUEUE_GET , QS_QF_EQUEUE_GET_LAST , QS_QF_NEW_ATTEMPT ,
  QS_QF_MPOOL_GET , QS_QF_MPOOL_PUT , QS_QF_PUBLISH , QS_QF_NEW_REF ,
  QS_QF_NEW , QS_QF_GC_ATTEMPT , QS_QF_GC , QS_QF_TICK ,
  QS_QF_TIMEEVT_ARM , QS_QF_TIMEEVT_AUTO_DISARM , QS_QF_TIMEEVT_DISARM_ATTEMPT , QS_QF_TIMEEVT_DISARM ,
  QS_QF_TIMEEVT_REARM , QS_QF_TIMEEVT_POST , QS_QF_DELETE_REF , QS_QF_CRIT_ENTRY ,
  QS_QF_CRIT_EXIT , QS_QF_ISR_ENTRY , QS_QF_ISR_EXIT , QS_QF_INT_DISABLE ,
  QS_QF_INT_ENABLE , QS_QF_ACTIVE_POST_ATTEMPT , QS_QF_EQUEUE_POST_ATTEMPT , QS_QF_MPOOL_GET_ATTEMPT ,
  QS_MUTEX_LOCK , QS_MUTEX_UNLOCK , QS_SCHED_LOCK , QS_SCHED_UNLOCK ,
  QS_SCHED_NEXT , QS_SCHED_IDLE , QS_SCHED_RESUME , QS_QEP_TRAN_HIST ,
  QS_QEP_TRAN_EP , QS_QEP_TRAN_XP , QS_TEST_PAUSED , QS_TEST_PROBE_GET ,
  QS_SIG_DICT , QS_OBJ_DICT , QS_FUN_DICT , QS_USR_DICT ,
  QS_TARGET_INFO , QS_TARGET_DONE , QS_RX_STATUS , QS_QUERY_DATA ,
  QS_PEEK_DATA , QS_ASSERT_FAIL , QS_QF_RUN
}
 QS pre-defined record types (TX channel) More...
 
enum  QSpyUserOffsets : std::int16_t {
  QS_USER = 100 , QS_USER0 = QS_USER , QS_USER1 = QS_USER0 + 5 , QS_USER2 = QS_USER1 + 5 ,
  QS_USER3 = QS_USER2 + 5 , QS_USER4 = QS_USER3 + 5
}
 QS user record group offsets for QS_GLB_FILTER() More...
 
enum  QSpyRecordGroups : std::int16_t {
  QS_ALL_RECORDS = static_cast<std::uint8_t>(0xF0U) , QS_SM_RECORDS , QS_AO_RECORDS , QS_EQ_RECORDS ,
  QS_MP_RECORDS , QS_TE_RECORDS , QS_QF_RECORDS , QS_SC_RECORDS ,
  QS_U0_RECORDS , QS_U1_RECORDS , QS_U2_RECORDS , QS_U3_RECORDS ,
  QS_U4_RECORDS , QS_UA_RECORDS
}
 QS record groups for QS_GLB_FILTER() More...
 
enum  QSpyIdOffsets : std::int16_t { QS_AO_ID = 0 , QS_EP_ID = 64 , QS_EQ_ID = 80 , QS_AP_ID = 96 }
 QS ID offsets for QS_LOC_FILTER() More...
 
enum  QSpyIdGroups : std::int16_t {
  QS_ALL_IDS = 0xF0 , QS_AO_IDS = 0x80 + QS_AO_ID , QS_EP_IDS = 0x80 + QS_EP_ID , QS_EQ_IDS = 0x80 + QS_EQ_ID ,
  QS_AP_IDS = 0x80 + QS_AP_ID
}
 QS ID groups for QS_LOC_FILTER() More...
 
enum  QSpyRxRecords : std::uint8_t {
  QS_RX_INFO , QS_RX_COMMAND , QS_RX_RESET , QS_RX_TICK ,
  QS_RX_PEEK , QS_RX_POKE , QS_RX_FILL , QS_RX_TEST_SETUP ,
  QS_RX_TEST_TEARDOWN , QS_RX_TEST_PROBE , QS_RX_GLB_FILTER , QS_RX_LOC_FILTER ,
  QS_RX_AO_FILTER , QS_RX_CURR_OBJ , QS_RX_TEST_CONTINUE , QS_RX_QUERY_CURR ,
  QS_RX_EVENT
}
 QS received record types (RX channel) More...
 
enum  QXK_Timeouts : std::uint8_t { QXK_DELAY_SIG = Q_USER_SIG , QXK_QUEUE_SIG , QXK_SEMA_SIG }
 timeout signals More...
 

Functions

std::uint_fast8_t QF_LOG2 (QPSetBits x) noexcept
 
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 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...
 
static constexpr std::uint_fast16_t QXTHREAD_NO_TIMEOUT = 0U
 no-timeout sepcification when blocking on queues or semaphores 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...
 
QF_EPOOL_TYPE_ QF_pool_ [QF_MAX_EPOOL]
 allocate event pools More...
 
std::uint_fast8_t QF_maxPool_
 
QSubscrListQF_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
 

Detailed Description

Description
This header file must be included in all QF ports that use native QF event queue for active objects. Also, this file needs to be included in the QP/C++ library when the application uses QP::QMActive::defer() / QP::QMActive::recall(). Finally, this file is also needed when the "raw" thread-safe queues are used for communication between active objects and non-framework entities, such as ISRs, device drivers, or legacy code.

Data Structure Documentation

◆ QP::QFreeBlock

struct QP::QFreeBlock
See also
QP::QMPool

Definition at line 114 of file qf_pkg.hpp.

Data Fields
QFreeBlock *volatile m_next link to the next free block

◆ QP::QHsmAttr

union QP::QHsmAttr
Description
This union represents possible values stored in the 'state' and 'temp' attributes of the QHsm and QMsm classes.

Definition at line 220 of file qep.hpp.

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

◆ QP::QMState

struct QP::QMState
Description
This class groups together the attributes of a QP::QMsm state, such as the parent state (state nesting), the associated state handler function and the exit action handler function. These attributes are used inside the QP::QMsm::dispatch() and QP::QMsm::init() functions.
Attention
The QP::QMState class is only intended for the QM code generator and should not be used in hand-crafted code.

Definition at line 565 of file qep.hpp.

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

◆ QP::QMTranActTable

struct QP::QMTranActTable

Definition at line 574 of file qep.hpp.

Data Fields
QMState const * target
QActionHandler const act[1]

Typedef Documentation

◆ QSignal

using QSignal = std::uint16_t
Description
The relationship between an event and a signal is as follows. A signal in UML is the specification of an asynchronous stimulus that triggers reactions, and as such is an essential part of an event. (The signal conveys the type of the occurrence–what happened?) However, an event can also contain additional quantitative information about the occurrence in form of event parameters.

Definition at line 129 of file qep.hpp.

◆ QState

using QState = std::uint_fast8_t

Definition at line 205 of file qep.hpp.

◆ QStateHandler

using QStateHandler = QState (*)(void * const me, QEvt const * const e)

Definition at line 208 of file qep.hpp.

◆ QActionHandler

using QActionHandler = QState (*)(void * const me)

Definition at line 211 of file qep.hpp.

◆ QXThreadHandler

using QXThreadHandler = void (*)(QXThread * const me)

Definition at line 214 of file qep.hpp.

◆ QEvtSize

using QEvtSize = std::uint8_t

Definition at line 75 of file qf.hpp.

◆ QTimeEvtCtr

using QTimeEvtCtr = std::uint8_t

Definition at line 91 of file qf.hpp.

◆ QSubscrList

using QSubscrList = QPSet
Description
This data type represents a set of active objects that subscribe to a given signal. The set is represented as priority-set, where each bit corresponds to the unique priority of an active object.

Definition at line 479 of file qf.hpp.

◆ QEQueueCtr

using QEQueueCtr = std::uint8_t
Description
The dynamic range of this data type determines the maximum length of the ring buffer managed by the native QF event queue.

Definition at line 63 of file qequeue.hpp.

◆ QMPoolSize

using QMPoolSize = std::uint8_t

Definition at line 48 of file qmpool.hpp.

◆ QMPoolCtr

using QMPoolCtr = std::uint8_t

Definition at line 63 of file qmpool.hpp.

◆ QPSetBits

using QPSetBits = std::uint8_t

Definition at line 44 of file qpset.hpp.

◆ QSchedStatus

typedef std::uint_fast16_t QSchedStatus

Definition at line 110 of file qk.hpp.

◆ QSTimeCtr

using QSTimeCtr = std::uint8_t

Definition at line 239 of file qs.hpp.

◆ QSCtr

using QSCtr = std::uint_fast16_t

Definition at line 250 of file qs.hpp.

Enumeration Type Documentation

◆ QSpyRecords

enum QSpyRecords : std::int8_t
Description
This enumeration specifies the record types used in the QP components. You can specify your own record types starting from QP::QS_USER offset. Currently, the maximum of all records cannot exceed 125.
Note
The QS records labeled as "not maskable" are always enabled and cannot be turend off with the QS_GLB_FILTER() macro. Other QS trace records can be disabled by means of the "global filters"
See also
QS_GLB_FILTER() macro
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.

Definition at line 54 of file qs.hpp.

◆ QSpyUserOffsets

enum QSpyUserOffsets : std::int16_t
Enumerator
QS_USER 

the first record available to QS users

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

Definition at line 158 of file qs.hpp.

◆ QSpyRecordGroups

enum QSpyRecordGroups : std::int16_t
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 

QF QS 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.

Definition at line 168 of file qs.hpp.

◆ QSpyIdOffsets

enum QSpyIdOffsets : std::int16_t
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

Definition at line 186 of file qs.hpp.

◆ QSpyIdGroups

enum QSpyIdGroups : std::int16_t
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.

Definition at line 194 of file qs.hpp.

◆ QSpyRxRecords

enum QSpyRxRecords : std::uint8_t
Description
This enumeration specifies the record types for the QS receive channel
Enumerator
QS_RX_INFO 

query Target info (ver, config, tstamp)

QS_RX_COMMAND 

execute a user-defined command in the Target

QS_RX_RESET 

reset the Target

QS_RX_TICK 

call QF_tick()

QS_RX_PEEK 

peek Target memory

QS_RX_POKE 

poke Target memory

QS_RX_FILL 

fill Target memory

QS_RX_TEST_SETUP 

test setup

QS_RX_TEST_TEARDOWN 

test teardown

QS_RX_TEST_PROBE 

set a Test-Probe in the Target

QS_RX_GLB_FILTER 

set global filters in the Target

QS_RX_LOC_FILTER 

set local filters in the Target

QS_RX_AO_FILTER 

set local AO filter in the Target

QS_RX_CURR_OBJ 

set the "current-object" in the Target

QS_RX_TEST_CONTINUE 

continue a test after QS_RX_TEST_WAIT()

QS_RX_QUERY_CURR 

query the "current object" in the Target

QS_RX_EVENT 

inject an event to the Target (post/publish)

Definition at line 40 of file qs_pkg.hpp.

◆ QXK_Timeouts

enum QXK_Timeouts : std::uint8_t
Enumerator
QXK_DELAY_SIG 
QXK_QUEUE_SIG 
QXK_SEMA_SIG 

Definition at line 44 of file qxk_pkg.hpp.

Function Documentation

◆ QF_LOG2()

std::uint_fast8_t QF_LOG2 ( QPSetBits  x)
noexcept

◆ QF_EVT_POOL_ID_()

std::uint8_t QF_EVT_POOL_ID_ ( QEvt const *const  e)
inlinenoexcept

Definition at line 132 of file qf_pkg.hpp.

◆ QF_EVT_REF_CTR_()

std::uint8_t QF_EVT_REF_CTR_ ( QEvt const *const  e)
inlinenoexcept

Definition at line 137 of file qf_pkg.hpp.

◆ QF_EVT_REF_CTR_INC_()

void QF_EVT_REF_CTR_INC_ ( QEvt const *const  e)
inlinenoexcept

Definition at line 142 of file qf_pkg.hpp.

◆ QF_EVT_REF_CTR_DEC_()

void QF_EVT_REF_CTR_DEC_ ( QEvt const *const  e)
inlinenoexcept

Definition at line 147 of file qf_pkg.hpp.

◆ initial_events() [1/2]

static void initial_events ( void  )
static

Definition at line 111 of file qk.cpp.

◆ QS_target_info_()

void QS_target_info_ ( std::uint8_t const  isReset)
noexcept

Definition at line 461 of file qs.cpp.

◆ rxParseData_()

static void rxParseData_ ( std::uint8_t const  b)
staticnoexcept

Definition at line 411 of file qs_rx.cpp.

◆ rxHandleBadFrame_()

static void rxHandleBadFrame_ ( std::uint8_t const  state)
staticnoexcept

Definition at line 1224 of file qs_rx.cpp.

◆ rxReportAck_()

static void rxReportAck_ ( enum QSpyRxRecords const  recId)
staticnoexcept

Definition at line 1239 of file qs_rx.cpp.

◆ rxReportError_()

static void rxReportError_ ( std::uint8_t const  code)
staticnoexcept

Definition at line 1251 of file qs_rx.cpp.

◆ rxReportDone_()

static void rxReportDone_ ( enum QSpyRxRecords const  recId)
staticnoexcept

Definition at line 1263 of file qs_rx.cpp.

◆ rxPoke_()

static void rxPoke_ ( void  )
staticnoexcept

Definition at line 1276 of file qs_rx.cpp.

◆ initial_events() [2/2]

static void initial_events ( void  )
static

Definition at line 126 of file qxk.cpp.

Variable Documentation

◆ versionStr

constexpr char const versionStr[] {QP_VERSION_STR}
constexpr

Definition at line 116 of file qep.hpp.

◆ Q_USER_SIG

constexpr enum_t Q_USER_SIG {4}
constexpr

Definition at line 590 of file qep.hpp.

◆ QF_NO_MARGIN

std::uint_fast16_t const QF_NO_MARGIN = 0xFFFFU

Definition at line 618 of file qf.hpp.

◆ QXTHREAD_NO_TIMEOUT

constexpr std::uint_fast16_t QXTHREAD_NO_TIMEOUT = 0U
staticconstexpr

Definition at line 37 of file qxthread.hpp.

◆ QS_EOD

constexpr std::uint16_t QS_EOD = 0xFFFFU
constexpr

Definition at line 254 of file qs.hpp.

◆ QUTEST_ON_POST

constexpr std::uint8_t QUTEST_ON_POST {124U}
constexpr

Definition at line 605 of file qs.hpp.

◆ QF_intNest

std::uint8_t volatile QF_intNest

Definition at line 51 of file qutest.cpp.

◆ BUILD_DATE

char const BUILD_DATE = __DATE__

Definition at line 42 of file qstamp.cpp.

◆ BUILD_TIME

char const BUILD_TIME = __TIME__

Definition at line 45 of file qstamp.cpp.

◆ QF_pool_

QF_EPOOL_TYPE_ QF_pool_

Definition at line 52 of file qf_dyn.cpp.

◆ QF_maxPool_

std::uint_fast8_t QF_maxPool_

of initialized event pools

Definition at line 53 of file qf_dyn.cpp.

◆ QF_subscrList_

QSubscrList * QF_subscrList_

Definition at line 53 of file qf_ps.cpp.

◆ QF_maxPubSignal_

enum_t QF_maxPubSignal_

Definition at line 54 of file qf_ps.cpp.

◆ TE_IS_LINKED

constexpr std::uint8_t TE_IS_LINKED = 1U << 7U
constexpr

Definition at line 124 of file qf_pkg.hpp.

◆ TE_WAS_DISARMED

constexpr std::uint8_t TE_WAS_DISARMED = 1U << 6U
constexpr

Definition at line 125 of file qf_pkg.hpp.

◆ TE_TICK_RATE

constexpr std::uint8_t TE_TICK_RATE = 0x0FU
constexpr

Definition at line 126 of file qf_pkg.hpp.

◆ QS_FRAME

constexpr std::uint8_t QS_FRAME = 0x7EU
constexpr

Definition at line 61 of file qs_pkg.hpp.

◆ QS_ESC

constexpr std::uint8_t QS_ESC = 0x7DU
constexpr

Definition at line 64 of file qs_pkg.hpp.

◆ QS_ESC_XOR

constexpr std::uint8_t QS_ESC_XOR = 0x20U
constexpr

The escaped byte is XOR-ed with the escape modifier before it is inserted into the QS buffer.

Definition at line 70 of file qs_pkg.hpp.

◆ QS_GOOD_CHKSUM

constexpr std::uint8_t QS_GOOD_CHKSUM = 0xFFU
constexpr

Definition at line 73 of file qs_pkg.hpp.

◆ QV_readySet_

QPSet QV_readySet_
Note
The functions implemented in this module can have a different implementation in other QF ports. The implementations included here are appropriate for the cooperative QV kernel only.

Definition at line 63 of file qv.cpp.

◆ l_idleThread

QXKIdleThread l_idleThread
static

Definition at line 67 of file qxk.cpp.