TLC5947 Support #550
-
I would like to add support for the AdaFruit 24-Channel LED Driver that is based on the TLC5947 chip. The Chip has a 12-bit depth for each channel. My question is, if its better to implement a 12-bit T_COLOR_FEATURE or do an 12-bit upscale/downscale for the color regular features (NeoRbgFeature, NeoRbg48Feature, ...) in the T_METHOD implementation. What do you think? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Several high level design facts of this library:
I don't believe there is a need for custom Method for sending. The generic DotStar methods (both bitbang and SPI) should work fine. The interesting design question here (from the perspective of that board) is what are the 24 separate channels representing? Are they 8 sets of RGB? Are they 6 sets of RGBW? Are they 24 sets of X only? Are there any other combinations that they can be assuming you are not mixing on the same strip? The Feature::ColorObject is the Device Independent Color, and in this case of a chip that supports 12 bits per color element, RgbColor (8bit per channel) would not provide as much resolution and Rgb36Color (16bit per channel) would provide too much. Supporting two Features that provide each might be interesting for "memory" conservation on the sketch writers side, but at least provide one supporting 16 bits per channel. So do you create NeoTlc5947Rgb36Feature (Rgb36Color), NeoTlc5947Rgbw36Feature (Rgbw48Color), NeoTlc5947X16Feature (uint16_t)? Did I miss anything? |
Beta Was this translation helpful? Give feedback.
Several high level design facts of this library: