Hi, i'm finally playing with hyperion and a ws2811 led strip.
I'm using PC -> Arduino+fastled (adalight) -> led strip.
After i configured the gamma ramp, i'm facing the problem that the lower btightness appears just black.
So i documented myself and i've found that the fastled library actually implements temporal dithering, but the way it does it is not directly accessible by hyperion, because, as stated here:
ZitatAlles anzeigen
[INDENT] * Code your animations as if they were going to run at normal full brightness; use the full range of 0..255 for RGB and HSV values as much as you wish.
* Use FastLED.setBrightness( 0..255) to adjust the brightness of your whole animation. The FastLED temporal dithering will 'kick in' automatically as you lower the master brightness control.
* In place of the standard "delay(...)" function, use "FastLED.delay(...)". FastLED will use the 'delay time' to keep the LEDs refreshed with dithered pixel values.
* Temporal dithering has no effect at full brightness (255). It exists to preserve high quality color and accurate light output when the master brightness control is turned down to save power or manage brightness.
* The more often your code calls FastLED.show(), or FastLED.delay(), the higher-quality the dithering will be, because FastLED can refresh the LEDs faster and more often.[/INDENT]
I'm using a sketch from here, and in the code i read the following:
...but what if we do something like this:
//imagine we want to show a perfect gray (127,127,127)
leds[i].r = 255;
leds[i].g = 255;
leds[i].b = 255;
FastLED.setBrightness(127);
FastLED.show();
Basically, my idea is to stretch the luma component to full range, and then call setBrightness accordingly to scale them down so that the fastled temporal dithering would kick in.
I suppose we also need to add FastLED.delay() into the sketch main loop (it is not clear to me if it needs to be done or not)
Q: "Why don't you test it by yourself?"
A: "Because i will be back at home in a month, and i just have had this idea :)"
What do you think? would it work?