-
Notifications
You must be signed in to change notification settings - Fork 7.6k
New SPI invert hardware SS function in hall-spi and SPI library #11297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 Hello UltimumControl, we appreciate your contribution to this project! 📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple nitpicks but otherwise LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with Lucas's comments, otherwise looks good.
renamed invert_out to ss_invert to be more intuitive
Removed the out from the function name spiSSInvertout.
Removed the out from the function name spiSSInvertout.
I made the recommended changes. |
Test Results 76 files 76 suites 12m 45s ⏱️ Results for commit 8578198. ♻️ This comment has been updated with latest results. |
Memory usage test (comparing PR against master branch)The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target.
Click to expand the detailed deltas report [usage change in BYTES]
|
Co-authored-by: Lucas Saavedra Vaz <[email protected]>
This PR adds the ability to invert the logic level of the Hardware Slave Select (SS) pin for ESP32 SPI buses (HSPI/VSPI). This is critical for compatibility with hardware that expects active-high SS signals.
Backward Compatibility:
No breaking changes: Existing code using setHwCs() will default to invert_out=false (original behavior)
No Software SS Impact: Only affects hardware-controlled SS pins.
Isolation: Changes to one SPI bus (e.g., HSPI) do not affect others (e.g., VSPI).
Usage Example:
SPIClass *hspi = NULL;
setup(){
hspi = new SPIClass(HSPI);
hspi->begin();
hspi->setSSInvert(true); // Set before setHwCs();
hspi->setHwCs(true);
hspi->beginTransaction(SPISettings(SPI_CLOCK, MSBFIRST, SPI_MODE2));
}
I have tested my Pull Request on Arduino-esp32 core v3.1.3 with ESP32-S3 Board.
Related links
Some people have the same issue but with espidf. I use arduino ide so I fixed it for myself.
https://esp32.com/viewtopic.php?t=16057
https://esp32.com/viewtopic.php?t=16057