pub struct HubHandler<H: UsbHostDriver, const MAX_PORTS: usize> { /* private fields */ }Implementations§
Source§impl<H: UsbHostDriver, const MAX_PORTS: usize> HubHandler<H, MAX_PORTS>
impl<H: UsbHostDriver, const MAX_PORTS: usize> HubHandler<H, MAX_PORTS>
Sourcepub async fn enumerate_port(
&mut self,
port: u8,
speed: Speed,
new_device_address: u8,
) -> Result<EnumerationInfo, HostError>
pub async fn enumerate_port( &mut self, port: u8, speed: Speed, new_device_address: u8, ) -> Result<EnumerationInfo, HostError>
Reset a port and enumerate the device attached to it.
Trait Implementations§
Source§impl<H: UsbHostDriver, const MAX_PORTS: usize> UsbHostHandler for HubHandler<H, MAX_PORTS>
impl<H: UsbHostDriver, const MAX_PORTS: usize> UsbHostHandler for HubHandler<H, MAX_PORTS>
type PollEvent = HubEvent
type Driver = H
fn static_spec() -> StaticHandlerSpec
async fn try_register( bus: &H, enum_info: &EnumerationInfo, ) -> Result<Self, RegisterError>
async fn wait_for_event(&mut self) -> Result<HandlerEvent<HubEvent>, HostError>
Auto Trait Implementations§
impl<H, const MAX_PORTS: usize> Freeze for HubHandler<H, MAX_PORTS>where
<H as UsbHostDriver>::Channel<Interrupt, In>: Freeze,
<H as UsbHostDriver>::Channel<Control, InOut>: Freeze,
impl<H, const MAX_PORTS: usize> RefUnwindSafe for HubHandler<H, MAX_PORTS>where
<H as UsbHostDriver>::Channel<Interrupt, In>: RefUnwindSafe,
<H as UsbHostDriver>::Channel<Control, InOut>: RefUnwindSafe,
impl<H, const MAX_PORTS: usize> Send for HubHandler<H, MAX_PORTS>where
<H as UsbHostDriver>::Channel<Interrupt, In>: Send,
<H as UsbHostDriver>::Channel<Control, InOut>: Send,
impl<H, const MAX_PORTS: usize> Sync for HubHandler<H, MAX_PORTS>where
<H as UsbHostDriver>::Channel<Interrupt, In>: Sync,
<H as UsbHostDriver>::Channel<Control, InOut>: Sync,
impl<H, const MAX_PORTS: usize> Unpin for HubHandler<H, MAX_PORTS>where
<H as UsbHostDriver>::Channel<Interrupt, In>: Unpin,
<H as UsbHostDriver>::Channel<Control, InOut>: Unpin,
impl<H, const MAX_PORTS: usize> UnwindSafe for HubHandler<H, MAX_PORTS>where
<H as UsbHostDriver>::Channel<Interrupt, In>: UnwindSafe,
<H as UsbHostDriver>::Channel<Control, InOut>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more