S3: increase MAX_LEDS

S3 (opi PSRAM) can handle 128x128 pixels on HUB75.
This commit is contained in:
Frank
2024-10-14 17:37:37 +02:00
parent 11864326bf
commit d67ba8451a
4 changed files with 11 additions and 4 deletions

View File

@@ -1802,7 +1802,10 @@ void WS2812FX::finalizeInit(void)
for (uint8_t i=0; i<busses.getNumBusses(); i++) {
Bus *bus = busses.getBus(i);
if (bus == nullptr) continue;
if (bus->getStart() + bus->getLength() > MAX_LEDS) break;
if (bus->getStart() + bus->getLength() > MAX_LEDS) {
USER_PRINT("\nError: too many LEDs, max number is "); USER_PRINTLN(MAX_LEDS);
break;
}
//RGBW mode is enabled if at least one of the strips is RGBW
_hasWhiteChannel |= bus->hasWhite();
//refresh is required to remain off if at least one of the strips requires the refresh.

View File

@@ -68,7 +68,7 @@ struct BusConfig {
for (uint8_t i = 0; i < min(unsigned(nPins), sizeof(pins)/sizeof(pins[0])); i++) pins[i] = ppins[i]; //softhack007 fix for potential array out-of-bounds access
}
//validates start and length and extends total if needed
//validates start and length and extends total if needed // WLEDMM this function is not used anywhere
bool adjustBounds(uint16_t& total) {
if (!count) count = 1;
if (count > MAX_LEDS_PER_BUS) count = MAX_LEDS_PER_BUS;

View File

@@ -395,7 +395,11 @@
#define MAX_LEDS 1664 //can't rely on memory limit to limit this to 1600 LEDs
#else
//#define MAX_LEDS 8192
#define MAX_LEDS 8464 // WLEDMM 92x92
#if !defined(CONFIG_IDF_TARGET_ESP32S3)
#define MAX_LEDS 8464 // WLEDMM 92x92 for esp32, esp32-S2 and esp32-c3
#else
#define MAX_LEDS 18436 // WLEDMM 128x128 + 2048 + 4 for esp32-S3
#endif
#endif
#endif

View File

@@ -5,7 +5,7 @@
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
<title>LED Settings</title>
<script>
var d=document,laprev=55,maxB=1,maxV=0,maxM=4000,maxPB=8465,maxL=1333,maxLbquot=0; //maximum bytes for LED allocation: 4kB for 8266, 32kB for 32
var d=document,laprev=55,maxB=1,maxV=0,maxM=4000,maxPB=18438,maxL=1333,maxLbquot=0; //maximum bytes for LED allocation: 4kB for 8266, 64kB for 32
d.um_p = [];
d.rsvd = [];
d.ro_gpio = [];