Open dxhenshaw opened 4 years ago
I think this has to do with the Adafruit GFX library expecting 16-bit color in the form of a uint16_t
, while the ColorHSV
method is inherited from the Adafruit_DotStar
class and returns a 32-bit color in the form of a uint32_t
. You should be able to work around this by writing a function to get the RGB values produced by the HSV function and pass that into the Color
method of your matrix, since that is overloaded to produce the correct 16-bit colors.
I have assembled a six-panel DotStar Matrix and, while it works, I'm having trouble getting certain colors to show up when using HSV. Some basic colors show as expected (red, white) but others do not (green / magenta and others).
Code follows, then a picture of the result. I'm also seeing other weird behaviors - I have a script that cycles through hues, for example, and it is extremely "flashy" and will inexplicably go from blue to black to yellow while incrementing hue from 0 thru 65536. Decreasing Value also partially works, but also includes lots of flickering to black then back to a dimmer value.
So... I think there is a bug in the HSV color support for DotStar Matrices.
Picture of actual result:
Magenta and Green are not the correct colors given the hue.
Arduino board: Adafruit ItsyBitsy
Arduino IDE version 1.8
I know I have the display brightness at only level 10. It's the same basic story at level 150, just exceptionally bright!
The matrix is powered from a 5v 2A supply.