Does ledmapx.json need to list all pixels?

In short, I have 13.1 Toki running a 8x32 WS281x matrix. WLED works just fine, but treats the matrix as a single, zig-zagged line (which is fine and not the point of this question). I am trying to use the ledmap.json function to only illuminate certain pixels in order to spell a word. (see image).

I believe I am following the documentation correctly, but I cant seem to get a preset to correctly pick-up the ledmap1.json file that has been uploaded via /edit. I also believe I am updating the preset API correctly, so my only thought right now is “Does the ledmap1.json file need to use all available pixels?” Right now, I am only trying to use a subset of the available pixels.

If it can support a partial list of pixels, then what am I doing wrong? Thank you

Contents of ledmap1.json:
{"map":[32,31,30,29,28,27,26,25]}

Preset API Command:

{"ledmap":1,"on":true,"bri":255,"transition":7,"mainseg":0,"seg":[{"id":0,"start":0,"stop":256,"grp":1,"spc":0,"of":0,"on":true,"bri":255,"cct":127,"col":[[255,160,0],[0,0,0],[0,0,0]],"fx":15,"sx":255,"ix":255,"pal":1,"sel":true,"rev":false,"mi":false},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}]}

What happens if you change your segment length to match your ledmap → 0 to 7 rather 0 to 250?

You are trying this the hard way which I did a lot before . The good news is that Blaz 2D-SR fork which support matrices and sound is now also supports text so all you need is to try it from here WLED-wemos-shield/resources/experimental/Firmware at master · srg74/WLED-wemos-shield · GitHub

If the above fork does not do it for you and you also do not like to use external apps like jinx then we can talk more ledmaps

Edit : I am not sure if this is for portable matrix or it is in a fixed place , i did this small script

FOR %%x IN (1 ,10,20,35,100,112,222,333,444,330,510,13 ) DO
(
curl http://IP/json -d {“seg”:{“i”:[%%x,[0,150,0]]},“fx”:115,“transition”:5} -H “Content-Type: application/json”
)

In this pixels 1 ,10,20,35,100,112,222,333,444,330,510,13 will be set to green , so you can just modify it to add the pixels you need to light up or even add animation to that , this is part of the individual LED control in wled JSON API - WLED Project

1 Like

A small update… I think the ledmap1.json is getting picked up. However, no matter which pixels I list in the map, that number of pixels appear as dead (beginning with the first physical pixel). My intention is for all pixels to appear off, except for the ones I list in the map. I’ll keep working…

And ALDIY, thanks for the reference; I’ll check that out too.

Contents of ledmap1.json:
{"map":[31,30,29,28,27,26,25,24,218,219,220,221,222,223]}

@divsys No change. I originally tried this with 0,1,4,3

@ALDIY It appears the Blaz solution linked above requires purchasing their recommended board configurations. Is that correct?

I got updates!

To answer my original question, YES, I believe WLED requires all pixels to be listed in the “map” array. You can not list partial arrays. I ended up listing the 70 pixels required to spell Myra as the first 70 pixels in the “map” array, then, all other pixels were listed. Then, in the WLED UI, I set Segment 1 equal to pixel #0 - #70, and Segment 2 as pixel #71 - #256. Now, I can control each segment separately.

WLED definitely does NOT support partial arrays in the ledmap.json files; you must include all physical pixels.

Here are a couple examples of the effect I desired:

I hope this was helpful to someone else. Thanks for the support I always receive from this community here and on Github.

Contents of ledmap1.json:
{"map":[23,22,21,20,19,18,17,16,30,34,44,50,62,64,65,66,67,68,69,70,71,95,94,98,127,126,114,108,107,106,105,104,151,150,149,148,147,146,145,144,159,160,175,177,178,172,163,156,171,181,182,183,200,201,202,203,204,205,209,223,225,237,236,235,234,233,232,212,219,228,0,1,2,3,4,5,6,7,15,14,13,12,11,10,9,8,31,29,28,27,26,25,24,32,33,35,36,37,38,39,47,46,45,43,42,41,40,48,49,51,52,53,54,55,63,61,60,59,58,57,56,79,78,77,76,75,74,73,72,80,81,82,83,84,85,86,87,93,92,91,90,89,88,96,97,99,100,101,102,103,111,110,109,112,113,115,116,117,118,119,125,124,123,122,121,120,128,129,130,131,132,133,134,135,143,142,141,140,139,138,137,136,158,157,155,154,153,152,161,162,164,165,166,167,174,173,170,169,168,176,179,180,191,190,189,188,187,186,185,184,192,193,194,195,196,197,198,199,207,206,208,210,211,213,214,215,222,221,220,218,217,216,224,226,227,229,230,231,239,238,240,241,242,243,244,245,246,247,255,254,253,252,251,250,249,248]}

No Blaz 2d fork does not need any special hw , it is still open source which you can run on esp32 and esp8266 . And I like your answer to the original question and that you are still trying it the hard way . I am sure in no time we could ask you about more advanced setups using ledmaps which is unfortunately a bit grey area .But surly your post example could help fix that .

Still when I tested both external apps control ( mainly jinx and xlights ) and the individual LED control script , i was able to easily get excellent result on both SRWLED and blaz-2d not only for text but to also include animation with it … Still I truly like that you are doing that the hard way and I assume you have grand plans … i will post some pics when we tested on 16x32 matrix , good luck


m04

1 Like

@ALDIY holy cow! That is so cool!! Yes, I guess I am doing it the hard way. Your pictures are awesome! I’ll have to break out another esp and give it a better 2nd attempt! Thanks for the encouragement!

No need to use another esp but okay if you want , just test with Jinx with your existing MCU , i could not upload video but you can do a lot of animations and even video on your matrix and not just boring text . but you must have a bigger matrix to really get good result , think about adding another 8x32 .I will try to show video
jinx_demo

1 Like

@ALDIY this is really awesome! I am giving this as a gift, so I am out of time to experiment a bit, but I am DEFINITELY trying it out. I already bought another matrix :joy:
thanks again!!

1 Like

To chime in: ledmap.json does not need to have all pixels mapped.
But…

That is true if you only need to remap first few pixels. If you need to remap any arbitrary pixel within whole strip then, yes, ledmap needs all pixel addresses to be entered (in the order you want).
Your case would be the latter one.

As for 2D, as @ALDIY mentioned, my fork (which is base for further development of WLED) contains 2D implementation and Scrolling text effect.

1 Like

Thank you for the clarification! I’m excited to step into the word of 2d WLED. Thanks for pointing me that way

Hello again, @ALDIY ! Please forgive me for the continued questions, and if this thread isnt the right place, please encourage me to go elsewhere.

Per your recommendation, I installed WLED_0.14.0-bl0_ESP8266.bin on a brand new ESP8266. It is mostly working as intended, but when I select the 2D Scrolling Text effect, where do I go to enter the text I want it to display? I cant seem to find it anywhere in the UI. Please point me in the right direction, and if there is existing documentation for this version, please let me know. thank you

Change the segment name and it will be displayed on the matrix . And come to discord if you like to do more testing with the guys , it will be fun

1 Like