embassy-net-adin1110

Crates

git

Versions

default

Flavors

Skip to main content

Adin1110Protocol

Trait Adin1110Protocol 

Source
pub trait Adin1110Protocol {
    type SpiError: Debug + Error;

    // Required methods
    async fn read_reg(
        &mut self,
        addr: u16,
    ) -> Result<u32, AdinError<Self::SpiError>>;
    async fn write_reg(
        &mut self,
        addr: u16,
        val: u32,
    ) -> Result<(), AdinError<Self::SpiError>>;
    async fn read_fifo(
        &mut self,
        frame: &mut [u8],
    ) -> Result<usize, AdinError<Self::SpiError>>;
    async fn write_fifo(
        &mut self,
        frame: &[u8],
    ) -> Result<(), AdinError<Self::SpiError>>;
}
Expand description

Protocol abstraction trait for ADIN1110 SPI communication

Required Associated Types§

Source

type SpiError: Debug + Error

SPI error type

Required Methods§

Source

async fn read_reg( &mut self, addr: u16, ) -> Result<u32, AdinError<Self::SpiError>>

Read a register

Source

async fn write_reg( &mut self, addr: u16, val: u32, ) -> Result<(), AdinError<Self::SpiError>>

Write a register

Source

async fn read_fifo( &mut self, frame: &mut [u8], ) -> Result<usize, AdinError<Self::SpiError>>

Read FIFO data into buffer, returns number of bytes read

Source

async fn write_fifo( &mut self, frame: &[u8], ) -> Result<(), AdinError<Self::SpiError>>

Write frame data to FIFO

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§