@ -66,10 +66,6 @@
 
			
		
	
		
			
				
					  # define RGB_DISABLE_WHEN_USB_SUSPENDED false 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# ifndef EECONFIG_RGB_MATRIX  
			
		
	
		
			
				
					  # define EECONFIG_RGB_MATRIX EECONFIG_RGBLIGHT 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if !defined(RGB_MATRIX_MAXIMUM_BRIGHTNESS) || RGB_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX  
			
		
	
		
			
				
					  # undef RGB_MATRIX_MAXIMUM_BRIGHTNESS 
 
			
		
	
		
			
				
					  # define RGB_MATRIX_MAXIMUM_BRIGHTNESS UINT8_MAX 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -116,12 +112,12 @@ uint8_t rgb_frame_buffer[MATRIX_ROWS][MATRIX_COLS] = {{0}};
 
			
		
	
		
			
				
					  static  last_hit_t  last_hit_buffer ; 
 
			
		
	
		
			
				
					# endif  // RGB_MATRIX_KEYREACTIVE_ENABLED
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					uint32_t  eeconfig_read_rgb_matrix ( void )  {  
			
		
	
		
			
				
					  return  eeprom_read_dword ( EECONFIG_RGB_MATRIX ) ; 
 
			
		
	
		
			
				
					void  eeconfig_read_rgb_matrix ( void )  {  
			
		
	
		
			
				
					  eeprom_read_block ( & rgb_matrix_config ,  EECONFIG_RGB_MATRIX ,  sizeof ( rgb_matrix_config ) ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  eeconfig_update_rgb_matrix ( uint32_t val  )  {  
			
		
	
		
			
				
					  eeprom_update_ dword( EECONFIG_RGB_MATRIX ,  val  ) ; 
 
			
		
	
		
			
				
					void  eeconfig_update_rgb_matrix ( void )  {  
			
		
	
		
			
				
					  eeprom_update_ block( & rgb_matrix_config ,  EECONFIG_RGB_MATRIX ,  sizeof ( rgb_matrix_config )  ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  eeconfig_update_rgb_matrix_default ( void )  {  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -130,7 +126,7 @@ void eeconfig_update_rgb_matrix_default(void) {
 
			
		
	
		
			
				
					  rgb_matrix_config . mode  =  RGB_MATRIX_STARTUP_MODE ; 
 
			
		
	
		
			
				
					  rgb_matrix_config . hsv  =  ( HSV ) {  0 ,   UINT8_MAX ,  RGB_MATRIX_MAXIMUM_BRIGHTNESS  } ; 
 
			
		
	
		
			
				
					  rgb_matrix_config . speed  =  UINT8_MAX  /  2 ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  eeconfig_debug_rgb_matrix ( void )  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -431,12 +427,10 @@ void rgb_matrix_init(void) {
 
			
		
	
		
			
				
					    eeconfig_update_rgb_matrix_default ( ) ; 
 
			
		
	
		
			
				
					  } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  rgb_matrix_config . raw  =  eeconfig_read_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					  rgb_matrix_config . speed  =  UINT8_MAX  /  2 ;  //EECONFIG needs to be increased to support this
 
 
			
		
	
		
			
				
					  eeconfig_read_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					  if  ( ! rgb_matrix_config . mode )  { 
 
			
		
	
		
			
				
					    dprintf ( " rgb_matrix_init_drivers rgb_matrix_config.mode = 0. Write default values to EEPROM. \n " ) ; 
 
			
		
	
		
			
				
					    eeconfig_update_rgb_matrix_default ( ) ; 
 
			
		
	
		
			
				
					    rgb_matrix_config . raw  =  eeconfig_read_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					  } 
 
			
		
	
		
			
				
					  eeconfig_debug_rgb_matrix ( ) ;  // display current eeprom values
 
 
			
		
	
		
			
				
					}  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -448,12 +442,12 @@ void rgb_matrix_set_suspend_state(bool state) {
 
			
		
	
		
			
				
					void  rgb_matrix_toggle ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . enable  ^ =  1 ; 
 
			
		
	
		
			
				
					  rgb_task_state  =  STARTING ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_enable ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_enable_noeeprom ( ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_enable_noeeprom ( void )  {  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -464,7 +458,7 @@ void rgb_matrix_enable_noeeprom(void) {
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_disable ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_disable_noeeprom ( ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_disable_noeeprom ( void )  {  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -478,7 +472,7 @@ void rgb_matrix_step(void) {
 
			
		
	
		
			
				
					  if  ( rgb_matrix_config . mode  > =  RGB_MATRIX_EFFECT_MAX ) 
 
			
		
	
		
			
				
					    rgb_matrix_config . mode  =  1 ; 
 
			
		
	
		
			
				
					  rgb_task_state  =  STARTING ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_step_reverse ( void )  {  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -486,49 +480,49 @@ void rgb_matrix_step_reverse(void) {
 
			
		
	
		
			
				
					  if  ( rgb_matrix_config . mode  <  1 ) 
 
			
		
	
		
			
				
					    rgb_matrix_config . mode  =  RGB_MATRIX_EFFECT_MAX  -  1 ; 
 
			
		
	
		
			
				
					  rgb_task_state  =  STARTING ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_increase_hue ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . hsv . h  + =  RGB_MATRIX_HUE_STEP ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_decrease_hue ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . hsv . h  - =  RGB_MATRIX_HUE_STEP ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_increase_sat ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . hsv . s  =  qadd8 ( rgb_matrix_config . hsv . s ,  RGB_MATRIX_SAT_STEP ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_decrease_sat ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . hsv . s  =  qsub8 ( rgb_matrix_config . hsv . s ,  RGB_MATRIX_SAT_STEP ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_increase_val ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . hsv . v  =  qadd8 ( rgb_matrix_config . hsv . v ,  RGB_MATRIX_VAL_STEP ) ; 
 
			
		
	
		
			
				
					  if  ( rgb_matrix_config . hsv . v  >  RGB_MATRIX_MAXIMUM_BRIGHTNESS ) 
 
			
		
	
		
			
				
					    rgb_matrix_config . hsv . v  =  RGB_MATRIX_MAXIMUM_BRIGHTNESS ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_decrease_val ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . hsv . v  =  qsub8 ( rgb_matrix_config . hsv . v ,  RGB_MATRIX_VAL_STEP ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_increase_speed ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . speed  =  qadd8 ( rgb_matrix_config . speed ,  RGB_MATRIX_SPD_STEP ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; //EECONFIG needs to be increased to support this
 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_decrease_speed ( void )  {  
			
		
	
		
			
				
					  rgb_matrix_config . speed  =  qsub8 ( rgb_matrix_config . speed ,  RGB_MATRIX_SPD_STEP ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; //EECONFIG needs to be increased to support this
 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					led_flags_t  rgb_matrix_get_flags ( void )  {  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -542,7 +536,7 @@ void rgb_matrix_set_flags(led_flags_t flags) {
 
			
		
	
		
			
				
					void  rgb_matrix_mode ( uint8_t  mode )  {  
			
		
	
		
			
				
					  rgb_matrix_config . mode  =  mode ; 
 
			
		
	
		
			
				
					  rgb_task_state  =  STARTING ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_mode_noeeprom ( uint8_t  mode )  {  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -555,7 +549,7 @@ uint8_t rgb_matrix_get_mode(void) {
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_sethsv ( uint16_t  hue ,  uint8_t  sat ,  uint8_t  val )  {  
			
		
	
		
			
				
					  rgb_matrix_sethsv_noeeprom ( hue ,  sat ,  val ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( rgb_matrix_config . raw ) ; 
 
			
		
	
		
			
				
					  eeconfig_update_rgb_matrix ( ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  rgb_matrix_sethsv_noeeprom ( uint16_t  hue ,  uint8_t  sat ,  uint8_t  val )  {