Struct moa_core::AddressTranslator
source · pub struct AddressTranslator {
subdevice: Device,
size: usize,
func: Box<dyn Fn(Address) -> Address>,
}
Expand description
An address adapter that uses a closure to translate the address before accessing the subdevice
Fields§
§subdevice: Device
§size: usize
§func: Box<dyn Fn(Address) -> Address>
Implementations§
Trait Implementations§
source§impl Addressable for AddressTranslator
impl Addressable for AddressTranslator
fn size(&self) -> usize
fn read( &mut self, clock: Instant, addr: Address, data: &mut [u8] ) -> Result<(), Error>
fn write( &mut self, clock: Instant, addr: Address, data: &[u8] ) -> Result<(), Error>
fn read_u8(&mut self, clock: Instant, addr: Address) -> Result<u8, Error>
fn read_beu16(&mut self, clock: Instant, addr: Address) -> Result<u16, Error>
fn read_leu16(&mut self, clock: Instant, addr: Address) -> Result<u16, Error>
fn read_beu32(&mut self, clock: Instant, addr: Address) -> Result<u32, Error>
fn read_leu32(&mut self, clock: Instant, addr: Address) -> Result<u32, Error>
fn write_u8( &mut self, clock: Instant, addr: Address, value: u8 ) -> Result<(), Error>
fn write_beu16( &mut self, clock: Instant, addr: Address, value: u16 ) -> Result<(), Error>
fn write_leu16( &mut self, clock: Instant, addr: Address, value: u16 ) -> Result<(), Error>
fn write_beu32( &mut self, clock: Instant, addr: Address, value: u32 ) -> Result<(), Error>
fn write_leu32( &mut self, clock: Instant, addr: Address, value: u32 ) -> Result<(), Error>
source§impl Transmutable for AddressTranslator
impl Transmutable for AddressTranslator
fn as_addressable(&mut self) -> Option<&mut dyn Addressable>
fn as_steppable(&mut self) -> Option<&mut dyn Steppable>
fn as_interruptable(&mut self) -> Option<&mut dyn Interruptable>
fn as_debuggable(&mut self) -> Option<&mut dyn Debuggable>
fn as_inspectable(&mut self) -> Option<&mut dyn Inspectable>
fn as_signalable(&mut self) -> Option<&mut dyn Signalable>
Auto Trait Implementations§
impl Freeze for AddressTranslator
impl !RefUnwindSafe for AddressTranslator
impl !Send for AddressTranslator
impl !Sync for AddressTranslator
impl Unpin for AddressTranslator
impl !UnwindSafe for AddressTranslator
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
source§impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
impl<T, S> IntoAddress<T> for Swhere
T: FromAddress<S>,
source§fn into_address(self) -> T
fn into_address(self) -> T
Translate the given address into an address of type
T