#ARGB LED control in MF
1 messages · Page 1 of 1 (latest)
Hi @main moon
You are correct, ARGB aren't supported.
What would you use them for with MF?
I doubt there are any plans for supporting it. At least I have never seen it mentioned before.
I am interested in building a configurable multi panel that can emulate amber backlighting for airliners and the cool white backlighting for GA aircraft. ARGB LEDs can also be individually controlled so different aircraft configurations could have various panel sections illuminated according to their type.
It's possible to create the same effect through standard lighting but it'll require a lot more wiring and work.
For something like that if you know how to code I would try doing a custom output device
I haven't tried custom outputs in MF yet. Thank you for the suggestion.
custom output device for WS2812 led strip would be actually pretty cool for many uses
since that could be used for both backlight and also for individual lights
if you want just backlight, you can do it already now with 3 or 4 mosfets and using a RGB or RGBW led strip where all leds are the same color
so like think of it as a red led strip, green led strip and a blue led strip, wired to PWM led outputs and powered by mosfets (since its too much current for the arduino pins)
then just set a combination of RGB brightness to get a desired color
addressable leds would be cool so you could use one led that has white backlight by default and then would turn red or green for example based on sim state
Honestly I wonder if the wiring simplification is not eaten up by programming overhead. You would have to send color and intensity to each LED, would you not?
For that bi-color example, it might be easier to, for each cluster of lit buttons, have a transistor as a sink for the white channel and one for the amber channel. Then have the two LEDs (with individual current limiting resistors in close proximity and a shift register output to source current for each pair
one binding to color a cluster, one to select what LEDs in the cluster are lit
with PWM, you could even mix an approximation of that incandescent warm white that makes people fail lantern tests
For a ws2812 LED strip I would just use mqtt and wled 😉
well, I think it would still make sense in a panel
I wouldnt build a panel with mqtt
different thing if it is your room lighting
I would to drive a ws2812 LED strip. Why re-implement all the amazing work WLED has done
of course ARGB has the advantage of flexibility, like what Tuomas mentioned where a button could light up in white when idle and in color to indicate a state
that also makes sense with mqtt and we should do that as an custom output device btw?
if only I would hack it in sometime 😂
though I think custom devices are so far arduinos
if there was the rest/json api
one could have "plugins" that talk to MF via sockets
websocket 😉 THat's why I didn't finish the mqtt stuff, it needed to really be done holistically as part of an "expose all this stuff via websockets" solution
yeah
did you check out how flightgear does the API?
they have both http api so you can do it with web urls which is easy to script with anything, and then a proper API too with a property tree
nah, never looked at it. we are far off in the weeds from the original question lol
custom device is the way to go with what mobiflight offers today
slightly 😄
I don't mind this discussion or where it's going. I think that more lighting support would enable more interesting builds and automation.
@clear stump mentioned in much greater detail what I had envisioned. Individually addressible lights are also becoming cheaper and have the benefit of being really easy to connect.
yeah, I think making a custom device for WS2812 addressable leds would make a lot of sense
would need to experiment with the json files to define the output data and led number but I think it should work
Is the control scheme the same for WS2812 and WS2812B?
maybe @lyric needle has some thoughts of how this could work in terms of the data transfer between MF Connector and the arduino
From my understanding the B revision is just hardware upgrades right?
From the MF user side would we be able to issue a RGB value to the addressible LED? Ex (255,128,200) to LED 14
I'm unfortunately not a developer so I'm not sure if any of the existing libraries do that
Realistically the only way this will happen is if someone implements it using the custom device feature with custom firmware. I don't see it ever being added to the core firmware (that's why we added custom device support).
it makes very good sense as a custom device yeah
@main moon custom devices let you define data fields via json config file, so you could have like "ARGB Strip 1" custom device with then output fields led1, led2, led3, for example
and you could set the lenght of the strip in the device config where you also define the data pin
ie, custom device: "my led strip", pin D2, 32 leds
I dont recall right now if you can define the output fields dynamically like that though
need to look
but worst case you just have 255 output fields per led device for example
and just set RGB strings
this all works in MF Connector already
you can define this with the json
and the data will be passed to the firmware with the custom device - then it is up to you to write the arduino side of the code
that sets the leds accordingly
it would not be even hard for someone with even a bit of experience in programming and would for sure be an interesting project to learn to write a custom device
so the real task is to write the arduino part
To implement WS2812 as a custom device shouldn't be so hard. I already thought about it. The interesting point is to define which Led should lit in which color. Once this is defined a message could be created which contains these informations. The custom firmware could split it up and control the LED accordingly. So only one MessageID would be required and the device.json file could be used for all cases.
Hello everyone here, i'm trying to add the led strip to a custom device but it won"t appear on the list, i've done, it seems, all the files (cpp, h, json, etc) did you suceeded to make it work ?