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
while (pwmState.pwmUpdate) {
if (idle) {
delay(0);
}
MEMBARRIER();
}
from static IRAM_ATTR void _notifyPWM(PWMState *p, bool idle)
from IRAM_ATTR bool _stopPWM_weak(uint8_t pin)
A. This causes a busy wait inside an ISR (#8043).
B. The IRQ for PWM (NMI) does interrupt other ISRs that may be busy-waiting in notifyPWM. OK.
C. Won't any other GPIO interrupt still be blocked by the waiting ISR in A? Therefore, depending on how long PWM needs to clear the ISR in A to continue in _notifyPWM, every GPIO IRQ gets delayed? Does this leave room for acceptable responsiveness?