QP/C++  7.4.0-rc.1
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qs.hpp File Reference

QS/C++ 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::Filter
 QS type for output filters (global and local) More...
 
struct  QP::QS::TProbe
 QUTest Test-Probe attributes. More...
 
class  QP::QHsmDummy
 Dummy HSM class for testing. More...
 
class  QP::QActiveDummy
 Dummy Active Object for testing. More...
 

Namespaces

namespace  QP
 QP/C++ framework.
 
namespace  QP::QS
 QP/Spy software tracing (target-resident components)
 

Macros

#define QS_INIT(arg_)   (QP::QS::onStartup(arg_))
 
#define QS_EXIT()   (QP::QS::onCleanup())
 
#define QS_OUTPUT()   (QP::QS::doOutput())
 
#define QS_RX_INPUT()   (QP::QS::doInput())
 
#define QS_GLB_FILTER(rec_)    (QP::QS::glbFilter_(static_cast<std::int_fast16_t>(rec_)))
 
#define QS_LOC_FILTER(qsId_)    (QP::QS::locFilter_(static_cast<std::int_fast16_t>(qsId_)))
 
#define QS_BEGIN_ID(rec_, qsId_)
 
#define QS_END()
 
#define QS_FLUSH()   (QP::QS::onFlush())
 
#define QS_BEGIN_INCRIT(rec_, qsId_)
 
#define QS_END_INCRIT()
 
#define QS_GLB_CHECK_(rec_)
 
#define QS_LOC_CHECK_(qsId_)
 
#define QS_REC_DONE()   (static_cast<void>(0))
 
#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_)   (QP::QS::str_fmt_(str_))
 
#define QS_MEM(mem_, size_)   (QP::QS::mem_fmt_((mem_), (size_)))
 
#define QS_ENUM(group_, value_)
 
#define QS_TIME_PRE_()   (QP::QS::u32_raw_(QP::QS::onGetTime()))
 
#define QS_SIG(sig_, obj_)
 
#define QS_SIG_DICTIONARY(sig_, obj_)    (QP::QS::sig_dict_pre_((sig_), (obj_), #sig_))
 
#define QS_OBJ_DICTIONARY(obj_)    (QP::QS::obj_dict_pre_((obj_), #obj_))
 
#define QS_OBJ_ARR_DICTIONARY(obj_, idx_)    (QP::QS::obj_arr_dict_pre_((obj_), (idx_), #obj_))
 
#define QS_FUN_DICTIONARY(fun_)
 
#define QS_USR_DICTIONARY(rec_)    (QP::QS::usr_dict_pre_((rec_), #rec_))
 
#define QS_ENUM_DICTIONARY(value_, group_)    (QP::QS::enum_dict_pre_((value_), (group_), #value_))
 
#define QS_QF_CRIT_ENTRY()   (QP::QS::crit_entry_pre_())
 
#define QS_QF_CRIT_EXIT()   (QP::QS::crit_exit_pre_())
 
#define QS_QF_ISR_ENTRY(isrnest_, prio_)    (QP::QS::isr_entry_pre_((isrnest_), (prio_)))
 
#define QS_QF_ISR_EXIT(isrnest_, prio_)    (QP::QS::isr_exit_pre_((isrnest_), (prio_)))
 
#define QS_ONLY(code_)   (code_)
 
#define QS_ASSERTION(module_, id_, delay_)    (QP::QS::assertion_pre_((module_), (id_), (delay_)))
 
#define QS_EOD   (static_cast<std::uint16_t>(0xFFFFU))
 
#define QS_CMD   (static_cast<std::uint8_t>(7U))
 
#define QS_HEX_FMT   (static_cast<std::uint8_t>(0x0FU))
 
#define QS_CRIT_STAT   QF_CRIT_STAT
 
#define QS_CRIT_ENTRY()   QF_CRIT_ENTRY()
 
#define QS_CRIT_EXIT()   QF_CRIT_EXIT()
 
