pub struct Channel<'d, I: Instance, D: Direction, T: Type> { /* private fields */ }Expand description
USB endpoint. Only implements single buffer mode.
Implementations§
Source§impl<'d, I: Instance, D: Direction, T: Type> Channel<'d, I, D, T>
impl<'d, I: Instance, D: Direction, T: Type> Channel<'d, I, D, T>
pub fn activate_rx(&mut self)
pub fn activate_tx(&mut self)
pub fn disable_rx(&mut self)
Trait Implementations§
Source§impl<'d, I: Instance, T: Type, D: Direction> UsbPipe<T, D> for Channel<'d, I, D, T>
impl<'d, I: Instance, T: Type, D: Direction> UsbPipe<T, D> for Channel<'d, I, D, T>
Source§async fn control_in(
&mut self,
setup: &[u8; 8],
buf: &mut [u8],
) -> Result<usize, PipeError>
async fn control_in( &mut self, setup: &[u8; 8], buf: &mut [u8], ) -> Result<usize, PipeError>
Send IN control request. Read more
Source§async fn control_out(
&mut self,
setup: &[u8; 8],
buf: &[u8],
) -> Result<(), PipeError>
async fn control_out( &mut self, setup: &[u8; 8], buf: &[u8], ) -> Result<(), PipeError>
Send OUT control request
Source§fn retarget_pipe(
&mut self,
addr: u8,
endpoint: &EndpointInfo,
_split: Option<SplitInfo>,
) -> Result<(), HostError>
fn retarget_pipe( &mut self, addr: u8, endpoint: &EndpointInfo, _split: Option<SplitInfo>, ) -> Result<(), HostError>
Retargets pipe to a new endpoint, may error if the underlying driver runs out of resources. Read more
Source§async fn request_in(&mut self, buf: &mut [u8]) -> Result<usize, PipeError>where
D: IsIn,
async fn request_in(&mut self, buf: &mut [u8]) -> Result<usize, PipeError>where
D: IsIn,
Send IN request of type other from control
For interrupt pipes this will return the result of the next successful interrupt poll
Source§async fn request_out(
&mut self,
buf: &[u8],
ensure_transaction_end: bool,
) -> Result<(), PipeError>where
D: IsOut,
async fn request_out(
&mut self,
buf: &[u8],
ensure_transaction_end: bool,
) -> Result<(), PipeError>where
D: IsOut,
Send OUT request of type other from control
ensure_transaction_end: Send a zero length packet at the end of transaction if last packet is of max size.
Source§fn set_timeout(&mut self, _: TimeoutConfig)
fn set_timeout(&mut self, _: TimeoutConfig)
Configure the timeouts of this pipe.
Source§fn reset_data_toggle(&mut self)
fn reset_data_toggle(&mut self)
Reset the host-side data toggle on this pipe to DATA0. Read more
Auto Trait Implementations§
impl<'d, I, D, T> Freeze for Channel<'d, I, D, T>
impl<'d, I, D, T> RefUnwindSafe for Channel<'d, I, D, T>
impl<'d, I, D, T> Send for Channel<'d, I, D, T>
impl<'d, I, D, T> Sync for Channel<'d, I, D, T>
impl<'d, I, D, T> Unpin for Channel<'d, I, D, T>
impl<'d, I, D, T> !UnwindSafe for Channel<'d, I, D, T>
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