bitbybit 2.0.0

Efficient implementation of bit-fields where several numbers are packed within a larger number and bit-enums. Useful for drivers, so it works in no_std environments
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use bitbybit::bitfield;

#[bitfield(u32, default = 0, forbid_overlaps)]
#[derive(PartialEq, Eq, Debug)]
struct Test {
    #[bits(8..=15, rw)]
    foo: u8,
    #[bits(0..=7, r)]
    bar: u8,
}

fn main() {
    let val = Test::builder().with_foo(1).build();
    assert_eq!(val.raw_value, 256);
}