use num_derive::FromPrimitive;
use num_traits::FromPrimitive;
pub const ESCAPE: u8 = 0x7D;
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq, FromPrimitive)]
#[repr(u8)]
pub enum ControlByte {
Flag = 0x7E,
Xon = 0x11,
Xoff = 0x13,
Substitute = 0x18,
Cancel = 0x1A,
Wake = 0xFF,
}
impl From<ControlByte> for u8 {
fn from(byte: ControlByte) -> Self {
byte as Self
}
}
impl TryFrom<u8> for ControlByte {
type Error = u8;
fn try_from(value: u8) -> Result<Self, Self::Error> {
Self::from_u8(value).ok_or(value)
}
}