Yeah, the coding is giving me massive headaches because I haven’t done algebra this complex in a while.
I think I read in another post about how you choose the value of w. Please let me know if I’m right. We’ll use rgb(0.7, 0.5, 0.2) as an example. You find the smallest value, and you set that to be the W value. Here that’s the blue value, 0.2. You then subtract that value from the three colors, leaving us with (0.5, 0.3, 0.0). So you end up with the white LED at 0.2 to substitute for the amount you took out of the other three, turned off the blue because it’s not needed, and reduced the red and the green by the same amount. The white LED takes as much of the load as it can, and the color LEDs are only used for the remaining color. Is that correct?
I’ve confirmed that what happens on this strip is when it’s set for GRBW is:
The input for R is still output R. (1,0,0 outputs 1,0,0)
The input for G controls the W value directly (0,1,0 outputs 1,1,1, all white no color)
The input for B outputs to G (0,0,1 outputs 0,1,0, pure green)
So the only way to get blue is to have all three inputs be the same (greyscale), which is normally how white would work. So 1,1,1 outputs pure blue.
I used GRBW because at least on that one the red matches.
The fact that W is derived, THEN switched with another non-derived value is what’s making the coding so hard.
This is the LED strip I got. I really like this one because it’s 12V for fewer power supplies, and has the RGBWC for truer whites and more total light. I think adding support for it would mainly just require a way to specify the correct order in the Settings, either explicitly or a way to swap the W with another value like Aircookie does it. I think a lot of people will be using these WS2814s going forward for large projects where it’s good to have fewer power hookups but they need the full RGBW spectrum.
The project I’m doing now is a reflected light dome ceiling for the yurt I live in. I’m gonna have the strips on radials between the roof rafters bouncing down off the white ceiling. The main application is to duplicate the effect of the sun tracking across the sky, with the possibility of extending the day in the winter. I have really bad SAD and a much more primitive setup has already been a huge help.
I’m happy to try a test build of the firmware when you’ve got something. Thanks for looking at it, and for creating PixelBlaze! We use it in the Austin Burning Man/Flipside community a lot, including on our effigy this year.