arduino_mkr1000/usb.rs
1use crate::hal;
2use crate::pins::{UsbN, UsbP};
3use hal::pac;
4
5use hal::clock::GenericClockController;
6use hal::usb::{usb_device::bus::UsbBusAllocator, UsbBus};
7
8pub fn usb_allocator(
9 usb: pac::USB,
10 clocks: &mut GenericClockController,
11 pm: &mut pac::PM,
12 dm: UsbN,
13 dp: UsbP,
14) -> UsbBusAllocator<UsbBus> {
15 let gclk0 = clocks.gclk0();
16 let usb_clock = &clocks.usb(&gclk0).unwrap();
17
18 UsbBusAllocator::new(UsbBus::new(usb_clock, pm, dm, dp, usb))
19}