humpback-dds/src/generic_spi_device.rs

28 lines
507 B
Rust

use embedded_hal::blocking::spi::Transfer;
use cortex_m::asm::nop;
use cortex_m_semihosting::hprintln;
use crate::Error;
pub struct SPIStub<SPI> {
spi: SPI
}
impl<SPI, E> SPIStub<SPI>
where
SPI: Transfer<u8, Error = E>
{
pub fn new(spi: SPI) -> Self {
SPIStub{
spi
}
}
pub fn do_something(&mut self) {
let mut buffer :[u8; 4]= [0xDE, 0xAD, 0xBE, 0xEF];
match self.spi.transfer(&mut buffer).map_err(Error::SPI) {
Ok(arr) => hprintln!("{:?}", arr).unwrap(),
Err(_) => nop(),
}
}
}