embassy-usb-host

Crates

git

Versions

default

Flavors

USBDescriptor

Trait USBDescriptor 

Source
pub trait USBDescriptor {
    type Error;

    const BUF_SIZE: usize;
    const DESC_TYPE: u8;
    const DESC_SUBTYPE: Option<u8> = None;

    // Required method
    fn try_from_bytes(bytes: &[u8]) -> Result<Self, Self::Error>
       where Self: Sized;
}
Expand description

Trait for a USB descriptor that can be parsed from a byte slice.

Required Associated Constants§

Source

const BUF_SIZE: usize

Size of the byte buffer.

This is the size of the byte buffer that should be used to read or write the descriptor. This is not the size of the descriptor.

Source

const DESC_TYPE: u8

Descriptor type.

This constant is compared against byte 1 of the buffer while reading.

Provided Associated Constants§

Source

const DESC_SUBTYPE: Option<u8> = None

Descriptor subtype.

If this constant is None, then it is ignored. If this constant is Some(subtype), then subtype is compared against byte 2 of the buffer while reading.

This constant is None by default.

Required Associated Types§

Required Methods§

Source

fn try_from_bytes(bytes: &[u8]) -> Result<Self, Self::Error>
where Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl USBDescriptor for ClockDescriptor

Source§

impl USBDescriptor for FormatTypeDescriptor

Source§

impl USBDescriptor for TerminalDescriptor

Source§

impl USBDescriptor for UnitDescriptor

Source§

impl USBDescriptor for HubDescriptor

Source§

impl USBDescriptor for HIDDescriptor

Source§

impl USBDescriptor for AudioControlHeaderDescriptor

Source§

impl USBDescriptor for AudioEndpointDescriptor

Source§

impl USBDescriptor for AudioStreamingClassDescriptor

Source§

impl USBDescriptor for ClockMultiplierDescriptor

Source§

impl USBDescriptor for ClockSelectorDescriptor

Source§

impl USBDescriptor for ClockSourceDescriptor

Source§

impl USBDescriptor for InputTerminalDescriptor

Source§

impl USBDescriptor for InterfaceAssociationDescriptor

Source§

impl USBDescriptor for OutputTerminalDescriptor

Source§

impl USBDescriptor for ConfigurationDescriptor

Source§

impl USBDescriptor for DeviceDescriptor

Source§

impl USBDescriptor for DeviceDescriptorPartial

Source§

impl USBDescriptor for EndpointDescriptor

Source§

impl USBDescriptor for InterfaceDescriptor

Source§

impl USBDescriptor for StringDescriptor

Source§

impl USBDescriptor for StringDescriptorLossy

Source§

impl USBDescriptor for StringDescriptorZero