QS/C platform-independent public interface. More...
Go to the source code of this file.
Classes | |
struct | QSPrivAttr |
Private QS attributes to keep track of the filters and the trace buffer. More... | |
struct | QActiveDummy |
QActiveDummy Object class. More... | |
Macros | |
#define | QS_TIME_SIZE 4U |
The size [bytes] of the QS time stamp. More... | |
#define | QS_TIME_PRE_() (QS_u32_raw_(QS_onGetTime())) |
Internal macro to output time stamp to a QS record. More... | |
#define | QS_EOD ((uint16_t)0xFFFFU) |
Constant for End-Of-Data condition returned from QS_getByte() More... | |
#define | QS_INIT(arg_) (QS_onStartup(arg_)) |
Initialize the QS facility. More... | |
#define | QS_EXIT() (QS_onCleanup()) |
Cleanup the QS facility. More... | |
#define | QS_FLUSH() (QS_onFlush()) |
Flush the QS trace data to the host. More... | |
#define | QS_GLB_FILTER(rec_) (QS_glbFilter_((int_fast16_t)(rec_))) |
Global Filter for a given record type rec . More... | |
#define | QS_LOC_FILTER(qs_id_) (QS_locFilter_((int_fast16_t)(qs_id_))) |
Local Filter for a given object-id qs_id . More... | |
#define | QS_CRIT_STAT_ |
This is an internal macro for defining the critical section status type. More... | |
#define | QS_CRIT_E_() QF_CRIT_ENTRY(dummy) |
This is an internal macro for entering a critical section. More... | |
#define | QS_CRIT_X_() QF_CRIT_EXIT(dummy); QS_REC_DONE() |
This is an internal macro for exiting a critical section. More... | |
#define | QS_BEGIN_NOCRIT(rec_, qs_id_) |
Begin a QS user record without entering critical section. More... | |
#define | QS_END_NOCRIT() |
End a QS user record without exiting critical section. More... | |
#define | QS_REC_DONE() ((void)0) |
macro to hook up user code when a QS record is produced More... | |
#define | QS_GLB_CHECK_(rec_) |
helper macro for checking the global QS filter More... | |
#define | QS_LOC_CHECK_(qs_id_) |
helper macro for checking the local QS filter More... | |
#define | QS_BEGIN_ID(rec_, qs_id_) |
Begin an application-specific (user) QS record with object-id for the local filter. More... | |
#define | QS_END() |
End a QS record with exiting critical section. More... | |
#define | QS_I8(width_, data_) (QS_u8_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I8_T, (data_))) |
Output formatted int8_t to the QS record. More... | |
#define | QS_U8(width_, data_) (QS_u8_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U8_T, (data_))) |
Output formatted uint8_t to the QS record. More... | |
#define | QS_I16(width_, data_) (QS_u16_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I16_T, (data_))) |
Output formatted int16_t to the QS record. More... | |
#define | QS_U16(width_, data_) (QS_u16_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U16_T, (data_))) |
Output formatted uint16_t to the QS record. More... | |
#define | QS_I32(width_, data_) (QS_u32_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I32_T, (data_))) |
Output formatted int32_t to the QS record. More... | |
#define | QS_U32(width_, data_) (QS_u32_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U32_T, (data_))) |
Output formatted uint32_t to the QS record. More... | |
#define | QS_F32(width_, data_) (QS_f32_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_F32_T, (data_))) |
Output formatted 32-bit floating point number to the QS record. More... | |
#define | QS_F64(width_, data_) (QS_f64_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_F64_T, (data_))) |
Output formatted 64-bit floating point number to the QS record. More... | |
#define | QS_I64(width_, data_) (QS_u64_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I64_T, (data_))) |
Output formatted int64_t to the QS record. More... | |
#define | QS_U64(width_, data_) (QS_u64_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U64_T, (data_))) |
Output formatted uint64_t to the QS record. More... | |
#define | QS_STR(str_) (QS_str_fmt_((str_))) |
Output formatted zero-terminated ASCII string to the QS record. More... | |
#define | QS_MEM(mem_, size_) (QS_mem_fmt_((mem_), (size_))) |
Output formatted memory block of up to 255 bytes to the QS record. More... | |
#define | QS_OBJ(obj_) (QS_u32_fmt_(QS_OBJ_T, (uint32_t)(obj_))) |
Output formatted object pointer to the QS record. More... | |
#define | QS_FUN(fun_) (QS_u32_fmt_(QS_FUN_T, (uint32_t)(fun_))) |
Output formatted function pointer to the QS record. More... | |
#define | QS_SIG(sig_, obj_) |
Output formatted event signal (of type ::QSignal) and the state machine object to the user QS record. More... | |
#define | QS_SIG_DICTIONARY(sig_, obj_) (QS_sig_dict_pre_((sig_), (obj_), #sig_)) |
Output signal dictionary record. More... | |
#define | QS_OBJ_DICTIONARY(obj_) (QS_obj_dict_pre_((obj_), #obj_)) |
Output object dictionary record. More... | |
#define | QS_FUN_DICTIONARY(fun_) (QS_fun_dict_pre_((void (*)(void))(fun_), #fun_)) |
Output function dictionary record. More... | |
#define | QS_USR_DICTIONARY(rec_) (QS_usr_dict_pre_((rec_), #rec_)) |
Output user QS-record dictionary record. More... | |
#define | QF_QS_ACTION(act_) (act_) |
Execute an action that is only necessary for QS output. More... | |
#define | QS_OUTPUT() (QS_output()) |
Macro to handle the QS output from the application NOTE: if this macro is used, the application must define QS_output(). More... | |
#define | QS_RX_INPUT() (QS_rx_input()) |
Macro to handle the QS-RX input to the application NOTE: if this macro is used, the application must define QS_rx_input(). More... | |
#define | QS_TEST_PROBE_DEF(fun_) uint32_t const qs_tp_ = QS_getTestProbe_((void (*)(void))(fun_)); |
QS macro to define the Test-Probe for a given fun_ . More... | |
#define | QS_TEST_PROBE(code_) if (qs_tp_ != 0U) { code_ } |
QS macro to apply a Test-Probe. More... | |
#define | QS_TEST_PROBE_ID(id_, code_) if (qs_tp_ == (uint32_t)(id_)) { code_ } |
QS macro to apply a Test-Probe. More... | |
#define | QS_TEST_PAUSE() |
QS macro to pause test execution and enter the test event loop. More... | |
Typedefs | |
typedef uint32_t | QSTimeCtr |
The type of the QS time stamp. More... | |
typedef uint_fast16_t | QSCtr |
QS ring buffer counter and offset type. More... | |
Functions | |
void | QS_initBuf (uint8_t sto[], uint_fast16_t stoSize) |
Initialize the QS data buffer. More... | |
void | QS_glbFilter_ (int_fast16_t const filter) |
Set/clear the global Filter for a given QS record or group of records. More... | |
void | QS_locFilter_ (int_fast16_t const filter) |
Set/clear the local Filter for a given object-id or group of object-ids. More... | |
void | QS_beginRec_ (uint_fast8_t rec) |
Mark the begin of a QS record rec . More... | |
void | QS_endRec_ (void) |
Mark the end of a QS record rec . More... | |
void | QS_u8_raw_ (uint8_t d) |
output raw uint8_t data element (without format information) More... | |
void | QS_2u8_raw_ (uint8_t d1, uint8_t d2) |
output two raw uint8_t data elements (without format information) More... | |
void | QS_u16_raw_ (uint16_t d) |
Output raw uint16_t data element (without format information) More... | |
void | QS_u32_raw_ (uint32_t d) |
Output raw uint32_t data element (without format information) More... | |
void | QS_str_raw_ (char_t const *str) |
Output raw zero-terminated string element (without format information) More... | |
void | QS_u8_fmt_ (uint8_t format, uint8_t d) |
Output uint8_t data element with format information. More... | |
void | QS_u16_fmt_ (uint8_t format, uint16_t d) |
output uint16_t data element with format information More... | |
void | QS_u32_fmt_ (uint8_t format, uint32_t d) |
Output uint32_t data element with format information. More... | |
void | QS_f32_fmt_ (uint8_t format, float32_t f) |
Output 32-bit floating point data element with format information. More... | |
void | QS_f64_fmt_ (uint8_t format, float64_t d) |
Output 64-bit floating point data element with format information. More... | |
void | QS_obj_raw_ (void const *const obj) |
Output obj pointer data element without format information. More... | |
void | QS_str_fmt_ (char_t const *str) |
Output zero-terminated ASCII string element with format information. More... | |
void | QS_mem_fmt_ (uint8_t const *blk, uint8_t size) |
Output memory block of up to 255-bytes with format information. More... | |
void | QS_u64_raw_ (uint64_t d) |
Output raw uint64_t data element without format information. More... | |
void | QS_u64_fmt_ (uint8_t format, uint64_t d) |
Output uint64_t data element with format information. More... | |
uint16_t | QS_getByte (void) |
Byte-oriented interface to the QS data buffer. More... | |
uint8_t const * | QS_getBlock (uint16_t *pNbytes) |
Block-oriented interface to the QS data buffer. More... | |
uint8_t | QS_onStartup (void const *arg) |
Callback to startup the QS facility. More... | |
void | QS_onCleanup (void) |
Callback to cleanup the QS facility. More... | |
void | QS_onFlush (void) |
Callback to flush the QS trace data to the host. More... | |
QSTimeCtr | QS_onGetTime (void) |
Callback to obtain a timestamp for a QS record. More... | |
void | QS_sig_dict_pre_ (enum_t const sig, void const *const obj, char_t const *name) |
Output predefined signal-dictionary record. More... | |
void | QS_obj_dict_pre_ (void const *const obj, char_t const *name) |
Output predefined object-dictionary record. More... | |
void | QS_fun_dict_pre_ (void(*const fun)(void), char_t const *name) |
Output predefined function-dictionary record. More... | |
void | QS_usr_dict_pre_ (enum_t const rec, char_t const *const name) |
Output predefined user-dictionary record. More... | |
void | QS_ASSERTION (char_t const *const module, int_t const loc, uint32_t delay) |
Output the assertion failure trace record. More... | |
void | QF_QS_CRIT_ENTRY (void) |
Output the critical section entry. More... | |
void | QF_QS_CRIT_EXIT (void) |
Output the critical section exit. More... | |
void | QF_QS_ISR_ENTRY (uint8_t const isrnest, uint8_t const prio) |
Output the interrupt entry record. More... | |
void | QF_QS_ISR_EXIT (uint8_t const isrnest, uint8_t const prio) |
Output the interrupt exit record. More... | |
void | QS_rxInitBuf (uint8_t sto[], uint16_t stoSize) |
Initialize the QS RX data buffer. More... | |
void | QS_rxParse (void) |
Parse all bytes present in the QS RX data buffer. More... | |
bool | QS_RX_PUT (uint8_t const b) |
Put one byte into the QS RX lock-free buffer. More... | |
uint16_t | QS_rxGetNfree (void) |
Obtain the number of free bytes in the QS RX data buffer. More... | |
void | QS_setCurrObj (uint8_t obj_kind, void *obj_ptr) |
Set the "current object" in the Target. More... | |
void | QS_queryCurrObj (uint8_t obj_kind) |
Query the "current object" in the Target. More... | |
void | QS_onReset (void) |
Callback function to reset the Target (to be implemented in the BSP) More... | |
void | QS_onCommand (uint8_t cmdId, uint32_t param1, uint32_t param2, uint32_t param3) |
Callback function to execute user commands (to be implemented in BSP) More... | |
void | QS_onTestSetup (void) |
callback to setup a unit test inside the Target More... | |
void | QS_onTestTeardown (void) |
callback to teardown after a unit test inside the Target More... | |
void | QS_onTestLoop (void) |
callback to run the test loop More... | |
void | QS_onTestEvt (QEvt *e) |
callback to "massage" the test event before dispatching/posting it More... | |
void | QS_onTestPost (void const *sender, QActive *recipient, QEvt const *e, bool status) |
callback to examine an event that is about to be posted More... | |
void | QS_processTestEvts_ (void) |
QS internal function to process posted events during test. More... | |
void | QS_tickX_ (uint_fast8_t const tickRate, void const *const sender) |
internal function to process armed time events during test More... | |
uint32_t | QS_getTestProbe_ (void(*const api)(void)) |
QS internal function to get the Test-Probe for a given API. More... | |
void | QActiveDummy_ctor (QActiveDummy *const me) |
Constructor of the QActiveDummy Active Object class. More... | |
Variables | |
QSPrivAttr | QS_priv_ |
uint8_t volatile | QF_intNest |
QS/C platform-independent public interface.
Definition in file qs_copy.h.
struct QSPrivAttr |
Private QS attributes to keep track of the filters and the trace buffer.
Class Members | ||
---|---|---|
uint8_t | glbFilter[16] | global on/off QS filter |
uint8_t | locFilter[16] | local QS filters |
void const * | locFilter_AP | deprecated local QS filter |
uint8_t * | buf | pointer to the start of the ring buffer |
QSCtr | end | offset of the end of the ring buffer |
QSCtr | head | offset to where next byte will be inserted |
QSCtr | tail | offset of where next byte will be extracted |
QSCtr | used | number of bytes currently in the ring buffer |
uint8_t | seq | the record sequence number |
uint8_t | chksum | the checksum of the current record |
uint8_t | critNest | critical section nesting level |
struct QActiveDummy |
QActiveDummy Object class.
Class Members | ||
---|---|---|
QActive | super |
#define QS_TIME_SIZE 4U |
#define QS_TIME_PRE_ | ( | ) | (QS_u32_raw_(QS_onGetTime())) |
#define QS_EOD ((uint16_t)0xFFFFU) |
Constant for End-Of-Data condition returned from QS_getByte()
#define QS_INIT | ( | arg_ | ) | (QS_onStartup(arg_)) |
Initialize the QS facility.
#define QS_EXIT | ( | ) | (QS_onCleanup()) |
Cleanup the QS facility.
#define QS_FLUSH | ( | ) | (QS_onFlush()) |
Flush the QS trace data to the host.
#define QS_GLB_FILTER | ( | rec_ | ) | (QS_glbFilter_((int_fast16_t)(rec_))) |
Global Filter for a given record type rec
.
The following example shows how to use QS filters:
#define QS_LOC_FILTER | ( | qs_id_ | ) | (QS_locFilter_((int_fast16_t)(qs_id_))) |
Local Filter for a given object-id qs_id
.
The following example shows how to use QS filters:
#define QS_CRIT_STAT_ |
This is an internal macro for defining the critical section status type.
#define QS_CRIT_E_ | ( | ) | QF_CRIT_ENTRY(dummy) |
This is an internal macro for entering a critical section.
#define QS_CRIT_X_ | ( | ) | QF_CRIT_EXIT(dummy); QS_REC_DONE() |
This is an internal macro for exiting a critical section.
#define QS_BEGIN_NOCRIT | ( | rec_, | |
qs_id_ | |||
) |
Begin a QS user record without entering critical section.
#define QS_END_NOCRIT | ( | ) |
#define QS_REC_DONE | ( | ) | ((void)0) |
#define QS_GLB_CHECK_ | ( | rec_ | ) |
helper macro for checking the global QS filter
#define QS_LOC_CHECK_ | ( | qs_id_ | ) |
helper macro for checking the local QS filter
#define QS_BEGIN_ID | ( | rec_, | |
qs_id_ | |||
) |
Begin an application-specific (user) QS record with object-id for the local filter.
#define QS_END | ( | ) |
End a QS record with exiting critical section.
#define QS_I8 | ( | width_, | |
data_ | |||
) | (QS_u8_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I8_T, (data_))) |
#define QS_U8 | ( | width_, | |
data_ | |||
) | (QS_u8_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U8_T, (data_))) |
#define QS_I16 | ( | width_, | |
data_ | |||
) | (QS_u16_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I16_T, (data_))) |
#define QS_U16 | ( | width_, | |
data_ | |||
) | (QS_u16_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U16_T, (data_))) |
#define QS_I32 | ( | width_, | |
data_ | |||
) | (QS_u32_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I32_T, (data_))) |
#define QS_U32 | ( | width_, | |
data_ | |||
) | (QS_u32_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U32_T, (data_))) |
#define QS_F32 | ( | width_, | |
data_ | |||
) | (QS_f32_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_F32_T, (data_))) |
#define QS_F64 | ( | width_, | |
data_ | |||
) | (QS_f64_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_F64_T, (data_))) |
#define QS_I64 | ( | width_, | |
data_ | |||
) | (QS_u64_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_I64_T, (data_))) |
#define QS_U64 | ( | width_, | |
data_ | |||
) | (QS_u64_fmt_((uint8_t)(((width_) << 4)) | (uint8_t)QS_U64_T, (data_))) |
#define QS_STR | ( | str_ | ) | (QS_str_fmt_((str_))) |
#define QS_MEM | ( | mem_, | |
size_ | |||
) | (QS_mem_fmt_((mem_), (size_))) |
#define QS_OBJ | ( | obj_ | ) | (QS_u32_fmt_(QS_OBJ_T, (uint32_t)(obj_))) |
#define QS_FUN | ( | fun_ | ) | (QS_u32_fmt_(QS_FUN_T, (uint32_t)(fun_))) |
#define QS_SIG | ( | sig_, | |
obj_ | |||
) |
Output formatted event signal (of type ::QSignal) and the state machine object to the user QS record.
#define QS_SIG_DICTIONARY | ( | sig_, | |
obj_ | |||
) | (QS_sig_dict_pre_((sig_), (obj_), #sig_)) |
Output signal dictionary record.
Providing a signal dictionary QS record can vastly improve readability of the QS log, because instead of dealing with cryptic machine addresses the QSpy host utility can display human-readable names.
A signal dictionary entry is associated with both the signal value sig_
and the state machine obj_
, because signals are required to be unique only within a given state machine and therefore the same numerical values can represent different signals in different state machines.
For the "global" signals that have the same meaning in all state machines (such as globally published signals), you can specify a signal dictionary entry with the obj_
parameter set to NULL.
The following example shows the definition of signal dictionary entries in the initial transition of the Table active object. Please note that signals HUNGRY_SIG and DONE_SIG are associated with the Table state machine only ("me" obj_
pointer). The EAT_SIG signal, on the other hand, is global (0 obj_
pointer):
The following QSpy log example shows the signal dictionary records generated from the Table initial transition and subsequent records that show human-readable names of the signals:
The following QSpy log example shows the same sequence of records, but with dictionary records removed. The human-readable signal names are not available.
#define QS_OBJ_DICTIONARY | ( | obj_ | ) | (QS_obj_dict_pre_((obj_), #obj_)) |
Output object dictionary record.
Providing an object dictionary QS record can vastly improve readability of the QS log, because instead of dealing with cryptic machine addresses the QSpy host utility can display human-readable object names.
The following example shows the definition of object dictionary entry for the Table active object:
#define QS_FUN_DICTIONARY | ( | fun_ | ) | (QS_fun_dict_pre_((void (*)(void))(fun_), #fun_)) |
Output function dictionary record.
Providing a function dictionary QS record can vastly improve readability of the QS log, because instead of dealing with cryptic machine addresses the QSpy host utility can display human-readable function names.
The example from QS_SIG_DICTIONARY() shows the definition of a function dictionary.
#define QS_USR_DICTIONARY | ( | rec_ | ) | (QS_usr_dict_pre_((rec_), #rec_)) |
#define QF_QS_ACTION | ( | act_ | ) | (act_) |
#define QS_OUTPUT | ( | ) | (QS_output()) |
#define QS_RX_INPUT | ( | ) | (QS_rx_input()) |
#define QS_TEST_PROBE_DEF | ( | fun_ | ) | uint32_t const qs_tp_ = QS_getTestProbe_((void (*)(void))(fun_)); |
#define QS_TEST_PROBE | ( | code_ | ) | if (qs_tp_ != 0U) { code_ } |
#define QS_TEST_PROBE_ID | ( | id_, | |
code_ | |||
) | if (qs_tp_ == (uint32_t)(id_)) { code_ } |
#define QS_TEST_PAUSE | ( | ) |
QS macro to pause test execution and enter the test event loop.
typedef uint32_t QSTimeCtr |
typedef uint_fast16_t QSCtr |
enum QSpyRecords |
Quantum Spy record types.
enum QSpyRecordGroups |
QS record groups for QS_GLB_FILTER()
enum QSpyUserOffsets |
QS user record group offsets for QS_GLB_FILTER()
Enumerator | |
---|---|
QS_USER0 | offset for User Group 0 |
QS_USER1 | offset for User Group 1 |
QS_USER2 | offset for User Group 2 |
QS_USER3 | offset for User Group 3 |
QS_USER4 | offset for User Group 4 |
enum QSpyIdOffsets |
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 Application-specific IDs |
enum QSpyIdGroups |
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. |
anonymous enum |
formats for application-specific data elements
enum QSpyObjKind |
enum OSpyObjCombnation |
enum QSpyRxRecords |
Enumeration for the received Qs record types (RX 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_X() in the Target |
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_TEST_PAUSE() |
QS_RX_QUERY_CURR | query the "current object" in the Target |
QS_RX_EVENT | inject an event to the Target |
enum QUTestUserRecords |
void QS_initBuf | ( | uint8_t | sto[], |
uint_fast16_t | stoSize | ||
) |
Initialize the QS data buffer.
void QS_glbFilter_ | ( | int_fast16_t const | filter | ) |
Set/clear the global Filter for a given QS record or group of records.
void QS_locFilter_ | ( | int_fast16_t const | filter | ) |
Set/clear the local Filter for a given object-id or group of object-ids.
void QS_beginRec_ | ( | uint_fast8_t | rec | ) |
Mark the begin of a QS record rec
.
void QS_endRec_ | ( | void | ) |
Mark the end of a QS record rec
.
void QS_u8_raw_ | ( | uint8_t | d | ) |
output raw uint8_t data element (without format information)
void QS_2u8_raw_ | ( | uint8_t | d1, |
uint8_t | d2 | ||
) |
output two raw uint8_t data elements (without format information)
void QS_u16_raw_ | ( | uint16_t | d | ) |
Output raw uint16_t data element (without format information)
void QS_u32_raw_ | ( | uint32_t | d | ) |
Output raw uint32_t data element (without format information)
void QS_str_raw_ | ( | char_t const * | str | ) |
Output raw zero-terminated string element (without format information)
void QS_u8_fmt_ | ( | uint8_t | format, |
uint8_t | d | ||
) |
Output uint8_t data element with format information.
void QS_u16_fmt_ | ( | uint8_t | format, |
uint16_t | d | ||
) |
output uint16_t data element with format information
void QS_u32_fmt_ | ( | uint8_t | format, |
uint32_t | d | ||
) |
Output uint32_t data element with format information.
void QS_f32_fmt_ | ( | uint8_t | format, |
float32_t | f | ||
) |
Output 32-bit floating point data element with format information.
void QS_f64_fmt_ | ( | uint8_t | format, |
float64_t | d | ||
) |
Output 64-bit floating point data element with format information.
void QS_obj_raw_ | ( | void const *const | obj | ) |
Output obj pointer data element without format information.
void QS_str_fmt_ | ( | char_t const * | str | ) |
Output zero-terminated ASCII string element with format information.
void QS_mem_fmt_ | ( | uint8_t const * | blk, |
uint8_t | size | ||
) |
Output memory block of up to 255-bytes with format information.
void QS_u64_raw_ | ( | uint64_t | d | ) |
Output raw uint64_t data element without format information.
void QS_u64_fmt_ | ( | uint8_t | format, |
uint64_t | d | ||
) |
Output uint64_t data element with format information.
uint16_t QS_getByte | ( | void | ) |
Byte-oriented interface to the QS data buffer.
uint8_t const* QS_getBlock | ( | uint16_t * | pNbytes | ) |
Block-oriented interface to the QS data buffer.
uint8_t QS_onStartup | ( | void const * | arg | ) |
Callback to startup the QS facility.
arg
can be used to pass parameter(s) needed to configure the output channel.void QS_onCleanup | ( | void | ) |
Callback to cleanup the QS facility.
void QS_onFlush | ( | void | ) |
Callback to flush the QS trace data to the host.
QSTimeCtr QS_onGetTime | ( | void | ) |
Callback to obtain a timestamp for a QS record.
void QS_sig_dict_pre_ | ( | enum_t const | sig, |
void const *const | obj, | ||
char_t const * | name | ||
) |
Output predefined signal-dictionary record.
void QS_obj_dict_pre_ | ( | void const *const | obj, |
char_t const * | name | ||
) |
Output predefined object-dictionary record.
void QS_fun_dict_pre_ | ( | void(*)(void) | fun, |
char_t const * | name | ||
) |
Output predefined function-dictionary record.
void QS_usr_dict_pre_ | ( | enum_t const | rec, |
char_t const *const | name | ||
) |
Output predefined user-dictionary record.
void QS_ASSERTION | ( | char_t const *const | module, |
int_t const | loc, | ||
uint32_t | delay | ||
) |
Output the assertion failure trace record.
void QF_QS_CRIT_ENTRY | ( | void | ) |
Output the critical section entry.
void QF_QS_CRIT_EXIT | ( | void | ) |
Output the critical section exit.
void QF_QS_ISR_ENTRY | ( | uint8_t const | isrnest, |
uint8_t const | prio | ||
) |
Output the interrupt entry record.
void QF_QS_ISR_EXIT | ( | uint8_t const | isrnest, |
uint8_t const | prio | ||
) |
Output the interrupt exit record.
void QS_rxInitBuf | ( | uint8_t | sto[], |
uint16_t | stoSize | ||
) |
Initialize the QS RX data buffer.
void QS_rxParse | ( | void | ) |
Parse all bytes present in the QS RX data buffer.
bool QS_RX_PUT | ( | uint8_t const | b | ) |
Put one byte into the QS RX lock-free buffer.
uint16_t QS_rxGetNfree | ( | void | ) |
Obtain the number of free bytes in the QS RX data buffer.
void QS_setCurrObj | ( | uint8_t | obj_kind, |
void * | obj_ptr | ||
) |
Set the "current object" in the Target.
void QS_queryCurrObj | ( | uint8_t | obj_kind | ) |
Query the "current object" in the Target.
void QS_onReset | ( | void | ) |
Callback function to reset the Target (to be implemented in the BSP)
void QS_onCommand | ( | uint8_t | cmdId, |
uint32_t | param1, | ||
uint32_t | param2, | ||
uint32_t | param3 | ||
) |
Callback function to execute user commands (to be implemented in BSP)
void QS_onTestSetup | ( | void | ) |
callback to setup a unit test inside the Target
void QS_onTestTeardown | ( | void | ) |
callback to teardown after a unit test inside the Target
void QS_onTestLoop | ( | void | ) |
callback to run the test loop
void QS_onTestEvt | ( | QEvt * | e | ) |
callback to "massage" the test event before dispatching/posting it
void QS_onTestPost | ( | void const * | sender, |
QActive * | recipient, | ||
QEvt const * | e, | ||
bool | status | ||
) |
callback to examine an event that is about to be posted
void QS_processTestEvts_ | ( | void | ) |
QS internal function to process posted events during test.
void QS_tickX_ | ( | uint_fast8_t const | tickRate, |
void const *const | sender | ||
) |
internal function to process armed time events during test
uint32_t QS_getTestProbe_ | ( | void(*)(void) | api | ) |
QS internal function to get the Test-Probe for a given API.
void QActiveDummy_ctor | ( | QActiveDummy *const | me | ) |
Constructor of the QActiveDummy Active Object class.
|
extern |
|
extern |