working on bin selection ui

This commit is contained in:
2025-08-01 16:24:37 -06:00
parent db81470531
commit 8ca55fcdaf
11 changed files with 222 additions and 19 deletions

View File

@@ -1,6 +1,9 @@
use core::sync::atomic::Ordering;
use crate::{scsi::MassStorageClass, storage::SdCard};
use crate::{
scsi::MassStorageClass,
storage::{SDCARD, SdCard},
};
use embassy_futures::{
join::join,
select::{select, select3},
@@ -13,7 +16,7 @@ use portable_atomic::AtomicBool;
static RESTART_USB: Signal<ThreadModeRawMutex, ()> = Signal::new();
static ENABLE_SCSI: AtomicBool = AtomicBool::new(false);
pub async fn usb_handler(driver: Driver<'static, USB>, sdcard: SdCard) {
pub async fn usb_handler(driver: Driver<'static, USB>) {
let mut config = Config::new(0xc0de, 0xcafe);
config.manufacturer = Some("LegitCamper");
config.product = Some("PicoCalc");
@@ -34,10 +37,13 @@ pub async fn usb_handler(driver: Driver<'static, USB>, sdcard: SdCard) {
&mut control_buf,
);
let lock = SDCARD.get().lock().await;
let mut sdcard = lock.as_ref().unwrap();
if sdcard.is_attached() {
ENABLE_SCSI.store(true, Ordering::Relaxed);
}
let mut scsi = MassStorageClass::new(&mut builder, sdcard);
let mut scsi = MassStorageClass::new(&mut builder, &sdcard);
let mut usb = builder.build();
loop {