pub trait CodecSync: RegisterCodec {
// Required methods
fn read_register<R, I>(
interface: &mut I,
) -> Result<R, TransportError<Self::Error, I::Error>>
where R: Register<CodecError = Self::Error> + ReadableRegister,
I: SpiDevice;
fn write_register<R, I>(
interface: &mut I,
register: impl AsRef<R>,
) -> Result<(), TransportError<Self::Error, I::Error>>
where R: Register<CodecError = Self::Error> + WritableRegister,
I: SpiDevice;
}
Expand description
Represents a trait for SPI codecs. These are responsible to perform writes and reads to registers, given the register address and the raw data. Different devices can have different ways to encode the desired address, R/W bit location, continuous-read mode and more.
Required Methods§
Sourcefn read_register<R, I>(
interface: &mut I,
) -> Result<R, TransportError<Self::Error, I::Error>>
fn read_register<R, I>( interface: &mut I, ) -> Result<R, TransportError<Self::Error, I::Error>>
Read this register through the given SPI interface
Sourcefn write_register<R, I>(
interface: &mut I,
register: impl AsRef<R>,
) -> Result<(), TransportError<Self::Error, I::Error>>
fn write_register<R, I>( interface: &mut I, register: impl AsRef<R>, ) -> Result<(), TransportError<Self::Error, I::Error>>
Write this register through the given SPI interface
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.