Skip to content

Commit

Permalink
simplify logic
Browse files Browse the repository at this point in the history
  • Loading branch information
ladyada committed Jan 3, 2025
1 parent 35d92f4 commit dcf89e0
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions wled00/pin_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,16 +218,16 @@ bool PinManager::isPinOk(byte gpio, bool output)
if ((strncmp_P(PSTR("ESP32-U4WDH"), ESP.getChipModel(), 11) == 0) || // this is the correct identifier, but....
(strncmp_P(PSTR("ESP32-PICO-D2"), ESP.getChipModel(), 13) == 0)) { // https://github.com/espressif/arduino-esp32/issues/10683
// this chip has 4 MB of internal Flash and different packaging, so available pins are different!
if ((gpio == 1) || (gpio == 3) || ((gpio >= 6) && (gpio <= 8)) ||
(gpio == 11) || (gpio == 16) || (gpio == 17) || (gpio == 20) ||
(gpio == 24) || ((gpio >= 28) && (gpio <= 31)))
if (((gpio > 5) && (gpio < 9)) || (gpio == 11))
return false;
} else {
// for classic ESP32 (non-mini) modules, these are the SPI flash pins
if (gpio > 5 && gpio < 12) return false; //SPI flash pins
}

if (strncmp_P(PSTR("ESP32-PICO"), ESP.getChipModel(), 10) == 0 && (gpio == 16 || gpio == 17)) return false; // PICO-D4: gpio16+17 are in use for onboard SPI FLASH
if (((strncmp_P(PSTR("ESP32-PICO"), ESP.getChipModel(), 10) == 0) ||
(strncmp_P(PSTR("ESP32-U4WDH"), ESP.getChipModel(), 11) == 0))
&& (gpio == 16 || gpio == 17)) return false; // PICO-D4/U4WDH: gpio16+17 are in use for onboard SPI FLASH
if (gpio == 16 || gpio == 17) return !psramFound(); //PSRAM pins on ESP32 (these are IO)
#endif
if (output) return digitalPinCanOutput(gpio);
Expand Down

0 comments on commit dcf89e0

Please sign in to comment.