-
Notifications
You must be signed in to change notification settings - Fork 7.6k
refactor(rmt): refactored RMT loopback example #11221
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 SuGlider, 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.
Copilot wasn't able to review any files in this pull request.
Files not reviewed (1)
- libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino: Language not supported
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]
|
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.
LGTM
Description of Change
The way RMT loopback example was done, it had a sync problem that caused the result to do not match.
Low level signal was sent first and then the high level, therefore, it would only detect the second signal (high) after a delay in nanoseconds. This delay would cause the received signal to be shifted by one RMT symbol.
Output of the original example:
With this refactoring/fix, RMT symbols start with High Level and the output matches the received RMT symbols.
This PR makes the example easier for understanding as well as the RMT symbol will better match.
Tests scenarios
Tested with ESP32, ESP32-C3 and ESP32-S3 using the provided example.
Related links
Related to #11200