level in enum

This commit is contained in:
Priec
2026-05-28 08:09:27 +02:00
parent ec72b2dc8f
commit a514098d00

View File

@@ -10,12 +10,20 @@ pub enum Encoding {
Manchester,
}
pub const LOGIC_ONE_HIGH: bool = true;
#[derive(Copy, Clone, PartialEq)]
pub enum LogicLevel {
Low,
High,
}
pub const LOGIC_ZERO: LogicLevel = LogicLevel::Low;
pub const LOGIC_ONE: LogicLevel = LogicLevel::High;
pub fn level_for_bit(bit: u8) -> bool {
(bit != 0) == LOGIC_ONE_HIGH
let level = if bit == 0 { LOGIC_ZERO } else { LOGIC_ONE };
level == LogicLevel::High
}
pub fn bit_for_level(level: bool) -> u8 {
if level == LOGIC_ONE_HIGH { 1 } else { 0 }
if level_for_bit(1) == level { 1 } else { 0 }
}