Fix addApbChangeCallback(): duplicate func kernel msgs (#1435)

When `IRrecv::enableIRn()` was called after a `IRrecv::disableIRn()` call the ESP32 would produce a kernel message/warning on the serial port. e.g.:
```
[E][esp32-hal-cpu.c:93] addApbChangeCallback(): duplicate func=400814C4 arg=3FFBDFC4
```
if the ESP32 IDF 3.3 (v1.0.5) was used.

Fix the issue by ensuring a `timerEnd()` call is made in the `disableIRIn()` call to properly clean up the timer.

Tested on an ESP32dev board. Confirmed the message no longer appears.

Fixes #1434
This commit is contained in:
David Conran
2021-03-22 00:07:32 +10:00
committed by GitHub
parent c818091722
commit 60db0d350d

View File

@@ -360,6 +360,7 @@ void IRrecv::disableIRIn(void) {
#endif // ESP8266
#if defined(ESP32)
timerAlarmDisable(timer);
timerEnd(timer);
#endif // ESP32
detachInterrupt(params.recvpin);
#endif // UNIT_TEST