feat(check): add check for endpoint table length

This commit is contained in:
doryan 2025-05-26 10:24:51 +04:00
parent 137fcc78e5
commit 29e5edde8a

View File

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