proc-bitfield

A Rust crate to expressively declare bitfield-like struct
s, automatically ensuring their correctness at compile time and declaring accessors.
API docs
Usage example
bitfield! {
#[derive(Clone, Copy, PartialEq, Eq)]
pub struct Example(pub u16): Debug {
pub raw: u16 @ ..,
pub vblank: bool [read_only] @ 0,
pub hblank: bool [write_only] @ 1,
pub vcount_match: bool @ 2,
pub irq_mask: u8 @ 3..=5,
pub vcount_compare_high: u8 @ 7..8,
pub vcount_compare_low: u8 @ 8; 8,
}
}
License
This project is licensed under a dual MIT/Apache 2.0 license.