Hadware SPI Slave Select (SS) setup and hold bit states in SPI1U not maintained
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 13.1k
- PR merge metrics
- No merged PRs in 30d
Description
I had some issues with lost SPI data in overlap mode. Tracked this down to the Slave Select (SS) setup and hold bits getting cleared by different SPI calls.
The bits are set [here](https://github.com/esp8266/Arduino/blob/master/libraries/SPI/SPI.cpp#L127) by the call [here](https://github.com/esp8266/Arduino/blob/master/libraries/SPI/SPI.cpp#L72).
But then immediately afterwards cleared [here](https://github.com/esp8266/Arduino/blob/master/libraries/SPI/SPI.cpp#L84). These bits are also cleared elsewhere in the SPI functions, [here ](https://github.com/esp8266/Arduino/blob/master/libraries/SPI/SPI.cpp#L472)and [here](https://github.com/esp8266/Arduino/blob/master/libraries/SPI/SPI.cpp#L496) and [here](https://github.com/esp8266/Arduino/blob/master/libraries/SPI/SPI.cpp#L508).
Edit (devyte):
Ref commit [here](https://github.com/esp8266/Arduino/commit/8c01516f8ab0931d93ed8a4a97957bfe3ea4a7a6).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.