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()
}
}