pub trait UsbController<'a> {
Show 14 methods
// Required methods
fn set_client(&self, client: &'a dyn Client<'a>);
fn endpoint_set_ctrl_buffer(&self, buf: &'a [VolatileCell<u8>]);
fn endpoint_set_in_buffer(
&self,
endpoint: usize,
buf: &'a [VolatileCell<u8>],
);
fn endpoint_set_out_buffer(
&self,
endpoint: usize,
buf: &'a [VolatileCell<u8>],
);
fn enable_as_device(&self, speed: DeviceSpeed);
fn attach(&self);
fn detach(&self);
fn set_address(&self, addr: u16);
fn enable_address(&self);
fn endpoint_in_enable(&self, transfer_type: TransferType, endpoint: usize);
fn endpoint_out_enable(&self, transfer_type: TransferType, endpoint: usize);
fn endpoint_in_out_enable(
&self,
transfer_type: TransferType,
endpoint: usize,
);
fn endpoint_resume_in(&self, endpoint: usize);
fn endpoint_resume_out(&self, endpoint: usize);
}Expand description
USB controller interface
Required Methods§
fn set_client(&self, client: &'a dyn Client<'a>)
fn endpoint_set_ctrl_buffer(&self, buf: &'a [VolatileCell<u8>])
fn endpoint_set_in_buffer(&self, endpoint: usize, buf: &'a [VolatileCell<u8>])
fn endpoint_set_out_buffer(&self, endpoint: usize, buf: &'a [VolatileCell<u8>])
fn enable_as_device(&self, speed: DeviceSpeed)
fn attach(&self)
fn detach(&self)
fn set_address(&self, addr: u16)
fn enable_address(&self)
fn endpoint_in_enable(&self, transfer_type: TransferType, endpoint: usize)
fn endpoint_out_enable(&self, transfer_type: TransferType, endpoint: usize)
fn endpoint_in_out_enable(&self, transfer_type: TransferType, endpoint: usize)
fn endpoint_resume_in(&self, endpoint: usize)
fn endpoint_resume_out(&self, endpoint: usize)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".