A USB device consisting of one or more device classes.
Gets a reference to the
UsbBus implementation used by this
UsbDevice. You can use this
to call platform-specific methods on the
While it is also possible to call the standard
UsbBus trait methods through this
reference, this is not recommended as it can cause the device to misbehave.
pub fn state(&self) -> UsbDeviceState[src]
Gets the current state of the device.
In general class traffic is only possible in the
pub fn remote_wakeup_enabled(&self) -> bool[src]
Gets whether host remote wakeup has been enabled by the host.
pub fn self_powered(&self) -> bool[src]
Gets whether the device is currently self powered.
pub fn set_self_powered(&mut self, is_self_powered: bool)[src]
Sets whether the device is currently self powered.
pub fn force_reset(&mut self) -> Result<()>[src]
Simulates a disconnect from the USB bus, causing the host to reset and re-enumerate the device.
Mostly useful for development. Calling this at the start of your program ensures that the host re-enumerates your device after a new program has been flashed.
UsbBus for new events and dispatches them to the provided classes. Returns
true if one of the classes may have data available for reading or be ready for writing,
false otherwise. This should be called periodically as often as possible for the best data
rate, or preferably from an interrupt handler. Must be called at least once every 10
milliseconds while connected to the USB host to be USB compliant.
Note: The list of classes passed in must be the same classes in the same order for every
call while the device is configured, or the device may enumerate incorrectly or otherwise
misbehave. The easiest way to do this is to call the
poll method in only one place in your
code, as follows:
usb_dev.poll(&mut [&mut class1, &mut class2]);
Strictly speaking the list of classes is allowed to change between polls if the device has
been reset, which is indicated by
state being equal to
type Error = Infallible
The type returned in the event of a conversion error.