pub struct RegisterSpace {
regs: BTreeMap<RegisterRange, Box<dyn RegisterInterface>>,
}Expand description
Register space repesents a set of registers. It can handle read/write operations.
Fields§
§regs: BTreeMap<RegisterRange, Box<dyn RegisterInterface>>Implementations§
Source§impl RegisterSpace
impl RegisterSpace
Sourcepub fn new() -> RegisterSpace
pub fn new() -> RegisterSpace
Creates a new empty RegisterSpace.
Sourcepub fn add_register<T: RegisterInterface + 'static>(&mut self, reg: T)
pub fn add_register<T: RegisterInterface + 'static>(&mut self, reg: T)
Add a register to register space.
Sourcepub fn add_register_array<T: RegisterValue>(&mut self, regs: &[Register<T>])
pub fn add_register_array<T: RegisterValue>(&mut self, regs: &[Register<T>])
Add an array of registers.
Sourcepub fn write(&self, addr: u64, data: &[u8])
pub fn write(&self, addr: u64, data: &[u8])
Write range. If the targeted register has a callback, it will be invoked with the new value.
Sourcefn first_before(&self, addr: u64) -> Option<&dyn RegisterInterface>
fn first_before(&self, addr: u64) -> Option<&dyn RegisterInterface>
Get first register before this addr.
Sourcefn get_register(&self, addr: u64) -> Option<&dyn RegisterInterface>
fn get_register(&self, addr: u64) -> Option<&dyn RegisterInterface>
Get register at this addr.
Auto Trait Implementations§
impl Freeze for RegisterSpace
impl !RefUnwindSafe for RegisterSpace
impl Send for RegisterSpace
impl !Sync for RegisterSpace
impl Unpin for RegisterSpace
impl !UnwindSafe for RegisterSpace
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more