From 20cc634714edee44bc5cc4c88f7168886fd512b3 Mon Sep 17 00:00:00 2001 From: Victoria Fischer Date: Sun, 7 Dec 2025 13:07:56 +0100 Subject: [PATCH] logging: implement rtt logging output --- Cargo.toml | 1 + src/logging.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 8d8d406..9bf309e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,6 +23,7 @@ wokwi = ["max-usb-power"] mpu = ["dep:mpu6050-dmp"] gps = ["dep:nmea"] oled = ["dep:ssd1306"] +rtt = ["dep:rtt-target"] demo = [] [dependencies] diff --git a/src/logging.rs b/src/logging.rs index 6c552b5..03b5f0c 100644 --- a/src/logging.rs +++ b/src/logging.rs @@ -22,6 +22,9 @@ static LOGGER: StaticCell = StaticCell::new(); impl RenderbugLogger { pub fn init_logger() { + #[cfg(feature = "rtt")] + rtt_target::rtt_init_print!(rtt_target::ChannelMode::BlockIfFull); + let logger = LOGGER.init(Default::default()); unsafe { log::set_logger_racy(logger).ok(); @@ -62,6 +65,9 @@ impl log::Log for RenderbugLogger { }; let suffix = filename.split('/').next_back().unwrap(); self.lock.lock(|_| { + #[cfg(feature = "rtt")] + rtt_target::rprintln!("{}{}\t{}{}/{}:{}{}\t{}{}", color, record.level(), GREY, prefix, suffix, record.line().map_or(0, |f| {f}), RESET, record.args(), RESET); + println!("{color}{}\t{GREY}{prefix}/{suffix}:{}{RESET}\t{}{RESET}", record.level(), record.line().map_or(0, |f| {f}), record.args()); }); }