Trait RegisterInterface

Source
pub trait RegisterInterface<T: Default + Copy> {
    // Required methods
    fn read(&self, address: RegisterAddress) -> Result<T, FPGAError>;
    fn write(&self, address: RegisterAddress, data: T) -> Result<(), FPGAError>;
    fn read_array_mut<const N: usize>(
        &self,
        address: RegisterAddress,
        array: &mut [T; N],
    ) -> Result<(), FPGAError>;
    fn write_array<const N: usize>(
        &self,
        address: RegisterAddress,
        data: &[T; N],
    ) -> Result<(), FPGAError>;

    // Provided method
    fn read_array<const N: usize>(
        &self,
        address: RegisterAddress,
    ) -> Result<[T; N], FPGAError> { ... }
}

Required Methods§

Source

fn read(&self, address: RegisterAddress) -> Result<T, FPGAError>

Source

fn write(&self, address: RegisterAddress, data: T) -> Result<(), FPGAError>

Source

fn read_array_mut<const N: usize>( &self, address: RegisterAddress, array: &mut [T; N], ) -> Result<(), FPGAError>

Source

fn write_array<const N: usize>( &self, address: RegisterAddress, data: &[T; N], ) -> Result<(), FPGAError>

Provided Methods§

Source

fn read_array<const N: usize>( &self, address: RegisterAddress, ) -> Result<[T; N], FPGAError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§