DeviceClass

Trait DeviceClass 

Source
pub trait DeviceClass<'a> {
    type I: InterfaceClass<'a>;

    // Required methods
    fn interface(&mut self) -> &mut Self::I;
    fn reset(&mut self);
    fn tick(&mut self) -> Result<(), UsbHidError>;
}

Required Associated Types§

Required Methods§

Source

fn interface(&mut self) -> &mut Self::I

Source

fn reset(&mut self)

Called if the USB Device is reset

Source

fn tick(&mut self) -> Result<(), UsbHidError>

Called every 1ms

Implementors§

Source§

impl<'a, B> DeviceClass<'a> for BootKeyboard<'a, B>
where B: UsbBus,

Source§

impl<'a, B> DeviceClass<'a> for NKROBootKeyboard<'a, B>
where B: UsbBus,

Source§

impl<'a, B, I, O, R> DeviceClass<'a> for Interface<'a, B, I, O, R>
where B: UsbBus, I: InSize, O: OutSize, R: ReportCount,

Source§

type I = Interface<'a, B, I, O, R>

Source§

impl<'a, B, Report, I, O, const LEN: usize> DeviceClass<'a> for ManagedIdleInterface<'a, B, Report, I, O>
where Report: Copy + Eq + PackedStruct<ByteArray = [u8; LEN]>, B: UsbBus, I: InSize, O: OutSize,

Source§

type I = Interface<'a, B, I, O, ReportSingle>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for ConsumerControl<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for ConsumerControlFixed<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for RawFido<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for Joystick<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for AbsoluteWheelMouse<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for BootMouse<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for WheelMouse<'a, B>

Source§

impl<'a, B: UsbBus> DeviceClass<'a> for Multiaxis<'a, B>