rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part 2) (#5783)
* Initial conversion of the rgb_led struct * Converting last keyboard & updating effects to take advantage of the new structure * New struct should not be const * Updated docs * Changing define ___ for no led to NO_LED * Missed converting some keymap usages of the old struct layout
This commit is contained in:
		
							parent
							
								
									c7f8548d9a
								
							
						
					
					
						commit
						af89752bff
					
				
					 51 changed files with 751 additions and 1640 deletions
				
			
		| 
						 | 
				
			
			@ -19,24 +19,19 @@
 | 
			
		|||
#include "haptic.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#include "rgblight.h"
 | 
			
		||||
#include "rgb_matrix.h"
 | 
			
		||||
 | 
			
		||||
rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
 | 
			
		||||
  /*{row | col << 4}
 | 
			
		||||
    |             {x=0..224, y=0..64}
 | 
			
		||||
    |              |         modifier
 | 
			
		||||
    |              |         | */
 | 
			
		||||
  {{1|(13<<4)},   {195, 3},  4},
 | 
			
		||||
  {{4|(13<<4)},   {195, 16}, 4},
 | 
			
		||||
  {{4|(10<<4)},   {150, 16}, 4},
 | 
			
		||||
  {{4|(7<<4)},    {105, 16}, 4},
 | 
			
		||||
  {{4|(4<<4)},    {60,  16}, 4},
 | 
			
		||||
  {{4|(1<<4)},    {15,  16}, 4},
 | 
			
		||||
  {{1|(1<<4)},    {15,  3},  4},
 | 
			
		||||
  {{1|(4<<4)},    {60,  3},  4},
 | 
			
		||||
  {{1|(7<<4)},    {105, 3},  4},
 | 
			
		||||
  {{1|(10<<4)},   {150, 3},  4}
 | 
			
		||||
};
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
 | 
			
		||||
    { NO_LED,   6, NO_LED, NO_LED,   7, NO_LED, NO_LED,   8, NO_LED, NO_LED,   9, NO_LED, NO_LED,   0, NO_LED },
 | 
			
		||||
    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
 | 
			
		||||
    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
 | 
			
		||||
    { NO_LED,   5, NO_LED, NO_LED,   4, NO_LED, NO_LED,   3, NO_LED, NO_LED,   2, NO_LED, NO_LED,   1, NO_LED }
 | 
			
		||||
}, {
 | 
			
		||||
    { 195,   3 }, { 195,  16 }, { 150,  16 }, { 105,  16 }, {  60,  16 }, {  15,  16 }, {  15,   3 }, {  60,   3 }, { 105,   3 }, { 150,   3 }
 | 
			
		||||
}, {
 | 
			
		||||
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4
 | 
			
		||||
} };
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -53,12 +48,12 @@ uint16_t counterst = 0;
 | 
			
		|||
#define ScreenOffInterval 60000 /* milliseconds */
 | 
			
		||||
static uint16_t last_flush;
 | 
			
		||||
 | 
			
		||||
volatile uint8_t led_numlock = false; 
 | 
			
		||||
volatile uint8_t  led_capslock = false; 
 | 
			
		||||
volatile uint8_t led_numlock = false;
 | 
			
		||||
volatile uint8_t  led_capslock = false;
 | 
			
		||||
volatile uint8_t  led_scrolllock = false;
 | 
			
		||||
 | 
			
		||||
static uint8_t layer;
 | 
			
		||||
static bool queue_for_send = false; 
 | 
			
		||||
static bool queue_for_send = false;
 | 
			
		||||
static uint8_t encoder_value = 32;
 | 
			
		||||
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +64,7 @@ void draw_ui(void) {
 | 
			
		|||
 | 
			
		||||
/* Layer indicator is 41 x 10 pixels */
 | 
			
		||||
#define LAYER_INDICATOR_X 5
 | 
			
		||||
#define LAYER_INDICATOR_Y 0 
 | 
			
		||||
#define LAYER_INDICATOR_Y 0
 | 
			
		||||
 | 
			
		||||
  draw_string(LAYER_INDICATOR_X + 1, LAYER_INDICATOR_Y + 2, "LAYER", PIXEL_ON, NORM, 0);
 | 
			
		||||
  draw_rect_filled_soft(LAYER_INDICATOR_X + 32, LAYER_INDICATOR_Y + 1, 9, 9, PIXEL_ON, NORM);
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +78,7 @@ void draw_ui(void) {
 | 
			
		|||
    for (uint8_t y = 0; y < MATRIX_COLS; y++) {
 | 
			
		||||
      draw_pixel(MATRIX_DISPLAY_X + y + 2, MATRIX_DISPLAY_Y + x + 2,(matrix_get_row(x) & (1 << y)) > 0, NORM);
 | 
			
		||||
    }
 | 
			
		||||
  } 
 | 
			
		||||
  }
 | 
			
		||||
  draw_rect_soft(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y, 19, 9, PIXEL_ON, NORM);
 | 
			
		||||
  /* hadron oled location on thumbnail */
 | 
			
		||||
  draw_rect_filled_soft(MATRIX_DISPLAY_X + 14, MATRIX_DISPLAY_Y + 2, 3, 1, PIXEL_ON, NORM);
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +157,7 @@ void read_host_led_state(void) {
 | 
			
		|||
    if (led_capslock == false){
 | 
			
		||||
    led_capslock = true;}
 | 
			
		||||
    } else {
 | 
			
		||||
    if (led_capslock == true){  
 | 
			
		||||
    if (led_capslock == true){
 | 
			
		||||
    led_capslock = false;}
 | 
			
		||||
    }
 | 
			
		||||
  if (leds & (1 << USB_LED_SCROLL_LOCK)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -197,7 +192,7 @@ void matrix_init_kb(void) {
 | 
			
		|||
  queue_for_send = true;
 | 
			
		||||
	matrix_init_user();
 | 
			
		||||
}
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
void matrix_scan_kb(void) {
 | 
			
		||||
if (queue_for_send) {
 | 
			
		||||
#ifdef QWIIC_MICRO_OLED_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue