-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
minor issues in core_esp8266_waveform.h #7703
Comments
Pull request #7231 will be merged sometime soon, you may want to see if it already addresses your concern. |
@konohh, with the latest merges we've done pretty big changes to the waveform code. Can you check if they address your issues and report back? Thx! |
If it's documented that way, and the remainer of the waveform API uses microseconds, not cycles (disregard latest changes), it's backward, the implementation was wrong. @earlephilhower The two "saveurs" of waveform now differ in this regard, because I changed the implementation to match the spec/docs. I think it has to be in microseconds for consistency and avoiding forcing CPU frequency issue handling into user sketch code beyond absolute necessity.
Don't worry, you haven't dug deep enough - it both works in existing code and you would find that due to forced inlining of assembly there's no need for the attribute. |
The time to set can't be in us, the us resolution isn't fine enough. That was found during the exhaustive testing of both #7022 and #7231: it caused linearity problems, staircasing, drift, and other problems, especially at higher frequency. This is the reason why the internals were changed to (cpu) cycles, and the original user-facing api was refactored as forwarders with conversion from us to cycles. |
Closed via #7717 |
Platform
Settings in IDE
Problem Description
core_esp8266_waveform.h
For my recent project I needed a (relatively precise) timer controlled trigger for my ISR function and I found it in the above mentioned part of the ESP core. I got it eventually working, nevertheless there are two minor issues I would like to address.
Please bear with me, I'm not a software guy. If some of the above terms and definitions are not the correct ones… Sorry.
The text was updated successfully, but these errors were encountered: