orbweaver.c (1963B)
1 // Copyright 2023 a_marmot 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU General Public License as published by 5 // the Free Software Foundation, either version 2 of the License, or 6 // (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with this program. If not, see <http://www.gnu.org/licenses/>. 15 // 16 // SPDX-License-Identifier: GPL-2.0-or-later 17 18 // This IS31FL3731 configuration is for a Razer Orbweaver Chroma. 19 // It was reverse-engineered by testing all possible Cx_y combinations (144 total), 20 // and determining which ones addressed individual diodes (60 total). These were then 21 // placed in order R-G-B, sweeping left to right, and then top to bottom. 22 23 #include "rgb_matrix.h" 24 25 const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { 26 /* Refer to IS31 manual for these locations 27 * driver 28 * | R location 29 * | | G location 30 * | | | B location 31 * | | | | */ 32 {0, C9_1, C8_1, C7_1}, //top left key. 33 {0, C9_2, C8_2, C7_2}, 34 {0, C9_3, C8_3, C7_3}, 35 {0, C9_4, C8_4, C7_4}, 36 {0, C9_5, C8_5, C7_5}, //top right key. 37 {0, C9_6, C8_6, C7_6}, 38 {0, C9_7, C8_7, C6_6}, 39 {0, C9_8, C7_7, C6_7}, 40 {0, C1_8, C2_8, C3_8}, 41 {0, C1_7, C2_7, C3_7}, 42 {0, C1_6, C2_6, C3_6}, 43 {0, C1_5, C2_5, C3_5}, 44 {0, C1_4, C2_4, C3_4}, 45 {0, C1_3, C2_3, C3_3}, 46 {0, C1_2, C2_2, C4_3}, 47 {0, C1_1, C3_2, C4_2}, //lower left key 48 {0, C9_9, C8_9, C7_9}, 49 {0, C9_10, C8_10, C7_10}, 50 {0, C9_11, C8_11, C7_11}, 51 {0, C9_12, C8_12, C7_12} //lower right key 52 53 };