rtos_trace/
trace.rs

1#![allow(unused)]
2
3use crate::TaskInfo;
4
5#[cfg(feature = "trace_impl")]
6extern "Rust" {
7    fn _rtos_trace_start();
8    fn _rtos_trace_stop();
9
10    fn _rtos_trace_task_new(id: u32);
11    fn _rtos_trace_task_new_stackless(id: u32, name: &'static str, priority: u32);
12    fn _rtos_trace_task_terminate(id: u32);
13    fn _rtos_trace_task_exec_begin(id: u32);
14    fn _rtos_trace_task_exec_end();
15    fn _rtos_trace_task_ready_begin(id: u32);
16    fn _rtos_trace_task_ready_end(id: u32);
17
18    fn _rtos_trace_system_idle();
19
20    fn _rtos_trace_isr_enter();
21    fn _rtos_trace_isr_exit();
22    fn _rtos_trace_isr_exit_to_scheduler();
23
24    fn _rtos_trace_name_marker(id: u32, name: &'static str);
25    fn _rtos_trace_marker(id: u32);
26    fn _rtos_trace_marker_begin(id: u32);
27    fn _rtos_trace_marker_end(id: u32);
28
29    fn _rtos_trace_task_send_info(id: u32, info: TaskInfo);
30    fn _rtos_trace_time() -> u64;
31
32    fn _rtos_trace_system_description();
33    fn _rtos_trace_sysclock() -> u32;
34}
35
36#[inline]
37pub fn start() {
38    #[cfg(feature = "trace_impl")]
39    unsafe {
40        _rtos_trace_start()
41    }
42}
43#[inline]
44pub fn stop() {
45    #[cfg(feature = "trace_impl")]
46    unsafe {
47        _rtos_trace_stop()
48    }
49}
50#[inline]
51pub fn task_new(id: u32) {
52    #[cfg(feature = "trace_impl")]
53    unsafe {
54        _rtos_trace_task_new(id)
55    }
56}
57#[inline]
58pub fn task_new_stackless(id: u32, name: &'static str, priority: u32) {
59    #[cfg(feature = "trace_impl")]
60    unsafe {
61        _rtos_trace_task_new_stackless(id, name, priority)
62    }
63}
64#[inline]
65pub fn task_terminate(id: u32) {
66    #[cfg(feature = "trace_impl")]
67    unsafe {
68        _rtos_trace_task_terminate(id)
69    }
70}
71#[inline]
72pub fn task_exec_begin(id: u32) {
73    #[cfg(feature = "trace_impl")]
74    unsafe {
75        _rtos_trace_task_exec_begin(id)
76    }
77}
78#[inline]
79pub fn task_exec_end() {
80    #[cfg(feature = "trace_impl")]
81    unsafe {
82        _rtos_trace_task_exec_end()
83    }
84}
85#[inline]
86pub fn task_ready_begin(id: u32) {
87    #[cfg(feature = "trace_impl")]
88    unsafe {
89        _rtos_trace_task_ready_begin(id)
90    }
91}
92#[inline]
93pub fn task_ready_end(id: u32) {
94    #[cfg(feature = "trace_impl")]
95    unsafe {
96        _rtos_trace_task_ready_end(id)
97    }
98}
99
100#[inline]
101pub fn system_idle() {
102    #[cfg(feature = "trace_impl")]
103    unsafe {
104        _rtos_trace_system_idle()
105    }
106}
107
108#[inline]
109pub fn isr_enter() {
110    #[cfg(feature = "trace_impl")]
111    unsafe {
112        _rtos_trace_isr_enter()
113    }
114}
115#[inline]
116pub fn isr_exit() {
117    #[cfg(feature = "trace_impl")]
118    unsafe {
119        _rtos_trace_isr_exit()
120    }
121}
122#[inline]
123pub fn isr_exit_to_scheduler() {
124    #[cfg(feature = "trace_impl")]
125    unsafe {
126        _rtos_trace_isr_exit_to_scheduler()
127    }
128}
129
130#[inline]
131pub fn name_marker(id: u32, name: &'static str) {
132    #[cfg(feature = "trace_impl")]
133    unsafe {
134        _rtos_trace_name_marker(id, name)
135    }
136}
137#[inline]
138pub fn marker(id: u32) {
139    #[cfg(feature = "trace_impl")]
140    unsafe {
141        _rtos_trace_marker(id)
142    }
143}
144#[inline]
145pub fn marker_begin(id: u32) {
146    #[cfg(feature = "trace_impl")]
147    unsafe {
148        _rtos_trace_marker_begin(id)
149    }
150}
151#[inline]
152pub fn marker_end(id: u32) {
153    #[cfg(feature = "trace_impl")]
154    unsafe {
155        _rtos_trace_marker_end(id)
156    }
157}
158
159#[inline]
160pub fn task_send_info(id: u32, info: TaskInfo) {
161    #[cfg(feature = "trace_impl")]
162    unsafe {
163        _rtos_trace_task_send_info(id, info)
164    }
165}
166#[inline]
167pub fn time() -> u64 {
168    #[cfg(feature = "trace_impl")]
169    unsafe {
170        _rtos_trace_time()
171    }
172    #[cfg(not(feature = "trace_impl"))]
173    0
174}
175
176#[inline]
177pub fn system_description() {
178    #[cfg(feature = "trace_impl")]
179    unsafe {
180        _rtos_trace_system_description()
181    }
182}
183#[inline]
184pub fn sysclock() -> u32 {
185    #[cfg(feature = "trace_impl")]
186    unsafe {
187        _rtos_trace_sysclock()
188    }
189    #[cfg(not(feature = "trace_impl"))]
190    0
191}