level in enum
This commit is contained in:
@@ -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 }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user