Add support for default ledmap.json + peek with ledmap if default panel
Thx to @Troy#2642
This commit is contained in:
@@ -80,7 +80,7 @@ void WS2812FX::setUpMatrix(bool reset) {
|
|||||||
customMappingSize = Segment::maxWidth * Segment::maxHeight;
|
customMappingSize = Segment::maxWidth * Segment::maxHeight;
|
||||||
|
|
||||||
uint16_t *customMappingTableCombi = nullptr; //WLEDMM: Idea @Troy#2642
|
uint16_t *customMappingTableCombi = nullptr; //WLEDMM: Idea @Troy#2642
|
||||||
if (loadedLedmap > 0)
|
if (loadedLedmap >= 0) //WLEDMM: @Troy#2642 : include ledmap = 0 as default ledmap
|
||||||
customMappingTableCombi = new uint16_t[customMappingSize];
|
customMappingTableCombi = new uint16_t[customMappingSize];
|
||||||
|
|
||||||
uint16_t x, y, pix=0; //pixel
|
uint16_t x, y, pix=0; //pixel
|
||||||
@@ -94,7 +94,7 @@ void WS2812FX::setUpMatrix(bool reset) {
|
|||||||
x = (p.vertical?p.bottomStart:p.rightStart) ? h-i-1 : i;
|
x = (p.vertical?p.bottomStart:p.rightStart) ? h-i-1 : i;
|
||||||
x = p.serpentine && j%2 ? h-x-1 : x;
|
x = p.serpentine && j%2 ? h-x-1 : x;
|
||||||
uint16_t index = (p.yOffset + (p.vertical?x:y)) * Segment::maxWidth + p.xOffset + (p.vertical?y:x);
|
uint16_t index = (p.yOffset + (p.vertical?x:y)) * Segment::maxWidth + p.xOffset + (p.vertical?y:x);
|
||||||
if (loadedLedmap > 0) {
|
if (loadedLedmap >= 0) { //WLEDMM: @Troy#2642 : include ledmap = 0 as default ledmap
|
||||||
if (index < customMappingSizeLedmap) {
|
if (index < customMappingSizeLedmap) {
|
||||||
if (customMappingTable[index] < customMappingSize)
|
if (customMappingTable[index] < customMappingSize)
|
||||||
customMappingTableCombi[customMappingTable[index]] = pix; //WLEDMM: allow for 2 transitions if reset = false (ledmap and logical to physical)
|
customMappingTableCombi[customMappingTable[index]] = pix; //WLEDMM: allow for 2 transitions if reset = false (ledmap and logical to physical)
|
||||||
@@ -108,7 +108,7 @@ void WS2812FX::setUpMatrix(bool reset) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loadedLedmap > 0) {
|
if (loadedLedmap >= 0) { //WLEDMM: @Troy#2642 : include ledmap = 0 as default ledmap
|
||||||
for (size_t i = 0; i < customMappingSize; i++) {
|
for (size_t i = 0; i < customMappingSize; i++) {
|
||||||
customMappingTable[i] = customMappingTableCombi[i];
|
customMappingTable[i] = customMappingTableCombi[i];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1990,8 +1990,8 @@ void WS2812FX::deserializeMap(uint8_t n) {
|
|||||||
|
|
||||||
if (!requestJSONBufferLock(7)) return;
|
if (!requestJSONBufferLock(7)) return;
|
||||||
|
|
||||||
DEBUG_PRINT(F("Reading LED map from "));
|
USER_PRINT(F("Reading LED map from ")); //WLEDMM use USER_PRINT
|
||||||
DEBUG_PRINTLN(fileName);
|
USER_PRINTLN(fileName);
|
||||||
|
|
||||||
if (!readObjectFromFile(fileName, nullptr, &doc)) {
|
if (!readObjectFromFile(fileName, nullptr, &doc)) {
|
||||||
releaseJSONBufferLock();
|
releaseJSONBufferLock();
|
||||||
|
|||||||
@@ -1305,10 +1305,12 @@ function drawSegments() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//draw the ledmap
|
//draw the ledmap
|
||||||
if (ledmapNr>0 && ctx) {
|
if (ledmapNr>=0 && ctx) { //WLEDMM: @Troy#2642 : include ledmap = 0 as default ledmap
|
||||||
// console.log("Before fetch ledmap ", lastinfo.ledmap);
|
// console.log("Before fetch ledmap ", lastinfo.ledmap);
|
||||||
var fileName;
|
var fileName;
|
||||||
if (ledmapNr<10)
|
if (ledmapNr==0)
|
||||||
|
fileName = "ledmap.json"; //0 is ledmap.json, not ledmap0.json
|
||||||
|
else if (ledmapNr<10)
|
||||||
fileName = "ledmap"+ledmapNr+".json";
|
fileName = "ledmap"+ledmapNr+".json";
|
||||||
else
|
else
|
||||||
fileName = ledmapFileNames[ledmapNr-10];
|
fileName = ledmapFileNames[ledmapNr-10];
|
||||||
|
|||||||
1504
wled00/html_ui.h
1504
wled00/html_ui.h
File diff suppressed because it is too large
Load Diff
@@ -170,7 +170,12 @@ bool sendLiveLedsWs(uint32_t wsClient)
|
|||||||
|
|
||||||
for (uint16_t i = 0; pos < bufSize -2; i += n)
|
for (uint16_t i = 0; pos < bufSize -2; i += n)
|
||||||
{
|
{
|
||||||
uint32_t c = strip.getPixelColor(i);
|
//WLEDMM: include ledmap in peek if default panel
|
||||||
|
uint32_t c;
|
||||||
|
if (strip.panel.size()==1 && !strip.panel[0].vertical && !strip.panel[0].bottomStart && !strip.panel[0].rightStart) // one default panel
|
||||||
|
c = busses.getPixelColor(i);
|
||||||
|
else
|
||||||
|
c = strip.getPixelColor(i);
|
||||||
buffer[pos++] = qadd8(W(c), R(c)); //R, add white channel to RGB channels as a simple RGBW -> RGB map
|
buffer[pos++] = qadd8(W(c), R(c)); //R, add white channel to RGB channels as a simple RGBW -> RGB map
|
||||||
buffer[pos++] = qadd8(W(c), G(c)); //G
|
buffer[pos++] = qadd8(W(c), G(c)); //G
|
||||||
buffer[pos++] = qadd8(W(c), B(c)); //B
|
buffer[pos++] = qadd8(W(c), B(c)); //B
|
||||||
|
|||||||
Reference in New Issue
Block a user