#define QS_MEM_SYS()   QF_MEM_SYS()
 
#define QS_MEM_APP()   QF_MEM_APP()
 
#define QUTEST_ON_POST   124
 
#define QS_TEST_PROBE_DEF(fun_)
 
#define QS_TEST_PROBE(code_)    if (qs_tp_ != 0U) { code_ }
 
#define QS_TEST_PROBE_ID(id_, code_)    if (qs_tp_ == static_cast<std::uint32_t>(id_)) { code_ }
 
#define QS_TEST_PAUSE()   (QP::QS::test_pause_())
 

Typedefs

using QP::QSpyFunPtr = void (*)()
 
using QP::QSTimeCtr = std::uint32_t
 

Enumerations

enum  QP::QSpyPre : 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_QEP_TRAN_EP , QP::QS_QEP_TRAN_XP , 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_PRE_MAX
}
 pre-defined QS record IDs More...
 
enum  QP::QSpyGroups : std::int16_t {
  QP::QS_ALL_RECORDS = 0xF0 , QP::QS_SM_RECORDS , QP::QS_AO_RECORDS , QP::QS_EQ_RECORDS ,
  QP::QS_MP_RECORDS , QP::QS_TE_RECORDS , QP::QS_QF_RECORDS , QP::QS_SC_RECORDS ,
  QP::QS_SEM_RECORDS , QP::QS_MTX_RECORDS , QP::QS_U0_RECORDS , QP::QS_U1_RECORDS ,
  QP::QS_U2_RECORDS , QP::QS_U3_RECORDS , QP::QS_U4_RECORDS , QP::QS_UA_RECORDS
}
 QS-TX record groups for QS_GLB_FILTER() More...
 
enum  QP::QSpyUserOffsets : std::int16_t {
  QP::QS_USER = 100 , QP::QS_USER0 = QS_USER , QP::QS_USER1 = QS_USER0 + 5 , QP::QS_USER2 = QS_USER1 + 5 ,
  QP::QS_USER3 = QS_USER2 + 5 , QP::QS_USER4 = QS_USER3 + 5
}
 QS user record group offsets for QS_GLB_FILTER() More...
 
enum  QP::QSpyIdOffsets : std::int16_t { QP::QS_AO_ID = 0 , QP::QS_EP_ID = 64 , QP::QS_EQ_ID = 80 , QP::QS_AP_ID = 96 }
 QS ID offsets for QS_LOC_FILTER() More...
 
enum  QP::QSpyIdGroups : std::int16_t {
  QP::QS_ALL_IDS = 0xF0 , QP::QS_AO_IDS = 0x80 + QS_AO_ID , QP::QS_EP_IDS = 0x80 + QS_EP_ID , QP::QS_EQ_IDS = 0x80 + QS_EQ_ID ,
  QP::QS_AP_IDS = 0x80 + QS_AP_ID
}
 QS ID groups for QS_LOC_FILTER() More...
 
enum  QP::QS::preType : std::uint8_t {
  QP::QS::I8_ENUM_T , QP::QS::U8_T , QP::QS::I16_T , QP::QS::U16_T ,
  QP::QS::I32_T , QP::QS::U32_T , QP::QS::F32_T , QP::QS::F64_T ,
  QP::QS::STR_T , QP::QS::MEM_T , QP::QS::SIG_T , QP::QS::OBJ_T ,
  QP::QS::FUN_T , QP::QS::I64_T , QP::QS::U64_T
}
 Enumerates data elements for app-specific trace records. More...
 
enum  QP::QS::QSpyObjKind : std::uint8_t {
  QP::QS::SM_OBJ , QP::QS::AO_OBJ , QP::QS::MP_OBJ , QP::QS::EQ_OBJ ,
  QP::QS::TE_OBJ , QP::QS::AP_OBJ , QP::QS::MAX_OBJ
}
 Kinds of objects used QS-RX. More...
 
enum  QP::QS::OSpyObjCombnation : std::uint8_t { QP::QS::SM_AO_OBJ = MAX_OBJ }
 Object combinations for QS-RX. More...
 

