From ed7870839336ba6ef90e14e2d3391d892c2d90d7 Mon Sep 17 00:00:00 2001 From: issy Date: Fri, 27 Feb 2026 08:56:47 +0000 Subject: [PATCH 1/4] Add default implementation for parser --- firmware/src/midi/mod.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/firmware/src/midi/mod.rs b/firmware/src/midi/mod.rs index 9a6b9c4..8e95803 100644 --- a/firmware/src/midi/mod.rs +++ b/firmware/src/midi/mod.rs @@ -197,3 +197,9 @@ impl MidiParser { None } } + +impl Default for MidiParser { + fn default() -> Self { + Self::new() + } +} From ca390d3c22f8573787736e177a031d5fec08bbc4 Mon Sep 17 00:00:00 2001 From: issy Date: Fri, 27 Feb 2026 09:01:15 +0000 Subject: [PATCH 2/4] Static channel --- firmware/src/bin/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/firmware/src/bin/main.rs b/firmware/src/bin/main.rs index b1e3bb2..c10cb0a 100644 --- a/firmware/src/bin/main.rs +++ b/firmware/src/bin/main.rs @@ -19,6 +19,7 @@ use esp_alloc as _; use esp_backtrace as _; use embassy_executor::{Spawner, task}; +use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; use embassy_sync::{blocking_mutex::raw::NoopRawMutex, channel::Channel}; use esp_hal::Async; use esp_hal::clock::CpuClock; @@ -31,7 +32,7 @@ use log::info; // For more information see: esp_bootloader_esp_idf::esp_app_desc!(); -const MIDI_OUT_CHANNEL: Channel = Channel::new(); +static MIDI_OUT_CHANNEL: Channel = Channel::new(); // Forward MIDI messages IN to the MIDI_OUT_CHANNEL #[task] From bd8645399a59f42f4efaf16ad4658f1046d41481 Mon Sep 17 00:00:00 2001 From: issy Date: Fri, 27 Feb 2026 09:03:48 +0000 Subject: [PATCH 3/4] Non-empty loop --- firmware/src/bin/main.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/firmware/src/bin/main.rs b/firmware/src/bin/main.rs index c10cb0a..3fe199e 100644 --- a/firmware/src/bin/main.rs +++ b/firmware/src/bin/main.rs @@ -20,11 +20,13 @@ use esp_backtrace as _; use embassy_executor::{Spawner, task}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; -use embassy_sync::{blocking_mutex::raw::NoopRawMutex, channel::Channel}; +use embassy_sync::channel::Channel; +use embassy_time::{Delay, Timer}; use esp_hal::Async; use esp_hal::clock::CpuClock; use esp_hal::timer::timg::TimerGroup; use esp_hal::uart::{Config as UartConfig, DataBits, Parity, StopBits, Uart, UartRx, UartTx}; +use esp_println::println; use firmware::midi::{MidiPacket, MidiParser}; use log::info; @@ -102,5 +104,9 @@ async fn main(spawner: Spawner) -> ! { info!("MIDI out task spawned"); info!("Startup complete."); - loop {} + + loop { + Timer::after_secs(1).await; + println!("Heartbeat"); + } } From 8451d658da5246cb67a909a20a822cbfa018f3cf Mon Sep 17 00:00:00 2001 From: issy Date: Fri, 27 Feb 2026 09:04:25 +0000 Subject: [PATCH 4/4] Remove unused import --- firmware/src/bin/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/src/bin/main.rs b/firmware/src/bin/main.rs index 3fe199e..d78c435 100644 --- a/firmware/src/bin/main.rs +++ b/firmware/src/bin/main.rs @@ -21,7 +21,7 @@ use esp_backtrace as _; use embassy_executor::{Spawner, task}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; use embassy_sync::channel::Channel; -use embassy_time::{Delay, Timer}; +use embassy_time::Timer; use esp_hal::Async; use esp_hal::clock::CpuClock; use esp_hal::timer::timg::TimerGroup;