-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
En-/disable LED maps when receiving realtime data #3554
Conversation
Great function idea here, many times the additional software sending real time data already has it's own mapping for the pixels having the WLED mapping in place will cause issues |
The easiest and already working solution (without any coding) is to not use/create |
Hey Blaz, no, this doesn't help, sadly. Because the usecase is that you have a preset active while you don't send realtime data (you don't have the show running) that does some nice effects (and of course has all the segments configured to properly segment the props (arms, bodies, heads, etc of the figures)) in the meantime. And for that, you need the LED map, otherwise the Snowman and other props you need to map look pretty ugly ;) And here it doesn't matter if it's the default map or a map selected on the preset: The map is applied/active when WLED enters realtime mode. And it's in my (and others) opinion that this is not a fix that needs a workaround, but plainly wrong how it is implemented right now, and/or should be configurable. As again: Software that send the livedata usually have their own mapping, so WLEDs mapping simply interferes with it. Greetings, Andy! |
Please re-base this for 0_15 branch. |
Will do later today, thanks!! 🙇♂️ |
Rebased, still need to double check functionality after re-base, so hold on :) |
Confirmed still working as intended :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from those minor things I'm ok with the PR.
Let's see what @softhack007 say.
@softhack007 Would love to request review from you here, thanks!! |
Say a preset with a ledmap is active, and then we receive DDP and switch to a “live” ledmap as described above, and then DDP stops so the running preset resumes. Will this commit re-apply the original ledmap so the resuming preset is correct? |
yes, because it never switches out the LED map, it simply doesn't respect it anymore. See my explanation on how it's implemented. To be even more specific: This commit doesn't even touch the LED map that is loaded, it simply adds a "switch" infront to respect the loaded LED map, or not |
@softhack007 Do you still wanna review? :) Or are sou good? |
Yes, I'd like to review before merging. Give me some days to recover, as I'm currently sick with covid (that breast is not dead, it just lost some of its teeth ...). |
Oh no :( GET WELL SOON!!! And ofc, take your time <3 |
Thanks 🤒 I'm doing my best |
@softhack007 I hope you are better. Did you have any chance to look into this? IMO it is ok. |
@softhack007 please. |
Hi, its about Christmas time, so grandpa has high priority duties 🎅 and all interrupts (except reset) are masked off ;-) |
@ezcGman can you please update PR? (resolve conflicts). I am sorry this is taking so long. 😉 |
No worries, should be done :) |
Looks good in 0.15.0b1. Test case:
Nice job and thank you :-) |
Hey there,
after some discussions in #learning on the WLED Discord server (https://discord.com/channels/473448917040758787/757254961640898622/1174867799991140392), I wanted to introduce a new setting to the sync / realtime settings page: Enabling or disabling of LED maps when receiving realtime data.
The current behavior is that LED maps are always applied, which I think is highly debatable if that makes sense / is desired every time. Hence I decided to make a setting that allows to tell WLED to not respect LED maps for all realtime modes:
![image](https://private-user-images.githubusercontent.com/3090131/285266841-b300c591-ff29-4221-a327-c896445f99a7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUyMTg2NzMsIm5iZiI6MTcyNTIxODM3MywicGF0aCI6Ii8zMDkwMTMxLzI4NTI2Njg0MS1iMzAwYzU5MS1mZjI5LTQyMjEtYTMyNy1jODk2NDQ1Zjk5YTcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDkwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA5MDFUMTkxOTMzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NzA4MmE0ZDM5Mjc1ZGJiMmRiYTgzMWUzZWZlZDVhZDMzZTY4MTEzMWZmYWI0OTZmNjEyYWZlMWEyOGVmZmY2NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.mrq3z9rMw7xRQty9bemxwdmTHKX2Hg3bbDC5iOEIRUc)
Default setting is to respect LED maps, to not introduce a breaking change.
Future improvements could be to specifically select realtime modes u want that setting to be on or off, but that felt to be overkill for now.
I saw two solutions how disabling of LED maps can be done:
WS2812FX::customMappingTable
whenever realtime mode is entered and fill it again when realtime mode is exited.loadLedmap
variable is wiped again, so we don't know which map was loaded before, requiring more (unnecessary) changesFor the HTML generation I simply ran
node run build
, which worked flawless. However, I was told to also run a compression, but I couldn't find that. I think that node task is the compression. Maybe I got confused.On the two failing build tasks: Yes, they also fail locally, but I don't know really what to do about it. There is a note in
platformio.ini
about this error, but that's not helpful for fixing the pipeline here in GitHub :/ So some advice would be appreciated.Happy for feedback on how to maybe make this PR better :)
Greetings,
Andy!