diff --git a/wled00/json.cpp b/wled00/json.cpp index f1b75bed..7d355e79 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -1079,7 +1079,7 @@ void serializeInfo(JsonObject root) #if CONFIG_SPIRAM_MODE_OCT root[F("psrmode")] = F("🚀 OPI"); #elif CONFIG_SPIRAM_MODE_QUAD - root[F("psrmode")] = F("qspi 🛻"); + root[F("psrmode")] = F("qspi"); #endif #endif } @@ -1115,6 +1115,12 @@ void serializeInfo(JsonObject root) case FM_QOUT: root[F("e32flashtext")] = F(" (QOUT)");break; case FM_DIO: root[F("e32flashtext")] = F(" (DIO)"); break; case FM_DOUT: root[F("e32flashtext")] = F(" (DOUT or other)");break; + #if defined(CONFIG_IDF_TARGET_ESP32S3) && CONFIG_ESPTOOLPY_FLASHMODE_OPI + case FM_FAST_READ: root[F("e32flashtext")] = F(" (🚀OPI)");break; + #else + case FM_FAST_READ: root[F("e32flashtext")] = F(" (fast_read)");break; + #endif + case FM_SLOW_READ: root[F("e32flashtext")] = F(" (slow_read)");break; default: root[F("e32flashtext")] = F(" (other)"); break; } diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index b9d90a7d..86f0c88e 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -114,7 +114,7 @@ String PinManagerClass::getPinSpecialText(int gpio) { // special purpose PIN in #if defined(CONFIG_IDF_TARGET_ESP32S3) // ESP32-S3 if (gpio > 18 && gpio < 21) return (F("USB (CDC) or JTAG")); - #if CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM) + #if CONFIG_ESPTOOLPY_FLASHMODE_OPI || (CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM)) if (gpio > 32 && gpio < 38) return (F("(reserved) Octal PSRAM or Octal Flash")); #endif //if (gpio == 0 || gpio == 3 || gpio == 45 || gpio == 46) return (F("(strapping pin)")); diff --git a/wled00/wled.cpp b/wled00/wled.cpp index 9a1bca40..08f5171d 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -546,6 +546,12 @@ void WLED::setup() case FM_QOUT: DEBUG_PRINT(F(" (QOUT)"));break; case FM_DIO: DEBUG_PRINT(F(" (DIO)")); break; case FM_DOUT: DEBUG_PRINT(F(" (DOUT)"));break; + #if defined(CONFIG_IDF_TARGET_ESP32S3) && CONFIG_ESPTOOLPY_FLASHMODE_OPI + case FM_FAST_READ: DEBUG_PRINT(F(" (OPI)"));break; + #else + case FM_FAST_READ: DEBUG_PRINT(F(" (fast_read)"));break; + #endif + case FM_SLOW_READ: DEBUG_PRINT(F(" (slow_read)"));break; default: break; } #endif @@ -592,10 +598,10 @@ void WLED::setup() DEBUG_PRINTF("%s min free stack %d\n", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM #endif -#if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) +#if defined(ARDUINO_ARCH_ESP32) && (defined(BOARD_HAS_PSRAM) || defined(CONFIG_ESPTOOLPY_FLASHMODE_OPI)) //psramInit(); //WLEDMM?? softhack007: not sure if explicit init is really needed ... lets disable it here and see if that works #if defined(CONFIG_IDF_TARGET_ESP32S3) - #if CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM) + #if CONFIG_ESPTOOLPY_FLASHMODE_OPI || (CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM)) // S3: reserve GPIO 33-37 for "octal" PSRAM managed_pin_type pins[] = { {33, true}, {34, true}, {35, true}, {36, true}, {37, true} }; pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM);