DFU button for development mode
This commit is contained in:
parent
5f36125e92
commit
4099896e36
1 changed files with 13 additions and 4 deletions
|
|
@ -2,10 +2,11 @@
|
|||
#![no_main]
|
||||
|
||||
use embassy_executor::Spawner;
|
||||
use embassy_futures::select::{select_array, select4};
|
||||
use embassy_futures::select::select_array;
|
||||
use embassy_rp::gpio::{Input, Level, Output, Pull};
|
||||
use embassy_rp::pwm::{self, Pwm};
|
||||
use embassy_time::{Delay, Timer};
|
||||
use embassy_rp::rom_data::reset_to_usb_boot;
|
||||
use embassy_time::Delay;
|
||||
use embedded_hal_bus::spi::ExclusiveDevice;
|
||||
use heapless::String;
|
||||
use mipidsi::interface::SpiInterface;
|
||||
|
|
@ -27,7 +28,7 @@ use {defmt_rtt as _, panic_probe as _};
|
|||
const DISPLAY_FREQ: u32 = 64_000_000;
|
||||
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner) -> ! {
|
||||
async fn main(spawner: Spawner) -> ! {
|
||||
let p = embassy_rp::init(Default::default());
|
||||
|
||||
// display SPI
|
||||
|
|
@ -90,7 +91,7 @@ async fn main(_spawner: Spawner) -> ! {
|
|||
let _btn_a = Input::new(p.PIN_12, Pull::Up);
|
||||
let _btn_b = Input::new(p.PIN_13, Pull::Up);
|
||||
// let _btn_x = Input::new(p.PIN_14, Pull::Up);
|
||||
let _btn_y = Input::new(p.PIN_15, Pull::Up);
|
||||
let btn_y = Input::new(p.PIN_15, Pull::Up);
|
||||
|
||||
let mut btn_f1 = Input::new(p.PIN_11, Pull::Up);
|
||||
let mut btn_f2 = Input::new(p.PIN_14, Pull::Up);
|
||||
|
|
@ -114,6 +115,8 @@ async fn main(_spawner: Spawner) -> ! {
|
|||
|
||||
let mut last_state = None;
|
||||
|
||||
spawner.spawn(dfu_button(btn_y)).ok();
|
||||
|
||||
loop {
|
||||
let state = [
|
||||
btn_f1.is_low(),
|
||||
|
|
@ -135,3 +138,9 @@ async fn main(_spawner: Spawner) -> ! {
|
|||
.await;
|
||||
}
|
||||
}
|
||||
|
||||
#[embassy_executor::task]
|
||||
async fn dfu_button(mut btn_y: Input<'static>) {
|
||||
btn_y.wait_for_falling_edge().await;
|
||||
reset_to_usb_boot(0, 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue