123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- /*
- * Presets color palletes
- *
- * Cycle from the list below
- *
- */
- #define COLLOR_PALLETES_SIZE 12 //No of color pallete defined
- #define C_RED {255, 0, 0}
- #define C_ORANGE {255, 165, 0}
- #define C_YELLOW {255, 255, 0}
- #define C_YELLOWGREEN {170, 255, 0}
- #define C_GREEN {0, 255, 0}
- #define C_TEAL {0, 255, 166}
- #define C_TURQUOISE {64, 224, 208}
- #define C_CYAN {0, 255, 255}
- #define C_BLUE {0, 0, 255}
- #define C_PURPLE {255, 0, 255}
- #define C_LAVENDER {174, 0, 255}
- #define C_PINK {255, 0, 115}
- //Load the default runtime for RGB Mode
- int colorPalletes[COLLOR_PALLETES_SIZE][3] = {
- C_RED,
- C_ORANGE,
- C_YELLOW,
- C_YELLOWGREEN,
- C_GREEN,
- C_TEAL,
- C_TURQUOISE,
- C_CYAN,
- C_BLUE,
- C_LAVENDER,
- C_PURPLE,
- C_PINK
- };
- //initiate preset mode
- void loadPresetsDefault() {
- //Reset paramters
- adjustingCatergory = 0;
- //Set color pallete id to 0 (red), brightness to 50%, (last byte unused)
- values[0] = 0;
- values[1] = 50;
- values[2] = 0;
- //Update the color to the LEDs
- renderColorPallete(values[0]);
- }
- //Handlers for add / minus button
- void handlePresetsAdd() {
- if (adjustingCatergory == 0){
- //Change pallete
- values[0] = values[0] + 1;
- if (values[0] > COLLOR_PALLETES_SIZE - 1){
- values[0] = 0;
- }
- }else{
- //Change intensity
- values[1]++;
- if (values[1] > 100){
- values[1] = 100;
- blinkUpperLimit();
- }
- }
- renderColorPallete(values[0]);
- }
- void handlePresetsMinus(){
- if (adjustingCatergory == 0){
- //Change pallete
- values[0] = values[0] - 1;
- if (values[0] < 0){
- values[0] = COLLOR_PALLETES_SIZE - 1;
- }
- }else{
- //Change intensity
- values[1]--;
- if (values[1] < 1){
- values[1] = 1;
- blinkLowerLimit();
- }
- }
- renderColorPallete(values[0]);
- }
- void renderColorPallete(int palleteID){
- //Load the color pallete
- int palleteRGB[3] = {
- colorPalletes[values[0]][0],
- colorPalletes[values[0]][1],
- colorPalletes[values[0]][2]
- };
- //Set control LED color
- if (adjustingCatergory == 0){
- //Color pallete selection mode
- setControlLEDColor(MAX_CTRLBRIGHTNESS, MAX_CTRLBRIGHTNESS, MAX_CTRLBRIGHTNESS);
- }else{
- //Brightness selection mode
- setControlLEDColor(MAX_CTRLBRIGHTNESS, MAX_CTRLBRIGHTNESS, 0);
- }
-
-
- //Adjust intensity
- palleteRGB[0] = int(float(palleteRGB[0]) * float(values[1]) / 100.0);
- palleteRGB[1] = int(float(palleteRGB[1]) * float(values[1]) / 100.0);
- palleteRGB[2] = int(float(palleteRGB[2]) * float(values[1]) / 100.0);
- /*
- //Debug output
- Serial.print(palleteRGB[0]);
- Serial.print(",");
- Serial.print(palleteRGB[1]);
- Serial.print(",");
- Serial.println(palleteRGB[2]);
- */
-
- //Update light color
- setLightColor(palleteRGB[0], palleteRGB[1], palleteRGB[2]);
- delay(100);
- }
|