Skip to main content

Phase

Enum Phase 

Source
#[non_exhaustive]
pub enum Phase { Unspecified, Init, CommandSend, ResponseWait, DataWrite, DataRead, BusyWait, Switch, Erase, }
Expand description

Where in the driver pipeline a fault was observed.

Attached to recoverable Error variants via ErrorContext so callers can distinguish e.g. a CMD0 send timeout from a BusyWait programming timeout without parsing log strings.

Marked #[non_exhaustive]: more phases (e.g. tuning, voltage switch) are expected to land before 1.0, and downstream match sites must keep a _ => ... arm to absorb them without recompiling.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Unspecified

Phase was not recorded.

Used as a default placeholder; real driver paths should pick a concrete variant.

§

Init

Power-up / running CMD0 → ACMD41 / sending CMD2/3/9/7.

§

CommandSend

Putting the command bytes onto the bus.

§

ResponseWait

Waiting for the card’s response token / R1–R7 payload.

§

DataWrite

Streaming a data block to the card (CMD24 / CMD25 etc).

§

DataRead

Streaming a data block from the card (CMD17 / CMD18 etc).

§

BusyWait

Polling the card’s busy line / programming status.

§

Switch

Switching bus speed, width or function (CMD6 / ACMD6).

§

Erase

Erase sequence (CMD32 / CMD33 / CMD38).

Trait Implementations§

Source§

impl Clone for Phase

Source§

fn clone(&self) -> Phase

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 Copy for Phase

Source§

impl Debug for Phase

Source§

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

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

impl Default for Phase

Source§

fn default() -> Phase

Returns the “default value” for a type. Read more
Source§

impl Display for Phase

Source§

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

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

impl Eq for Phase

Source§

impl PartialEq for Phase

Source§

fn eq(&self, other: &Phase) -> 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 StructuralPartialEq for Phase

Auto Trait Implementations§

§

impl Freeze for Phase

§

impl RefUnwindSafe for Phase

§

impl Send for Phase

§

impl Sync for Phase

§

impl Unpin for Phase

§

impl UnsafeUnpin for Phase

§

impl UnwindSafe for Phase

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.