Hello Everyone!
In short: I am looking for some way to use FastLED to have low level control of APA102 type strips from a teensy microcontroller. By low level, I mean having access to the individual GBC (global brightness control) for each pixel.
For example: instead of setting “leds[i]=CRGB(1,1,1)” and using whatever the current brightness setting is… I am hoping to set something like… “leds[i]=CRGBB(1,1,1,1)” for the lowest brightness (the last 1 being that pixel’s 5bit brightness control)
I understand that there are not going to be any automatic 8-bit conversions for this built into the library yet . But I am hoping to at least find a low level way to send this to each pixel using FastLED and then create my own gamma curve conversion which I could then share back with everyone.
the following small library already includes this control:
It works great but does not have near the speed, features, or community that FastLED does. I also know that the smart matrix library utilizes this functionality behind the scenes, but not sure how to easily access it on it’s own
I’m hoping for some guidance from this great community on this. Maybe there is a way already possible to do it. Or maybe someone can point me in the direction of where in the library I could try to edit to port this in myself. FastLED is sending this information to each pixel already (just not adjustable per pixel)
A little background on why: I work on large video-controlled DIY LED systems and am always looking to reach the next level in getting them closer to commercial LED screens which utilize 16bit PWM chips. The most important aspect of having good looking led video is having good smooth gamma curves at the lowest brightnesses. 8-bit chips always struggle with this, but I believe properly utilizing this built in functionality of the APA 102 could have a huge impact on performance…
Thanks for any info and/or pointers!
Sachem