Functions

template<typename T_OUT , typename T_IN >
T_OUT QP::QS::force_cast (T_IN in)
 
void QP::QS::initBuf (std::uint8_t *const sto, std::uint_fast32_t const stoSize) noexcept
 
std::uint16_t QP::QS::getByte () noexcept
 
std::uint8_t const * QP::QS::getBlock (std::uint16_t *const pNbytes) noexcept
 
void QP::QS::doOutput ()
 
bool QP::QS::onStartup (void const *arg)
 
void QP::QS::onCleanup ()
 
void QP::QS::onFlush ()
 
QSTimeCtr QP::QS::onGetTime ()
 
void QP::QS::onTestSetup ()
 
void QP::QS::onTestTeardown ()
 
void QP::QS::onTestEvt (QEvt *e)
 
void QP::QS::onTestPost (void const *sender, QActive *recipient, QEvt const *e, bool status)
 
void QP::QS::onTestLoop ()
 
void QP::QS::rxInitBuf (std::uint8_t *const sto, std::uint16_t const stoSize) noexcept
 
bool QP::QS::rxPut (std::uint8_t const b) noexcept
 
void QP::QS::rxParse ()
 
void QP::QS::setCurrObj (std::uint8_t const obj_kind, void *const obj_ptr)
 
std::uint16_t QP::QS::rxGetNfree () noexcept
 
void QP::QS::doInput ()
 
void QP::QS::onReset ()
 
void QP::QS::onCommand (std::uint8_t cmdId, std::uint32_t param1, std::uint32_t param2, std::uint32_t param3)
 

Variables

Filter QP::QS::filt_
 

Detailed Description

QS/C++ platform-independent public interface.

Traceability
  • DVP-QP-MC4-D04_08

Definition in file qs.hpp.

Macro Definition Documentation

◆ QS_INIT

#define QS_INIT ( arg_)    (QP::QS::onStartup(arg_))

Definition at line 327 of file qs.hpp.

◆ QS_EXIT

#define QS_EXIT ( )    (QP::QS::onCleanup())

Definition at line 330 of file qs.hpp.

◆ QS_OUTPUT

#define QS_OUTPUT ( )    (QP::QS::doOutput())

Definition at line 333 of file qs.hpp.

◆ QS_RX_INPUT

#define QS_RX_INPUT ( )    (QP::QS::doInput())

Definition at line 336 of file qs.hpp.

◆ QS_GLB_FILTER

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

Definition at line 339 of file qs.hpp.

◆ QS_LOC_FILTER

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

Definition at line 343 of file qs.hpp.

◆ QS_BEGIN_ID

