aboutsummaryrefslogtreecommitdiff
path: root/keyboards/wilba_tech/wt_rgb_backlight.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/wilba_tech/wt_rgb_backlight.c')
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c193
1 files changed, 191 insertions, 2 deletions
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index cc34a90c7..a696fe7ed 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -31,6 +31,7 @@
31 defined(RGB_BACKLIGHT_U80_A) || \ 31 defined(RGB_BACKLIGHT_U80_A) || \
32 defined(RGB_BACKLIGHT_DAWN60) || \ 32 defined(RGB_BACKLIGHT_DAWN60) || \
33 defined(RGB_BACKLIGHT_PORTICO) || \ 33 defined(RGB_BACKLIGHT_PORTICO) || \
34 defined(RGB_BACKLIGHT_PORTICO75) || \
34 defined(RGB_BACKLIGHT_WT60_B) || \ 35 defined(RGB_BACKLIGHT_WT60_B) || \
35 defined(RGB_BACKLIGHT_WT60_BX) || \ 36 defined(RGB_BACKLIGHT_WT60_BX) || \
36 defined(RGB_BACKLIGHT_WT60_C) || \ 37 defined(RGB_BACKLIGHT_WT60_C) || \
@@ -89,6 +90,9 @@ LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL];
89#elif defined(RGB_BACKLIGHT_NK87) 90#elif defined(RGB_BACKLIGHT_NK87)
90#include "drivers/led/issi/is31fl3733.h" 91#include "drivers/led/issi/is31fl3733.h"
91#define BACKLIGHT_LED_COUNT 128 92#define BACKLIGHT_LED_COUNT 128
93#elif defined(RGB_BACKLIGHT_PORTICO75)
94#include "drivers/led/issi/is31fl3741.h"
95#define BACKLIGHT_LED_COUNT 98
92#else 96#else
93#include "drivers/led/issi/is31fl3731.h" 97#include "drivers/led/issi/is31fl3731.h"
94#if defined(RGB_BACKLIGHT_U80_A) 98#if defined(RGB_BACKLIGHT_U80_A)
@@ -701,6 +705,135 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
701 { 1, C9_16, C7_15, C6_15 }, 705 { 1, C9_16, C7_15, C6_15 },
702 { 1, C8_16, C7_16, C6_16 } 706 { 1, C8_16, C7_16, C6_16 }
703}; 707};
708
709#elif defined(RGB_BACKLIGHT_PORTICO75)
710// This is a 7-bit address, that gets left-shifted and bit 0
711// set to 0 for write, 1 for read (as per I2C protocol)
712#define ISSI_ADDR_1 0x30
713#define ISSI_ADDR_2
714
715const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
716/* Refer to IS31 manual for these locations
717 * driver
718 * | R location
719 * | | G location
720 * | | | B location
721 * | | | | */
722 {0, CS18_SW1, CS17_SW1, CS16_SW1},
723 {0, CS18_SW2, CS17_SW2, CS16_SW2},
724 {0, CS18_SW3, CS17_SW3, CS16_SW3},
725 {0, CS18_SW4, CS17_SW4, CS16_SW4},
726 {0, CS18_SW5, CS17_SW5, CS16_SW5},
727 {0, CS18_SW6, CS17_SW6, CS16_SW6},
728 {0, CS18_SW7, CS17_SW7, CS16_SW7},
729 {0, CS18_SW8, CS17_SW8, CS16_SW8},
730 {0, CS18_SW9, CS17_SW9, CS16_SW9},
731
732 {0, CS21_SW1, CS20_SW1, CS19_SW1},
733 {0, CS21_SW2, CS20_SW2, CS19_SW2},
734 {0, CS21_SW3, CS20_SW3, CS19_SW3},
735 {0, CS21_SW4, CS20_SW4, CS19_SW4},
736 {0, CS21_SW5, CS20_SW5, CS19_SW5},
737 {0, CS21_SW6, CS20_SW6, CS19_SW6}, //Encoder, NO_LED
738
739 {0, CS15_SW1, CS14_SW1, CS13_SW1},
740 {0, CS15_SW2, CS14_SW2, CS13_SW2},
741 {0, CS15_SW3, CS14_SW3, CS13_SW3},
742 {0, CS15_SW4, CS14_SW4, CS13_SW4},
743 {0, CS15_SW5, CS14_SW5, CS13_SW5},
744 {0, CS15_SW6, CS14_SW6, CS13_SW6},
745 {0, CS15_SW7, CS14_SW7, CS13_SW7},
746 {0, CS15_SW8, CS14_SW8, CS13_SW8},
747 {0, CS15_SW9, CS14_SW9, CS13_SW9},
748
749 {0, CS24_SW1, CS23_SW1, CS22_SW1},
750 {0, CS24_SW2, CS23_SW2, CS22_SW2},
751 {0, CS24_SW3, CS23_SW3, CS22_SW3},
752 {0, CS24_SW4, CS23_SW4, CS22_SW4},
753 {0, CS24_SW5, CS23_SW5, CS22_SW5},
754 {0, CS24_SW6, CS23_SW6, CS22_SW6},
755
756 {0, CS12_SW1, CS11_SW1, CS10_SW1},
757 {0, CS12_SW2, CS11_SW2, CS10_SW2},
758 {0, CS12_SW3, CS11_SW3, CS10_SW3},
759 {0, CS12_SW4, CS11_SW4, CS10_SW4},
760 {0, CS12_SW5, CS11_SW5, CS10_SW5},
761 {0, CS12_SW6, CS11_SW6, CS10_SW6},
762 {0, CS12_SW7, CS11_SW7, CS10_SW7},
763 {0, CS12_SW8, CS11_SW8, CS10_SW8},
764 {0, CS12_SW9, CS11_SW9, CS10_SW9},
765
766 {0, CS27_SW1, CS26_SW1, CS25_SW1},
767 {0, CS27_SW2, CS26_SW2, CS25_SW2},
768 {0, CS27_SW3, CS26_SW3, CS25_SW3},
769 {0, CS27_SW4, CS26_SW4, CS25_SW4},
770 {0, CS27_SW5, CS26_SW5, CS25_SW5},
771 {0, CS27_SW6, CS26_SW6, CS25_SW6},
772
773 {0, CS9_SW1, CS8_SW1, CS7_SW1},
774 {0, CS9_SW2, CS8_SW2, CS7_SW2},
775 {0, CS9_SW3, CS8_SW3, CS7_SW3},
776 {0, CS9_SW4, CS8_SW4, CS7_SW4},
777 {0, CS9_SW5, CS8_SW5, CS7_SW5},
778 {0, CS9_SW6, CS8_SW6, CS7_SW6},
779 {0, CS9_SW7, CS8_SW7, CS7_SW7},
780 {0, CS9_SW8, CS8_SW8, CS7_SW8},
781 {0, CS9_SW9, CS8_SW9, CS7_SW9},
782
783 {0, CS30_SW1, CS29_SW1, CS28_SW1},
784 {0, CS30_SW2, CS29_SW2, CS28_SW2},
785 {0, CS30_SW3, CS29_SW3, CS28_SW3},
786 {0, CS30_SW4, CS29_SW4, CS28_SW4},
787
788 {0, CS6_SW1, CS5_SW1, CS4_SW1},
789 {0, CS6_SW2, CS5_SW2, CS4_SW2},
790 {0, CS6_SW3, CS5_SW3, CS4_SW3},
791 {0, CS6_SW4, CS5_SW4, CS4_SW4},
792 {0, CS6_SW5, CS5_SW5, CS4_SW5},
793 {0, CS6_SW6, CS5_SW6, CS4_SW6},
794 {0, CS6_SW7, CS5_SW7, CS4_SW7},
795 {0, CS6_SW8, CS5_SW8, CS4_SW8},
796 {0, CS6_SW9, CS5_SW9, CS4_SW9},
797
798 {0, CS33_SW1, CS32_SW1, CS31_SW1},
799 {0, CS33_SW2, CS32_SW2, CS31_SW2},
800 {0, CS33_SW3, CS32_SW3, CS31_SW3},
801 {0, CS33_SW4, CS32_SW4, CS31_SW4},
802
803 {0, CS3_SW1, CS2_SW1, CS1_SW1},
804 {0, CS3_SW2, CS2_SW2, CS1_SW2},
805 {0, CS3_SW3, CS2_SW3, CS1_SW3},
806 {0, CS3_SW6, CS2_SW6, CS1_SW6},
807 {0, CS3_SW8, CS2_SW8, CS1_SW8},
808 {0, CS3_SW9, CS2_SW9, CS1_SW9},
809
810 {0, CS36_SW1, CS35_SW1, CS34_SW1},
811 {0, CS36_SW2, CS35_SW2, CS34_SW2},
812 {0, CS36_SW3, CS35_SW3, CS34_SW3},
813
814/*UNDERGLOW*/
815 {0, CS39_SW1, CS38_SW1, CS37_SW1},
816 {0, CS39_SW2, CS38_SW2, CS37_SW2},
817 {0, CS39_SW3, CS38_SW3, CS37_SW3},
818 {0, CS39_SW4, CS38_SW4, CS37_SW4},
819 {0, CS39_SW5, CS38_SW5, CS37_SW5},
820 {0, CS39_SW6, CS38_SW6, CS37_SW6},
821 {0, CS39_SW7, CS38_SW7, CS37_SW7},
822 {0, CS39_SW8, CS38_SW8, CS37_SW8},
823 {0, CS39_SW9, CS38_SW9, CS37_SW9},
824
825 {0, CS36_SW4, CS35_SW4, CS34_SW4},
826 {0, CS36_SW5, CS35_SW5, CS34_SW5},
827 {0, CS36_SW6, CS35_SW6, CS34_SW6},
828 {0, CS36_SW7, CS35_SW7, CS34_SW7},
829 {0, CS36_SW8, CS35_SW8, CS34_SW8},
830 {0, CS36_SW9, CS35_SW9, CS34_SW9},
831
832 {0, CS33_SW5, CS32_SW5, CS31_SW5},
833 {0, CS33_SW6, CS32_SW6, CS31_SW6},
834 {0, CS33_SW7, CS32_SW7, CS31_SW7}
835};
836
704#elif defined(RGB_BACKLIGHT_M6_B) 837#elif defined(RGB_BACKLIGHT_M6_B)
705 // Driver has fixed mapping of index to the red, green and blue LEDs 838 // Driver has fixed mapping of index to the red, green and blue LEDs
706#elif defined(RGB_BACKLIGHT_M10_C) 839#elif defined(RGB_BACKLIGHT_M10_C)
@@ -865,7 +998,7 @@ const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
865 {112,64}, {100,48}, {84,48}, {68,48}, {52,48}, {36,48}, {64,60}, {44,60}, {24,64}, 998 {112,64}, {100,48}, {84,48}, {68,48}, {52,48}, {36,48}, {64,60}, {44,60}, {24,64},
866 {108,32}, {92,32}, {76,32}, {60,32}, {44,32}, {28,32}, {255,255}, {10,48}, {4,64}, 999 {108,32}, {92,32}, {76,32}, {60,32}, {44,32}, {28,32}, {255,255}, {10,48}, {4,64},
867 // LD0..LD1762 1000 // LD0..LD1762
868 1001
869 {124,32}, {140,32}, {156,32}, {172,32}, {188,32}, {214,32}, {180,48}, {202,48}, {224,48}, 1002 {124,32}, {140,32}, {156,32}, {172,32}, {188,32}, {214,32}, {180,48}, {202,48}, {224,48},
870 {116,48}, {132,48}, {148,48}, {164,48}, {255,255}, {160,60}, {180,64}, {208,64}, {255,255} 1003 {116,48}, {132,48}, {148,48}, {164,48}, {255,255}, {160,60}, {180,64}, {208,64}, {255,255}
871}; 1004};
@@ -1260,6 +1393,25 @@ const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = {
1260 { 121, 215 }, { 119, 164 }, { 117, 134 }, { 114, 104 }, { 109, 76 }, { 98, 50 }, { 71, 34 }, { 37, 41 }, { 22, 65 }, { 15, 93 }, { 11, 122 }, { 8, 162 }, { 7, 205 }, { 6, 233 }, 1393 { 121, 215 }, { 119, 164 }, { 117, 134 }, { 114, 104 }, { 109, 76 }, { 98, 50 }, { 71, 34 }, { 37, 41 }, { 22, 65 }, { 15, 93 }, { 11, 122 }, { 8, 162 }, { 7, 205 }, { 6, 233 },
1261 { 116, 236 }, { 113, 199 }, { 110, 164 }, { 82, 74 }, { 27, 106 }, { 20, 138 }, { 15, 183 }, { 13, 212 }, { 11, 240 } 1394 { 116, 236 }, { 113, 199 }, { 110, 164 }, { 82, 74 }, { 27, 106 }, { 20, 138 }, { 15, 183 }, { 13, 212 }, { 11, 240 }
1262}; 1395};
1396#elif defined(RGB_BACKLIGHT_PORTICO75)
1397const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
1398 { 0, 0 }, { 18, 0 }, { 33, 0 }, { 48, 0 }, { 62, 0 }, { 81, 0 }, { 96, 0 }, { 110, 0 }, { 125, 0 }, { 143, 0 }, { 158, 0 }, { 173, 0 }, { 187, 0 }, { 205, 0 }, { 224, 0 },
1399 { 0, 15 }, { 15, 15 }, { 29, 15 }, { 44, 15 }, { 59, 15 }, { 74, 15 }, { 88, 15 }, { 103, 15 }, { 118, 15 }, { 132, 15 }, { 147, 15 }, { 162, 15 }, { 176, 15 }, { 198, 15 }, { 224, 15 },
1400 { 4, 26 }, { 22, 26 }, { 37, 26 }, { 51, 26 }, { 66, 26 }, { 81, 26 }, { 96, 26 }, { 110, 26 }, { 125, 26 }, { 140, 26 }, { 154, 26 }, { 169, 26 }, { 183, 26 }, { 202, 26 }, { 224, 26 },
1401 { 5, 38 }, { 25, 38 }, { 40, 38 }, { 54, 38 }, { 69, 38 }, { 84, 38 }, { 98, 38 }, { 113, 38 }, { 128, 38 }, { 143, 38 }, { 157, 38 }, { 172, 38 }, { 197, 38 },
1402 { 9, 49 }, { 33, 49 }, { 48, 49 }, { 62, 49 }, { 77, 49 }, { 92, 49 }, { 107, 49 }, { 121, 49 }, { 136, 49 }, { 151, 49 }, { 165, 49 }, { 186, 49 }, { 209, 49 },
1403 { 2, 61 }, { 20, 61 }, { 39, 61 }, { 94, 61 }, { 151, 61 }, { 173, 61 }, { 195, 64 }, { 209, 64 }, { 224, 64 },
1404 { 2, 0 }, { 46, 0 }, { 90, 0 }, { 134, 0 }, { 178, 0 }, { 222, 0 }, { 224, 2 }, { 224, 32 }, { 224, 62 }, { 2, 64 }, { 46, 64 }, { 90, 64 }, { 134, 64 }, { 178, 64 }, { 222, 64 }, { 0, 2 }, { 0, 32 }, { 0, 62 }
1405};
1406const Point g_map_led_to_point_polar[BACKLIGHT_LED_COUNT] PROGMEM = {
1407 { 138, 240 }, { 140, 205 }, { 143, 176 }, { 146, 147 }, { 150, 122 }, { 159, 92 }, { 172, 74 }, { 188, 66 }, { 206, 71 }, { 222, 92 }, { 229, 115 }, { 234, 142 }, { 238, 168 }, { 241, 203 }, { 243, 240 },
1408 { 133, 233 }, { 134, 203 }, { 135, 175 }, { 137, 144 }, { 140, 115 }, { 144, 86 }, { 152, 61 }, { 171, 40 }, { 204, 37 }, { 226, 54 }, { 236, 80 }, { 241, 109 }, { 244, 136 }, { 246, 181 }, { 248, 233 },
1409 { 129, 223 }, { 130, 186 }, { 130, 155 }, { 131, 126 }, { 132, 96 }, { 135, 65 }, { 142, 35 }, { 177, 13 }, { 237, 30 }, { 245, 59 }, { 248, 87 }, { 250, 118 }, { 251, 147 }, { 251, 186 }, { 252, 231 },
1410 { 125, 221 }, { 124, 180 }, { 124, 149 }, { 123, 120 }, { 121, 89 }, { 118, 59 }, { 111, 31 }, { 57, 13 }, { 15, 35 }, { 8, 65 }, { 5, 94 }, { 4, 124 }, { 3, 176 },
1411 { 120, 215 }, { 118, 166 }, { 117, 136 }, { 114, 109 }, { 109, 80 }, { 99, 54 }, { 75, 37 }, { 44, 40 }, { 25, 61 }, { 17, 88 }, { 13, 115 }, { 9, 156 }, { 7, 203 },
1412 { 117, 234 }, { 115, 199 }, { 112, 162 }, { 86, 70 }, { 26, 100 }, { 18, 139 }, { 15, 183 }, { 13, 210 }, { 11, 240 },
1413 { 138, 236 }, { 145, 151 }, { 166, 80 }, { 215, 80 }, { 236, 151 }, { 243, 236 }, { 243, 239 }, { 0, 231 }, { 11, 239 }, { 116, 236 }, { 109, 151 }, { 88, 80 }, { 39, 80 }, { 18, 151 }, { 11, 236 }, { 138, 239 }, { 127, 231 }, { 116, 239 }
1414};
1263#elif defined(RGB_BACKLIGHT_M50_A) 1415#elif defined(RGB_BACKLIGHT_M50_A)
1264const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = { 1416const Point g_map_led_to_point[BACKLIGHT_LED_COUNT] PROGMEM = {
1265 // LA0..LA17 1417 // LA0..LA17
@@ -1303,7 +1455,7 @@ void map_led_to_point( uint8_t index, Point *point )
1303 point->y = pgm_read_byte(addr+1); 1455 point->y = pgm_read_byte(addr+1);
1304 1456
1305#if defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_M10_C) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_PORTICO) || \ 1457#if defined(RGB_BACKLIGHT_M6_B) || defined(RGB_BACKLIGHT_M10_C) || defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_PORTICO) || \
1306 defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NEBULA12) || defined(RGB_BACKLIGHT_KW_MEGA) 1458 defined(RGB_BACKLIGHT_PORTICO75) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NEBULA12) || defined(RGB_BACKLIGHT_KW_MEGA)
1307 return; 1459 return;
1308#endif 1460#endif
1309 1461
@@ -1586,6 +1738,15 @@ const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
1586 { 44, 255, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, 1738 { 44, 255, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
1587 { 58, 59, 60, 255, 255, 255, 61, 255, 255, 255, 62, 63, 64, 65, 66 } 1739 { 58, 59, 60, 255, 255, 255, 61, 255, 255, 255, 62, 63, 64, 65, 66 }
1588}; 1740};
1741#elif defined(RGB_BACKLIGHT_PORTICO75)
1742const uint8_t g_map_row_column_to_led[MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
1743 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
1744 { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
1745 { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 },
1746 { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 255, 255 },
1747 { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 255, 255 },
1748 { 71, 72, 73, 255, 255, 74, 255, 255, 255, 75, 76, 77, 78, 79, 255 }
1749};
1589#elif defined(RGB_BACKLIGHT_M50_A) 1750#elif defined(RGB_BACKLIGHT_M50_A)
1590// LA15, LA14, LA13, LA12, LA11, LA10, LA9, LB1, LB2, LB3, LB4, LB5, LB6 1751// LA15, LA14, LA13, LA12, LA11, LA10, LA9, LB1, LB2, LB3, LB4, LB5, LB6
1591// LA16, LA6, LA5, LA4, LA3, LA2, LA1, LB9, LB10, LB11, LB12, LB13, LB14 1752// LA16, LA6, LA5, LA4, LA3, LA2, LA1, LB9, LB10, LB11, LB12, LB13, LB14
@@ -1612,6 +1773,9 @@ void backlight_update_pwm_buffers(void)
1612{ 1773{
1613#if defined(RGB_BACKLIGHT_M6_B) 1774#if defined(RGB_BACKLIGHT_M6_B)
1614 IS31FL3218_update_pwm_buffers(); 1775 IS31FL3218_update_pwm_buffers();
1776#elif defined(RGB_BACKLIGHT_PORTICO75)
1777 IS31FL3741_update_pwm_buffers( ISSI_ADDR_1, 0 );
1778 IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 );
1615#elif defined(RGB_BACKLIGHT_M10_C) 1779#elif defined(RGB_BACKLIGHT_M10_C)
1616 IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1780 IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 );
1617 IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); 1781 IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 );
@@ -1660,6 +1824,8 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
1660 IS31FL3733_set_color( index, red, green, blue ); 1824 IS31FL3733_set_color( index, red, green, blue );
1661#elif defined (RGB_BACKLIGHT_PORTICO) 1825#elif defined (RGB_BACKLIGHT_PORTICO)
1662 IS31FL3731_set_color( index, red, green, blue ); 1826 IS31FL3731_set_color( index, red, green, blue );
1827#elif defined (RGB_BACKLIGHT_PORTICO75)
1828 IS31FL3741_set_color( index, red, green, blue );
1663#elif defined(RGB_BACKLIGHT_NK87) 1829#elif defined(RGB_BACKLIGHT_NK87)
1664 // This is done to avoid indicator LEDs being set 1830 // This is done to avoid indicator LEDs being set
1665 if (( index != 63+64-1 ) && ( index != 48+64-1 )) { 1831 if (( index != 63+64-1 ) && ( index != 48+64-1 )) {
@@ -1693,6 +1859,11 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue )
1693 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { 1859 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
1694 IS31FL3731_set_color(i, red, green, blue); 1860 IS31FL3731_set_color(i, red, green, blue);
1695 } 1861 }
1862#elif defined (RGB_BACKLIGHT_PORTICO75)
1863 // This is done to avoid indicator LEDs being set
1864 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
1865 IS31FL3741_set_color(i, red, green, blue);
1866 }
1696#elif defined(RGB_BACKLIGHT_NK87) 1867#elif defined(RGB_BACKLIGHT_NK87)
1697 // This is done to avoid indicator LEDs being set 1868 // This is done to avoid indicator LEDs being set
1698 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { 1869 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
@@ -1933,6 +2104,15 @@ void backlight_effect_alphas_mods(void)
1933 { 2104 {
1934 is_alpha = ( column < 16 ) && (( g_config.alphas_mods[row-1] & (1<<column) ) == 0); 2105 is_alpha = ( column < 16 ) && (( g_config.alphas_mods[row-1] & (1<<column) ) == 0);
1935 } 2106 }
2107#elif defined(RGB_BACKLIGHT_PORTICO75)
2108 if ( row == 0 )
2109 {
2110 is_alpha = ( ( 0b11100000111100001 & (1<<column) ) == 0);
2111 }
2112 else
2113 {
2114 is_alpha = ( column < 16 ) && (( g_config.alphas_mods[row-1] & (1<<column) ) == 0);
2115 }
1936#else 2116#else
1937 is_alpha = ( g_config.alphas_mods[row] & (1<<column) ) == 0; 2117 is_alpha = ( g_config.alphas_mods[row] & (1<<column) ) == 0;
1938#endif 2118#endif
@@ -2824,6 +3004,15 @@ void backlight_init_drivers(void)
2824 // This actually updates the LED drivers 3004 // This actually updates the LED drivers
2825 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 3005 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 );
2826 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); 3006 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 );
3007#elif defined(RGB_BACKLIGHT_PORTICO75)
3008 IS31FL3741_init( ISSI_ADDR_1 );
3009 bool enabled = true;
3010 for ( int index = 0; index < DRIVER_LED_TOTAL; index++ )
3011 {
3012 IS31FL3741_set_led_control_register( index, enabled, enabled, enabled );
3013 }
3014 // This actually updates the LED drivers
3015 IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 );
2827#elif defined(RGB_BACKLIGHT_KW_MEGA) 3016#elif defined(RGB_BACKLIGHT_KW_MEGA)
2828 IS31FL3733_init( ISSI_ADDR_1, 0 ); 3017 IS31FL3733_init( ISSI_ADDR_1, 0 );
2829 IS31FL3733_init( ISSI_ADDR_2, 0 ); 3018 IS31FL3733_init( ISSI_ADDR_2, 0 );