Some highlights of what’s being tested now for the next preview release, as well as the things I want to wrap up before doing a final release.
-
scaling - in the next release, when calling showLEDs there will be an optional parameter to scale the brightness of the output. This incurs no extra overhead on your output in most cases (bit bang’d spi with a speed of 0 will see a ~1% reduction in data rate)
-
rgb reordering - you know how some strips screw up their ordering and are something like bgr or brg or such? Now you will be able to define the rgb ordering for the controller. No more messing with the order of fields in your struct. Relatedly, the library will provide a crgb structure definition to use (there’s some functionality on the way that will benefit from this :). Note: this reordering can be different for each declared controller instance.
-
I have a new (to the library, not to me collaborator on the library, @Mark_Kriegsman who is bringing in a high performance hsv/rgb converter that also accounts for human color/brightness perception. In addition he’s providing a bunch of utility functions for fast 8-bit math operations, like what you want when dealing with rgb
That’s just what will be in the next preview! After that, here’s some other things coming down for the final release:
-
DMA based spi transfers on the teensy 3.
-
Possibly will have DMA transfers for ws2811/tm1809/ucs1903 as well - this requires more dev/testing
-
Friendlier controller interface for managing multiple instances (eg if you have multiple lines of strips, especially if with different chipsets).
-
a wider variety of test cases and more documentation