Bug fix segment view, use ledmapMaxSize (TroyHack)

This commit is contained in:
Ewoud
2023-06-08 18:34:10 +02:00
committed by Frank
parent 337b117e44
commit 5c7937507b
6 changed files with 3359 additions and 3324 deletions

View File

@@ -65,19 +65,22 @@ void WS2812FX::setUpMatrix() {
//WLEDMM recreate customMappingTable if more space needed
if (Segment::maxWidth * Segment::maxHeight > customMappingTableSize) {
USER_PRINTF("setupmatrix customMappingTable alloc %d from %d\n", Segment::maxWidth * Segment::maxHeight, customMappingTableSize);
uint32_t size = MAX(ledmapMaxSize, Segment::maxWidth * Segment::maxHeight);//TroyHack
USER_PRINTF("setupmatrix customMappingTable alloc %d from %d\n", size, customMappingTableSize);
//if (customMappingTable != nullptr) delete[] customMappingTable;
//customMappingTable = new uint16_t[Segment::maxWidth * Segment::maxHeight];
//customMappingTable = new uint16_t[size];
// don't use new / delete
if (customMappingTable != nullptr) { // resize
customMappingTable = (uint16_t*) reallocf(customMappingTable, sizeof(uint16_t) * Segment::maxWidth * Segment::maxHeight); // reallocf will free memory if it cannot resize
customMappingTable = (uint16_t*) reallocf(customMappingTable, sizeof(uint16_t) * size); // reallocf will free memory if it cannot resize
}
if (customMappingTable == nullptr) { // second try
DEBUG_PRINTLN("setUpMatrix: trying to get fresh memory block.");
customMappingTable = (uint16_t*) calloc(Segment::maxWidth * Segment::maxHeight, sizeof(uint16_t));
customMappingTable = (uint16_t*) calloc(size, sizeof(uint16_t));
if (customMappingTable == nullptr) DEBUG_PRINTLN("setUpMatrix: alloc failed");
}
if (customMappingTable != nullptr) customMappingTableSize = Segment::maxWidth * Segment::maxHeight;
if (customMappingTable != nullptr) customMappingTableSize = size;
}
if (customMappingTable != nullptr) {

View File

@@ -110,13 +110,14 @@ Segment::Segment(const Segment &orig) {
//WLEDMM: recreate ledsrgb if more space needed (will not free ledsrgb!)
void Segment::allocLeds() {
if (!ledsrgb || sizeof(CRGB)*length() > ledsrgbSize) {
USER_PRINTF("allocLeds %d from %d\n", sizeof(CRGB)*length(), ledsrgb?ledsrgbSize:0);
ledsrgb = (CRGB*)malloc(sizeof(CRGB)*length());
ledsrgbSize = ledsrgb?sizeof(CRGB)*length():0;
uint16_t size = sizeof(CRGB)*MAX(length(), ledmapMaxSize); //TroyHack
if (!ledsrgb || size > ledsrgbSize) {
USER_PRINTF("allocLeds %d from %d\n", size, ledsrgb?ledsrgbSize:0);
ledsrgb = (CRGB*)malloc(size);
ledsrgbSize = ledsrgb?size:0;
}
else {
USER_PRINTF("reuse Leds %d from %d\n", sizeof(CRGB)*length(), ledsrgb?ledsrgbSize:0);
USER_PRINTF("reuse Leds %d from %d\n", size, ledsrgb?ledsrgbSize:0);
}
}
@@ -1368,6 +1369,7 @@ uint8_t * Segment::getAudioPalette(int pal) {
//WLEDMM from util.cpp
// enumerate all ledmapX.json files on FS and extract ledmap names if existing
void WS2812FX::enumerateLedmaps() {
ledmapMaxSize = 0;
ledMaps = 1;
for (int i=1; i<10; i++) {
char fileName[33];
@@ -1393,7 +1395,6 @@ void WS2812FX::enumerateLedmaps() {
f.find("\"n\":");
char name[33];
f.readBytesUntil('\n', name, sizeof(name));
USER_PRINTF("enumerateLedmaps %s %s\n", fileName, name);
size_t len = 0;
if (name != nullptr) {
@@ -1410,6 +1411,18 @@ void WS2812FX::enumerateLedmaps() {
ledmapNames[i-1] = new char[len+1];
if (ledmapNames[i-1]) strlcpy(ledmapNames[i-1], tmp, 33);
}
//WLEDMM calc ledmapMaxSize (TroyHack)
char dim[33];
f.find("\"width\":");
f.readBytesUntil('\n', dim, sizeof(dim)); //hack: use fileName as we have this allocated already
uint16_t maxWidth = atoi(dim);
f.find("\"height\":");
f.readBytesUntil('\n', dim, sizeof(dim));
uint16_t maxHeight = atoi(dim);
ledmapMaxSize = MAX(ledmapMaxSize, maxWidth * maxHeight);
USER_PRINTF("enumerateLedmaps %s %s (%dx%d -> %d)\n", fileName, name, maxWidth, maxHeight, ledmapMaxSize);
}
f.close();
releaseJSONBufferLock();
@@ -2200,7 +2213,6 @@ bool WS2812FX::deserializeMap(uint8_t n) {
f.readBytesUntil('\n', fileName, sizeof(fileName)); //hack: use fileName as we have this allocated already
uint16_t maxWidth = atoi(fileName);
f.find("\"height\":");
f.readBytesUntil('\n', fileName, sizeof(fileName));
uint16_t maxHeight = atoi(fileName);
@@ -2218,19 +2230,22 @@ bool WS2812FX::deserializeMap(uint8_t n) {
//WLEDMM recreate customMappingTable if more space needed
if (Segment::maxWidth * Segment::maxHeight > customMappingTableSize) {
USER_PRINTF("deserializemap customMappingTable alloc %d from %d\n", Segment::maxWidth * Segment::maxHeight, customMappingTableSize);
uint32_t size = MAX(ledmapMaxSize, Segment::maxWidth * Segment::maxHeight);//TroyHack
USER_PRINTF("deserializemap customMappingTable alloc %d from %d\n", size, customMappingTableSize);
//if (customMappingTable != nullptr) delete[] customMappingTable;
//customMappingTable = new uint16_t[Segment::maxWidth * Segment::maxHeight];
//customMappingTable = new uint16_t[size];
// don't use new / delete
if (customMappingTable != nullptr) {
customMappingTable = (uint16_t*) reallocf(customMappingTable, sizeof(uint16_t) * Segment::maxWidth * Segment::maxHeight); // reallocf will free memory if it cannot resize
customMappingTable = (uint16_t*) reallocf(customMappingTable, sizeof(uint16_t) * size); // reallocf will free memory if it cannot resize
}
if (customMappingTable == nullptr) { // second try
DEBUG_PRINTLN("deserializeMap: trying to get fresh memory block.");
customMappingTable = (uint16_t*) calloc(Segment::maxWidth * Segment::maxHeight, sizeof(uint16_t));
customMappingTable = (uint16_t*) calloc(size, sizeof(uint16_t));
if (customMappingTable == nullptr) DEBUG_PRINTLN("deserializeMap: alloc failed!");
}
if (customMappingTable != nullptr) customMappingTableSize = Segment::maxWidth * Segment::maxHeight;
if (customMappingTable != nullptr) customMappingTableSize = size;
}
if (customMappingTable != nullptr) {

View File

@@ -8,7 +8,7 @@
// Autogenerated from wled00/data/usermod.htm, do not edit!!
const uint16_t PAGE_usermod_length = 81;
const uint8_t PAGE_usermod[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xb3, 0x51, 0x74, 0xf1, 0x77, 0x0e,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xb3, 0x51, 0x74, 0xf1, 0x77, 0x0e,
0x89, 0x0c, 0x70, 0x55, 0xc8, 0x28, 0xc9, 0xcd, 0xb1, 0xb3, 0x81, 0x90, 0x49, 0xf9, 0x29, 0x95,
0x76, 0x7e, 0xf9, 0x0a, 0xa5, 0xc5, 0xa9, 0x45, 0xb9, 0xf9, 0x29, 0x0a, 0xc9, 0xa5, 0xc5, 0x25,
0xf9, 0xb9, 0x0a, 0xe5, 0xa9, 0x49, 0x0a, 0x05, 0x89, 0xe9, 0xa9, 0x0a, 0xc5, 0xa9, 0x25, 0x7a,
@@ -43,51 +43,51 @@ const char PAGE_dmxmap[] PROGMEM = R"=====()=====";
// Autogenerated from wled00/data/update.htm, do not edit!!
const uint16_t PAGE_update_length = 607;
const uint8_t PAGE_update[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x75, 0x53, 0xd1, 0x6e, 0xd3, 0x30,
0x14, 0x7d, 0xcf, 0x57, 0x78, 0x7e, 0x6a, 0x25, 0xea, 0x6c, 0x13, 0x7b, 0xa0, 0x24, 0x19, 0x2a,
0x9b, 0x10, 0x12, 0xd3, 0x26, 0x6d, 0x03, 0xf1, 0x84, 0x9c, 0xf8, 0xa6, 0x31, 0x75, 0xec, 0xcc,
0xbe, 0x69, 0x55, 0xa1, 0xfd, 0x3b, 0xd7, 0x4e, 0x3b, 0x90, 0x06, 0x2f, 0x51, 0x9c, 0x9c, 0x7b,
0x72, 0xee, 0x39, 0x27, 0xc5, 0xc9, 0xd5, 0xed, 0xc7, 0x87, 0xef, 0x77, 0xd7, 0xac, 0xc3, 0xde,
0x54, 0xc5, 0xe1, 0x0a, 0x52, 0x55, 0x45, 0x0f, 0x28, 0x59, 0xe3, 0x2c, 0x82, 0xc5, 0x92, 0xef,
0xb4, 0xc2, 0xae, 0x54, 0xb0, 0xd5, 0x0d, 0x2c, 0xd2, 0x81, 0x33, 0x2b, 0x7b, 0x28, 0xf9, 0x56,
0xc3, 0x6e, 0x70, 0x1e, 0x79, 0x95, 0x15, 0xa8, 0xd1, 0x40, 0xf5, 0xed, 0xcb, 0xf5, 0x15, 0x7b,
0x1c, 0x94, 0x44, 0x28, 0xf2, 0xe9, 0x51, 0x11, 0x1a, 0xaf, 0x07, 0xac, 0xb2, 0x76, 0xb4, 0x0d,
0x6a, 0x67, 0xd9, 0x6a, 0x36, 0xff, 0xb5, 0xd3, 0x56, 0xb9, 0x9d, 0xe8, 0x74, 0x40, 0xe7, 0xf7,
0xa2, 0x96, 0xcd, 0x66, 0x36, 0x7f, 0x7e, 0x81, 0x3c, 0x12, 0x44, 0xb9, 0x66, 0xec, 0x49, 0x81,
0x58, 0x03, 0x5e, 0x1b, 0x88, 0xb7, 0xab, 0xfd, 0x67, 0x35, 0xe3, 0x63, 0xcb, 0xe7, 0x22, 0xe0,
0xde, 0x80, 0x50, 0x3a, 0x0c, 0x46, 0xee, 0x4b, 0x6e, 0x9d, 0x05, 0xfe, 0xe6, 0xbf, 0x23, 0x7d,
0x58, 0xbf, 0x9e, 0xa9, 0x8d, 0x6b, 0x36, 0xfc, 0x39, 0x2b, 0xf2, 0x83, 0xc4, 0x83, 0x54, 0x16,
0x7c, 0x53, 0xf2, 0x3c, 0x00, 0xa2, 0xb6, 0xeb, 0x90, 0x07, 0xf1, 0x33, 0x5c, 0x0e, 0xe5, 0x3b,
0x5e, 0xfd, 0x85, 0x8c, 0x54, 0x55, 0xf6, 0x41, 0xf7, 0xd1, 0x00, 0x36, 0x7a, 0x33, 0xe3, 0x13,
0x7d, 0x13, 0x02, 0x9f, 0xbf, 0x27, 0x64, 0x42, 0x14, 0xf9, 0x64, 0x69, 0xed, 0xd4, 0x9e, 0x39,
0x6b, 0x9c, 0x54, 0x25, 0xff, 0x04, 0xf8, 0x75, 0x36, 0x27, 0xba, 0xee, 0xbc, 0xca, 0x6e, 0x9c,
0xb3, 0x37, 0x4e, 0xb1, 0x64, 0xdd, 0xbd, 0x6b, 0x71, 0x27, 0x3d, 0xbc, 0x78, 0x48, 0x88, 0xa2,
0x75, 0xbe, 0x67, 0x94, 0x49, 0xe7, 0x68, 0xf6, 0xee, 0xf6, 0xfe, 0x81, 0x33, 0x99, 0x6c, 0x22,
0x91, 0x63, 0xc2, 0x71, 0xa6, 0xe9, 0x15, 0xf9, 0xc2, 0x32, 0x20, 0x07, 0xf7, 0x03, 0x85, 0xd3,
0x8f, 0x06, 0xf5, 0x20, 0x3d, 0xe6, 0x71, 0x7e, 0x41, 0x30, 0xc9, 0x49, 0x41, 0x18, 0xeb, 0x5e,
0x53, 0xaa, 0x8f, 0x49, 0x40, 0x18, 0xa4, 0x65, 0x8d, 0x91, 0x21, 0x94, 0x3c, 0xe8, 0x81, 0x57,
0xa7, 0xe2, 0xec, 0xad, 0x38, 0x5d, 0xd4, 0x67, 0x17, 0xe2, 0xfc, 0x22, 0x3a, 0x43, 0x00, 0x52,
0xef, 0xab, 0x2b, 0xb7, 0x4b, 0xea, 0x19, 0x76, 0xc0, 0x0c, 0x7d, 0x33, 0x20, 0xf3, 0x60, 0x40,
0x06, 0x58, 0xb2, 0x42, 0xb2, 0xac, 0xf3, 0xd0, 0x96, 0xbc, 0x43, 0x1c, 0xc2, 0x32, 0xcf, 0xd7,
0x1a, 0xbb, 0xb1, 0x16, 0x8d, 0xeb, 0xf3, 0xc3, 0x82, 0xa3, 0x81, 0x90, 0xc7, 0x25, 0xf3, 0xc3,
0x58, 0xe0, 0x0c, 0xa5, 0xa7, 0xa4, 0x4a, 0xfe, 0xa3, 0x36, 0xd2, 0x6e, 0x48, 0x8f, 0xee, 0xd7,
0x2c, 0x4b, 0xf6, 0x1f, 0x89, 0xe8, 0x89, 0x08, 0x9d, 0x06, 0xa3, 0x82, 0xd0, 0xee, 0xc0, 0x7b,
0xa4, 0x78, 0xc5, 0x2d, 0xc2, 0x76, 0x7d, 0x99, 0x9c, 0x2f, 0x5b, 0x12, 0xb9, 0x08, 0x4f, 0x23,
0xb9, 0x19, 0xfb, 0x99, 0xcb, 0xb4, 0x46, 0xa1, 0xed, 0x30, 0x22, 0x9b, 0x2c, 0x6a, 0xb5, 0x81,
0x63, 0x97, 0x8f, 0x46, 0x7a, 0x78, 0x1a, 0xb5, 0x07, 0x35, 0xa1, 0xeb, 0x11, 0x91, 0xea, 0x38,
0xc1, 0x27, 0xeb, 0x88, 0x6c, 0x0a, 0xe7, 0xa4, 0xc8, 0xa7, 0xd7, 0xff, 0x80, 0x4e, 0x87, 0xe8,
0x77, 0x63, 0x74, 0xb3, 0x29, 0xf9, 0x2a, 0xda, 0xbd, 0xa2, 0x96, 0xff, 0x19, 0x4a, 0xb9, 0x54,
0x85, 0xd2, 0xdb, 0x2c, 0xc5, 0x17, 0x3b, 0x4a, 0x34, 0x55, 0x62, 0xa7, 0xe2, 0x09, 0x21, 0x08,
0x9c, 0xc8, 0xef, 0xd2, 0xb6, 0x4c, 0x39, 0x66, 0x1d, 0x52, 0x5e, 0x8e, 0x0e, 0xce, 0x93, 0xd6,
0xd6, 0x43, 0xe8, 0x52, 0x24, 0x83, 0x5c, 0x03, 0x5b, 0xce, 0x8b, 0x9c, 0xf8, 0xe2, 0xba, 0xb1,
0x70, 0xb1, 0x7d, 0xf1, 0xb7, 0xfe, 0x0d, 0x82, 0x92, 0x04, 0xb1, 0xec, 0x03, 0x00, 0x00
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x75, 0x53, 0xd1, 0x6e, 0xd3, 0x30,
0x14, 0x7d, 0xcf, 0x57, 0x78, 0x7e, 0x6a, 0x25, 0xea, 0x6c, 0x13, 0x08, 0x31, 0x92, 0x0c, 0x95,
0x4d, 0x08, 0x89, 0x69, 0x95, 0xb6, 0x81, 0x78, 0x42, 0x4e, 0x7c, 0xd3, 0x98, 0x3a, 0x76, 0x66,
0xdf, 0xb4, 0xaa, 0xd0, 0xfe, 0x9d, 0x6b, 0xa7, 0x1d, 0x48, 0x83, 0x97, 0x28, 0x4e, 0xce, 0x3d,
0x39, 0xf7, 0x9c, 0x93, 0xe2, 0xe4, 0xea, 0xf6, 0xe3, 0xfd, 0xf7, 0xd5, 0x35, 0xeb, 0xb0, 0x37,
0x55, 0x71, 0xb8, 0x82, 0x54, 0x55, 0xd1, 0x03, 0x4a, 0xd6, 0x38, 0x8b, 0x60, 0xb1, 0xe4, 0x3b,
0xad, 0xb0, 0x2b, 0x15, 0x6c, 0x75, 0x03, 0x8b, 0x74, 0xe0, 0xcc, 0xca, 0x1e, 0x4a, 0xbe, 0xd5,
0xb0, 0x1b, 0x9c, 0x47, 0x5e, 0x65, 0x05, 0x6a, 0x34, 0x50, 0x7d, 0xfb, 0x72, 0x7d, 0xc5, 0x1e,
0x06, 0x25, 0x11, 0x8a, 0x7c, 0x7a, 0x54, 0x84, 0xc6, 0xeb, 0x01, 0xab, 0xac, 0x1d, 0x6d, 0x83,
0xda, 0x59, 0xb6, 0x9c, 0xcd, 0x7f, 0xed, 0xb4, 0x55, 0x6e, 0x27, 0x3a, 0x1d, 0xd0, 0xf9, 0xbd,
0xa8, 0x65, 0xb3, 0x99, 0xcd, 0x9f, 0x9e, 0x21, 0x0f, 0x04, 0x51, 0xae, 0x19, 0x7b, 0x52, 0x20,
0xd6, 0x80, 0xd7, 0x06, 0xe2, 0xed, 0x72, 0xff, 0x59, 0xcd, 0xf8, 0xd8, 0xf2, 0xb9, 0x08, 0xb8,
0x37, 0x20, 0x94, 0x0e, 0x83, 0x91, 0xfb, 0x92, 0x5b, 0x67, 0x81, 0xbf, 0xfa, 0xef, 0x48, 0x1f,
0xd6, 0x2f, 0x67, 0x6a, 0xe3, 0x9a, 0x0d, 0x7f, 0xca, 0x8a, 0xfc, 0x20, 0xf1, 0x20, 0x95, 0x05,
0xdf, 0x94, 0x3c, 0x0f, 0x80, 0xa8, 0xed, 0x3a, 0xe4, 0x41, 0xfc, 0x0c, 0x97, 0x43, 0xf9, 0x8e,
0x57, 0x7f, 0x21, 0x23, 0x55, 0x95, 0x7d, 0xd0, 0x7d, 0x34, 0x80, 0x8d, 0xde, 0xcc, 0xf8, 0x44,
0xdf, 0x84, 0xc0, 0xe7, 0xef, 0x09, 0x99, 0x10, 0x45, 0x3e, 0x59, 0x5a, 0x3b, 0xb5, 0x67, 0xce,
0x1a, 0x27, 0x55, 0xc9, 0x3f, 0x01, 0x7e, 0x9d, 0xcd, 0x89, 0xae, 0x3b, 0xaf, 0xb2, 0x1b, 0xe7,
0xec, 0x8d, 0x53, 0x2c, 0x59, 0x77, 0xe7, 0x5a, 0xdc, 0x49, 0x0f, 0xcf, 0x1e, 0x12, 0xa2, 0x68,
0x9d, 0xef, 0x19, 0x65, 0xd2, 0x39, 0x9a, 0x5d, 0xdd, 0xde, 0xdd, 0x73, 0x26, 0x93, 0x4d, 0x24,
0x72, 0x4c, 0x38, 0xce, 0x34, 0xbd, 0x22, 0x5f, 0x58, 0x06, 0xe4, 0xe0, 0x7e, 0xa0, 0x70, 0xfa,
0xd1, 0xa0, 0x1e, 0xa4, 0xc7, 0x3c, 0xce, 0x2f, 0x08, 0x26, 0x39, 0x29, 0x08, 0x63, 0xdd, 0x6b,
0x4a, 0xf5, 0x21, 0x09, 0x08, 0x83, 0xb4, 0xac, 0x31, 0x32, 0x84, 0x92, 0x07, 0x3d, 0xf0, 0xea,
0x54, 0x9c, 0xbd, 0x16, 0xa7, 0x8b, 0xfa, 0xec, 0x8d, 0x38, 0x7f, 0x1b, 0x9d, 0x21, 0x00, 0xa9,
0xf7, 0xd5, 0x95, 0xdb, 0x25, 0xf5, 0x0c, 0x3b, 0x60, 0x86, 0xbe, 0x19, 0x90, 0x79, 0x30, 0x20,
0x03, 0x5c, 0xb0, 0x42, 0xb2, 0xac, 0xf3, 0xd0, 0x96, 0xbc, 0x43, 0x1c, 0xc2, 0x45, 0x9e, 0xaf,
0x35, 0x76, 0x63, 0x2d, 0x1a, 0xd7, 0xe7, 0x87, 0x05, 0x47, 0x03, 0x21, 0x8f, 0x4b, 0xe6, 0x87,
0xb1, 0xc0, 0x19, 0x4a, 0x4f, 0x49, 0x95, 0xfc, 0x47, 0x6d, 0xa4, 0xdd, 0x90, 0x1e, 0xdd, 0xaf,
0x59, 0x96, 0xec, 0x3f, 0x12, 0xd1, 0x13, 0x11, 0x3a, 0x0d, 0x46, 0x05, 0xa1, 0xdd, 0x81, 0xf7,
0x48, 0xf1, 0x82, 0x5b, 0x84, 0xed, 0xfa, 0x32, 0x39, 0x5f, 0xb6, 0x24, 0x72, 0x11, 0x1e, 0x47,
0x72, 0x33, 0xf6, 0x33, 0x97, 0x69, 0x8d, 0x42, 0xdb, 0x61, 0x44, 0x36, 0x59, 0xd4, 0x6a, 0x03,
0xc7, 0x2e, 0x1f, 0x8d, 0xf4, 0xf0, 0x38, 0x6a, 0x0f, 0x6a, 0x42, 0xd7, 0x23, 0x22, 0xd5, 0x71,
0x82, 0x4f, 0xd6, 0x11, 0xd9, 0x14, 0xce, 0x49, 0x91, 0x4f, 0xaf, 0xff, 0x01, 0x9d, 0x0e, 0xd1,
0xef, 0xc6, 0xe8, 0x66, 0x53, 0xf2, 0x65, 0xb4, 0x7b, 0x49, 0x2d, 0xff, 0x33, 0x94, 0x72, 0xa9,
0x0a, 0xa5, 0xb7, 0x59, 0x8a, 0x2f, 0x76, 0x94, 0x68, 0xaa, 0xc4, 0x4e, 0xc5, 0x13, 0x42, 0x10,
0x38, 0x91, 0xaf, 0xd2, 0xb6, 0x4c, 0x39, 0x66, 0x1d, 0x52, 0x5e, 0x8e, 0x0e, 0xce, 0x93, 0xd6,
0xd6, 0x43, 0xe8, 0x52, 0x24, 0x83, 0x5c, 0x03, 0xbb, 0x98, 0x17, 0x39, 0xf1, 0xc5, 0x75, 0x63,
0xe1, 0x62, 0xfb, 0xe2, 0x6f, 0xfd, 0x1b, 0x54, 0x79, 0xb3, 0xbc, 0xec, 0x03, 0x00, 0x00
};
// Autogenerated from wled00/data/welcome.htm, do not edit!!
const uint16_t PAGE_welcome_length = 1528;
const uint8_t PAGE_welcome[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x95, 0x56, 0x5b, 0x93, 0xaa, 0x3a,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x95, 0x56, 0x5b, 0x93, 0xaa, 0x3a,
0x16, 0x7e, 0xef, 0x5f, 0xc1, 0x76, 0xea, 0xd4, 0x79, 0x70, 0x77, 0x73, 0x13, 0x51, 0xdb, 0xee,
0x19, 0xc5, 0x4b, 0x7b, 0x03, 0x6f, 0x78, 0x7b, 0x0b, 0x10, 0x20, 0x08, 0x04, 0x93, 0x80, 0x97,
0xae, 0xfe, 0xef, 0x13, 0x74, 0xf7, 0xd4, 0x3e, 0x75, 0x1e, 0xa6, 0x4e, 0x2c, 0x21, 0xf9, 0x92,
@@ -189,7 +189,7 @@ const uint8_t PAGE_welcome[] PROGMEM = {
// Autogenerated from wled00/data/liveview.htm, do not edit!!
const uint16_t PAGE_liveview_length = 547;
const uint8_t PAGE_liveview[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x95, 0x53, 0x4d, 0x6f, 0xdb, 0x30,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x95, 0x53, 0x4d, 0x6f, 0xdb, 0x30,
0x0c, 0xbd, 0xe7, 0x57, 0x78, 0x2a, 0x5a, 0x48, 0x88, 0x63, 0x3b, 0xc5, 0xba, 0x8f, 0xf8, 0xe3,
0xb0, 0xb5, 0x87, 0x02, 0x05, 0xd6, 0x43, 0x81, 0x61, 0x18, 0x76, 0x50, 0x24, 0xc6, 0xd6, 0x2a,
0x4b, 0x81, 0x4c, 0xb9, 0x08, 0xd2, 0xfc, 0xf7, 0xc9, 0x76, 0xd2, 0x62, 0xc0, 0x30, 0xa0, 0x3e,
@@ -230,7 +230,7 @@ const uint8_t PAGE_liveview[] PROGMEM = {
// Autogenerated from wled00/data/liveviewws.htm, do not edit!!
const uint16_t PAGE_liveviewws_length = 711;
const uint8_t PAGE_liveviewws[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x6d, 0x54, 0x5d, 0x8f, 0x9b, 0x3a,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x6d, 0x54, 0x5d, 0x8f, 0x9b, 0x3a,
0x10, 0x7d, 0xcf, 0xaf, 0xa0, 0xde, 0xdb, 0x2d, 0x56, 0x08, 0x24, 0xdb, 0xdb, 0x2f, 0xc0, 0x59,
0xb5, 0xb7, 0x79, 0xa8, 0xb4, 0x6a, 0x57, 0xda, 0x5e, 0xad, 0xaa, 0x55, 0xa4, 0x1a, 0x98, 0x80,
0xef, 0x82, 0x1d, 0xd9, 0x43, 0x50, 0x84, 0xf8, 0xef, 0x77, 0x20, 0xdb, 0xac, 0x2a, 0x95, 0x07,
@@ -281,7 +281,7 @@ const uint8_t PAGE_liveviewws[] PROGMEM = {
// Autogenerated from wled00/data/liveviewws2D.htm, do not edit!!
const uint16_t PAGE_liveviewws2D_length = 393;
const uint8_t PAGE_liveviewws2D[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x65, 0x52, 0x4d, 0x4f, 0xe3, 0x30,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x65, 0x52, 0x4d, 0x4f, 0xe3, 0x30,
0x10, 0xbd, 0xe7, 0x57, 0x18, 0xef, 0x25, 0x41, 0x69, 0x52, 0x90, 0x90, 0xf8, 0x88, 0x73, 0x58,
0xa8, 0xb4, 0x2b, 0x55, 0xa2, 0x87, 0x4a, 0x68, 0x8f, 0xc6, 0x1e, 0x9a, 0x61, 0x63, 0xbb, 0x72,
0x26, 0xa9, 0xba, 0xa5, 0xff, 0x1d, 0x27, 0x29, 0x6c, 0x10, 0x3e, 0x58, 0x9e, 0x79, 0x33, 0x6f,
@@ -312,7 +312,7 @@ const uint8_t PAGE_liveviewws2D[] PROGMEM = {
// Autogenerated from wled00/data/peek.js, do not edit!!
const uint16_t PAGE_peekJs_length = 572;
const uint8_t PAGE_peekJs[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x6d, 0x53, 0x5b, 0x6f, 0xd3, 0x30,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x6d, 0x53, 0x5b, 0x6f, 0xd3, 0x30,
0x14, 0xfe, 0x2b, 0x99, 0x85, 0x3a, 0xbb, 0x09, 0x6e, 0x97, 0xad, 0x80, 0x92, 0x99, 0x09, 0xa6,
0x3d, 0x20, 0x71, 0xa9, 0x28, 0x68, 0x0f, 0x53, 0xa5, 0xb9, 0xc9, 0x49, 0x63, 0xe6, 0xd9, 0x95,
0x73, 0xba, 0x36, 0xea, 0xf2, 0xdf, 0x39, 0x69, 0x77, 0xe1, 0x01, 0x29, 0x72, 0xce, 0xed, 0xfb,
@@ -354,7 +354,7 @@ const uint8_t PAGE_peekJs[] PROGMEM = {
// Autogenerated from wled00/data/404.htm, do not edit!!
const uint16_t PAGE_404_length = 868;
const uint8_t PAGE_404[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x65, 0x54, 0x5b, 0x73, 0xaa, 0x3a,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x65, 0x54, 0x5b, 0x73, 0xaa, 0x3a,
0x14, 0x7e, 0xef, 0xaf, 0xe0, 0x78, 0xe6, 0xcc, 0x7e, 0x68, 0x2d, 0xa8, 0xd8, 0x2a, 0xa2, 0x33,
0x01, 0x51, 0xec, 0xc5, 0x7a, 0xa3, 0xd6, 0xbe, 0x05, 0x12, 0x21, 0x15, 0x08, 0x4d, 0x82, 0x62,
0x3b, 0xfd, 0xef, 0x3b, 0x40, 0xf7, 0x9c, 0xce, 0xec, 0x35, 0x03, 0x2b, 0xf9, 0x56, 0xd6, 0x7d,
@@ -431,7 +431,7 @@ const uint8_t favicon[] PROGMEM = {
// Autogenerated from wled00/data/iro.js, do not edit!!
const uint16_t iroJs_length = 9986;
const uint8_t iroJs[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc5, 0x7d, 0x69, 0x77, 0xe3, 0x36,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xc5, 0x7d, 0x69, 0x77, 0xe3, 0x36,
0x96, 0xf6, 0xf7, 0xf9, 0x15, 0x32, 0x93, 0xf8, 0x90, 0x16, 0x44, 0x4b, 0xf2, 0x52, 0x65, 0xaa,
0xf8, 0xea, 0x24, 0x95, 0xad, 0xba, 0x53, 0xa9, 0x4c, 0xaa, 0x3a, 0x99, 0x8e, 0xa2, 0xe4, 0x50,
0x14, 0x24, 0xb1, 0x4c, 0x93, 0x0a, 0x17, 0xd9, 0x8e, 0xa5, 0xff, 0x3e, 0xcf, 0xc5, 0x42, 0x82,
@@ -1062,7 +1062,7 @@ const uint8_t iroJs[] PROGMEM = {
// Autogenerated from wled00/data/rangetouch.js, do not edit!!
const uint16_t rangetouchJs_length = 1828;
const uint8_t rangetouchJs[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xb5, 0x58, 0xdf, 0x8f, 0xdb, 0xb8,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xb5, 0x58, 0xdf, 0x8f, 0xdb, 0xb8,
0x11, 0x7e, 0xcf, 0x5f, 0x21, 0xab, 0xad, 0x8f, 0xdc, 0xe5, 0xca, 0xf6, 0x02, 0x79, 0x91, 0xc3,
0x18, 0x69, 0x2e, 0x07, 0x14, 0xcd, 0x36, 0x45, 0x36, 0x87, 0x16, 0xf0, 0xf9, 0x41, 0x96, 0x68,
0x9b, 0x17, 0x99, 0xd4, 0x91, 0x94, 0x37, 0xc6, 0xae, 0xfe, 0xf7, 0xce, 0x90, 0x92, 0x2d, 0x67,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@
*/
// version code in format yymmddb (b = daily build)
#define VERSION 2306011
#define VERSION 2306080
//uncomment this if you have a "my_config.h" file you'd like to use
//#define WLED_USE_MY_CONFIG
@@ -697,6 +697,7 @@ WLED_GLOBAL volatile uint8_t loadedLedmap _INIT(0); // WLEDMM default 0
WLED_GLOBAL volatile bool suspendStripService _INIT(false); // WLEDMM temporarily prevent running strip.service, when strip or segments are "under update" and inconsistent
#ifndef ESP8266
WLED_GLOBAL char *ledmapNames[WLED_MAX_LEDMAPS-1] _INIT_N(({nullptr}));
WLED_GLOBAL uint16_t ledmapMaxSize _INIT(0); //WLEDMM TroyHack
#endif
#if WLED_MAX_LEDMAPS>16
WLED_GLOBAL uint32_t ledMaps _INIT(0); // bitfield representation of available ledmaps