use embedded_hal::spi::SpiBus;
#[cfg(feature = "async")]
use embedded_hal_async::spi::SpiBus as SpiBusAsync;
use super::ClockedWriter;
#[cfg(feature = "async")]
use super::ClockedWriterAsync;
impl<Word, Spi> ClockedWriter<Word> for Spi
where
Word: Copy + 'static,
Spi: SpiBus<Word>,
{
type Error = Spi::Error;
fn write<Words>(&mut self, words: Words) -> Result<(), Self::Error>
where
Words: AsRef<[Word]>,
{
self.write(words.as_ref())
}
}
#[cfg(feature = "async")]
impl<Word, Spi> ClockedWriterAsync<Word> for Spi
where
Word: Copy + 'static,
Spi: SpiBusAsync<Word>,
{
type Error = Spi::Error;
async fn write<Words>(&mut self, words: Words) -> Result<(), Self::Error>
where
Words: AsRef<[Word]>,
{
self.write(words.as_ref()).await
}
}