forked from M-Labs/zynq-rs
implemented display trait for errors
This commit is contained in:
parent
2c14a2a1a2
commit
2c3fa991ad
@ -88,7 +88,7 @@ pub fn main_core0() {
|
||||
let result = SdCard::from_sdio(sd);
|
||||
match &result {
|
||||
Ok(_) => info!("OK!"),
|
||||
Err(a) => info!("{:?}", a),
|
||||
Err(a) => info!("{}", a),
|
||||
};
|
||||
const SIZE: usize = 512 * 2 + 1;
|
||||
let mut sd_card = result.unwrap();
|
||||
|
@ -28,6 +28,19 @@ pub enum CmdTransferError {
|
||||
Other(regs::interrupt_status::Read),
|
||||
}
|
||||
|
||||
impl core::fmt::Display for CmdTransferError {
|
||||
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
|
||||
use CmdTransferError::*;
|
||||
write!(f, "Command transfer error: ")?;
|
||||
match self {
|
||||
CmdInhibited => write!(f, "Command line inhibited."),
|
||||
DatLineInhibited => write!(f, "Data line inhibited, possibly due to ongonging data transfer."),
|
||||
CmdTimeout => write!(f, "Command timeout, check if the card is inserted properly."),
|
||||
Other(x) => write!(f, "Unknown Error, interrupt status = 0x{:0X}", x.inner),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Debug, Clone, Copy)]
|
||||
pub enum CardType {
|
||||
CardNone,
|
||||
|
@ -11,6 +11,19 @@ pub enum CardInitializationError {
|
||||
InitializationFailedCmd(CmdTransferError),
|
||||
}
|
||||
|
||||
impl core::fmt::Display for CardInitializationError {
|
||||
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
|
||||
use CardInitializationError::*;
|
||||
write!(f, "Card initialization error: \n ")?;
|
||||
match self {
|
||||
AlreadyInitialized => write!(f, "Card already initialized."),
|
||||
NoCardInserted => write!(f, "No card inserted, check if the card is inserted properly."),
|
||||
InitializationFailedOther => write!(f, "Unknown error. Please check the debug messages."),
|
||||
InitializationFailedCmd(x) => write!(f, "{}", x)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<CmdTransferError> for CardInitializationError {
|
||||
fn from(error: CmdTransferError) -> Self {
|
||||
CardInitializationError::InitializationFailedCmd(error)
|
||||
|
Loading…
Reference in New Issue
Block a user