From 16e254d7dccde08171587641781758e58b57000d Mon Sep 17 00:00:00 2001 From: doryan Date: Sun, 22 Jun 2025 21:37:36 +0400 Subject: [PATCH] feat: remove pending_ins field and it usage --- src/lib.rs | 7 +------ src/types/usb_device.rs | 4 ---- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 298e76b..5be22cb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -190,7 +190,6 @@ impl UsbBus for UsbDevice { if usb.usbcon.read().frzclk().bit_is_clear() { let (mut ep_out, mut ep_in_complete, mut ep_setup) = (0u16, 0u16, 0u16); - let pending_ins = self.pending_ins.borrow(cs); for (ep_index, _ep) in self.allocated_endpoints() { if self.select_endpoint(cs, ep_index).is_err() { @@ -205,9 +204,8 @@ impl UsbBus for UsbDevice { ep_setup |= 1 << ep_index; } - if pending_ins.get() & (1 << ep_index) != 0 && ueintx.txini().bit_is_set() { + if ueintx.txini().bit_is_set() { ep_in_complete |= 1 << ep_index; - pending_ins.set(pending_ins.get() & !(1 << ep_index)); } } } @@ -452,9 +450,6 @@ impl UsbBus for UsbDevice { } }; - let pending_ins = self.pending_ins.borrow(cs); - pending_ins.set(pending_ins.get() | 1 << ep_addr.index()); - Ok(buf.len()) }) } diff --git a/src/types/usb_device.rs b/src/types/usb_device.rs index 51b7d2f..d44d769 100644 --- a/src/types/usb_device.rs +++ b/src/types/usb_device.rs @@ -1,5 +1,3 @@ -use core::cell::Cell; - use avr_device::{ atmega32u4::{PLL, USB_DEVICE}, interrupt::{CriticalSection, Mutex}, @@ -72,7 +70,6 @@ pub struct UsbDevice { pub(crate) pll: Mutex, pub(crate) usb: Mutex, pub(crate) ep_table: [USBEndpoint; L], - pub(crate) pending_ins: Mutex>, pub(crate) dpram_already_used: u16, } @@ -88,7 +85,6 @@ impl UsbDevice { pll: Mutex::new(pll), usb: Mutex::new(usb), ep_table: [USBEndpoint::default(); L], - pending_ins: Mutex::new(Cell::new(0u8)), dpram_already_used: 0, }) }