Skip to main content

Error

Enum Error 

Source
pub enum Error {
    Timeout(ErrorContext),
    Crc(ErrorContext),
    NoCard,
    UnsupportedCommand,
    BadResponse(ErrorContext),
    CardError(CardError),
    WriteError(ErrorContext),
    ReadError(ErrorContext),
    Misaligned,
    InvalidArgument,
    CardLocked,
    BusError(ErrorContext),
}
Expand description

Errors returned by SD/MMC protocol parsers and drivers.

Recoverable bus / protocol variants carry an ErrorContext pinpointing the phase and (when known) command index that raised them. Caller-facing programming errors (Misaligned, InvalidArgument) and card-state reports (NoCard, CardError, CardLocked) do not.

Variants§

§

Timeout(ErrorContext)

No response from card within the deadline for the wrapped phase.

§

Crc(ErrorContext)

CRC check failed during the wrapped phase.

§

NoCard

Card is not responding or not inserted.

§

UnsupportedCommand

Command index is not supported on this transport.

§

BadResponse(ErrorContext)

Bad response received during the wrapped phase.

§

CardError(CardError)

Card returned an error in its R1 response.

§

WriteError(ErrorContext)

Write operation failed during the wrapped phase.

§

ReadError(ErrorContext)

Read operation failed during the wrapped phase.

§

Misaligned

Misaligned address or length passed by the caller.

§

InvalidArgument

Caller passed an invalid argument.

§

CardLocked

Card is locked (host needs to unlock before further I/O).

§

BusError(ErrorContext)

Generic communication error on the bus during the wrapped phase.

Trait Implementations§

Source§

impl Clone for Error

Source§

fn clone(&self) -> Error

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Error

Source§

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

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

impl PartialEq for Error

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Error

Source§

impl Eq for Error

Source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

§

impl UnwindSafe for Error

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.