free GPIO17 on "ESP32-D0WDR2-V3" (WLED-MM way)

this is a new "package" with on-chip PSRAM. Only gpio16 is reserved for PSRAM on this chip.
This commit is contained in:
Frank
2026-02-11 11:48:09 +01:00
parent 2bd821789b
commit fef8de000e
3 changed files with 19 additions and 6 deletions

View File

@@ -668,8 +668,15 @@ void WLED::setup()
//pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM);
#else
// GPIO16/GPIO17 reserved for SPI RAM
managed_pin_type pins[] = { {16, true}, {17, true} };
pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM);
if (strncmp_P(PSTR("ESP32-D0WDR2-V3"), ESP.getChipModel(), 15) == 0) {
// ESP32-D0WDR2-V3 keeps gpio17 available
managed_pin_type pins[] = { {16, true} };
pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM);
} else {
managed_pin_type pins[] = { {16, true}, {17, true} };
pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM);
}
#endif
#if defined(BOARD_HAS_PSRAM) && (defined(WLED_USE_PSRAM) || defined(WLED_USE_PSRAM_JSON)) // WLEDMM
if (psramFound()) {