Compare commits

..

2 Commits

Author SHA1 Message Date
doryan ae466a8aad fix: remove redundant length check 2025-05-27 21:48:37 +04:00
doryan 21fcb661f1 fix: use .skip() instead slicing [1..] 2025-05-27 21:47:53 +04:00
2 changed files with 10 additions and 12 deletions

View File

@ -38,9 +38,11 @@ impl<const L: usize> UsbBus for UsbDevice<L> {
// If ep_aadr not provided, or current endpoint is allocated, try to find next free endpoint, otherwise return UsbError. //
_ => {
let index = self.ep_table[1..]
let index = self
.ep_table
.iter()
.enumerate()
.skip(1)
.find(|(index, ep)| {
!ep.is_allocated && max_packet_size <= ENDPOINTS_ALLOC_LAYOUT[*index]
})

View File

@ -84,7 +84,6 @@ pub(crate) const ONE_MS_16_MGHZ: u32 = 16000;
impl<const L: usize> UsbDevice<L> {
#[inline]
pub fn new(pll: PLL, usb: USB_DEVICE) -> UsbBusAllocator<Self> {
if L > 1 {
UsbBusAllocator::new(Self {
pll: Mutex::new(pll),
usb: Mutex::new(usb),
@ -92,9 +91,6 @@ impl<const L: usize> UsbDevice<L> {
pending_ins: Mutex::new(Cell::new(0u8)),
dpram_already_used: 0,
})
} else {
panic!("Endpoint table cannot be with length <= 1")
}
}
#[inline(always)]