QS (QP/Spy software tracing) platform-independent public interface. More...
Go to the source code of this file.
Classes | |
| struct | QP::QSpyId |
| QS ID type for applying local filtering. More... | |
| class | QP::QS |
| Software tracing instrumentation target-resident component. More... | |
| class | QP::QS::Attr |
| Private attributes of the QS software tracing target-resident component (TX channel). More... | |
| class | QP::QS::Filter |
| QS type for output filters (global and local. More... | |
| class | QP::QHsmDummy |
| Dummy hierarchical state machine class for testing. More... | |
| class | QP::QActiveDummy |
| Dummy Active Object for testing. More... | |
Namespaces | |
| namespace | QP |
| QP/C++ Framework namespace. | |
| namespace | QP::QF |
| QF Active Object Framework namespace. | |
Macros | |
| #define | QS_INIT(arg_) |
| Initialize the QS software tracing system. | |
| #define | QS_EXIT() |
| Terminate the QS software tracing system. | |
| #define | QS_OUTPUT() |
| #define | QS_RX_INPUT() |
| #define | QS_GLB_FILTER(rec_) |
| check the global filter | |
| #define | QS_LOC_FILTER(qsId_) |
| check the local filter | |
| #define | QS_FLUSH() |
| #define | QS_BEGIN_ID(rec_, qsId_) |
| #define | QS_END() |
| #define | QS_BEGIN_INCRIT(rec_, qsId_) |
| #define | QS_END_INCRIT() |
| #define | QS_GLB_CHECK_(rec_) |
| #define | QS_LOC_CHECK_(qsId_) |
| #define | QS_REC_DONE() |
| #define | QS_I8(width_, data_) |
| #define | QS_U8(width_, data_) |
| #define | QS_I16(width_, data_) |
| #define | QS_U16(width_, data_) |
| #define | QS_I32(width_, data_) |
| #define | QS_U32(width_, data_) |
| #define | QS_I64(width_, data_) |
| #define | QS_U64(width_, data_) |
| #define | QS_F32(width_, data_) |
| #define | QS_F64(width_, data_) |
| #define | QS_STR(str_) |
| #define | QS_MEM(mem_, size_) |
| #define | QS_ENUM(group_, value_) |
| #define | QS_TIME_PRE() |
| #define | QS_OBJ(obj_) |
| #define | QS_FUN(fun_) |
| #define | QS_SIG(sig_, obj_) |
| #define | QS_SIG_DICTIONARY(sig_, obj_) |
| Produce event signal dictionary. | |
| #define | QS_OBJ_DICTIONARY(obj_) |
| Produce object dictionary. | |
| #define | QS_OBJ_ARR_DICTIONARY(obj_, idx_) |
| Produce object-array dictionary. | |
| #define | QS_FUN_DICTIONARY(fun_) |
| Produce function dictionary (typically for state-handler functions). | |
| #define | QS_USR_DICTIONARY(rec_) |
| Produce user-record dictionary for application-specific trace records. | |
| #define | QS_ENUM_DICTIONARY(value_, group_) |
| Produce enumeration dictionary for application-defined enumerations. | |
| #define | QS_TR_CRIT_ENTRY() |
| #define | QS_TR_CRIT_EXIT() |
| #define | QS_TR_ISR_ENTRY(isrnest_, prio_) |
| #define | QS_TR_ISR_EXIT(isrnest_, prio_) |
| #define | QS_ONLY(code_) |
| #define | QS_ASSERTION(module_, id_, delay_) |
| #define | QS_CRIT_STAT QF_CRIT_STAT |
| Internal QS macro for defining the critical section status. | |
| #define | QS_CRIT_ENTRY() |
| Internal macro for entering a critical section. | |
| #define | QS_CRIT_EXIT() |
| Internal macro for exiting a critical section. | |
| #define | QS_TEST_PROBE_DEF(fun_) |
| Define a test probe for a given function. | |
| #define | QS_TEST_PROBE(code_) |
| QS macro to apply a Test-Probe. | |
| #define | QS_TEST_PROBE_ID(id_, code_) |
| QS macro to apply a Test-Probe. | |
| #define | QS_TEST_PAUSE() |
| QS macro to pause test execution and enter the test event-loop. | |
Typedefs | |
| using | QP::QSObj = std::uint32_t |
| using | QP::QSFun = std::uint32_t |
| using | QP::QSpyFunPtr = void (*)() |
| using | QP::QSTimeCtr = std::uint32_t |
| Unsigned integer type for QS timestamps. | |
| using | float32_t = float |
| Alias for IEEE 754 32-bit floating point number. | |
| using | float64_t = double |
| Alias for IEEE 754 64-bit floating point number. | |
| using | QP::QF::QCritStatus = std::uint_fast8_t |
| using | QP::QF::QSchedStatus = std::uint_fast8_t |
Functions | |
| QCritStatus | QP::QF::critEntry (void) |
| void | QP::QF::critExit (QCritStatus critStat) |
| QSchedStatus | QP::QF::schedLock (uint_fast8_t const ceiling) |
| void | QP::QF::schedUnlock (QSchedStatus const prevCeil) |
Variables | |
| constexpr std::int_fast16_t | QP::QS_GRP_ALL { 0xF0 } |
| constexpr std::int_fast16_t | QP::QS_GRP_SM { 0xF1 } |
| constexpr std::int_fast16_t | QP::QS_GRP_AO { 0xF2 } |
| constexpr std::int_fast16_t | QP::QS_GRP_EQ { 0xF3 } |
| constexpr std::int_fast16_t | QP::QS_GRP_MP { 0xF4 } |
| constexpr std::int_fast16_t | QP::QS_GRP_TE { 0xF5 } |
| constexpr std::int_fast16_t | QP::QS_GRP_QF { 0xF6 } |
| constexpr std::int_fast16_t | QP::QS_GRP_SC { 0xF7 } |
| constexpr std::int_fast16_t | QP::QS_GRP_SEM { 0xF8 } |
| constexpr std::int_fast16_t | QP::QS_GRP_MTX { 0xF9 } |
| constexpr std::int_fast16_t | QP::QS_GRP_U0 { 0xFA } |
| constexpr std::int_fast16_t | QP::QS_GRP_U1 { 0xFB } |
| constexpr std::int_fast16_t | QP::QS_GRP_U2 { 0xFC } |
| constexpr std::int_fast16_t | QP::QS_GRP_U3 { 0xFD } |
| constexpr std::int_fast16_t | QP::QS_GRP_U4 { 0xFE } |
| constexpr std::int_fast16_t | QP::QS_GRP_UA { 0xFF } |
| constexpr std::int_fast16_t | QP::QS_USER { 100 } |
| constexpr std::int_fast16_t | QP::QS_USER0 { QS_USER } |
| constexpr std::int_fast16_t | QP::QS_USER1 { QS_USER + 5 } |
| constexpr std::int_fast16_t | QP::QS_USER2 { QS_USER + 10 } |
| constexpr std::int_fast16_t | QP::QS_USER3 { QS_USER + 15 } |
| constexpr std::int_fast16_t | QP::QS_USER4 { QS_USER + 20 } |
| constexpr std::int_fast16_t | QP::QS_ID_AO { 0 } |
| constexpr std::int_fast16_t | QP::QS_ID_EP { 64 } |
| constexpr std::int_fast16_t | QP::QS_ID_EQ { 80 } |
| constexpr std::int_fast16_t | QP::QS_ID_AP { 96 } |
| constexpr std::int_fast16_t | QP::QS_IDS_ALL { 0xF0 } |
| constexpr std::int_fast16_t | QP::QS_IDS_AO { 0xF1 } |
| constexpr std::int_fast16_t | QP::QS_IDS_EP { 0xF2 } |
| constexpr std::int_fast16_t | QP::QS_IDS_EQ { 0xF3 } |
| constexpr std::int_fast16_t | QP::QS_IDS_AP { 0xF4 } |
| constexpr std::uint16_t | QP::QS_EOD { 0xFFFFU } |
| constexpr std::uint8_t | QP::QS_CMD { 0x07U } |
| constexpr std::uint8_t | QP::QS_HEX_FMT {0xFU} |
| constexpr std::uint8_t | QP::QUTEST_ON_POST {124U} |
QS (QP/Spy software tracing) platform-independent public interface.
Forward Traceability
Definition in file qs.hpp.
| #define QS_INIT | ( | arg_ | ) |
Initialize the QS software tracing system.
| #define QS_EXIT | ( | ) |
Terminate the QS software tracing system.
| #define QS_OUTPUT | ( | ) |
| #define QS_RX_INPUT | ( | ) |
| #define QS_GLB_FILTER | ( | rec_ | ) |
| #define QS_LOC_FILTER | ( | qsId_ | ) |
| #define QS_FLUSH | ( | ) |
| #define QS_BEGIN_ID | ( | rec_, | |
| qsId_ ) |
| #define QS_END | ( | ) |
| #define QS_BEGIN_INCRIT | ( | rec_, | |
| qsId_ ) |
| #define QS_GLB_CHECK_ | ( | rec_ | ) |
| #define QS_LOC_CHECK_ | ( | qsId_ | ) |
| #define QS_I8 | ( | width_, | |
| data_ ) |
| #define QS_U8 | ( | width_, | |
| data_ ) |
| #define QS_I16 | ( | width_, | |
| data_ ) |
| #define QS_U16 | ( | width_, | |
| data_ ) |
| #define QS_I32 | ( | width_, | |
| data_ ) |
| #define QS_U32 | ( | width_, | |
| data_ ) |
| #define QS_I64 | ( | width_, | |
| data_ ) |
| #define QS_U64 | ( | width_, | |
| data_ ) |
| #define QS_F32 | ( | width_, | |
| data_ ) |
| #define QS_F64 | ( | width_, | |
| data_ ) |
| #define QS_MEM | ( | mem_, | |
| size_ ) |
| #define QS_ENUM | ( | group_, | |
| value_ ) |
| #define QS_TIME_PRE | ( | ) |
| #define QS_OBJ | ( | obj_ | ) |
| #define QS_FUN | ( | fun_ | ) |
| #define QS_SIG | ( | sig_, | |
| obj_ ) |
| #define QS_SIG_DICTIONARY | ( | sig_, | |
| obj_ ) |
| #define QS_OBJ_DICTIONARY | ( | obj_ | ) |
| #define QS_OBJ_ARR_DICTIONARY | ( | obj_, | |
| idx_ ) |
| #define QS_FUN_DICTIONARY | ( | fun_ | ) |
Produce function dictionary (typically for state-handler functions).
| [in] | fun_ | function pointer for which to produce the dictionary |
| #define QS_USR_DICTIONARY | ( | rec_ | ) |
| #define QS_ENUM_DICTIONARY | ( | value_, | |
| group_ ) |
| #define QS_TR_CRIT_ENTRY | ( | ) |
| #define QS_TR_ISR_ENTRY | ( | isrnest_, | |
| prio_ ) |
| #define QS_TR_ISR_EXIT | ( | isrnest_, | |
| prio_ ) |
| #define QS_ASSERTION | ( | module_, | |
| id_, | |||
| delay_ ) |
| #define QS_CRIT_STAT QF_CRIT_STAT |
| #define QS_CRIT_ENTRY | ( | ) |
Internal macro for entering a critical section.
| #define QS_CRIT_EXIT | ( | ) |
Internal macro for exiting a critical section.
| #define QS_TEST_PROBE_DEF | ( | fun_ | ) |
Define a test probe for a given function.
| [in] | fun_ | function pointer for which to define the test probe |
| #define QS_TEST_PROBE | ( | code_ | ) |
| #define QS_TEST_PROBE_ID | ( | id_, | |
| code_ ) |
| #define QS_TEST_PAUSE | ( | ) |
| using float32_t = float |
Alias for IEEE 754 32-bit floating point number.
Details
Definition of the float32_t type can be suppressed by defining the macro QS_NFLOAT_T.
Forward Traceability
| using float64_t = double |
Alias for IEEE 754 64-bit floating point number.
Details
Definition of the float64_t type can be suppressed by defining the macro QS_NFLOAT_T.
Forward Traceability