Fix helix:led_test build break (#3110)
* copy new rgblight.[ch] from quantum/ into keyboards/helix/rev2/keymaps/led_test/ and add mode 35 RGB cyclic mode * force RGB light mode 25
This commit is contained in:
		
				
					committed by
					
						 Drashna Jaelre
						Drashna Jaelre
					
				
			
			
				
	
			
			
			
						parent
						
							d554d96334
						
					
				
				
					commit
					8707bdd509
				
			| @@ -32,7 +32,7 @@ extern uint8_t is_master; | ||||
| #define _DVORAK 2 | ||||
| #define _LOWER 3 | ||||
| #define _RAISE 4 | ||||
| #define _ADJUST 16 | ||||
| #define _ADJUST 6 | ||||
|  | ||||
| enum custom_keycodes { | ||||
|   QWERTY = SAFE_RANGE, | ||||
| @@ -513,6 +513,12 @@ void music_scale_user(void) | ||||
| #ifdef SSD1306OLED | ||||
|  | ||||
| void matrix_scan_user(void) { | ||||
|     static int scan_count = 0; | ||||
|     if( scan_count == 2 ) { | ||||
|       rgblight_enable(); | ||||
|       rgblight_mode(35); | ||||
|     } | ||||
|     if( scan_count < 3 ) scan_count ++; | ||||
|      iota_gfx_task();  // this is what updates the display continuously | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -23,8 +23,15 @@ | ||||
| #include "debug.h" | ||||
| #include "led_tables.h" | ||||
|  | ||||
| #ifndef RGBLIGHT_LIMIT_VAL | ||||
| #define RGBLIGHT_LIMIT_VAL 255 | ||||
| #endif | ||||
|  | ||||
| #define MIN(a,b) (((a)<(b))?(a):(b)) | ||||
| #define MAX(a,b) (((a)>(b))?(a):(b)) | ||||
|  | ||||
| __attribute__ ((weak)) | ||||
| const uint16_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {1024, 20, 10, 5}; //modify for led_test | ||||
| const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5}; | ||||
| __attribute__ ((weak)) | ||||
| const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {120, 60, 30}; | ||||
| __attribute__ ((weak)) | ||||
| @@ -35,9 +42,10 @@ __attribute__ ((weak)) | ||||
| const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {127, 63, 31}; | ||||
| __attribute__ ((weak)) | ||||
| const uint16_t RGBLED_GRADIENT_RANGES[] PROGMEM = {360, 240, 180, 120, 90}; | ||||
| __attribute__ ((weak)) | ||||
| const uint16_t RGBLED_RGBCYCLIC_INTERVALS[] PROGMEM = {1024}; | ||||
|  | ||||
| rgblight_config_t rgblight_config; | ||||
| rgblight_config_t inmem_config; | ||||
|  | ||||
| LED_TYPE led[RGBLED_NUM]; | ||||
| uint8_t rgblight_inited = 0; | ||||
| @@ -46,11 +54,9 @@ bool rgblight_timer_enabled = false; | ||||
| void sethsv(uint16_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1) { | ||||
|   uint8_t r = 0, g = 0, b = 0, base, color; | ||||
|  | ||||
|   #ifdef RGBLIGHT_LIMIT_VAL | ||||
|     if (val > RGBLIGHT_LIMIT_VAL) { | ||||
|   if (val > RGBLIGHT_LIMIT_VAL) { | ||||
|       val=RGBLIGHT_LIMIT_VAL; // limit the val | ||||
|     } | ||||
|   #endif | ||||
|   } | ||||
|  | ||||
|   if (sat == 0) { // Acromatic color (gray). Hue doesn't mind. | ||||
|     r = val; | ||||
| @@ -119,7 +125,8 @@ void eeconfig_update_rgblight_default(void) { | ||||
|   rgblight_config.mode = 1; | ||||
|   rgblight_config.hue = 0; | ||||
|   rgblight_config.sat = 255; | ||||
|   rgblight_config.val = 255; | ||||
|   rgblight_config.val = RGBLIGHT_LIMIT_VAL; | ||||
|   rgblight_config.speed = 0; | ||||
|   eeconfig_update_rgblight(rgblight_config.raw); | ||||
| } | ||||
| void eeconfig_debug_rgblight(void) { | ||||
| @@ -129,6 +136,7 @@ void eeconfig_debug_rgblight(void) { | ||||
|   dprintf("rgblight_config.hue = %d\n", rgblight_config.hue); | ||||
|   dprintf("rgblight_config.sat = %d\n", rgblight_config.sat); | ||||
|   dprintf("rgblight_config.val = %d\n", rgblight_config.val); | ||||
|   dprintf("rgblight_config.speed = %d\n", rgblight_config.speed); | ||||
| } | ||||
|  | ||||
| void rgblight_init(void) { | ||||
| @@ -154,7 +162,7 @@ void rgblight_init(void) { | ||||
|   #endif | ||||
|  | ||||
|   if (rgblight_config.enable) { | ||||
|     rgblight_mode(rgblight_config.mode); | ||||
|     rgblight_mode_noeeprom(rgblight_config.mode); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @@ -211,7 +219,7 @@ uint32_t rgblight_get_mode(void) { | ||||
|   return rgblight_config.mode; | ||||
| } | ||||
|  | ||||
| void rgblight_mode(uint8_t mode) { | ||||
| void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) { | ||||
|   if (!rgblight_config.enable) { | ||||
|     return; | ||||
|   } | ||||
| @@ -222,13 +230,18 @@ void rgblight_mode(uint8_t mode) { | ||||
|   } else { | ||||
|     rgblight_config.mode = mode; | ||||
|   } | ||||
|   eeconfig_update_rgblight(rgblight_config.raw); | ||||
|   xprintf("rgblight mode: %u\n", rgblight_config.mode); | ||||
|   if (write_to_eeprom) { | ||||
|     eeconfig_update_rgblight(rgblight_config.raw); | ||||
|     xprintf("rgblight mode [EEPROM]: %u\n", rgblight_config.mode); | ||||
|   } else { | ||||
|     xprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode); | ||||
|   } | ||||
|   if (rgblight_config.mode == 1) { | ||||
|     #ifdef RGBLIGHT_ANIMATIONS | ||||
|       rgblight_timer_disable(); | ||||
|     #endif | ||||
|   } else if (rgblight_config.mode >= 2 && rgblight_config.mode <= 24) { | ||||
|   } else if ((rgblight_config.mode >= 2 && rgblight_config.mode <= 24) || | ||||
| 	     rgblight_config.mode == 35 ) { | ||||
|     // MODE 2-5, breathing | ||||
|     // MODE 6-8, rainbow mood | ||||
|     // MODE 9-14, rainbow swirl | ||||
| @@ -236,6 +249,7 @@ void rgblight_mode(uint8_t mode) { | ||||
|     // MODE 21-23, knight | ||||
|     // MODE 24, xmas | ||||
|     // MODE 25-34, static rainbow | ||||
|     // MODE 35  RGB cyclic | ||||
|  | ||||
|     #ifdef RGBLIGHT_ANIMATIONS | ||||
|       rgblight_timer_enable(); | ||||
| @@ -247,11 +261,20 @@ void rgblight_mode(uint8_t mode) { | ||||
|       rgblight_timer_disable(); | ||||
|     #endif | ||||
|   } | ||||
|   rgblight_sethsv(rgblight_config.hue, rgblight_config.sat, rgblight_config.val); | ||||
|   rgblight_sethsv_noeeprom(rgblight_config.hue, rgblight_config.sat, rgblight_config.val); | ||||
| } | ||||
|  | ||||
| void rgblight_mode(uint8_t mode) { | ||||
|   rgblight_mode_eeprom_helper(mode, true); | ||||
| } | ||||
|  | ||||
| void rgblight_mode_noeeprom(uint8_t mode) { | ||||
|   rgblight_mode_eeprom_helper(mode, false); | ||||
| } | ||||
|  | ||||
|  | ||||
| void rgblight_toggle(void) { | ||||
|   xprintf("rgblight toggle: rgblight_config.enable = %u\n", !rgblight_config.enable); | ||||
|   xprintf("rgblight toggle [EEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable); | ||||
|   if (rgblight_config.enable) { | ||||
|     rgblight_disable(); | ||||
|   } | ||||
| @@ -260,17 +283,34 @@ void rgblight_toggle(void) { | ||||
|   } | ||||
| } | ||||
|  | ||||
| void rgblight_toggle_noeeprom(void) { | ||||
|   xprintf("rgblight toggle [NOEEPROM]: rgblight_config.enable = %u\n", !rgblight_config.enable); | ||||
|   if (rgblight_config.enable) { | ||||
|     rgblight_disable_noeeprom(); | ||||
|   } | ||||
|   else { | ||||
|     rgblight_enable_noeeprom(); | ||||
|   } | ||||
| } | ||||
|  | ||||
| void rgblight_enable(void) { | ||||
|   rgblight_config.enable = 1; | ||||
|   eeconfig_update_rgblight(rgblight_config.raw); | ||||
|   xprintf("rgblight enable: rgblight_config.enable = %u\n", rgblight_config.enable); | ||||
|   // No need to update EEPROM here. rgblight_mode() will do that, actually | ||||
|   //eeconfig_update_rgblight(rgblight_config.raw); | ||||
|   xprintf("rgblight enable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); | ||||
|   rgblight_mode(rgblight_config.mode); | ||||
| } | ||||
|  | ||||
| void rgblight_enable_noeeprom(void) { | ||||
|   rgblight_config.enable = 1; | ||||
|   xprintf("rgblight enable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); | ||||
|   rgblight_mode_noeeprom(rgblight_config.mode); | ||||
| } | ||||
|  | ||||
| void rgblight_disable(void) { | ||||
|   rgblight_config.enable = 0; | ||||
|   eeconfig_update_rgblight(rgblight_config.raw); | ||||
|   xprintf("rgblight disable: rgblight_config.enable = %u\n", rgblight_config.enable); | ||||
|   xprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); | ||||
|   #ifdef RGBLIGHT_ANIMATIONS | ||||
|     rgblight_timer_disable(); | ||||
|   #endif | ||||
| @@ -278,6 +318,29 @@ void rgblight_disable(void) { | ||||
|   rgblight_set(); | ||||
| } | ||||
|  | ||||
| void rgblight_disable_noeeprom(void) { | ||||
|   rgblight_config.enable = 0; | ||||
|   xprintf("rgblight disable [noEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); | ||||
|   #ifdef RGBLIGHT_ANIMATIONS | ||||
|     rgblight_timer_disable(); | ||||
|   #endif | ||||
|   _delay_ms(50); | ||||
|   rgblight_set(); | ||||
| } | ||||
|  | ||||
|  | ||||
| // Deals with the messy details of incrementing an integer | ||||
| uint8_t increment( uint8_t value, uint8_t step, uint8_t min, uint8_t max ) { | ||||
|     int16_t new_value = value; | ||||
|     new_value += step; | ||||
|     return MIN( MAX( new_value, min ), max ); | ||||
| } | ||||
|  | ||||
| uint8_t decrement( uint8_t value, uint8_t step, uint8_t min, uint8_t max ) { | ||||
|     int16_t new_value = value; | ||||
|     new_value -= step; | ||||
|     return MIN( MAX( new_value, min ), max ); | ||||
| } | ||||
|  | ||||
| void rgblight_increase_hue(void) { | ||||
|   uint16_t hue; | ||||
| @@ -313,8 +376,8 @@ void rgblight_decrease_sat(void) { | ||||
| } | ||||
| void rgblight_increase_val(void) { | ||||
|   uint8_t val; | ||||
|   if (rgblight_config.val + RGBLIGHT_VAL_STEP > 255) { | ||||
|     val = 255; | ||||
|   if (rgblight_config.val + RGBLIGHT_VAL_STEP > RGBLIGHT_LIMIT_VAL) { | ||||
|     val = RGBLIGHT_LIMIT_VAL; | ||||
|   } else { | ||||
|     val = rgblight_config.val + RGBLIGHT_VAL_STEP; | ||||
|   } | ||||
| @@ -329,24 +392,32 @@ void rgblight_decrease_val(void) { | ||||
|   } | ||||
|   rgblight_sethsv(rgblight_config.hue, rgblight_config.sat, val); | ||||
| } | ||||
| void rgblight_increase_speed(void) { | ||||
|     rgblight_config.speed = increment( rgblight_config.speed, 1, 0, 3 ); | ||||
|     eeconfig_update_rgblight(rgblight_config.raw);//EECONFIG needs to be increased to support this | ||||
| } | ||||
|  | ||||
| void rgblight_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) { | ||||
|   inmem_config.raw = rgblight_config.raw; | ||||
| void rgblight_decrease_speed(void) { | ||||
|     rgblight_config.speed = decrement( rgblight_config.speed, 1, 0, 3 ); | ||||
|     eeconfig_update_rgblight(rgblight_config.raw);//EECONFIG needs to be increased to support this | ||||
| } | ||||
|  | ||||
| void rgblight_sethsv_noeeprom_old(uint16_t hue, uint8_t sat, uint8_t val) { | ||||
|   if (rgblight_config.enable) { | ||||
|     LED_TYPE tmp_led; | ||||
|     sethsv(hue, sat, val, &tmp_led); | ||||
|     inmem_config.hue = hue; | ||||
|     inmem_config.sat = sat; | ||||
|     inmem_config.val = val; | ||||
|     // dprintf("rgblight set hue [MEMORY]: %u,%u,%u\n", inmem_config.hue, inmem_config.sat, inmem_config.val); | ||||
|     rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); | ||||
|   } | ||||
| } | ||||
| void rgblight_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { | ||||
|  | ||||
| void rgblight_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom) { | ||||
|   if (rgblight_config.enable) { | ||||
|     if (rgblight_config.mode == 1) { | ||||
|       // same static color | ||||
|       rgblight_sethsv_noeeprom(hue, sat, val); | ||||
|       LED_TYPE tmp_led; | ||||
|       sethsv(hue, sat, val, &tmp_led); | ||||
|       rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); | ||||
|     } else { | ||||
|       // all LEDs in same color | ||||
|       if (rgblight_config.mode >= 2 && rgblight_config.mode <= 5) { | ||||
| @@ -371,11 +442,23 @@ void rgblight_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { | ||||
|     rgblight_config.hue = hue; | ||||
|     rgblight_config.sat = sat; | ||||
|     rgblight_config.val = val; | ||||
|     eeconfig_update_rgblight(rgblight_config.raw); | ||||
|     xprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val); | ||||
|     if (write_to_eeprom) { | ||||
|       eeconfig_update_rgblight(rgblight_config.raw); | ||||
|       xprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val); | ||||
|     } else { | ||||
|       xprintf("rgblight set hsv [NOEEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| void rgblight_sethsv(uint16_t hue, uint8_t sat, uint8_t val) { | ||||
|   rgblight_sethsv_eeprom_helper(hue, sat, val, true); | ||||
| } | ||||
|  | ||||
| void rgblight_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val) { | ||||
|   rgblight_sethsv_eeprom_helper(hue, sat, val, false); | ||||
| } | ||||
|  | ||||
| uint16_t rgblight_get_hue(void) { | ||||
|   return rgblight_config.hue; | ||||
| } | ||||
| @@ -480,18 +563,11 @@ void rgblight_show_solid_color(uint8_t r, uint8_t g, uint8_t b) { | ||||
| } | ||||
|  | ||||
| void rgblight_task(void) { | ||||
|   if (rgblight_inited == 1) { //modify for led_test | ||||
|       /* first call */ | ||||
|       rgblight_inited = 2; | ||||
|       rgblight_enable(); | ||||
|       rgblight_mode(2); | ||||
|   } | ||||
|   if (rgblight_timer_enabled) { | ||||
|     // mode = 1, static light, do nothing here | ||||
|     if (rgblight_config.mode >= 2 && rgblight_config.mode <= 5) { | ||||
|       // mode = 2 to 5, breathing mode | ||||
|       rgblight_effect_breathing(rgblight_config.mode - 2); | ||||
| #if 0 | ||||
|     } else if (rgblight_config.mode >= 6 && rgblight_config.mode <= 8) { | ||||
|       // mode = 6 to 8, rainbow mood mod | ||||
|       rgblight_effect_rainbow_mood(rgblight_config.mode - 6); | ||||
| @@ -507,7 +583,9 @@ void rgblight_task(void) { | ||||
|     } else if (rgblight_config.mode == 24) { | ||||
|       // mode = 24, christmas mode | ||||
|       rgblight_effect_christmas(); | ||||
| #endif | ||||
|     } else if (rgblight_config.mode == 35) { | ||||
|       // mode = 35, RGB cyclic | ||||
|       rgblight_effect_rgbcyclic(); | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -516,19 +594,19 @@ void rgblight_task(void) { | ||||
| void rgblight_effect_breathing(uint8_t interval) { | ||||
|   static uint8_t pos = 0; | ||||
|   static uint16_t last_timer = 0; | ||||
|   float val; | ||||
|  | ||||
|   if (timer_elapsed(last_timer) < pgm_read_word(&RGBLED_BREATHING_INTERVALS[interval])) {//modify for led_test | ||||
|   if (timer_elapsed(last_timer) < pgm_read_byte(&RGBLED_BREATHING_INTERVALS[interval])) { | ||||
|     return; | ||||
|   } | ||||
|   last_timer = timer_read(); | ||||
|  | ||||
|  | ||||
|   //modify for led_test | ||||
|   rgblight_config.hue = (pos*120)%360; | ||||
|   rgblight_sethsv_noeeprom(rgblight_config.hue, rgblight_config.sat, rgblight_config.val); | ||||
|   pos = (pos + 1) % 3; | ||||
|   // http://sean.voisen.org/blog/2011/10/breathing-led-with-arduino/ | ||||
|   val = (exp(sin((pos/255.0)*M_PI)) - RGBLIGHT_EFFECT_BREATHE_CENTER/M_E)*(RGBLIGHT_EFFECT_BREATHE_MAX/(M_E-1/M_E)); | ||||
|   rgblight_sethsv_noeeprom_old(rgblight_config.hue, rgblight_config.sat, val); | ||||
|   pos = (pos + 1) % 256; | ||||
| } | ||||
| #if 0 | ||||
| void rgblight_effect_rainbow_mood(uint8_t interval) { | ||||
|   static uint16_t current_hue = 0; | ||||
|   static uint16_t last_timer = 0; | ||||
| @@ -537,7 +615,7 @@ void rgblight_effect_rainbow_mood(uint8_t interval) { | ||||
|     return; | ||||
|   } | ||||
|   last_timer = timer_read(); | ||||
|   rgblight_sethsv_noeeprom(current_hue, rgblight_config.sat, rgblight_config.val); | ||||
|   rgblight_sethsv_noeeprom_old(current_hue, rgblight_config.sat, rgblight_config.val); | ||||
|   current_hue = (current_hue + 1) % 360; | ||||
| } | ||||
| void rgblight_effect_rainbow_swirl(uint8_t interval) { | ||||
| @@ -662,5 +740,24 @@ void rgblight_effect_christmas(void) { | ||||
|   } | ||||
|   rgblight_set(); | ||||
| } | ||||
| #endif /* 0 */ | ||||
|  | ||||
| void rgblight_effect_rgbcyclic(void) { | ||||
|   static uint8_t pos = 0; | ||||
|   static uint16_t last_timer = 0; | ||||
|   uint8_t g; uint8_t r; uint8_t b; | ||||
|  | ||||
|   if (timer_elapsed(last_timer) < pgm_read_word(&RGBLED_RGBCYCLIC_INTERVALS[0])) { | ||||
|     return; | ||||
|   } | ||||
|   last_timer = timer_read(); | ||||
|   g = r = b = 0; | ||||
|   switch( pos ) { | ||||
|     case 0: r = RGBLIGHT_LIMIT_VAL; break; | ||||
|     case 1: g = RGBLIGHT_LIMIT_VAL; break; | ||||
|     case 2: b = RGBLIGHT_LIMIT_VAL; break; | ||||
|   } | ||||
|   rgblight_setrgb(r, g, b); | ||||
|   pos = (pos + 1) % 3; | ||||
| } | ||||
|  | ||||
| #endif /* RGBLIGHT_ANIMATIONS */ | ||||
|   | ||||
| @@ -17,7 +17,7 @@ | ||||
| #define RGBLIGHT_H | ||||
|  | ||||
| #ifdef RGBLIGHT_ANIMATIONS | ||||
| 	#define RGBLIGHT_MODES 5 | ||||
| 	#define RGBLIGHT_MODES 35 | ||||
| #else | ||||
| 	#define RGBLIGHT_MODES 1 | ||||
| #endif | ||||
| @@ -74,14 +74,16 @@ | ||||
| #include "ws2812.h" | ||||
| #endif | ||||
| #include "rgblight_types.h" | ||||
| #include "rgblight_list.h" | ||||
|  | ||||
| extern LED_TYPE led[RGBLED_NUM]; | ||||
|  | ||||
| extern const uint16_t RGBLED_BREATHING_INTERVALS[4] PROGMEM; //modify for led_test | ||||
| extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM; | ||||
| extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM; | ||||
| extern const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[3] PROGMEM; | ||||
| extern const uint8_t RGBLED_SNAKE_INTERVALS[3] PROGMEM; | ||||
| extern const uint8_t RGBLED_KNIGHT_INTERVALS[3] PROGMEM; | ||||
| extern const uint16_t RGBLED_RGBCYCLIC_INTERVALS[1] PROGMEM; | ||||
|  | ||||
| typedef union { | ||||
|   uint32_t raw; | ||||
| @@ -91,6 +93,7 @@ typedef union { | ||||
|     uint16_t hue     :9; | ||||
|     uint8_t  sat     :8; | ||||
|     uint8_t  val     :8; | ||||
|     uint8_t  speed   :8;//EECONFIG needs to be increased to support this | ||||
|   }; | ||||
| } rgblight_config_t; | ||||
|  | ||||
| @@ -112,6 +115,8 @@ void rgblight_increase_sat(void); | ||||
| void rgblight_decrease_sat(void); | ||||
| void rgblight_increase_val(void); | ||||
| void rgblight_decrease_val(void); | ||||
| void rgblight_increase_speed(void); | ||||
| void rgblight_decrease_speed(void); | ||||
| void rgblight_sethsv(uint16_t hue, uint8_t sat, uint8_t val); | ||||
| uint16_t rgblight_get_hue(void); | ||||
| uint8_t rgblight_get_sat(void); | ||||
| @@ -125,9 +130,21 @@ void eeconfig_update_rgblight(uint32_t val); | ||||
| void eeconfig_update_rgblight_default(void); | ||||
| void eeconfig_debug_rgblight(void); | ||||
|  | ||||
| void rgb_matrix_increase(void); | ||||
| void rgb_matrix_decrease(void); | ||||
|  | ||||
| void sethsv(uint16_t hue, uint8_t sat, uint8_t val, LED_TYPE *led1); | ||||
| void setrgb(uint8_t r, uint8_t g, uint8_t b, LED_TYPE *led1); | ||||
|  | ||||
| void rgblight_sethsv_noeeprom(uint16_t hue, uint8_t sat, uint8_t val); | ||||
| void rgblight_mode_noeeprom(uint8_t mode); | ||||
| void rgblight_toggle_noeeprom(void); | ||||
| void rgblight_enable_noeeprom(void); | ||||
| void rgblight_disable_noeeprom(void); | ||||
|  | ||||
| void rgblight_sethsv_eeprom_helper(uint16_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom); | ||||
| void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom); | ||||
|  | ||||
|  | ||||
| #define EZ_RGB(val) rgblight_show_solid_color((val >> 16) & 0xFF, (val >> 8) & 0xFF, val & 0xFF) | ||||
| void rgblight_show_solid_color(uint8_t r, uint8_t g, uint8_t b); | ||||
| @@ -144,5 +161,6 @@ void rgblight_effect_rainbow_swirl(uint8_t interval); | ||||
| void rgblight_effect_snake(uint8_t interval); | ||||
| void rgblight_effect_knight(uint8_t interval); | ||||
| void rgblight_effect_christmas(void); | ||||
| void rgblight_effect_rgbcyclic(void); | ||||
|  | ||||
| #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user