| ChibiOS/RT
    5.1.0
    | 
|   | 
System events tracing service.
| Debug related settings | |
| #define | CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED | 
| Trace buffer entries.  More... | |
| #define | CH_DBG_TRACE_BUFFER_SIZE 128 | 
| Trace buffer entries.  More... | |
| Data Structures | |
| struct | ch_trace_event_t | 
| Trace buffer record.  More... | |
| struct | ch_trace_buffer_t | 
| Trace buffer header.  More... | |
| Functions | |
| static NOINLINE void | trace_next (void) | 
| Writes a time stamp and increases the trace buffer pointer.  More... | |
| void | _trace_init (void) | 
| Trace circular buffer subsystem initialization.  More... | |
| void | _trace_switch (thread_t *ntp, thread_t *otp) | 
| Inserts in the circular debug trace buffer a context switch record.  More... | |
| void | _trace_isr_enter (const char *isr) | 
| Inserts in the circular debug trace buffer an ISR-enter record.  More... | |
| void | _trace_isr_leave (const char *isr) | 
| Inserts in the circular debug trace buffer an ISR-leave record.  More... | |
| void | _trace_halt (const char *reason) | 
| Inserts in the circular debug trace buffer an halt record.  More... | |
| void | chDbgWriteTraceI (void *up1, void *up2) | 
| Adds an user trace record to the trace buffer.  More... | |
| void | chDbgWriteTrace (void *up1, void *up2) | 
| Adds an user trace record to the trace buffer.  More... | |
| void | chDbgSuspendTraceI (uint16_t mask) | 
| Suspends one or more trace events.  More... | |
| void | chDbgSuspendTrace (uint16_t mask) | 
| Suspends one or more trace events.  More... | |
| void | chDbgResumeTraceI (uint16_t mask) | 
| Resumes one or more trace events.  More... | |
| void | chDbgResumeTrace (uint16_t mask) | 
| Resumes one or more trace events.  More... | |
| #define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED | 
| #define CH_DBG_TRACE_BUFFER_SIZE 128 | 
Trace buffer entries.
CH_DBG_TRACE_MASK is different from CH_DBG_TRACE_MASK_DISABLED. Definition at line 87 of file chtrace.h.
Referenced by _trace_init(), and trace_next().
| 
 | static | 
Writes a time stamp and increases the trace buffer pointer.
Definition at line 57 of file chtrace.c.
References ch_trace_buffer_t::buffer, ch, CH_CFG_TRACE_HOOK, CH_DBG_TRACE_BUFFER_SIZE, chSysGetRealtimeCounterX, chVTGetSystemTimeX(), ch_system::dbg, ch_trace_buffer_t::ptr, ch_trace_event_t::rtstamp, ch_trace_event_t::time, and ch_system_debug::trace_buffer.
Referenced by _trace_halt(), _trace_isr_enter(), _trace_isr_leave(), _trace_switch(), and chDbgWriteTraceI().

| void _trace_init | ( | void | ) | 
Trace circular buffer subsystem initialization.
Definition at line 85 of file chtrace.c.
References ch_trace_buffer_t::buffer, ch, CH_DBG_TRACE_BUFFER_SIZE, ch_system::dbg, ch_trace_buffer_t::ptr, ch_trace_buffer_t::size, ch_trace_buffer_t::suspended, ch_system_debug::trace_buffer, and ch_trace_event_t::type.
Referenced by chSysInit().
Inserts in the circular debug trace buffer a context switch record.
| [in] | ntp | the thread being switched in | 
| [in] | otp | the thread being switched out | 
Definition at line 104 of file chtrace.c.
References ch, currp, ch_system::dbg, ch_trace_buffer_t::ptr, ch_trace_event_t::state, ch_thread::state, ch_trace_buffer_t::suspended, ch_trace_event_t::sw, ch_system_debug::trace_buffer, trace_next(), ch_trace_event_t::type, ch_thread::u, and ch_thread::wtobjp.

