QP/C++ 8.1.2
Real-Time Event Framework
Loading...
Searching...
No Matches
qs.hpp File Reference

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

Enumerations

enum  QP::QS_GlbPredef : std::int8_t {
  QP::QS_EMPTY , QP::QS_QEP_STATE_ENTRY , QP::QS_QEP_STATE_EXIT , QP::QS_QEP_STATE_INIT ,
  QP::QS_QEP_INIT_TRAN , QP::QS_QEP_INTERN_TRAN , QP::QS_QEP_TRAN , QP::QS_QEP_IGNORED ,
  QP::QS_QEP_DISPATCH , QP::QS_QEP_UNHANDLED , QP::QS_QF_ACTIVE_DEFER , QP::QS_QF_ACTIVE_RECALL ,
  QP::QS_QF_ACTIVE_SUBSCRIBE , QP::QS_QF_ACTIVE_UNSUBSCRIBE , QP::QS_QF_ACTIVE_POST , QP::QS_QF_ACTIVE_POST_LIFO ,
  QP::QS_QF_ACTIVE_GET , QP::QS_QF_ACTIVE_GET_LAST , QP::QS_QF_ACTIVE_RECALL_ATTEMPT , QP::QS_QF_EQUEUE_POST ,
  QP::QS_QF_EQUEUE_POST_LIFO , QP::QS_QF_EQUEUE_GET , QP::QS_QF_EQUEUE_GET_LAST , QP::QS_QF_NEW_ATTEMPT ,
  QP::QS_QF_MPOOL_GET , QP::QS_QF_MPOOL_PUT , QP::QS_QF_PUBLISH , QP::QS_QF_NEW_REF ,
  QP::QS_QF_NEW , QP::QS_QF_GC_ATTEMPT , QP::QS_QF_GC , QP::QS_QF_TICK ,
  QP::QS_QF_TIMEEVT_ARM , QP::QS_QF_TIMEEVT_AUTO_DISARM , QP::QS_QF_TIMEEVT_DISARM_ATTEMPT , QP::QS_QF_TIMEEVT_DISARM ,
  QP::QS_QF_TIMEEVT_REARM , QP::QS_QF_TIMEEVT_POST , QP::QS_QF_DELETE_REF , QP::QS_QF_CRIT_ENTRY ,
  QP::QS_QF_CRIT_EXIT , QP::QS_QF_ISR_ENTRY , QP::QS_QF_ISR_EXIT , QP::QS_QF_INT_DISABLE ,
  QP::QS_QF_INT_ENABLE , QP::QS_QF_ACTIVE_POST_ATTEMPT , QP::QS_QF_EQUEUE_POST_ATTEMPT , QP::QS_QF_MPOOL_GET_ATTEMPT ,
  QP::QS_SCHED_PREEMPT , QP::QS_SCHED_RESTORE , QP::QS_SCHED_LOCK , QP::QS_SCHED_UNLOCK ,
  QP::QS_SCHED_NEXT , QP::QS_SCHED_IDLE , QP::QS_ENUM_DICT , QP::QS_QEP_TRAN_HIST ,
  QP::QS_RESERVED_56 , QP::QS_RESERVED_57 , QP::QS_TEST_PAUSED , QP::QS_TEST_PROBE_GET ,
  QP::QS_SIG_DICT , QP::QS_OBJ_DICT , QP::QS_FUN_DICT , QP::QS_USR_DICT ,
  QP::QS_TARGET_INFO , QP::QS_TARGET_DONE , QP::QS_RX_STATUS , QP::QS_QUERY_DATA ,
  QP::QS_PEEK_DATA , QP::QS_ASSERT_FAIL , QP::QS_QF_RUN , QP::QS_SEM_TAKE ,
  QP::QS_SEM_BLOCK , QP::QS_SEM_SIGNAL , QP::QS_SEM_BLOCK_ATTEMPT , QP::QS_MTX_LOCK ,
  QP::QS_MTX_BLOCK , QP::QS_MTX_UNLOCK , QP::QS_MTX_LOCK_ATTEMPT , QP::QS_MTX_BLOCK_ATTEMPT ,
  QP::QS_MTX_UNLOCK_ATTEMPT , QP::QS_QF_ACTIVE_DEFER_ATTEMPT , QP::QS_PRE_MAX
}
 Pre-defined QS record IDs (for QS_GLB_FILTER()). More...
enum  QP::QS_ObjKind : std::uint8_t {
  QP::QS_OBJ_SM , QP::QS_OBJ_AO , QP::QS_OBJ_MP , QP::QS_OBJ_EQ ,
  QP::QS_OBJ_TE , QP::QS_OBJ_AP , QP::QS_OBJ_SM_AO , QP::QS_OBJ_EP
}
 Object kinds used in QS-RX (NOTE: watch out for backwards compatibility!). More...

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}

