esp8266 / esp8266/Arduino

Hadware SPI Slave Select (SS) setup and hold bit states in SPI1U not maintained

Open
#5,712 6 comments 0 reactions 0 assignees View on GitHub
waiting for feedback
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.