Struct Device

Source
pub struct Device { /* private fields */ }
Expand description

USB device wrapper

Implementations§

Source§

impl Device

Source

pub fn refresh(&mut self) -> Result<bool, Error>

  1. Find this device
  2. Compare mode of this vs. just found
  3. [if changed] Update state of this, drop all pending transfers if needed to prevent future errors when send to unexisting interface.
  4. Return true if mode changed.
Source

pub fn open(&mut self) -> Result<(), Error>

Open USB interface if available, otherwise try open serial port if available.

Source

pub fn interface(&self) -> Result<&Interface, Error>

Async read-write interface.

Source

pub fn interface_mut(&mut self) -> Result<&mut Interface, Error>

Source

pub fn set_interface(&mut self, interface: Interface)

Source

pub fn close(&mut self)

Source

pub fn close_with_reset(&mut self) -> Result<(), Error>

Source§

impl Device

Source

pub fn new(info: DeviceInfo) -> Self

Source

pub fn info(&self) -> &DeviceInfo

Source

pub fn into_info(self) -> DeviceInfo

Source

pub fn mode_cached(&self) -> Mode

Cached mode of this device

Source

pub fn is_open(&self) -> bool

Source

pub fn is_ready(&self) -> bool

Trait Implementations§

Source§

impl AsRef<DeviceInfo> for Device

Source§

fn as_ref(&self) -> &DeviceInfo

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Debug for Device

Source§

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

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

impl DeviceMode for Device

Source§

fn mode(&self) -> Mode

USB device mode determined by the product ID.
Source§

impl Display for Device

Source§

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

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

impl Hash for Device

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl HaveDataInterface for Device

Source§

impl Mount for Device

Source§

fn mount_blocking(&self) -> Result<(), Error>

Mount this volume. Blocking.
Source§

impl MountAsync for Device

Source§

async fn mount(&self) -> Result<(), Error>

Source§

impl PartialEq for Device

Source§

fn eq(&self, other: &Self) -> 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 Eq for Device

Auto Trait Implementations§

§

impl !Freeze for Device

§

impl !RefUnwindSafe for Device

§

impl Send for Device

§

impl Sync for Device

§

impl Unpin for Device

§

impl !UnwindSafe for Device

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 280 bytes