You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixesp8266#7230 (until 3.0 when this whole code will probably change).
Before, a timed out pin would clear its bit in `waveformEnabled`. The
logic in `stopWaveform`. If only one tone was running and timed out,
`stopWaveform` would check the `enabled` bitmask and see nothing active
and immediately return w/o cancelling the IRQ. So, the IRQ would be
called every 1/100th of a second and return immediately when no work to
be done was detected.
Remove the check and always send in a `waveformToDisable` bit. It's
save to disable an already disabled pin, so no logical consequences will
occur, and the final IRQ disable will be executed when appropriate.
Due to code in master branch, core_esp8266_waveform.cpp,
stopWaveform(uint8_t pin)
:the timer keeps running even when there isn't any other waveform or the callback attached.
Fixed in #7022
The text was updated successfully, but these errors were encountered: