diff options
Diffstat (limited to 'src/print.rs')
-rw-r--r-- | src/print.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/print.rs b/src/print.rs new file mode 100644 index 0000000..932c655 --- /dev/null +++ b/src/print.rs @@ -0,0 +1,25 @@ +//! Printing +use core::fmt; + +use crate::uart::UART_WRITER; +use crate::console::interface::Write; + +#[doc(hidden)] +pub fn _print(args: fmt::Arguments) { + UART_WRITER.write_fmt(args).unwrap(); +} + +/// Print without newline +#[macro_export] +macro_rules! print { + ($($arg:tt)*) => ($crate::print::_print(format_args!($($arg)*))); +} + +/// Print with newline +#[macro_export] +macro_rules! println { + () => ($crate::print!("\n")); + ($($arg:tt)*) => ({ + $crate::print::_print(format_args_nl!($($arg)*)); + }) +} |