diff options
author | Christian Cunningham <cc@localhost> | 2022-08-18 20:37:09 -0700 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-08-18 20:37:09 -0700 |
commit | 66ee8a34f3bcde31f9d5919f2e0e363ac11f4aca (patch) | |
tree | 7a63b38c6ea59d3058d0325d4d326a9b55390c32 /src/print.rs | |
parent | 6f1e6acb1a9775eef4b0d8879c102df86e207687 (diff) |
Formatted printing to UART
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)*)); + }) +} |