-
Notifications
You must be signed in to change notification settings - Fork 7.8k
fix(tests): Fix GPIO and PeriMan tests #12124
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 lucasssvaz, 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 ...
|
Test Results 83 files 83 suites 25m 31s ⏱️ Results for commit 4551b70. ♻️ This comment has been updated with latest results. |
51d4958 to
4551b70
Compare
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]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description of Change
This pull request introduces improvements to resource management and reliability in the ESP I2S library and its related validation tests. The most important changes focus on preventing recursive calls and ensuring proper initialization and teardown of hardware interfaces, as well as refining test logic for I2C and GPIO peripherals.
I2S resource management improvements:
_modeinitialization toI2SClassto indicate when I2S is not started, and updatedi2sDetachBusto only callend()if I2S was initialized, preventing unnecessary resource cleanup. [1] [2]end()method inI2SClassto prevent recursion by checking if already ended and resetting_modebefore deinitializing pins, using the saved mode for cleanup logic. [1] [2]Validation test reliability:
periman.ino, ensuredSerial1is always properly initialized and its callback set during both setup and teardown, even if previous tests terminated the interface. [1] [2]gpio.ino, removed debounce logic and related variables from interrupt service routines and test setup, simplifying the interrupt handling for validation. [1] [2] [3]I2C clock test enhancements:
General improvements:
#include <Arduino.h>inperiman.inofor consistency and compatibility.Test Scenarios
Locally