embassy-usb-driver

Crates

git

Versions

default

Flavors

Skip to main content

Endpoint

Trait Endpoint 

Source
pub trait Endpoint {
    // Required methods
    fn info(&self) -> &EndpointInfo;
    async fn wait_enabled(&mut self);
    fn set_stall(&mut self, stalled: bool) -> Result<(), Unsupported>;
    fn is_stalled(&self) -> Result<bool, Unsupported>;
}
Expand description

Endpoint trait, common for OUT and IN. Endpoint is a buffer on a device that stores rx/tx data. Endpoint can be thought of as one end of a pipe/channel.

Required Methods§

Source

fn info(&self) -> &EndpointInfo

Get the endpoint address

Source

async fn wait_enabled(&mut self)

Wait for the endpoint to be enabled.

Source

fn set_stall(&mut self, stalled: bool) -> Result<(), Unsupported>

Set or clear the STALL handshake on this endpoint.

While stalled, bulk and interrupt endpoints answer tokens with STALL. Control and isochronous endpoints ignore this. Clearing the stall resets the data toggle to DATA0, whether or not the endpoint was stalled. Enabling the endpoint clears a stall; stalling before the endpoint is enabled may not take effect.

§Errors
Source

fn is_stalled(&self) -> Result<bool, Unsupported>

Get whether the STALL handshake is set on this endpoint.

Returns Ok(false) for endpoints that do not have the halt feature.

§Errors

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§