use modular_bitfield_msb::prelude::*;
#[bitfield]
pub struct MyTwoBytes {
a: B1,
b: B2,
c: B13,
}
fn main() {
let mut bitfield = MyTwoBytes::new();
assert_eq!(bitfield.a(), 0);
assert_eq!(bitfield.b(), 0);
assert_eq!(bitfield.c(), 0);
bitfield.set_a(1);
bitfield.set_b(3);
bitfield.set_c(42);
assert_eq!(bitfield.a(), 1);
assert_eq!(bitfield.b(), 3);
assert_eq!(bitfield.c(), 42);
bitfield.set_a(0);
bitfield.set_b(0);
bitfield.set_c(0);
assert_eq!(bitfield.a(), 0);
assert_eq!(bitfield.b(), 0);
assert_eq!(bitfield.c(), 0);
}