level in enum
This commit is contained in:
@@ -10,12 +10,20 @@ pub enum Encoding {
|
|||||||
Manchester,
|
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 {
|
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 {
|
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