v1.0.8
-
Fix
_pollTaskdeclaration scope for Arduino builds — MoveTaskHandle_t _pollTask;from the#else(ESP-IDF-only) branch of#ifdef ARDUINOto the unconditional (shared) area after#endif, making it visible to both Arduino and ESP-IDF compilation paths. This resolves 8 compile errors ('_pollTask' was not declared in this scope) in functions_updatePollingForI2cSleep(),_arduinoIsrHandler(),_setupPollingArduino(),_cleanupPollingArduino(),_setupHardwareInterruptArduino(), and_cleanupHardwareInterruptArduino(). -
Fix
_pollTaskinitialization in constructor — Move_pollTask = nullptr;from the#else(ESP-IDF) branch of the constructor to the unconditional area after#endif, ensuring the task handle is properly zero-initialized regardless of platform._intrQueueremains in the#elseblock as it is only used by ESP-IDF code paths. -
Add per-pin
clearInterrupt(uint8_t pin)API overload — Introduce a newclearInterrupt(uint8_t pin)method alongside the existing no-argumentclearInterrupt(). The new overload writes~(1U << pin)toGPIO_IS_L/GPIO_IS_Husing the hardware's "write 0 to clear" semantics, clearing only the specified pin's interrupt status bit while leaving other pins' status intact. This fixes compile errors ininterrupt_hardware.inoandinterrupt_polling.inoexamples that were callingclearInterrupt(IOE1_PIN_x). -
Fix
begin()parameter misalignment ininterrupt_polling.inoexample — Insert the missingintPin = -1argument beforeM5IOE1_INT_MODE_POLLINGin thebegin()call. Previously, the enum valueM5IOE1_INT_MODE_POLLING(= 1) was being passed to theintPinparameter, causing GPIO1 to be incorrectly registered as the hardware interrupt pin and laterdetachInterrupt()-ed on destruction.