diff --git a/outside/src/main.rs b/outside/src/main.rs index cfe0230..0da75fc 100644 --- a/outside/src/main.rs +++ b/outside/src/main.rs @@ -36,7 +36,7 @@ use embassy_net::{Config, IpEndpoint, Ipv4Address, StackResources}; use embassy_rp::{bind_interrupts, interrupt, uart}; use embassy_rp::clocks::RoscRng; use embassy_rp::gpio::{AnyPin, Input, InterruptTrigger, Level, Output}; -use embassy_rp::peripherals::{DMA_CH0, PIN_20, PIN_21, PIO0, UART1, USB}; +use embassy_rp::peripherals::{DMA_CH0, PIN_20, PIN_21, PIN_22, PIO0, UART1, USB}; use embassy_rp::pio::{InterruptHandler, Pio}; use embassy_rp::usb::Driver; use embassy_time::{Duration, Timer}; @@ -111,7 +111,6 @@ async fn main(spawner: Spawner) { spawner.spawn(music_manager(p.UART1, Irqs, p.PIN_20, p.PIN_21)).unwrap(); - let button = Input::new(p.PIN_22, embassy_rp::gpio::Pull::Up); let mut rng = RoscRng; @@ -172,10 +171,6 @@ async fn main(spawner: Spawner) { } } - let mut rx_buffer = [0; 4096]; - let mut tx_buffer = [0; 4096]; - let mut buf = [0; 4096]; - spawner.spawn(data_extractor()).unwrap(); let mut partial: u64 = 0; @@ -213,8 +208,20 @@ async fn main(spawner: Spawner) { }); defmt::unwrap!(spawner.spawn(send_badge(CHANNEL.receiver(),stack))); + defmt::unwrap!(spawner.spawn(button_manager(p.PIN_22))); } +#[embassy_executor::task] +async fn button_manager(pin: PIN_22) -> ! { + let mut button = Input::new(pin, embassy_rp::gpio::Pull::Up); + loop { + button.wait_for_rising_edge().await; + MUSIC.send(("d",5)).await; + Timer::after_millis(800).await; + } +} + + #[embassy_executor::task] async fn music_manager(uart: UART1, irqs: Irqs, txp: PIN_20, rxp: PIN_21) -> ! { let mut config = uart::Config::default();