Skip to content

Commit f0aa5d3

Browse files
authored
Merge branch 'MoonModules:mdev' into downsample4x
2 parents 0c5cf7a + d9e2fc9 commit f0aa5d3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+6637
-7729
lines changed

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ body:
4848
attributes:
4949
label: What version/release of MM WLED?
5050
description: You can find this in by going to Config -> Security & Updates -> Scroll to Bottom. Copy and paste the entire line after "Server message"
51-
placeholder: "e.g. build 2401030, WLEDMM_0.14.0-b29.35_esp32_4MB_M.bin"
51+
placeholder: "e.g. build 2401290, WLEDMM_0.14.1-b30.36_esp32_4MB_M.bin"
5252
validations:
5353
required: true
5454
- type: dropdown

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wled",
3-
"version": "0.14.0-b29.35",
3+
"version": "0.14.1-b30.36",
44
"description": "Tools for WLED project",
55
"main": "tools/cdata.js",
66
"directories": {

platformio.ini

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
; default_envs = esp32s2_saola
4343
; default_envs = esp32c3dev
4444
; default_envs = lolin_s2_mini
45+
; default_envs = esp32s3dev_16MB_PSRAM_opi
4546

4647
; MoonModules entries
4748
; ===================
@@ -635,6 +636,11 @@ board_build.f_flash = 80000000L
635636
board_build.flash_mode = qio
636637
monitor_filters = esp32_exception_decoder
637638

639+
[env:esp32s3dev_16MB_PSRAM_opi]
640+
extends = env:esp32s3dev_8MB_PSRAM_opi
641+
board_build.partitions = tools/WLED_ESP32_16MB.csv
642+
board_upload.flash_size = 16MB
643+
638644
[env:esp32s3dev_8MB_PSRAM_qspi]
639645
;; ESP32-TinyS3 development board, with 8MB FLASH and PSRAM (memory_type: qio_qspi)
640646
extends = env:esp32s3dev_8MB_PSRAM_opi
@@ -753,6 +759,8 @@ upload_speed = 115200
753759
lib_deps = ${esp32c3.lib_deps}
754760
board_build.partitions = tools/WLED_ESP32_2MB_noOTA.csv
755761
board_build.flash_mode = dio
762+
board_upload.flash_size = 2MB
763+
board_upload.maximum_size = 2097152
756764

757765
;WLEDMM: see below
758766
; [env:wemos_shield_esp32]
@@ -1072,7 +1080,7 @@ build_flags = ${common.build_flags} ${common_mm.build_flags_S} ;; do not inclu
10721080
;-Wsuggest-attribute=const -Wsuggest-attribute=pure ;; ask compiler for hints on attributes
10731081
-D WLED_ENABLE_DMX_INPUT
10741082
lib_deps = ${common_mm.lib_deps_S} ;; do not include ${esp32.lib_depsV4} here !!!!
1075-
https://github.com/someweisguy/esp_dmx.git#v3.0.2-beta ;; for DMX_INPUT
1083+
https://github.com/someweisguy/esp_dmx.git#47db25d ;; for DMX_INPUT
10761084
esp32_build_flags = ${esp32.build_flagsV4} ${esp32_4MB_V4_S_base.build_flags} ;; this is for esp32 only, including specific "V4" flags
10771085
esp32_lib_deps = ${esp32.lib_depsV4} ${esp32_4MB_V4_S_base.lib_deps} ;; this is for esp32 only, including specific "V4" flags
10781086
board_build.partitions = ${esp32.default_partitions}
@@ -1192,15 +1200,9 @@ build_flags = ${esp32_4MB_XL_base.build_flags}
11921200
;-D WLED_DISABLE_INFRARED
11931201
-D WLEDMM_SAVE_FLASH ;; a humble attempt to save a few extra bytes
11941202
build_unflags = ${esp32_4MB_XL_base.build_unflags}
1195-
-D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit
1196-
-D USERMOD_BUZZER ;; Over the limits, and steals GPIO 32
1197-
-D USERMOD_SN_PHOTORESISTOR ;; Over the limits
1198-
-D WLEDMM_FASTPATH ;; Over the limits
1199-
; RAM: [== ] 24.4% (used 80060 bytes from 327680 bytes)
1200-
; Flash: [==========] 95.3% (used 1499037 bytes from 1572864 bytes)
1201-
; !!! HELP !!!!! :
1202-
; RAM: [=== ] 26.2% (used 85756 bytes from 327680 bytes)
1203-
; Flash: [==========] 100.0% (used 1572553 bytes from 1572864 bytes)
1203+
board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv
1204+
; RAM: [=== ] 26.3% (used 86172 bytes from 327680 bytes)
1205+
; Flash: [========= ] 85.0% (used 1615569 bytes from 1900544 bytes)
12041206

12051207
;; standard framework build for 16MB flash, optimized for speed
12061208
[env:esp32_16MB_S]

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ starlette==0.23.1
5050
# via platformio
5151
tabulate==0.9.0
5252
# via platformio
53-
urllib3==1.26.15
53+
urllib3==1.26.18
5454
# via requests
5555
uvicorn==0.20.0
5656
# via platformio

tools/ESP32-Chip_info.hpp

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
#include "soc/spi_reg.h"
1818
#include <soc/efuse_reg.h>
1919

20+
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 0, 0)
21+
#include "esp_chip_info.h" // esp-idf v4.4.x
22+
#else
23+
#include "esp_system.h" // esp-idf v3.x
24+
#endif
25+
2026
#if CONFIG_IDF_TARGET_ESP32
2127
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 0, 0)
2228
#include "esp32/rom/spi_flash.h"
@@ -163,7 +169,9 @@ typedef struct {
163169
case 3:
164170
if (single_core) { return F("ESP32-S0WD-OEM"); } // Max 160MHz, Single core, QFN 5*5, Xiaomi Yeelight
165171
else { return F("ESP32-D0WD-OEM"); } // Max 240MHz, Dual core, QFN 5*5
166-
case 4: return F("ESP32-U4WDH"); // Max 160MHz, Single core, QFN 5*5, 4MB embedded flash, ESP32-MINI-1, ESP32-DevKitM-1
172+
case 4:
173+
if (single_core) { return F("ESP32-U4WDH-S"); } // Max 160MHz, Single core, QFN 5*5, 4MB embedded flash, ESP32-MINI-1, ESP32-DevKitM-1
174+
else { return F("ESP32-U4WDH-D"); } // Max 240MHz, Dual core, QFN 5*5, 4MB embedded flash
167175
case 5:
168176
if (rev3) { return F("ESP32-PICO-V3"); } // Max 240MHz, Dual core, LGA 7*7, ESP32-PICO-V3-ZERO, ESP32-PICO-V3-ZERO-DevKit
169177
else { return F("ESP32-PICO-D4"); } // Max 240MHz, Dual core, LGA 7*7, 4MB embedded flash, ESP32-PICO-KIT
@@ -295,11 +303,14 @@ String my_GetDeviceHardwareRevision(void) {
295303

296304
esp_chip_info_t chip_info;
297305
esp_chip_info(&chip_info);
298-
char revision[10] = { 0 };
306+
char revision[24] = { 0 };
299307
if (chip_info.revision) {
300-
snprintf_P(revision, sizeof(revision), PSTR(" rev.%d"), chip_info.revision);
308+
snprintf_P(revision, sizeof(revision), PSTR(" rev.%d (0x%x)"), chip_info.revision, chip_info.revision);
301309
}
302310
result += revision; // ESP32-C3 rev.3
311+
#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX
312+
result += soc_has_cache_lock_bug() ? F(", chip has cache lock bug") : F(", free of cache lock bug");
313+
#endif
303314

304315
return result;
305316
}
@@ -318,12 +329,17 @@ static void my_show_chip_info(void) {
318329
#if 0
319330
Serial.println("ESP Chip Info:");
320331
switch ((int)my_info.model) {
321-
case (int)CHIP_ESP32: Serial.print("ESP32 "); break;
322-
case 2: Serial.print("ESP32-S2 "); break;
323-
case 9: Serial.print("ESP32-S3 "); break;
324-
case 5: Serial.print("ESP32-C3 "); break;
325-
case 6: Serial.print("ESP32-H2 "); break;
332+
case 1: Serial.print("ESP32 "); break;
333+
case 2: Serial.print("ESP32-S2 "); break;
334+
case 9: Serial.print("ESP32-S3 "); break;
335+
case 5: Serial.print("ESP32-C3 "); break;
336+
case 6: Serial.print("ESP32-H2/H4 "); break; // ESP-IFD 4.x
326337
case 12: Serial.print("ESP32-C2 "); break;
338+
case 13: Serial.print("ESP32-C6 "); break;
339+
case 16: Serial.print("ESP32-H2 "); break; // ESP-IFD 5.x
340+
case 17: Serial.print("ESP32-C5 beta3 "); break;
341+
case 18: Serial.print("ESP32-P4 "); break;
342+
case 999: Serial.print("POSIX/Linux simulator "); break;
327343
default: Serial.print("(unknown) 0x"); Serial.print((int)my_info.model, HEX); Serial.print(" "); break;
328344
}
329345
Serial.print(" Rev ");
@@ -394,6 +410,7 @@ static void my_show_chip_info(void) {
394410
// reason > 6 = user-defined reason codes
395411
#endif
396412

413+
#if 0 // duplicate - this info is also printed by getCoreResetReason()
397414
void my_print_reset_reason(int reason)
398415
{
399416
Serial.print(reason);
@@ -449,7 +466,7 @@ void my_verbose_print_reset_reason(int reason)
449466
default : Serial.print ("other "); Serial.print(reason);
450467
}
451468
}
452-
469+
#endif
453470

454471
/*
455472
* parts below were created by softhack007, licenced under GPL v3.0
@@ -461,7 +478,7 @@ void show_psram_info_part1(void)
461478
//if (esp_spiram_is_initialized() == false) esp_spiram_init();
462479
Serial.println(psramFound() ? "ESP32 PSRAM: found.": "ESP32 PSRAM: not found!");
463480
if (!psramFound()) return;
464-
psramInit();
481+
//psramInit(); // already doe by arduino framework
465482

466483
// the next part only works on "classic" ESP32
467484
#if !defined(CONFIG_IDF_TARGET_ESP32S3) && !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3)
@@ -527,19 +544,23 @@ void show_psram_info_part2(void)
527544
void showRealSpeed() {
528545
//Serial.begin(115200);
529546
Serial.flush();
530-
Serial.println(F("\n===================================="));
531-
Serial.print( F("Chip info for ")); Serial.println(ESP.getChipModel());
547+
Serial.println(F("\n"));
548+
for(int aa=0; aa<65; aa++) Serial.print("="); Serial.println();
549+
#if 0 // duplicate - same info is printed in wled.cpp
550+
Serial.print( F("Chip info for ")); Serial.print(ESP.getChipModel());
551+
Serial.print(F(", ")); Serial.print(ESP.getChipCores()); Serial.print(F(" core(s)"));
552+
Serial.print(F(", ")); Serial.print(ESP.getCpuFreqMHz()); Serial.println(F("MHz."));
553+
#endif
554+
Serial.print( F("ESP32 device: ")); Serial.println(my_GetDeviceHardwareRevision());
532555
Serial.print( F("SDK: ")); Serial.println(ESP.getSdkVersion());
533-
Serial.println(F("------------------------------------\n"));
556+
for(int aa=0; aa<42; aa++) Serial.print("-"); Serial.println();
557+
558+
my_show_chip_info();
534559

535560
Serial.print(" XTAL FREQ: "); Serial.print(getXtalFrequencyMhz()); Serial.println(" MHz");
536561
Serial.print(" APB FREQ: "); Serial.print(getApbFrequency() / 1000000.0, 1); Serial.println(" MHz");
537562
Serial.print(" CPU FREQ: "); Serial.print(getCpuFrequencyMhz()); Serial.println(" MHz\n");
538-
539-
Serial.print("ESP32 DEVICE: "); Serial.print(my_GetDeviceHardwareRevision());
540-
Serial.print(F(", ")); Serial.print(ESP.getChipCores()); Serial.print(F(" core(s)"));
541-
Serial.print(F(", ")); Serial.print(ESP.getCpuFreqMHz()); Serial.println(F("MHz.\n"));
542-
my_show_chip_info();
563+
for(int aa=0; aa<42; aa++) Serial.print("-"); Serial.println("\n");
543564

544565
Serial.print("FLASH CHIP FREQ (magic): "); Serial.print(ESP.getFlashChipSpeed()/1000000.0, 1); Serial.println(" MHz");
545566
Serial.print("FLASH SIZE (magic byte): "); Serial.print(ESP.getFlashChipSize() / (1024.0 * 1024), 2); Serial.println(" MB");
@@ -553,7 +574,7 @@ void showRealSpeed() {
553574
Serial.print("FLASH REAL SIZE: "); Serial.print(my_ESP_getFlashChipRealSize() / (1024.0 * 1024), 2); Serial.println(" MB");
554575
Serial.print("FLASH REAL MODE: "); Serial.println(my_ESP_getFlashChipMode());
555576

556-
Serial.println(F("\n------------------------------------"));
577+
for(int aa=0; aa<42; aa++) Serial.print("-"); Serial.println();
557578
Serial.flush();
558579
Serial.print( "RAM HEAP SIZE: "); Serial.print(ESP.getHeapSize() / 1024.0, 2); Serial.println(" KB");
559580
Serial.print( " FREE RAM: "); Serial.print(ESP.getFreeHeap() / 1024.0, 2); Serial.println(" KB");
@@ -573,6 +594,7 @@ void showRealSpeed() {
573594
Serial.flush();
574595
#endif
575596

597+
#if 0 // duplicate - this info is also printed by getCoreResetReason()
576598
Serial.println();
577599
Serial.print("CPU #0 - last reset reason = ");
578600
my_print_reset_reason(rtc_get_reset_reason(0)); Serial.print("\t => ");
@@ -584,8 +606,9 @@ void showRealSpeed() {
584606
my_verbose_print_reset_reason(rtc_get_reset_reason(1));
585607
Serial.println();
586608
}
609+
#endif
587610

588-
Serial.println(F("====================================\n"));
611+
for(int aa=0; aa<42; aa++) Serial.print("="); Serial.println("\n");
589612
Serial.flush();
590613
}
591614

tools/WLED_ESP32-wrover_4MB.csv

Lines changed: 0 additions & 6 deletions
This file was deleted.

tools/WLED_ESP32_8MB_1500KB_FS.csv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Name, Type, SubType, Offset, Size, Flags
2+
nvs, data, nvs, 0x9000, 0x5000,
3+
otadata, data, ota, 0xe000, 0x2000,
4+
app0, app, ota_0, 0x10000, 0x330000,
5+
app1, app, ota_1, 0x340000,0x330000,
6+
spiffs, data, spiffs, 0x670000,0x180000,
7+
coredump, data, coredump,,64K

usermods/Animated_Staircase/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The Animated Staircase can be controlled by the WLED API. Change settings such a
1111
speed, on/off time and distance by sending an HTTP request, see below.
1212

1313
## WLED integration
14-
To include this usermod in your WLED setup, you have to be able to [compile WLED from source](https://github.com/Aircoookie/WLED/wiki/Compiling-WLED).
14+
To include this usermod in your WLED setup, you have to be able to [compile WLED from source](https://kno.wled.ge/advanced/compiling-wled/).
1515

1616
Before compiling, you have to make the following modifications:
1717

0 commit comments

Comments
 (0)