sdmmc-core 0.5.0

SD/MMC core data structures and algorithms
Documentation
use crate::lib_bool_enum;
use crate::result::Result;

lib_bool_enum! {
    /// Represents the `DSR_IMP` field of the `CSD` register.
    DsrImplemented {
        /// Indicates that the DSR register is not implemented.
        Unimplemented = false,
        /// Indicates that the DSR register is implemented.
        Implemented = true,
    }
}

impl DsrImplemented {
    /// Converts an inner representation into a [DsrImplemented].
    pub const fn from_inner(val: bool) -> Self {
        Self::from_bool(val)
    }

    /// Attempts to convert an inner representation into a [DsrImplemented].
    pub const fn try_from_inner(val: bool) -> Result<Self> {
        Ok(Self::from_bool(val))
    }

    /// Converts a [DsrImplemented] into an inner representation.
    pub const fn into_inner(self) -> bool {
        self.into_bool()
    }
}