#define QS_BEGIN_ID ( rec_,
qsId_ )
Value:
if (QS_GLB_CHECK_(rec_) && QS_LOC_CHECK_(qsId_)) { \
QS_CRIT_STAT \
QS_CRIT_ENTRY(); \
QS_MEM_SYS(); \
QP::QS::beginRec_(static_cast<std::uint_fast8_t>(rec_)); \
QS_TIME_PRE_(); {
#define QS_GLB_CHECK_(rec_)
Definition qs.hpp:377
#define QS_LOC_CHECK_(qsId_)
Definition qs.hpp:384

Definition at line 347 of file qs.hpp.

◆ QS_END

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

Definition at line 356 of file qs.hpp.

◆ QS_FLUSH

#define QS_FLUSH ( )    (QP::QS::onFlush())

Definition at line 363 of file qs.hpp.

◆ QS_BEGIN_INCRIT

#define QS_BEGIN_INCRIT ( rec_,
qsId_ )
Value:
if (QS_GLB_CHECK_(rec_) && QS_LOC_CHECK_(qsId_)) { \
QP::QS::beginRec_(rec_); \
QS_TIME_PRE_(); {

Definition at line 366 of file qs.hpp.

◆ QS_END_INCRIT

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

Definition at line 372 of file qs.hpp.

◆ QS_GLB_CHECK_

#define QS_GLB_CHECK_ ( rec_)
Value:
((static_cast<std::uint_fast8_t>(QP::QS::filt_.glb[ \
static_cast<std::uint_fast8_t>(rec_) >> 3U]) \
& (static_cast<std::uint_fast8_t>(1U) \
<< (static_cast<std::uint_fast8_t>(rec_) & 7U))) != 0U)
std::uint8_t glb[16]
Definition qs.hpp:314
Filter filt_
Definition qs.cpp:163

Definition at line 377 of file qs.hpp.

◆ QS_LOC_CHECK_

#define QS_LOC_CHECK_ ( qsId_)
Value:
((static_cast<std::uint_fast8_t>(QP::QS::filt_.loc \
[static_cast<std::uint_fast8_t>(qsId_) >> 3U]) \
& (static_cast<std::uint_fast8_t>(1U) \
<< (static_cast<std::uint_fast8_t>(qsId_) & 7U))) != 0U)
std::uint8_t loc[16]
Definition qs.hpp:315

Definition at line 384 of file qs.hpp.

◆ QS_REC_DONE

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

Definition at line 392 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) & 0x7U)) \
| static_cast<std::uint8_t>(QP::QS::I8_ENUM_T)), (data_)))
@ I8_ENUM_T
signed 8-bit integer or enum format
Definition qs.hpp:696

Definition at line 396 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)) \
| static_cast<std::uint8_t>(QP::QS::U8_T)), (data_)))
@ U8_T
unsigned 8-bit integer format
Definition qs.hpp:697

Definition at line 402 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)) \
| static_cast<std::uint8_t>(QP::QS::I16_T)), (data_)))
@ I16_T
signed 16-bit integer format
Definition qs.hpp:698

Definition at line 408 of file qs.hpp.

◆ QS_U16

#define QS_U16 ( width_,
data_ )
Value:
(QP::QS::u16_fmt_(static_cast<std::uint8_t>((((width_) << 4U)) \
| static_cast<std::uint8_t>(QP::QS::U16_T)), (data_)))
@ U16_T
unsigned 16-bit integer format
Definition qs.hpp:699

Definition at line 414 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)) \
| static_cast<std::uint8_t>(QP::QS::I32_T)), (data_)))
@ I32_T
signed 32-bit integer format
Definition qs.hpp:700

Definition at line 419 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)) \
| static_cast<std::uint8_t>(QP::QS::U32_T)), (data_)))
@ U32_T
unsigned 32-bit integer format
Definition qs.hpp:701

Definition at line 425 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)) \
| static_cast<std::uint8_t>(QP::QS::I64_T)), (data_)))
@ I64_T
signed 64-bit integer format
Definition qs.hpp:709

Definition at line 431 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)) \
| static_cast<std::uint8_t>(QP::QS::U64_T)), (data_)))
@ U64_T
unsigned 64-bit integer format
Definition qs.hpp:710

Definition at line 437 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)) \
| static_cast<std::uint8_t>(QP::QS::F32_T)), (data_)))
@ F32_T
32-bit floating point format
Definition qs.hpp:702

Definition at line 443 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)) \
| static_cast<std::uint8_t>(QP::QS::F64_T)), (data_)))
@ F64_T
64-bit floating point format
Definition qs.hpp:703

Definition at line 449 of file qs.hpp.

◆ QS_STR

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

Definition at line 455 of file qs.hpp.

◆ QS_MEM

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

Definition at line 458 of file qs.hpp.

◆ QS_ENUM

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

Definition at line 461 of file qs.hpp.

◆ QS_TIME_PRE_

#define QS_TIME_PRE_ ( )    (QP::QS::u32_raw_(QP::QS::onGetTime()))

Definition at line 473 of file qs.hpp.

◆ QS_SIG

