1#![allow(unused)]
2
3use crate::TaskInfo;
4
5#[cfg(feature = "trace_impl")]
6extern "Rust" {
7 fn _rtos_trace_task_new(id: u32);
8 fn _rtos_trace_task_terminate(id: u32);
9 fn _rtos_trace_task_exec_begin(id: u32);
10 fn _rtos_trace_task_exec_end();
11 fn _rtos_trace_task_ready_begin(id: u32);
12 fn _rtos_trace_task_ready_end(id: u32);
13
14 fn _rtos_trace_system_idle();
15
16 fn _rtos_trace_isr_enter();
17 fn _rtos_trace_isr_exit();
18 fn _rtos_trace_isr_exit_to_scheduler();
19
20 fn _rtos_trace_marker(id: u32);
21 fn _rtos_trace_marker_begin(id: u32);
22 fn _rtos_trace_marker_end(id: u32);
23
24 fn _rtos_trace_task_send_info(id: u32, info: TaskInfo);
25 fn _rtos_trace_time() -> u64;
26
27 fn _rtos_trace_system_description();
28 fn _rtos_trace_sysclock() -> u32;
29}
30
31#[inline]
32pub fn task_new(id: u32) {
33 #[cfg(feature = "trace_impl")]
34 unsafe { _rtos_trace_task_new(id) }
35}
36#[inline]
37pub fn task_terminate(id: u32) {
38 #[cfg(feature = "trace_impl")]
39 unsafe { _rtos_trace_task_terminate(id) }
40}
41#[inline]
42pub fn task_exec_begin(id: u32) {
43 #[cfg(feature = "trace_impl")]
44 unsafe { _rtos_trace_task_exec_begin(id) }
45}
46#[inline]
47pub fn task_exec_end() {
48 #[cfg(feature = "trace_impl")]
49 unsafe { _rtos_trace_task_exec_end() }
50}
51#[inline]
52pub fn task_ready_begin(id: u32) {
53 #[cfg(feature = "trace_impl")]
54 unsafe { _rtos_trace_task_ready_begin(id) }
55}
56#[inline]
57pub fn task_ready_end(id: u32) {
58 #[cfg(feature = "trace_impl")]
59 unsafe { _rtos_trace_task_ready_end(id) }
60}
61
62#[inline]
63pub fn system_idle() {
64 #[cfg(feature = "trace_impl")]
65 unsafe { _rtos_trace_system_idle() }
66}
67
68#[inline]
69pub fn isr_enter() {
70 #[cfg(feature = "trace_impl")]
71 unsafe { _rtos_trace_isr_enter() }
72}
73#[inline]
74pub fn isr_exit() {
75 #[cfg(feature = "trace_impl")]
76 unsafe { _rtos_trace_isr_exit() }
77}
78#[inline]
79pub fn isr_exit_to_scheduler() {
80 #[cfg(feature = "trace_impl")]
81 unsafe { _rtos_trace_isr_exit_to_scheduler() }
82}
83
84#[inline]
85pub fn marker(id: u32) {
86 #[cfg(feature = "trace_impl")]
87 unsafe { _rtos_trace_marker(id) }
88}
89#[inline]
90pub fn marker_begin(id: u32) {
91 #[cfg(feature = "trace_impl")]
92 unsafe { _rtos_trace_marker_begin(id) }
93}
94#[inline]
95pub fn marker_end(id: u32) {
96 #[cfg(feature = "trace_impl")]
97 unsafe { _rtos_trace_marker_end(id) }
98}
99
100#[inline]
101pub fn task_send_info(id: u32, info: TaskInfo) {
102 #[cfg(feature = "trace_impl")]
103 unsafe { _rtos_trace_task_send_info(id, info) }
104}
105#[inline]
106pub fn time() -> u64 {
107 #[cfg(feature = "trace_impl")]
108 unsafe { _rtos_trace_time() }
109 #[cfg(not(feature = "trace_impl"))]
110 0
111}
112
113#[inline]
114pub fn system_description() {
115 #[cfg(feature = "trace_impl")]
116 unsafe { _rtos_trace_system_description() }
117}
118#[inline]
119pub fn sysclock() -> u32 {
120 #[cfg(feature = "trace_impl")]
121 unsafe { _rtos_trace_sysclock() }
122 #[cfg(not(feature = "trace_impl"))]
123 0
124}