sdmmc-core 0.5.0

SD/MMC core data structures and algorithms
Documentation
use crate::result::Error;
use crate::{command_enum, lib_enum};

pub mod cmd0;
pub mod cmd1;
pub mod cmd2;
pub mod cmd3;
pub mod cmd4;
pub mod cmd6;
pub mod cmd7;
pub mod cmd8;
pub mod cmd9;

pub mod cmd10;
pub mod cmd11;
pub mod cmd12;
pub mod cmd13;
pub mod cmd14;
pub mod cmd15;

lib_enum! {
    /// MMC opcodes for Class 0.
    CommandClass0: u32 {
        default: GoIdleState,
        error: Error,
        GoIdleState = 0,
        SendOpCond = 1,
        AllSendCID = 2,
        SetRelativeAddress = 3,
        SetDSR = 4,
        Switch = 6,
        SelectCard = 7,
        SendIFCond = 8,
        SendCSD = 9,
        SendCID = 10,
        VoltageSwitch = 11,
        StopTransmission = 12,
        SendStatus = 13,
        BustestR = 14,
        GoInactiveState = 15,
    }
}

command_enum! {
    /// Represents the variants for Class0 commands.
    Command {
        default: Cmd0(cmd0::Cmd0),
        Cmd0(cmd0::Cmd0),
        Cmd1(cmd1::Cmd1),
        Cmd2(cmd2::Cmd2),
        Cmd3(cmd3::Cmd3),
        Cmd4(cmd4::Cmd4),
        Cmd6(cmd6::Cmd6),
        Cmd7(cmd7::Cmd7),
        Cmd8(cmd8::Cmd8),
        Cmd9(cmd9::Cmd9),
        Cmd10(cmd10::Cmd10),
        Cmd11(cmd11::Cmd11),
        Cmd12(cmd12::Cmd12),
        Cmd13(cmd13::Cmd13),
        Cmd14(cmd14::Cmd14),
        Cmd15(cmd15::Cmd15),
    }
}