summaryrefslogtreecommitdiff
path: root/src/serial.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/serial.rs')
-rw-r--r--src/serial.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/serial.rs b/src/serial.rs
new file mode 100644
index 0000000..91bc8eb
--- /dev/null
+++ b/src/serial.rs
@@ -0,0 +1,46 @@
+//! Serial Printing
+
+/// # Print without newline
+///
+/// Print formatted arguments without a newline
+#[macro_export]
+macro_rules! serial_print {
+ ($($arg:tt)*) => (crate::_serial_print(format_args!($($arg)*)));
+}
+
+/// # Print with newline
+///
+/// Print formatted arguments with a newline
+#[macro_export]
+macro_rules! serial_println {
+ () => ($crate::serial_print!("\n"));
+ ($($arg:tt)*) => ({
+ crate::_serial_print(format_args_nl!($($arg)*));
+ })
+}
+
+/// # Debug print without newline
+///
+/// Print formatted arguments without a newline but only with `verbose` feature
+#[macro_export]
+macro_rules! serial_vprint {
+ ($($arg:tt)*) => ({
+ #[cfg(feature="verbose")]
+ crate::_serial_print(format_args!($($arg)*))
+ });
+}
+
+/// # Debug print with newline
+///
+/// Print formatted arguments with a newline but only with `verbose` feature
+#[macro_export]
+macro_rules! serial_vprintln {
+ () => ({
+ #[cfg(feature="verbose")]
+ $crate::serial_print!("\n")
+ });
+ ($($arg:tt)*) => ({
+ #[cfg(feature="verbose")]
+ crate::_serial_print(format_args_nl!($($arg)*));
+ })
+}