mode_rgb.ino 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /*
  2. * RGB Mode
  3. *
  4. * Allow user to adjust R/G/B channel
  5. * seperately
  6. *
  7. *
  8. */
  9. //Load the default runtime for RGB Mode
  10. void loadRGBModeDefault() {
  11. values[0] = MAX_BRIGHTNESS/2; //R
  12. values[1] = MAX_BRIGHTNESS/2; //G
  13. values[2] = MAX_BRIGHTNESS/2; //B
  14. adjustingCatergory = 0;
  15. //Set current controlling to red
  16. setControlLEDColor(MAX_CTRLBRIGHTNESS, 0, 0);
  17. //Set LED color to white
  18. setLightColor(values[0], values[1], values[2]);
  19. }
  20. //Handlers for add / minus button
  21. void handleRGBModeAdd() {
  22. switch (adjustingCatergory) {
  23. case 0:
  24. //Red
  25. values[0] += 2;
  26. if (values[0] > 255) {
  27. values[0] = 255;
  28. blinkUpperLimit();
  29. }
  30. break;
  31. case 1:
  32. //Green
  33. values[1] += 2;
  34. if (values[1] > 255) {
  35. values[1] = 255;
  36. blinkUpperLimit();
  37. }
  38. break;
  39. case 2:
  40. //Blue
  41. values[2] += 2;
  42. if (values[2] > 255) {
  43. values[2] = 255;
  44. blinkUpperLimit();
  45. }
  46. break;
  47. }
  48. //Update the LED color
  49. setLightColor(values[0], values[1], values[2]);
  50. Serial.print("Updating RGB value to {");
  51. Serial.print(values[0]);
  52. Serial.print(", ");
  53. Serial.print(values[1]);
  54. Serial.print(", ");
  55. Serial.print(values[2]);
  56. Serial.println("}");
  57. }
  58. void handleRGBModeMinus() {
  59. switch (adjustingCatergory) {
  60. case 0:
  61. //Red
  62. values[0] -= 2;
  63. if (values[0] <= 0) {
  64. values[0] = 0;
  65. blinkLowerLimit();
  66. }
  67. break;
  68. case 1:
  69. //Green
  70. values[1] -= 2;
  71. if (values[1] <= 0) {
  72. values[1] = 0;
  73. blinkLowerLimit();
  74. }
  75. break;
  76. case 2:
  77. //Blue
  78. values[2] -= 2;
  79. if (values[2] <= 0) {
  80. values[2] = 0;
  81. blinkLowerLimit();
  82. }
  83. break;
  84. }
  85. //Update the LED color
  86. setLightColor(values[0], values[1], values[2]);
  87. Serial.print("Updating RGB value to {");
  88. Serial.print(values[0]);
  89. Serial.print(", ");
  90. Serial.print(values[1]);
  91. Serial.print(", ");
  92. Serial.print(values[2]);
  93. Serial.println("}");
  94. }