stm32f4xx-hal icon indicating copy to clipboard operation
stm32f4xx-hal copied to clipboard

implementation of SpiDevice for auto NSS (chip select)

Open lgjonathan opened this issue 1 year ago • 1 comments

Right now, the spi in the HAL only implements SpiBus, which leaves the CS(NSS) management to user software. If the SpiDevice trait from embedded_hal is implemented, then the user don't have to care about the NSS management since it will be taken care by the hardware.

I'm relatively new to the embedded world and I was wondering if such implementation will be too complicated to pull off. If not, I'm willing to try implement it myself. Would HardwareCS from the stm32h7 be a good reference to begin with?

Thanks

lgjonathan avatar Feb 29 '24 06:02 lgjonathan

It would be nice to have hardware NSS support.

But this does not mean you cannot use SpiDevice. You can. With https://docs.rs/embedded-hal-bus/0.1.0/embedded_hal_bus/spi/index.html This is still software NSS implementation. But it does all staff you need itself. The only you need is to wrap SpiBus + OutputPin in one of the xxDevices on initialization.

P.S. We need example in the repo as embedded-hal-bus documentation is not good enough.

burrbull avatar Feb 29 '24 08:02 burrbull