Enum StandardRequest

Source
pub enum StandardRequest {
    ClearFeature(ClearFeature),
    GetConfiguration,
    GetDescriptor {
        descriptor: GetDescriptor,
        length: u16,
    },
    GetInterface {
        interface: u8,
    },
    GetStatus(GetStatus),
    SetAddress {
        address: Option<Address>,
    },
    SetConfiguration {
        value: Option<NonZeroU8>,
    },
    SetDescriptor {
        descriptor: SetDescriptor,
        length: u16,
    },
    SetFeature(SetFeature),
    SetInterface {
        interface: u8,
        alternate: u8,
    },
    SynchFrame {
        endpoint: Endpoint,
    },
}
Expand description

Standard device requests

See section 9.4 of (USB2)

Variants§

§

ClearFeature(ClearFeature)

CLEAR_FEATURE

§

GetConfiguration

GET_CONFIGURATION

§

GetDescriptor

GET_DESCRIPTOR

Fields

§descriptor: GetDescriptor

Requested descriptor

§length: u16

Maximum number of bytes to return

§

GetInterface

GET_INTERFACE – returns the alternate setting of the specified interface

Fields

§interface: u8

The interface

§

GetStatus(GetStatus)

GET_STATUS

§

SetAddress

SET_ADDRESS

Fields

§address: Option<Address>

The new address – None is used to return to the Default state

§

SetConfiguration

SET_CONFIGURATION

Fields

§value: Option<NonZeroU8>

The new configuration – None is used to return to the Address state

§

SetDescriptor

SET_DESCRIPTOR

Fields

§descriptor: SetDescriptor

The descriptor to set or change

§length: u16

The length of the descriptor

§

SetFeature(SetFeature)

SET_FEATURE

§

SetInterface

SET_INTERFACE – changes the alternate setting of the specified interface

Fields

§interface: u8

The interface to modify

§alternate: u8

The new alternate setting

§

SynchFrame

SYNCH_FRAME

Fields

§endpoint: Endpoint

The endpoint this synchronization frame is for

Implementations§

Source§

impl StandardRequest

Source

pub fn parse( bmrequesttype: u8, brequest: u8, wvalue: u16, windex: u16, wlength: u16, ) -> Result<Self, ()>

Parses a standard request

Trait Implementations§

Source§

impl Clone for StandardRequest

Source§

fn clone(&self) -> StandardRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StandardRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for StandardRequest

Source§

fn eq(&self, other: &StandardRequest) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for StandardRequest

Source§

impl StructuralPartialEq for StandardRequest

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.