config.h (1466B)
1 /* Copyright 2022 @ Keychron(https://www.keychron.com) 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 17 #pragma once 18 19 /* Key matrix pins */ 20 #define MATRIX_ROW_PINS \ 21 { B5, B4, B3, A15, A14, A13 } 22 #define MATRIX_COL_PINS \ 23 { A10, A9, A8, B1, B0, A7, A6, A5, A4, A3, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } 24 25 /* COL2ROW or ROW2COL */ 26 #define DIODE_DIRECTION ROW2COL 27 28 /* RGB Matrix Driver Configuration */ 29 #define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO 30 #define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND 31 32 /* Increase I2C speed to 1000 KHz */ 33 #define I2C1_TIMINGR_PRESC 0U 34 #define I2C1_TIMINGR_SCLDEL 3U 35 #define I2C1_TIMINGR_SDADEL 0U 36 #define I2C1_TIMINGR_SCLH 15U 37 #define I2C1_TIMINGR_SCLL 51U 38 39 #define SNLED27351_CURRENT_TUNE \ 40 { 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56 }