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 type block program time as a multiple of the read access time.
    WriteSpeedFactor: u8 {
        default: Multiple1,
        error: Error,
        /// Writes the same as read.
        Multiple1 = 0,
        /// Writes 1/2 as fast as read.
        Multiple2 = 1,
        /// Writes 1/4 as fast as read.
        Multiple4 = 2,
        /// Writes 1/8 as fast as read.
        Multiple8 = 3,
        /// Writes 1/16 as fast as read.
        Multiple16 = 4,
        /// Writes 1/32 as fast as read.
        Multiple32 = 5,
    }
}

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

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