| void _trace_isr_enter | ( | const char * | isr | ) | 
Inserts in the circular debug trace buffer an ISR-enter record.
| [in] | isr | name of the isr | 
Definition at line 124 of file chtrace.c.
References ch, ch_system::dbg, ch_trace_event_t::isr, ch_trace_buffer_t::ptr, ch_trace_event_t::state, ch_trace_buffer_t::suspended, ch_system_debug::trace_buffer, trace_next(), and ch_trace_event_t::type.

| void _trace_isr_leave | ( | const char * | isr | ) | 
Inserts in the circular debug trace buffer an ISR-leave record.
| [in] | isr | name of the isr | 
Definition at line 143 of file chtrace.c.
References ch, ch_system::dbg, ch_trace_event_t::isr, ch_trace_buffer_t::ptr, ch_trace_event_t::state, ch_trace_buffer_t::suspended, ch_system_debug::trace_buffer, trace_next(), and ch_trace_event_t::type.

| void _trace_halt | ( | const char * | reason | ) | 
Inserts in the circular debug trace buffer an halt record.
| [in] | reason | the halt error string | 
Definition at line 162 of file chtrace.c.
References ch, ch_system::dbg, ch_trace_event_t::halt, ch_trace_buffer_t::ptr, ch_trace_event_t::state, ch_trace_buffer_t::suspended, ch_system_debug::trace_buffer, trace_next(), and ch_trace_event_t::type.
Referenced by chSysHalt().

| void chDbgWriteTraceI | ( | void * | up1, | 
| void * | up2 | ||
| ) | 
Adds an user trace record to the trace buffer.
| [in] | up1 | user parameter 1 | 
| [in] | up2 | user parameter 2 | 
Definition at line 180 of file chtrace.c.
References ch, chDbgCheckClassI(), ch_system::dbg, ch_trace_buffer_t::ptr, ch_trace_event_t::state, ch_trace_buffer_t::suspended, ch_system_debug::trace_buffer, trace_next(), ch_trace_event_t::type, and ch_trace_event_t::user.
Referenced by chDbgWriteTrace().

| void chDbgWriteTrace | ( | void * | up1, | 
| void * | up2 | ||
| ) | 
Adds an user trace record to the trace buffer.
| [in] | up1 | user parameter 1 | 
| [in] | up2 | user parameter 2 | 
Definition at line 201 of file chtrace.c.
References chDbgWriteTraceI(), chSysLock(), and chSysUnlock().

| void chDbgSuspendTraceI | ( | uint16_t | mask | ) | 
Suspends one or more trace events.
| [in] | mask | mask of the trace events to be suspended | 
Definition at line 215 of file chtrace.c.
References ch, chDbgCheckClassI(), ch_system::dbg, ch_trace_buffer_t::suspended, and ch_system_debug::trace_buffer.
Referenced by chDbgSuspendTrace().

| void chDbgSuspendTrace | ( | uint16_t | mask | ) | 
Suspends one or more trace events.
| [in] | mask | mask of the trace events to be suspended | 
Definition at line 229 of file chtrace.c.
References chDbgSuspendTraceI(), chSysLock(), and chSysUnlock().

| void chDbgResumeTraceI | ( | uint16_t | mask | ) | 
Resumes one or more trace events.
| [in] | mask | mask of the trace events to be resumed | 
Definition at line 243 of file chtrace.c.
References ch, chDbgCheckClassI(), ch_system::dbg, ch_trace_buffer_t::suspended, and ch_system_debug::trace_buffer.
Referenced by chDbgResumeTrace().

| void chDbgResumeTrace | ( | uint16_t | mask | ) | 
Resumes one or more trace events.
| [in] | mask | mask of the trace events to be resumed | 
Definition at line 257 of file chtrace.c.
References chDbgResumeTraceI(), chSysLock(), and chSysUnlock().
