]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/color.c
Adjusted the linear led table and hsv_to_rgb to better handle 255 hue (#5739)
[qmk_firmware.git] / quantum / color.c
index c49877592eceb255b82cbac6fd77aef7f26c4d1c..466e6edacb085424bfdaf23ab7cb05615d6c9ed2 100644 (file)
@@ -22,8 +22,8 @@
 RGB hsv_to_rgb( HSV hsv )
 {
        RGB rgb;
-       uint8_t region, p, q, t;
-       uint16_t h, s, v, remainder;
+       uint8_t region, remainder, p, q, t;
+       uint16_t h, s, v;
 
        if ( hsv.s == 0 )
        {
@@ -37,8 +37,8 @@ RGB hsv_to_rgb( HSV hsv )
        s = hsv.s;
        v = hsv.v;
 
-       region = h / 43;
-       remainder = (h - (region * 43)) * 6;
+       region = h * 6 / 255;
+       remainder = (h * 2 - region * 85) * 3;
 
        p = (v * (255 - s)) >> 8;
        q = (v * (255 - ((s * remainder) >> 8))) >> 8;
@@ -46,6 +46,7 @@ RGB hsv_to_rgb( HSV hsv )
 
        switch ( region )
        {
+               case 6:
                case 0:
                        rgb.r = v;
                        rgb.g = t;