#define QS_SIG ( sig_,
obj_ )
Value:
QP::QS::u16_fmt_(QP::QS::SIG_T, static_cast<std::uint16_t>(sig_)); \
QP::QS::obj_raw_(obj_)
@ SIG_T
event signal format
Definition qs.hpp:706

Definition at line 521 of file qs.hpp.

◆ QS_SIG_DICTIONARY

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

Definition at line 534 of file qs.hpp.

◆ QS_OBJ_DICTIONARY

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

Definition at line 538 of file qs.hpp.

◆ QS_OBJ_ARR_DICTIONARY

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

Definition at line 542 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_))
T_OUT force_cast(T_IN in)
Definition qs.hpp:715

Definition at line 546 of file qs.hpp.

◆ QS_USR_DICTIONARY

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

Definition at line 551 of file qs.hpp.

◆ QS_ENUM_DICTIONARY

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

Definition at line 555 of file qs.hpp.

◆ QS_QF_CRIT_ENTRY

#define QS_QF_CRIT_ENTRY ( )    (QP::QS::crit_entry_pre_())

Definition at line 559 of file qs.hpp.

◆ QS_QF_CRIT_EXIT

#define QS_QF_CRIT_EXIT ( )    (QP::QS::crit_exit_pre_())

Definition at line 562 of file qs.hpp.

◆ QS_QF_ISR_ENTRY

#define QS_QF_ISR_ENTRY ( isrnest_,
prio_ )    (QP::QS::isr_entry_pre_((isrnest_), (prio_)))

Definition at line 565 of file qs.hpp.

◆ QS_QF_ISR_EXIT

#define QS_QF_ISR_EXIT ( isrnest_,
prio_ )    (QP::QS::isr_exit_pre_((isrnest_), (prio_)))

Definition at line 569 of file qs.hpp.

◆ QS_ONLY

#define QS_ONLY ( code_)    (code_)

Definition at line 573 of file qs.hpp.

◆ QS_ASSERTION

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

Definition at line 576 of file qs.hpp.

◆ QS_EOD

#define QS_EOD   (static_cast<std::uint16_t>(0xFFFFU))

Definition at line 580 of file qs.hpp.

◆ QS_CMD

#define QS_CMD   (static_cast<std::uint8_t>(7U))

Definition at line 583 of file qs.hpp.

◆ QS_HEX_FMT

#define QS_HEX_FMT   (static_cast<std::uint8_t>(0x0FU))

Definition at line 586 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 590 of file qs.hpp.

◆ QS_CRIT_ENTRY

#define QS_CRIT_ENTRY ( )    QF_CRIT_ENTRY()

Internal macro for entering a critical section

Definition at line 595 of file qs.hpp.

◆ QS_CRIT_EXIT

#define QS_CRIT_EXIT ( )    QF_CRIT_EXIT()

Internal macro for exiting a critical section

Definition at line 600 of file qs.hpp.

◆ QS_MEM_SYS

#define QS_MEM_SYS ( )    QF_MEM_SYS()

Internal macro for configuring MPU for System access

Definition at line 605 of file qs.hpp.

◆ QS_MEM_APP

#define QS_MEM_APP ( )    QF_MEM_APP()

Internal macro for configuring MPU for Application access

Definition at line 610 of file qs.hpp.

◆ QUTEST_ON_POST

#define QUTEST_ON_POST   124

Definition at line 790 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_));

QS macro to define the Test-Probe for a given fun_

Traceability
  • DVP-QS-MC4-R11_01
  • DVP-QS-MC4-R15_05
  • DVP-QS-PCLP-823

Definition at line 870 of file qs.hpp.

◆ QS_TEST_PROBE

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

Definition at line 874 of file qs.hpp.

◆ QS_TEST_PROBE_ID

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

QS_TEST_PROBE QS macro to apply a Test-Probe

Traceability
  • DVR-QS-MC4-R11_05

QS macro to apply a Test-Probe

Definition at line 877 of file qs.hpp.

◆ QS_TEST_PAUSE

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

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

Definition at line 880 of file qs.hpp.