sdmmc-core 0.5.0

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

lib_enum! {
    /// Represents the power classes defined in JESD84-B51, Table 133.
    PowerClassCode: u8 {
        default: Class0,
        error: Error,
        /// Represents power class 0.
        Class0 = 0,
        /// Represents power class 1.
        Class1 = 1,
        /// Represents power class 2.
        Class2 = 2,
        /// Represents power class 3.
        Class3 = 3,
        /// Represents power class 5.
        Class5 = 5,
        /// Represents power class 6.
        Class6 = 6,
        /// Represents power class 7.
        Class7 = 7,
        /// Represents power class 8.
        Class8 = 8,
        /// Represents power class 9.
        Class9 = 9,
        /// Represents power class 10.
        Class10 = 10,
        /// Represents power class 11.
        Class11 = 11,
        /// Represents power class 12.
        Class12 = 12,
        /// Represents power class 13.
        Class13 = 13,
        /// Represents power class 14.
        Class14 = 14,
        /// Represents power class 15.
        Class15 = 15,
    }
}

impl PowerClassCode {
    /// Attempts to convert an inner representation to a [PowerClassCode].
    pub const fn try_from_inner(val: u8) -> Result<Self> {
        Self::from_raw(val)
    }

    /// Converts a [PowerClassCode] to an inner representation.
    pub const fn into_inner(self) -> u8 {
        self.into_raw()
    }
}