use esp-println for logging to UART

This commit is contained in:
2026-05-27 02:03:21 -07:00
parent 3e25dd380b
commit cdac9c3e5d
3 changed files with 40 additions and 27 deletions
Generated
+33 -17
View File
@@ -557,7 +557,7 @@ dependencies = [
"document-features",
"enumset",
"esp-config",
"esp-sync",
"esp-sync 0.1.1",
"linked_list_allocator",
"rlsf",
]
@@ -626,7 +626,7 @@ dependencies = [
"esp-metadata-generated 0.3.0",
"esp-riscv-rt",
"esp-rom-sys",
"esp-sync",
"esp-sync 0.1.1",
"esp-synopsys-usb-otg",
"esp32",
"esp32c2",
@@ -676,6 +676,19 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42c2ee95b945a4780796e4359e72c033aed3b45073880e8029458f538532db8a"
[[package]]
name = "esp-println"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42dee1e9ac7c3539bf6464db1707b0edd7557168f98278cf3c84fe70e63c6ce6"
dependencies = [
"defmt 1.1.0",
"document-features",
"esp-metadata-generated 0.4.0",
"esp-sync 0.2.1",
"log",
]
[[package]]
name = "esp-radio-rtos-driver"
version = "0.2.0"
@@ -726,7 +739,7 @@ dependencies = [
"esp-hal-procmacros",
"esp-metadata-generated 0.3.0",
"esp-radio-rtos-driver",
"esp-sync",
"esp-sync 0.1.1",
"portable-atomic",
]
@@ -746,6 +759,22 @@ dependencies = [
"xtensa-lx",
]
[[package]]
name = "esp-sync"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4736bfbbb9e3f6353344e14fc61b6d18d3b877c3286914cf8c0a037be0ed224"
dependencies = [
"cfg-if",
"document-features",
"embassy-sync 0.6.2",
"embassy-sync 0.7.2",
"embassy-sync 0.8.0",
"esp-metadata-generated 0.4.0",
"riscv",
"xtensa-lx",
]
[[package]]
name = "esp-synopsys-usb-otg"
version = "0.4.2"
@@ -1086,12 +1115,11 @@ dependencies = [
"defmt 1.1.0",
"embassy-executor",
"embassy-time",
"embedded-io 0.7.1",
"esp-alloc",
"esp-bootloader-esp-idf",
"esp-hal",
"esp-println",
"esp-rtos",
"rtt-target",
"static_cell",
"ws2812-rs",
]
@@ -1263,18 +1291,6 @@ dependencies = [
"svgbobdoc",
]
[[package]]
name = "rtt-target"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7afed1f4302eeba88c601636cf2c554c45e1cbb464bab44c6012bab0e71473c"
dependencies = [
"critical-section",
"defmt 0.3.100",
"portable-atomic",
"ufmt-write",
]
[[package]]
name = "rustversion"
version = "1.0.22"
+1 -2
View File
@@ -24,12 +24,11 @@ esp-bootloader-esp-idf = { version = "0.4.0", features = ["defmt", "esp32s3"] }
embassy-executor = { version = "0.9.1", features = ["defmt"] }
embassy-time = { version = "0.5.0", features = ["defmt"] }
esp-alloc = { version = "0.9.0", features = ["defmt"] }
rtt-target = { version = "0.6.2", features = ["defmt"] }
esp-println = { version = "0.17.0", features = ["colors", "defmt-espflash", "esp32s3", "uart"], default-features = false }
critical-section = "1.2.0"
static_cell = "2.1.1"
ws2812-rs = "0.3.1"
embedded-io = "0.7.1"
[profile.dev]
+6 -8
View File
@@ -10,13 +10,12 @@
use defmt::info;
use embassy_executor::Spawner;
use embassy_time::Timer;
use embedded_io::Write;
use esp_hal::Blocking;
use esp_hal::clock::CpuClock;
use esp_hal::spi::master::{Spi, Config as SpiConfig};
use esp_hal::time::Rate;
use esp_hal::timer::timg::TimerGroup;
use esp_hal::uart::{Config, Uart};
use esp_println::println;
use ws2812_rs::{WS2812SPI, SendColorBySPI, Color};
#[panic_handler]
@@ -40,8 +39,6 @@ const LED_SPI_HZ: u32 = 3_200_000;
async fn main(spawner: Spawner) -> ! {
// generator version: 1.2.0
rtt_target::rtt_init_defmt!();
let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
let peripherals = esp_hal::init(config);
@@ -57,8 +54,7 @@ async fn main(spawner: Spawner) -> ! {
let led = WS2812SPI::new(spi);
spawner.spawn(heartbeat_task(led)).unwrap();
let uart0: Uart<Blocking> = Uart::new(peripherals.UART0, Config::default()).unwrap();
spawner.spawn(serial_task(uart0)).unwrap();
spawner.spawn(logging_task()).unwrap();
info!("Padmapper initialized!");
@@ -86,9 +82,11 @@ async fn heartbeat_task(mut led: WS2812SPI<Spi<'static, Blocking>>) {
}
#[embassy_executor::task]
async fn serial_task(mut uart: Uart<'static, Blocking>) {
async fn logging_task() {
let mut i = 0u64;
loop {
let _ = uart.write_all(b"Hello from Padmapper!\r\n").unwrap();
info!("Hello from Padmapper! {}\r\n", i);
Timer::after_secs(1).await;
i += 1;
}
}