|
@@ -161,10 +161,10 @@ void showDigits(uint8_t * dig)
|
|
|
|
|
|
/**
|
|
|
* @brief HSV to RGB convertion
|
|
|
- * @param hue: 0-359, sat: 0-255, val (lightness): 0-255
|
|
|
+ * @param hue: 0-59, sat: 0-255, val (lightness): 0-255
|
|
|
* @return none. RGB value out direct to LED.
|
|
|
*/
|
|
|
-void HSV2LED(const int hue, const uint8_t sat, const uint8_t val) {
|
|
|
+void HSV2LED(const uint8_t hue, const uint8_t sat, const uint8_t val) {
|
|
|
int base;
|
|
|
uint8_t r=0, g=0, b=0;
|
|
|
|
|
@@ -176,36 +176,36 @@ void HSV2LED(const int hue, const uint8_t sat, const uint8_t val) {
|
|
|
} else {
|
|
|
|
|
|
base = ((255 - sat) * val) >> 8;
|
|
|
- switch (hue / 60) {
|
|
|
+ switch (hue / 10) {
|
|
|
case 0:
|
|
|
r = val;
|
|
|
- g = (((val - base) * hue) / 60) + base;
|
|
|
+ g = (((val - base) * hue) / 10) + base;
|
|
|
b = base;
|
|
|
break;
|
|
|
case 1:
|
|
|
- r = (((val - base) * (60 - (hue % 60))) / 60) + base;
|
|
|
+ r = (((val - base) * (10 - (hue % 10))) / 10) + base;
|
|
|
g = val;
|
|
|
b = base;
|
|
|
break;
|
|
|
case 2:
|
|
|
r = base;
|
|
|
g = val;
|
|
|
- b = (((val - base) * (hue % 60)) / 60) + base;
|
|
|
+ b = (((val - base) * (hue % 10)) / 10) + base;
|
|
|
break;
|
|
|
case 3:
|
|
|
r = base;
|
|
|
- g = (((val - base) * (60 - (hue % 60))) / 60) + base;
|
|
|
+ g = (((val - base) * (10 - (hue % 10))) / 10) + base;
|
|
|
b = val;
|
|
|
break;
|
|
|
case 4:
|
|
|
- r = (((val - base) * (hue % 60)) / 60) + base;
|
|
|
+ r = (((val - base) * (hue % 10)) / 10) + base;
|
|
|
g = base;
|
|
|
b = val;
|
|
|
break;
|
|
|
case 5:
|
|
|
r = val;
|
|
|
g = base;
|
|
|
- b = (((val - base) * (60 - (hue % 60))) / 60) + base;
|
|
|
+ b = (((val - base) * (10 - (hue % 10))) / 10) + base;
|
|
|
break;
|
|
|
}
|
|
|
}
|