62 lines
1.9 KiB
Rust
62 lines
1.9 KiB
Rust
#![no_std]
|
|
#![no_main]
|
|
#![allow(async_fn_in_trait)]
|
|
|
|
use core::array;
|
|
use core::borrow::BorrowMut;
|
|
use core::cell::RefCell;
|
|
use core::fmt::Formatter;
|
|
use core::marker::PhantomData;
|
|
use core::mem::MaybeUninit;
|
|
use core::panic::PanicInfo;
|
|
use core::str::from_utf8;
|
|
use core::sync::atomic::{AtomicU8};
|
|
|
|
use auth::send_badge;
|
|
use bt_hci::cmd::info;
|
|
use critical_section::Mutex;
|
|
use cyw43::JoinOptions;
|
|
use cyw43_pio::PioSpi;
|
|
use embassy_futures::join::join;
|
|
use embassy_futures::yield_now;
|
|
use embassy_rp::interrupt::typelevel::{Handler, Interrupt, IO_IRQ_BANK0};
|
|
use embassy_rp::multicore::{spawn_core1, Stack};
|
|
use embassy_rp::pwm::{self};
|
|
use embassy_rp::uart::{BufferedInterruptHandler};
|
|
use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex;
|
|
use embassy_sync::channel::{Channel};
|
|
use fixed::FixedU16;
|
|
use log::*;
|
|
//use embassy_rp::i2c::InterruptHandler;
|
|
use embassy_executor::{InterruptExecutor, Spawner};
|
|
use embassy_net::tcp::TcpSocket;
|
|
use embassy_net::{Config, IpEndpoint, Ipv4Address, StackResources};
|
|
use embassy_rp::{bind_interrupts, interrupt};
|
|
use embassy_rp::clocks::RoscRng;
|
|
use embassy_rp::gpio::{AnyPin, Input, InterruptTrigger, Level, Output};
|
|
use embassy_rp::peripherals::{DMA_CH0, PIN_22, PIO0, UART1, USB};
|
|
use embassy_rp::pio::{InterruptHandler, Pio};
|
|
use embassy_rp::usb::Driver;
|
|
use embassy_time::{Timer};
|
|
use embedded_io_async::{Read, ReadReady, Write};
|
|
use music::{music_manager, COMMANDS};
|
|
use rand::RngCore;
|
|
use reqwless::response;
|
|
use scanner::{data_extractor, spawn_poller};
|
|
use server::server_task;
|
|
use static_cell::StaticCell;
|
|
use defmt_rtt as _;
|
|
use wiggle::wiggle_manager;
|
|
pub mod wiggle;
|
|
pub mod music;
|
|
pub mod scanner;
|
|
pub mod auth;
|
|
pub mod arraymap;
|
|
pub mod server;
|
|
|
|
bind_interrupts!(pub struct Irqs {
|
|
PIO0_IRQ_0 => InterruptHandler<PIO0>;
|
|
USBCTRL_IRQ => embassy_rp::usb::InterruptHandler<USB>;
|
|
UART1_IRQ => BufferedInterruptHandler<UART1>;
|
|
|
|
});
|