Detailed Description

QS (QP/Spy software tracing) platform-independent public interface.

Forward Traceability

Definition in file qs.hpp.

Macro Definition Documentation

◆ QS_INIT

#define QS_INIT ( arg_)
Value:
static bool onStartup(void const *arg)

Initialize the QS software tracing system.

See also
QP::QS::onStartup()

Definition at line 265 of file qs.hpp.

◆ QS_EXIT

#define QS_EXIT ( )
Value:
static void onCleanup()

Terminate the QS software tracing system.

See also
QP::QS::onCleanup()

Definition at line 266 of file qs.hpp.

◆ QS_OUTPUT

#define QS_OUTPUT ( )
Value:
static void doOutput()

Definition at line 267 of file qs.hpp.

◆ QS_RX_INPUT

#define QS_RX_INPUT ( )
Value:
static void doInput()

Definition at line 268 of file qs.hpp.

◆ QS_GLB_FILTER

#define QS_GLB_FILTER ( rec_)
Value:
(QP::QS::glbFilter_(static_cast<std::int_fast16_t>(rec_)))

check the global filter

See also
QP::QS::glbFilter_()

Definition at line 269 of file qs.hpp.

◆ QS_LOC_FILTER

#define QS_LOC_FILTER ( qsId_)
Value:
(QP::QS::locFilter_(static_cast<std::int_fast16_t>(qsId_)))

check the local filter

See also
QP::QS::locFilter_()

Definition at line 271 of file qs.hpp.

◆ QS_FLUSH

#define QS_FLUSH ( )
Value:
static void onFlush()
Flush the QS output buffer.

Definition at line 273 of file qs.hpp.

◆ QS_BEGIN_ID

#define QS_BEGIN_ID ( rec_,
qsId_ )
Value:
if (QP::QS::fltCheck_(static_cast<std::uint32_t>(rec_) >> 5U, \
1U << (static_cast<std::uint32_t>(rec_) & 0x1FU), (qsId_))) \
{ \
QS_CRIT_STAT \
QS_CRIT_ENTRY(); \
QP::QS::beginRec_(static_cast<std::uint_fast8_t>(rec_)); \
QS_TIME_PRE(); {

Definition at line 275 of file qs.hpp.

◆ QS_END

#define QS_END ( )
Value:
} \
QP::QS::endRec_(); \
QS_CRIT_EXIT(); \
}

Definition at line 284 of file qs.hpp.

◆ QS_BEGIN_INCRIT

#define QS_BEGIN_INCRIT ( rec_,
qsId_ )
Value:
if (QP::QS::fltCheck_(static_cast<std::uint32_t>(rec_) >> 5U, \
1U << (static_cast<std::uint32_t>(rec_) & 0x1FU), (qsId_))) \
{ \
QP::QS::beginRec_(rec_); \
QS_TIME_PRE(); {

Definition at line 289 of file qs.hpp.

◆ QS_END_INCRIT

#define QS_END_INCRIT ( )
Value:
} \
QP::QS::endRec_(); \
}

Definition at line 296 of file qs.hpp.

◆ QS_GLB_CHECK_

#define QS_GLB_CHECK_ ( rec_)
Value:
(QP::QS::glbCheck_((static_cast<std::uint32_t>(rec_) >> 5U, \
1U << (static_cast<std::uint32_t>(rec_) & 0x1FU)))

Definition at line 300 of file qs.hpp.

◆ QS_LOC_CHECK_

#define QS_LOC_CHECK_ ( qsId_)
Value:
(QP::QS::locCheck_((qsId_)))

Definition at line 303 of file qs.hpp.

◆ QS_REC_DONE

#define QS_REC_DONE ( )
Value:
(static_cast<void>(0))

Definition at line 306 of file qs.hpp.

◆ QS_I8

#define QS_I8 ( width_,
data_ )
Value:
(QP::QS::u8_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>(((width_) << 4U) & 7U)) | QP::QS::I8_ENUM_FMT),\
(data_)))

Definition at line 309 of file qs.hpp.

◆ QS_U8

#define QS_U8 ( width_,
data_ )
Value:
(QP::QS::u8_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::U8_FMT), (data_)))

Definition at line 314 of file qs.hpp.

◆ QS_I16

#define QS_I16 ( width_,
data_ )
Value:
(QP::QS::u16_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::I16_FMT), (data_)))

Definition at line 318 of file qs.hpp.

◆ QS_U16

#define QS_U16 ( width_,
data_ )
Value:
(QP::QS::u16_fmt_(static_cast<std::uint8_t>((((width_) << 4U)) \
| QP::QS::U16_FMT), (data_)))

Definition at line 322 of file qs.hpp.

◆ QS_I32

#define QS_I32 ( width_,
data_ )
Value:
(QP::QS::u32_fmt_( \
static_cast<std::uint8_t>((static_cast<std::uint8_t>((width_) << 4U)) \
| QP::QS::I32_FMT), (data_)))

Definition at line 326 of file qs.hpp.

◆ QS_U32

#define QS_U32 ( width_,
data_ )
Value:
(QP::QS::u32_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::U32_FMT), (data_)))

Definition at line 331 of file qs.hpp.

◆ QS_I64

#define QS_I64 ( width_,
data_ )
Value:
(QP::QS::u64_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::I64_FMT), (data_)))

Definition at line 335 of file qs.hpp.

◆ QS_U64

#define QS_U64 ( width_,
data_ )
Value:
(QP::QS::u64_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::U64_FMT), (data_)))

Definition at line 339 of file qs.hpp.

◆ QS_F32

#define QS_F32 ( width_,
data_ )
Value:
(QP::QS::f32_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::F32_FMT), (data_)))

Definition at line 343 of file qs.hpp.

◆ QS_F64

#define QS_F64 ( width_,
data_ )
Value:
(QP::QS::f64_fmt_(static_cast<std::uint8_t>( \
(static_cast<std::uint8_t>((width_) << 4U)) | QP::QS::F64_FMT), (data_)))

Definition at line 347 of file qs.hpp.

◆ QS_STR

#define QS_STR ( str_)
Value:
(QP::QS::str_fmt_(str_))

Definition at line 351 of file qs.hpp.

◆ QS_MEM

#define QS_MEM ( mem_,
size_ )
Value:
(QP::QS::mem_fmt_((mem_), (size_)))

Definition at line 353 of file qs.hpp.

◆ QS_ENUM

#define QS_ENUM ( group_,
value_ )
Value:
(QP::QS::u8_fmt_(static_cast<std::uint8_t>(0x80U | ((group_) << 4U)) \
| QP::QS::I8_ENUM_FMT, static_cast<std::uint8_t>(value_)))

Definition at line 355 of file qs.hpp.

◆ QS_TIME_PRE

#define QS_TIME_PRE ( )
Value:
(QP::QS::u32_raw_(QP::QS::onGetTime()))
static QSTimeCtr onGetTime()
Return the current timestamp for QS trace records.

Definition at line 362 of file qs.hpp.

◆ QS_OBJ

#define QS_OBJ ( obj_)
Value:
(QP::QS::u32_fmt_(QP::QS::OBJ_FMT, \
reinterpret_cast<std::uint32_t>(obj_)))

Definition at line 369 of file qs.hpp.

◆ QS_FUN

#define QS_FUN ( fun_)
Value:
(QP::QS::u32_fmt_(QP::QS::FUN_FMT, \
reinterpret_cast<std::uint32_t>(fun_)))

Definition at line 380 of file qs.hpp.

◆ QS_SIG

#define QS_SIG ( sig_,
obj_ )
Value:
QP::QS::u16_fmt_(QP::QS::SIG_FMT, static_cast<std::uint16_t>(sig_)); \
QP::QS::obj_raw_(obj_)

Definition at line 387 of file qs.hpp.

◆ QS_SIG_DICTIONARY

