|
|
|
@ -26,7 +26,7 @@
|
|
|
|
|
defined(RGB_BACKLIGHT_NK65) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_NK87) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_NEBULA12) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_NEBULA65) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_NEBULA68) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_U80_A) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_DAWN60) || \
|
|
|
|
|
defined(RGB_BACKLIGHT_WT60_B) || \
|
|
|
|
@ -50,7 +50,7 @@
|
|
|
|
|
#include "wt_rgb_backlight_api.h"
|
|
|
|
|
#include "wt_rgb_backlight_keycodes.h"
|
|
|
|
|
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NK87) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NK87) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12)
|
|
|
|
|
#include <avr/interrupt.h>
|
|
|
|
|
#include "drivers/avr/i2c_master.h"
|
|
|
|
|
#else
|
|
|
|
@ -81,7 +81,7 @@ LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL];
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_HS60)
|
|
|
|
|
#include "drivers/issi/is31fl3733.h"
|
|
|
|
|
#define BACKLIGHT_LED_COUNT 64
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA65)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68)
|
|
|
|
|
#include "drivers/issi/is31fl3733.h"
|
|
|
|
|
#define BACKLIGHT_LED_COUNT 69
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK87)
|
|
|
|
@ -227,7 +227,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
|
|
|
|
{0, K_16, J_16, L_16}, //LA64
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA65) || defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
|
|
|
|
|
// This is a 7-bit address, that gets left-shifted and bit 0
|
|
|
|
|
// set to 0 for write, 1 for read (as per I2C protocol)
|
|
|
|
@ -1061,7 +1061,7 @@ const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = {
|
|
|
|
|
{255,255}, {255,255}, {255,255}, {255,255},
|
|
|
|
|
{200,196}, {192,192}, {184,196}, {213,74}
|
|
|
|
|
};
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NEBULA65)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NEBULA68)
|
|
|
|
|
const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
|
|
|
|
|
// LA1..LA60
|
|
|
|
|
{0,0}, {4,16}, {6,31}, {10,47}, {16,0}, {24,16}, {27,31}, {35,47}, {31,0}, {39,16}, {43,31}, {51,47},
|
|
|
|
@ -1158,7 +1158,7 @@ const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = {
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_M50_A)
|
|
|
|
|
const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
|
|
|
|
|
// LA0..LA17
|
|
|
|
|
{255,255}, {104,16}, {88,16}, {72,16}, {56,16}, {40,16}, {24,16}, {255,255}, {255,255},
|
|
|
|
|
{255,255}, {104,16}, {88,16}, {72,16}, {56,16}, {40,16}, {24,16}, {255,255}, {255,255},
|
|
|
|
|
{104,0}, {88,0}, {72,0}, {56,0}, {40,0}, {24,0}, {0,0}, {0,16}, {255,255},
|
|
|
|
|
// LB0..LB17
|
|
|
|
|
{255,255}, {120,0}, {136,0}, {152,0}, {168,0}, {184,0}, {200,0}, {255,255}, {255,255},
|
|
|
|
@ -1197,7 +1197,7 @@ void map_led_to_point( uint8_t index, Point *point )
|
|
|
|
|
point->x = pgm_read_byte(addr);
|
|
|
|
|
point->y = pgm_read_byte(addr+1);
|
|
|
|
|
|
|
|
|
|
#if defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_M10_C) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_NEBULA65) || defined(RGB_BACKLIGHT_NEBULA12)
|
|
|
|
|
#if defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_M10_C) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NEBULA12)
|
|
|
|
|
return;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
@ -1400,7 +1400,7 @@ const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
|
|
|
|
|
{ 4-1, 48-1, 8-1, 12-1, 16-1, 20-1, 24-1, 28-1, 32-1, 36-1, 40-1, 44-1, 255, 52-1 },
|
|
|
|
|
{ 57-1, 58-1, 59-1, 255, 255, 255, 60-1, 255, 255, 255, 62-1, 63-1, 64-1, 56-1 }
|
|
|
|
|
};
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA65)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68)
|
|
|
|
|
//
|
|
|
|
|
// LA1, LA5, LA9, LA13, LA17, LA21, LA25, LA29, LA33, LA37, LA41, LA45, LA49, LA53, LB1,
|
|
|
|
|
// LA2, LA6, LA10, LA14, LA18, LA22, LA26, LA30, LA34, LA38, LA42, LA46, LA50, ---, LB2,
|
|
|
|
@ -1504,7 +1504,7 @@ void backlight_update_pwm_buffers(void)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_HS60)
|
|
|
|
|
IS31FL3733_update_pwm_buffers( ISSI_ADDR_1, 0 );
|
|
|
|
|
IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 );
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA65) || defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
IS31FL3733_update_pwm_buffers( ISSI_ADDR_1, 0 );
|
|
|
|
|
IS31FL3733_update_pwm_buffers( ISSI_ADDR_2, 1 );
|
|
|
|
|
IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 );
|
|
|
|
@ -1542,7 +1542,7 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
|
|
|
|
|
{
|
|
|
|
|
#if defined(RGB_BACKLIGHT_M6_B)
|
|
|
|
|
IS31FL3218_set_color( index, red, green, blue );
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA65)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68)
|
|
|
|
|
IS31FL3733_set_color( index, red, green, blue );
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
// This is done to avoid indicator LEDs being set
|
|
|
|
@ -1567,7 +1567,7 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue )
|
|
|
|
|
{
|
|
|
|
|
#if defined(RGB_BACKLIGHT_M6_B)
|
|
|
|
|
IS31FL3218_set_color_all( red, green, blue );
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA65)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68)
|
|
|
|
|
// This is done to avoid indicator LEDs being set
|
|
|
|
|
for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
|
|
|
|
|
IS31FL3733_set_color(i, red, green, blue);
|
|
|
|
@ -1601,7 +1601,7 @@ void backlight_set_key_hit(uint8_t row, uint8_t column)
|
|
|
|
|
g_any_key_hit = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
// This is (F_CPU/1024) / 20 Hz
|
|
|
|
|
// = 15625 Hz / 20 Hz
|
|
|
|
|
// = 781
|
|
|
|
@ -1681,7 +1681,7 @@ void backlight_timer_disable(void)
|
|
|
|
|
{
|
|
|
|
|
gptStopTimer(&GPTD4);
|
|
|
|
|
}
|
|
|
|
|
#endif //!defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#endif //!defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
|
|
|
|
|
void backlight_set_suspend_state(bool state)
|
|
|
|
|
{
|
|
|
|
@ -1927,7 +1927,7 @@ void backlight_effect_cycle_all(void)
|
|
|
|
|
for ( int i=0; i<BACKLIGHT_LED_COUNT; i++ )
|
|
|
|
|
{
|
|
|
|
|
uint16_t offset2 = g_key_hit[i]<<2;
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
// stabilizer LEDs use spacebar hits
|
|
|
|
|
if ( i == 36+6 || i == 54+13 || // LC6, LD13
|
|
|
|
|
( g_config.use_7u_spacebar && i == 54+14 ) ) // LD14
|
|
|
|
@ -1952,7 +1952,7 @@ void backlight_effect_cycle_left_right(void)
|
|
|
|
|
for ( int i=0; i<BACKLIGHT_LED_COUNT; i++ )
|
|
|
|
|
{
|
|
|
|
|
uint16_t offset2 = g_key_hit[i]<<2;
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
// stabilizer LEDs use spacebar hits
|
|
|
|
|
if ( i == 36+6 || i == 54+13 || // LC6, LD13
|
|
|
|
|
( g_config.use_7u_spacebar && i == 54+14 ) ) // LD14
|
|
|
|
@ -1979,7 +1979,7 @@ void backlight_effect_cycle_up_down(void)
|
|
|
|
|
for ( int i=0; i<BACKLIGHT_LED_COUNT; i++ )
|
|
|
|
|
{
|
|
|
|
|
uint16_t offset2 = g_key_hit[i]<<2;
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_DAWN60) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
// stabilizer LEDs use spacebar hits
|
|
|
|
|
if ( i == 36+6 || i == 54+13 || // LC6, LD13
|
|
|
|
|
( g_config.use_7u_spacebar && i == 54+14 ) ) // LD14
|
|
|
|
@ -2100,7 +2100,7 @@ void backlight_effect_indicators_set_colors( uint8_t index, HS color )
|
|
|
|
|
// do the same for the spacebar stabilizers
|
|
|
|
|
if ( index == 36+0 ) // LC0
|
|
|
|
|
{
|
|
|
|
|
#if defined(RGB_BACKLIGHT_ZEAL65)
|
|
|
|
|
#if defined(RGB_BACKLIGHT_ZEAL65)
|
|
|
|
|
backlight_set_color( 36+7, rgb.r, rgb.g, rgb.b ); // LC7
|
|
|
|
|
backlight_set_color( 54+14, rgb.r, rgb.g, rgb.b ); // LD14
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_KOYU) || defined(RGB_BACKLIGHT_M65_B) || defined(RGB_BACKLIGHT_M65_BX)
|
|
|
|
@ -2160,7 +2160,7 @@ void backlight_effect_indicators(void)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NEBULA65) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_HS60) && !defined(RGB_BACKLIGHT_NK65) && !defined(RGB_BACKLIGHT_NEBULA68) && !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_NK87)
|
|
|
|
|
ISR(TIMER3_COMPA_vect)
|
|
|
|
|
#else //STM32 interrupt
|
|
|
|
|
static void gpt_backlight_timer_task(GPTDriver *gptp)
|
|
|
|
@ -2687,7 +2687,7 @@ void backlight_init_drivers(void)
|
|
|
|
|
// This actually updates the LED drivers
|
|
|
|
|
IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 );
|
|
|
|
|
IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 );
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NEBULA65)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_NEBULA68)
|
|
|
|
|
IS31FL3733_init( ISSI_ADDR_1, 0 );
|
|
|
|
|
IS31FL3733_init( ISSI_ADDR_2, 0 );
|
|
|
|
|
|
|
|
|
@ -2808,30 +2808,30 @@ void backlight_init_drivers(void)
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_M50_A)
|
|
|
|
|
bool enabled = !(
|
|
|
|
|
// LA0, LA7, LA8, LA17
|
|
|
|
|
( index == 0+0 ) ||
|
|
|
|
|
( index == 0+7 ) ||
|
|
|
|
|
( index == 0+8 ) ||
|
|
|
|
|
( index == 0+17 ) ||
|
|
|
|
|
( index == 0+0 ) ||
|
|
|
|
|
( index == 0+7 ) ||
|
|
|
|
|
( index == 0+8 ) ||
|
|
|
|
|
( index == 0+17 ) ||
|
|
|
|
|
|
|
|
|
|
// LB0, LB7, LB8, LB15, LB16, LB17,
|
|
|
|
|
( index == 18+0 ) ||
|
|
|
|
|
( index == 18+7 ) ||
|
|
|
|
|
( index == 18+8 ) ||
|
|
|
|
|
( index == 18+15 ) ||
|
|
|
|
|
( index == 18+16 ) ||
|
|
|
|
|
( index == 18+17 ) ||
|
|
|
|
|
( index == 18+0 ) ||
|
|
|
|
|
( index == 18+7 ) ||
|
|
|
|
|
( index == 18+8 ) ||
|
|
|
|
|
( index == 18+15 ) ||
|
|
|
|
|
( index == 18+16 ) ||
|
|
|
|
|
( index == 18+17 ) ||
|
|
|
|
|
// LC0, LC8, LC16, LC17
|
|
|
|
|
( index == 36+0 ) ||
|
|
|
|
|
( index == 36+8 ) ||
|
|
|
|
|
( index == 36+16 ) ||
|
|
|
|
|
( index == 36+17 ) ||
|
|
|
|
|
( index == 36+0 ) ||
|
|
|
|
|
( index == 36+8 ) ||
|
|
|
|
|
( index == 36+16 ) ||
|
|
|
|
|
( index == 36+17 ) ||
|
|
|
|
|
// LD0, LD7, LD8, LD9, LD15, LD16, LD17
|
|
|
|
|
( index == 54+0 ) ||
|
|
|
|
|
( index == 54+7 ) ||
|
|
|
|
|
( index == 54+8 ) ||
|
|
|
|
|
( index == 54+9 ) ||
|
|
|
|
|
( index == 54+15 ) ||
|
|
|
|
|
( index == 54+16 ) ||
|
|
|
|
|
( index == 54+0 ) ||
|
|
|
|
|
( index == 54+7 ) ||
|
|
|
|
|
( index == 54+8 ) ||
|
|
|
|
|
( index == 54+9 ) ||
|
|
|
|
|
( index == 54+15 ) ||
|
|
|
|
|
( index == 54+16 ) ||
|
|
|
|
|
( index == 54+17 ) );
|
|
|
|
|
#elif defined(RGB_BACKLIGHT_M10_C)
|
|
|
|
|
bool enabled = true;
|
|
|
|
@ -2845,7 +2845,7 @@ void backlight_init_drivers(void)
|
|
|
|
|
#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C)
|
|
|
|
|
IS31FL3731_update_led_control_registers( ISSI_ADDR_2, 1 );
|
|
|
|
|
#endif
|
|
|
|
|
#if defined(RGB_BACKLIGHT_U80_A)
|
|
|
|
|
#if defined(RGB_BACKLIGHT_U80_A)
|
|
|
|
|
IS31FL3731_update_led_control_registers( ISSI_ADDR_3, 2 );
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|