1#![no_std]
9
10use embedded_hal::{
11 blocking::spi::{Transfer, Write},
12 digital::v2::OutputPin,
13 spi::{Mode, Phase, Polarity}
14};
15
16pub const MODE: Mode = Mode {
18 phase: Phase::CaptureOnSecondTransition,
19 polarity: Polarity::IdleLow,
20};
21
22pub struct Tmc5160<SPI, CS> {
24 spi: SPI,
25 cs: CS,
26}
27
28impl<SPI, CS, E> Tmc5160<SPI, CS>
29where
30 SPI: Transfer<u8, Error = E> + Write<u8, Error = E>,
31 CS: OutputPin,
32{
33 pub fn new(spi: SPI, cs: CS) -> Result<Self, E> {
35 Ok(Tmc5160 { spi, cs })
36 }
37}