#define QS_SIG_DICTIONARY ( sig_,
obj_ )
Value:
(QP::QS::sig_dict_pre_((sig_), (obj_), #sig_))

Produce event signal dictionary.

Parameters
[in]sig_event signal to produce the dictionary
[in]obj_object pointer to the associated state machine (NULL for global signal)

Definition at line 391 of file qs.hpp.

◆ QS_OBJ_DICTIONARY

#define QS_OBJ_DICTIONARY ( obj_)
Value:
(QP::QS::obj_dict_pre_((obj_), #obj_))

Produce object dictionary.

Parameters
[in]obj_object pointer for which to produce the dictionary

Definition at line 394 of file qs.hpp.

◆ QS_OBJ_ARR_DICTIONARY

#define QS_OBJ_ARR_DICTIONARY ( obj_,
idx_ )
Value:
(QP::QS::obj_arr_dict_pre_((obj_), (idx_), #obj_))

Produce object-array dictionary.

Parameters
[in]obj_object pointer for which to produce the dictionary
[in]idx_index of the object array element to produce the dictionary

Definition at line 397 of file qs.hpp.

◆ QS_FUN_DICTIONARY

#define QS_FUN_DICTIONARY ( fun_)
Value:
(QP::QS::fun_dict_pre_( \
QP::QS::force_cast<void (*)()>(fun_), #fun_))
static T_OUT force_cast(T_IN in)
Definition qs.hpp:565

Produce function dictionary (typically for state-handler functions).

Parameters
[in]fun_function pointer for which to produce the dictionary

Definition at line 400 of file qs.hpp.

◆ QS_USR_DICTIONARY

#define QS_USR_DICTIONARY ( rec_)
Value:
(QP::QS::usr_dict_pre_((rec_), #rec_))

Produce user-record dictionary for application-specific trace records.

Parameters
[in]rec_user-defined record (typically enumeration) to produce the dictionary

Definition at line 404 of file qs.hpp.

◆ QS_ENUM_DICTIONARY

#define QS_ENUM_DICTIONARY ( value_,
group_ )
Value:
(QP::QS::enum_dict_pre_((value_), (group_), #value_))

Produce enumeration dictionary for application-defined enumerations.

Parameters
[in]value_user-defined enumeration to produce the dictionary
[in]group_user-defined group number of the enumeration

Definition at line 407 of file qs.hpp.

◆ QS_TR_CRIT_ENTRY

#define QS_TR_CRIT_ENTRY ( )
Value:
(QP::QS::crit_entry_pre_())

Definition at line 410 of file qs.hpp.

◆ QS_TR_CRIT_EXIT

#define QS_TR_CRIT_EXIT ( )
Value:
(QP::QS::crit_exit_pre_())

Definition at line 411 of file qs.hpp.

◆ QS_TR_ISR_ENTRY

#define QS_TR_ISR_ENTRY ( isrnest_,
prio_ )
Value:
(QP::QS::isr_entry_pre_((isrnest_), (prio_)))

Definition at line 413 of file qs.hpp.

◆ QS_TR_ISR_EXIT

#define QS_TR_ISR_EXIT ( isrnest_,
prio_ )
Value:
(QP::QS::isr_exit_pre_((isrnest_), (prio_)))

Definition at line 415 of file qs.hpp.

◆ QS_ONLY

#define QS_ONLY ( code_)
Value:
(code_)

Definition at line 418 of file qs.hpp.

◆ QS_ASSERTION

#define QS_ASSERTION ( module_,
id_,
delay_ )
Value:
(QP::QS::assertion_pre_((module_), (id_), (delay_)))

Definition at line 420 of file qs.hpp.

◆ QS_CRIT_STAT

#define QS_CRIT_STAT   QF_CRIT_STAT

Internal QS macro for defining the critical section status.

Definition at line 430 of file qs.hpp.

◆ QS_CRIT_ENTRY

#define QS_CRIT_ENTRY ( )
Value:
#define QF_CRIT_ENTRY()
Definition qsafe.h:40

Internal macro for entering a critical section.

Definition at line 434 of file qs.hpp.

◆ QS_CRIT_EXIT

#define QS_CRIT_EXIT ( )
Value:
#define QF_CRIT_EXIT()
Definition qsafe.h:44

Internal macro for exiting a critical section.

Definition at line 438 of file qs.hpp.

◆ QS_TEST_PROBE_DEF

#define QS_TEST_PROBE_DEF ( fun_)
Value:
std::uint32_t const qs_tp_ = \
QP::QS::getTestProbe_(QP::QS::force_cast<void (*)()>(fun_));

Define a test probe for a given function.

Parameters
[in]fun_function pointer for which to define the test probe

Definition at line 750 of file qs.hpp.

◆ QS_TEST_PROBE

#define QS_TEST_PROBE ( code_)
Value:
if (qs_tp_ != 0U) { code_ }

QS macro to apply a Test-Probe.

Details

Parameters
[in]code_code to execute when the test probe is defined

Definition at line 753 of file qs.hpp.

◆ QS_TEST_PROBE_ID

#define QS_TEST_PROBE_ID ( id_,
code_ )
Value:
if (qs_tp_ == static_cast<std::uint32_t>(id_)) { code_ }

QS macro to apply a Test-Probe.

Details

Parameters
[in]id_the test probe ID
[in]code_code to execute when the test probe is defined

Definition at line 754 of file qs.hpp.

◆ QS_TEST_PAUSE

#define QS_TEST_PAUSE ( )
Value:
(QP::QS::test_pause_())

QS macro to pause test execution and enter the test event-loop.

Definition at line 757 of file qs.hpp.

Typedef Documentation

◆ float32_t

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.

Note
QP/C++ does not use floating-point types anywhere in the internal implementation, except in QS software tracing, where utilities for output of floating-point numbers are provided for application-specific trace records.

Forward Traceability

  • DVR_QS_PCLP_9141: global declaration of symbol

Definition at line 424 of file qs.hpp.

◆ float64_t

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.

Note
QP/C++ does not use floating-point types anywhere in the internal implementation, except in QS software tracing, where utilities for output of floating-point numbers are provided for application-specific trace records.

Forward Traceability

  • DVR_QS_PCLP_9141: global declaration of symbol

Definition at line 425 of file qs.hpp.