Struct usbd_hid::hid_class::HIDClass[][src]

pub struct HIDClass<'a, B: UsbBus> { /* fields omitted */ }
Expand description

HIDClass provides an interface to declare, read & write HID reports.

Users are expected to provide the report descriptor, as well as pack and unpack reports which are read or staged for transmission.

Implementations

Creates a new HIDClass with the provided UsbBus & HID report descriptor.

poll_ms configures how frequently the host should poll for reading/writing HID reports. A lower value means better throughput & latency, at the expense of CPU on the device & bandwidth on the bus. A value of 10 is reasonable for high performance uses, and a value of 255 is good for best-effort usecases.

This allocates two endpoints (IN and OUT). See new_ep_in (IN endpoint only) and new_ep_out (OUT endpoint only) to only create a single endpoint.

Creates a new HIDClass with the provided UsbBus & HID report descriptor. See new() for more details.

Creates a new HIDClass with the provided UsbBus & HID report descriptor. See new() for more details.

Tries to write an input report by serializing the given report structure. A BufferOverflow error is returned if the serialized report is greater than 64 bytes in size.

Tries to write an input (device-to-host) report from the given raw bytes. Data is expected to be a valid HID report for INPUT items. If report ID’s were used in the descriptor, the report ID corresponding to this report must be be present before the contents of the report.

Tries to read an output (host-to-device) report as raw bytes. Data is expected to be sized appropriately to contain any valid HID report for OUTPUT items, including the report ID prefix if report IDs are used.

Trait Implementations

Called when a GET_DESCRIPTOR request is received for a configuration descriptor. When called, the implementation should write its interface, endpoint and any extra class descriptors into writer. The configuration descriptor itself will be written by UsbDevice and shouldn’t be written by classes. Read more

Called when a control request is received with direction DeviceToHost. Read more

Called when a control request is received with direction HostToDevice. Read more

Called when a GET_DESCRIPTOR request is received for a BOS descriptor. When called, the implementation should write its blobs such as capability descriptors into writer. The BOS descriptor itself will be written by UsbDevice and shouldn’t be written by classes. Read more

Gets a class-specific string descriptor. Read more

Called after a USB reset after the bus reset sequence is complete.

Called whenever the UsbDevice is polled.

Called when endpoint with address addr has received a SETUP packet. Implementing this shouldn’t be necessary in most cases, but is provided for completeness’ sake. Read more

Called when endpoint with address addr has received data (OUT packet). Read more

Called when endpoint with address addr has completed transmitting data (IN packet). Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.