aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf/src/fmt.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-06-07 00:10:54 +0200
committerDario Nieuwenhuis <[email protected]>2021-06-07 00:16:39 +0200
commite7dc5c0939d30ccba98418c42799c4e39f646d23 (patch)
tree896ebf078e97f15443dd85342f498231e142f975 /embassy-nrf/src/fmt.rs
parent4dda7be96841430c3aed2f014644b0b65cff0ef2 (diff)
fmt: make all macros `macro_rules` so scoping is consistent.
Diffstat (limited to 'embassy-nrf/src/fmt.rs')
-rw-r--r--embassy-nrf/src/fmt.rs191
1 files changed, 146 insertions, 45 deletions
diff --git a/embassy-nrf/src/fmt.rs b/embassy-nrf/src/fmt.rs
index 160642ccd..6c5063f7c 100644
--- a/embassy-nrf/src/fmt.rs
+++ b/embassy-nrf/src/fmt.rs
@@ -1,67 +1,168 @@
1#![macro_use] 1#![macro_use]
2#![allow(clippy::module_inception)] 2#![allow(unused_macros)]
3#![allow(unused)]
4 3
5#[cfg(all(feature = "defmt", feature = "log"))] 4#[cfg(all(feature = "defmt", feature = "log"))]
6compile_error!("You may not enable both `defmt` and `log` features."); 5compile_error!("You may not enable both `defmt` and `log` features.");
7 6
8pub use fmt::*; 7macro_rules! assert {
8 ($($x:tt)*) => {
9 {
10 #[cfg(not(feature = "defmt"))]
11 core::assert!($($x)*);
12 #[cfg(feature = "defmt")]
13 defmt::assert!($($x)*);
14 }
15 };
16}
9 17
10#[cfg(feature = "defmt")] 18macro_rules! assert_eq {
11mod fmt { 19 ($($x:tt)*) => {
12 pub use defmt::{ 20 {
13 assert, assert_eq, assert_ne, debug, debug_assert, debug_assert_eq, debug_assert_ne, error, 21 #[cfg(not(feature = "defmt"))]
14 info, panic, todo, trace, unreachable, unwrap, warn, 22 core::assert_eq!($($x)*);
23 #[cfg(feature = "defmt")]
24 defmt::assert_eq!($($x)*);
25 }
15 }; 26 };
16} 27}
17 28
18#[cfg(feature = "log")] 29macro_rules! assert_ne {
19mod fmt { 30 ($($x:tt)*) => {
20 pub use core::{ 31 {
21 assert, assert_eq, assert_ne, debug_assert, debug_assert_eq, debug_assert_ne, panic, todo, 32 #[cfg(not(feature = "defmt"))]
22 unreachable, 33 core::assert_ne!($($x)*);
34 #[cfg(feature = "defmt")]
35 defmt::assert_ne!($($x)*);
36 }
23 }; 37 };
24 pub use log::{debug, error, info, trace, warn};
25} 38}
26 39
27#[cfg(not(any(feature = "defmt", feature = "log")))] 40macro_rules! debug_assert {
28mod fmt { 41 ($($x:tt)*) => {
29 #![macro_use] 42 {
43 #[cfg(not(feature = "defmt"))]
44 core::debug_assert!($($x)*);
45 #[cfg(feature = "defmt")]
46 defmt::debug_assert!($($x)*);
47 }
48 };
49}
30 50
31 pub use core::{ 51macro_rules! debug_assert_eq {
32 assert, assert_eq, assert_ne, debug_assert, debug_assert_eq, debug_assert_ne, panic, todo, 52 ($($x:tt)*) => {
33 unreachable, 53 {
54 #[cfg(not(feature = "defmt"))]
55 core::debug_assert_eq!($($x)*);
56 #[cfg(feature = "defmt")]
57 defmt::debug_assert_eq!($($x)*);
58 }
34 }; 59 };
60}
35 61
36 macro_rules! trace { 62macro_rules! debug_assert_ne {
37 ($($msg:expr),+ $(,)?) => { 63 ($($x:tt)*) => {
38 () 64 {
39 }; 65 #[cfg(not(feature = "defmt"))]
40 } 66 core::debug_assert_ne!($($x)*);
67 #[cfg(feature = "defmt")]
68 defmt::debug_assert_ne!($($x)*);
69 }
70 };
71}
41 72
42 macro_rules! debug { 73macro_rules! todo {
43 ($($msg:expr),+ $(,)?) => { 74 ($($x:tt)*) => {
44 () 75 {
45 }; 76 #[cfg(not(feature = "defmt"))]
46 } 77 core::todo!($($x)*);
78 #[cfg(feature = "defmt")]
79 defmt::todo!($($x)*);
80 }
81 };
82}
47 83
48 macro_rules! info { 84macro_rules! unreachable {
49 ($($msg:expr),+ $(,)?) => { 85 ($($x:tt)*) => {
50 () 86 {
51 }; 87 #[cfg(not(feature = "defmt"))]
52 } 88 core::unreachable!($($x)*);
89 #[cfg(feature = "defmt")]
90 defmt::unreachable!($($x)*);
91 }
92 };
93}
53 94
54 macro_rules! warn { 95macro_rules! panic {
55 ($($msg:expr),+ $(,)?) => { 96 ($($x:tt)*) => {
56 () 97 {
57 }; 98 #[cfg(not(feature = "defmt"))]
58 } 99 core::panic!($($x)*);
100 #[cfg(feature = "defmt")]
101 defmt::panic!($($x)*);
102 }
103 };
104}
59 105
60 macro_rules! error { 106macro_rules! trace {
61 ($($msg:expr),+ $(,)?) => { 107 ($($x:tt)*) => {
62 () 108 {
63 }; 109 #[cfg(feature = "log")]
64 } 110 log::trace!($($x)*);
111 #[cfg(feature = "defmt")]
112 defmt::trace!($($x)*);
113 }
114 };
115}
116
117macro_rules! debug {
118 ($($x:tt)*) => {
119 {
120 #[cfg(fevature = "log")]
121 log::debug!($($x)*);
122 #[cfg(feature = "defmt")]
123 defmt::debug!($($x)*);
124 }
125 };
126}
127
128macro_rules! info {
129 ($($x:tt)*) => {
130 {
131 #[cfg(feature = "log")]
132 log::info!($($x)*);
133 #[cfg(feature = "defmt")]
134 defmt::info!($($x)*);
135 }
136 };
137}
138
139macro_rules! warn {
140 ($($x:tt)*) => {
141 {
142 #[cfg(feature = "log")]
143 log::warn!($($x)*);
144 #[cfg(feature = "defmt")]
145 defmt::warn!($($x)*);
146 }
147 };
148}
149
150macro_rules! error {
151 ($($x:tt)*) => {
152 {
153 #[cfg(feature = "log")]
154 log::error!($($x)*);
155 #[cfg(feature = "defmt")]
156 defmt::error!($($x)*);
157 }
158 };
159}
160
161#[cfg(feature = "defmt")]
162macro_rules! unwrap {
163 ($($x:tt)*) => {
164 defmt::unwrap!($($x)*)
165 };
65} 166}
66 167
67#[cfg(not(feature = "defmt"))] 168#[cfg(not(feature = "defmt"))]