#[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
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).