removed detachinterrupt from pin manager, added it to set.cpp instead

pull/3798/head
Damian Schneider 2024-04-07 13:49:17 +02:00
rodzic 0637c1c9d4
commit d3a97f1062
2 zmienionych plików z 5 dodań i 6 usunięć

Wyświetl plik

@ -32,11 +32,6 @@ bool PinManagerClass::deallocatePin(byte gpio, PinOwner tag)
return false;
}
#ifdef SOC_TOUCH_VERSION_2 // ESP32 S2 and S3 have a fucntion to check touch state, detach any previous assignments
if (digitalPinToTouchChannel(gpio) >= 0) //if touch capable pin
touchDetachInterrupt(gpio);
#endif
byte by = gpio >> 3;
byte bi = gpio - 8*by;
bitWrite(pinAlloc[by], bi, false);

Wyświetl plik

@ -108,6 +108,10 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
for (uint8_t s=0; s<WLED_MAX_BUTTONS; s++) {
if (btnPin[s]>=0 && pinManager.isPinAllocated(btnPin[s], PinOwner::Button)) {
pinManager.deallocatePin(btnPin[s], PinOwner::Button);
#ifdef SOC_TOUCH_VERSION_2 // ESP32 S2 and S3 have a function to check touch state, detach interrupt
if (digitalPinToTouchChannel(btnPin[i]) >= 0) // if touch capable pin
touchDetachInterrupt(btnPin[i]); // if not assigned previously, this will do nothing
#endif
}
}
@ -270,7 +274,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
#endif
}
else
#endif
#endif
{
if (disablePullUp) {
pinMode(btnPin[i], INPUT);