Struct lpc55_hal::drivers::usbd::UsbBus [−][src]
Expand description
Implements the usb_device::bus::UsbBus
trait.
From that documentation:
The UsbBus is shared by reference between the global UsbDevice as well as UsbClasses, and therefore any required mutability must be implemented using interior mutability. Most operations that may mutate the bus object itself take place before enable is called. After the bus is enabled, in practice most access won’t mutate the object itself but only endpoint-specific registers and buffers, the access to which is mostly arbitrated by endpoint handles.
Warning: Currently, UsbBus
uses the same USB1_SRAM
memory region for both FS and HS
peripherals, so it’s not possible to use both peripherals at the same time with this driver.
Implementations
pub fn new<PIN>(
usb_device: USB,
_usb0_vbus_pin: PIN
) -> UsbBusAllocator<UsbBus<USB>> where
PIN: Usb0VbusPin + Sync,
[src]
pub fn new<PIN>(
usb_device: USB,
_usb0_vbus_pin: PIN
) -> UsbBusAllocator<UsbBus<USB>> where
PIN: Usb0VbusPin + Sync,
[src]Constructs a new USB peripheral driver.
Trait Implementations
Indicates that set_device_address
must be called before accepting the corresponding
control transfer, not after. Read more
fn alloc_ep(
&mut self,
ep_dir: UsbDirection,
ep_addr: Option<EndpointAddress>,
ep_type: EndpointType,
max_packet_size: u16,
_interval: u8
) -> Result<EndpointAddress>
[src]
fn alloc_ep(
&mut self,
ep_dir: UsbDirection,
ep_addr: Option<EndpointAddress>,
ep_type: EndpointType,
max_packet_size: u16,
_interval: u8
) -> Result<EndpointAddress>
[src]Enables and initializes the USB peripheral. Soon after enabling the device will be reset, so there is no need to perform a USB reset in this method. Read more
Called when the host resets the device. This will be soon called after
poll
returns PollResult::Reset
. This method should
reset the state of all endpoints and peripheral flags back to a state suitable for
enumeration, as well as ensure that all endpoints previously allocated with alloc_ep are
initialized as specified. Read more
Sets the device USB address to addr
.
Gets information about events and incoming data. Usually called in a loop or from an
interrupt handler. See the PollResult
struct for more information. Read more
Reads a single packet of data from the specified endpoint and returns the actual length of the packet. Read more
Writes a single packet of data to the specified endpoint and returns number of bytes actually written. Read more
Sets or clears the STALL condition for an endpoint. If the endpoint is an OUT endpoint, it should be prepared to receive data again. Read more
Gets whether the STALL condition is set for an endpoint.
Causes the USB peripheral to enter USB suspend mode, lowering power consumption and
preparing to detect a USB wakeup event. This will be called after
poll
returns PollResult::Suspend
. The device will
continue be polled, and it shall return a value other than Suspend
from poll
when it no
longer detects the suspend condition. Read more
Resumes from suspend mode. This may only be called after the peripheral has been previously suspended. Read more
Simulates a disconnect from the USB bus, causing the host to reset and re-enumerate the device. Read more