config.h (1710B)
1 /* Copyright 2023 @ 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 { B5, B4, B3, A15, A14, A13 } 21 #define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } 22 23 /* Pin connected to DS of 74HC595 */ 24 #define DATA_PIN_74HC595 A7 25 /* Pin connected to SH_CP of 74HC595 */ 26 #define CLOCK_PIN_74HC595 B1 27 /* Pin connected to ST_CP of 74HC595 */ 28 #define LATCH_PIN_74HC595 B0 29 30 /* COL2ROW or ROW2COL */ 31 #define DIODE_DIRECTION ROW2COL 32 33 /* RGB Matrix Driver Configuration */ 34 #define SNLED27351_I2C_ADDRESS_1 SNLED27351_I2C_ADDRESS_VDDIO 35 #define SNLED27351_I2C_ADDRESS_2 SNLED27351_I2C_ADDRESS_GND 36 37 /* Increase I2C speed to 1000 KHz */ 38 #define I2C1_TIMINGR_PRESC 0U 39 #define I2C1_TIMINGR_SCLDEL 3U 40 #define I2C1_TIMINGR_SDADEL 0U 41 #define I2C1_TIMINGR_SCLH 15U 42 #define I2C1_TIMINGR_SCLL 51U 43 44 #define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL 45 #define SNLED27351_CURRENT_TUNE { 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A, 0x98, 0x98, 0x4A }