Merge branch 'mdev' into pr/286

This commit is contained in:
Frank
2025-11-30 01:38:44 +01:00
5 changed files with 12 additions and 10 deletions

View File

@@ -1300,7 +1300,7 @@ board_build.partitions = ${esp32.extended_partitions} ;; 1.65MB firmware, 700KB
board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz)
board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad i/o)
;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
; monitor_filters = esp32_exception_decoder ; used to show crash details
monitor_filters = esp32_exception_decoder ; used to show crash details
[esp32_4MB_V4_M_base]
extends = esp32_4MB_V4_S_base
@@ -2192,6 +2192,7 @@ build_flags = ${common.build_flags} ${esp32s3.build_flags} -Wno-misleading-inden
lib_deps = ${esp32s3.lib_deps} ${common_mm.lib_deps_S} ${common_mm.lib_deps_V4_M}
${common_mm.HUB75_lib_deps}
;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation
monitor_filters = esp32_exception_decoder
board_build.partitions = tools/WLED_ESP32_8MB.csv
; RAM: [== ] 21.1% (used 69156 bytes from 327680 bytes)
; Flash: [======== ] 75.9% (used 1591817 bytes from 2097152 bytes)

View File

@@ -44,7 +44,7 @@ void WS2812FX::setUpMatrix() {
return;
}
USER_PRINTF("setUpMatrix %d x %d\n", Segment::maxWidth, Segment::maxHeight);
DEBUG_PRINTF("setUpMatrix %d x %d\n", Segment::maxWidth, Segment::maxHeight);
// WLEDMM check if mapping table is necessary (avoiding heap fragmentation)
#if defined(WLED_ENABLE_HUB75MATRIX)
@@ -66,7 +66,7 @@ void WS2812FX::setUpMatrix() {
if (Segment::maxWidth * Segment::maxHeight > customMappingTableSize) {
size_t size = max(ledmapMaxSize, size_t(Segment::maxWidth * Segment::maxHeight)); // TroyHacks
if (!needLedMap) size = 0; // softhack007
USER_PRINTF("setupmatrix customMappingTable alloc %d from %d\n", size, customMappingTableSize);
DEBUG_PRINTF("setupmatrix customMappingTable alloc %d from %d\n", size, customMappingTableSize);
//if (customMappingTable != nullptr) delete[] customMappingTable;
//customMappingTable = new(std::nothrow) uint16_t[size];

View File

@@ -61,7 +61,7 @@ static portMUX_TYPE s_wled_strip_mux = portMUX_INITIALIZER_UNLOCKED; // to prote
void strip_wait_until_idle(String whoCalledMe) {
#if defined(ARDUINO_ARCH_ESP32) && defined(WLEDMM_PROTECT_SERVICE) // WLEDMM experimental
if (strip.isServicing() && (strncmp(pcTaskGetTaskName(NULL), "loopTask", 8) != 0)) { // if we are in looptask (arduino loop), its safe to proceed without waiting
USER_PRINTLN(whoCalledMe + String(": strip is still drawing effects."));
DEBUG_PRINTLN(whoCalledMe + String(": strip is still drawing effects."));
strip.waitUntilIdle();
}
#endif
@@ -115,7 +115,7 @@ void Segment::allocLeds() {
} // softhack007 clean up buffer
}
if ((size > 0) && (!ledsrgb || size > ledsrgbSize)) { //softhack dont allocate zero bytes
USER_PRINTF("allocLeds (%d,%d to %d,%d), %u from %u\n", start, startY, stop, stopY, size, ledsrgb?ledsrgbSize:0);
DEBUG_PRINTF("allocLeds (%d,%d to %d,%d), %u from %u\n", start, startY, stop, stopY, size, ledsrgb?ledsrgbSize:0);
if (ledsrgb) free(ledsrgb); // we need a bigger buffer, so free the old one first
ledsrgb = (CRGB*)calloc(size, 1);
ledsrgbSize = ledsrgb?size:0;
@@ -1903,7 +1903,8 @@ void WS2812FX::waitUntilIdle(void) {
delay(2); // Suspending for 1 tick (or more) gives other tasks a chance to run.
//yield(); // seems to be a no-op on esp32
} while (isServicing() && (millis() - waitStarted < MAX_IDLE_WAIT_MS));
USER_PRINTF("strip.waitUntilIdle(): strip %sidle after %d ms. (task %s with prio=%d)\n", isServicing()?"not ":"", int(millis() - waitStarted), pcTaskGetTaskName(NULL), uxTaskPriorityGet(NULL));
DEBUG_PRINTF("strip.waitUntilIdle(): strip %sidle after %d ms. (task %s with prio=%d)\n", isServicing()?"not ":"", int(millis() - waitStarted), pcTaskGetTaskName(NULL), uxTaskPriorityGet(NULL));
if (isServicing()) USER_PRINTF("strip.waitUntilIdle(): strip NOT idle after %d ms - overriding access. (task %s with prio=%d)\n", int(millis() - waitStarted), pcTaskGetTaskName(NULL), uxTaskPriorityGet(NULL));
}
return;
#else

View File

@@ -1137,12 +1137,12 @@ void serializeInfo(JsonObject root)
root[F("e32code")] = (int)getRestartReason();
root[F("e32text")] = restartCode2Info(getRestartReason());
static char msgbuf[32];
static char msgbuf[42];
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 3)
// use the full revision if we can
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
snprintf(msgbuf, sizeof(msgbuf)-1, "%s rev%u.%u",
snprintf(msgbuf, sizeof(msgbuf)-1, "%s v%u.%u",
ESP.getChipModel(),
unsigned(chip_info.full_revision / 100), // full revision is in (major * 100 + minor) format
unsigned(chip_info.full_revision % 100));

View File

@@ -428,13 +428,13 @@ void initServer()
});
#endif
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
USER_PRINT("Client request"); //WLEDMM: want to see if client connects to wled
DEBUG_PRINT("Client request"); //WLEDMM: want to see if client connects to wled
#ifdef ARDUINO_ARCH_ESP32
DEBUG_PRINTF("%s min free stack %d\n", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM
#endif
if (captivePortal(request)) return;
serveIndexOrWelcome(request);
USER_PRINTLN(" done"); //WLEDMM: want to see if client connects to wled
DEBUG_PRINTLN(" done"); //WLEDMM: want to see if client connects to wled
});
#ifdef WLED_ENABLE_PIXART