config.h (1557B)
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 /* COL2ROW or ROW2COL */ 20 #define DIODE_DIRECTION ROW2COL 21 22 /* key matrix pins */ 23 #define MATRIX_ROW_PINS \ 24 { B4, B3, A15, A14, A13 } 25 #define MATRIX_COL_PINS \ 26 { NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, A2, A3, A4, A5, A6, A7, B0, B1 } 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 30U 38 39 #define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL 40 #define SNLED27351_CURRENT_TUNE \ 41 { 0xB8, 0xB8, 0x58, 0xB8, 0xB8, 0x58, 0xB8, 0xB8, 0x58, 0xB8, 0xB8, 0x58 } 42 43 #define DYNAMIC_KEYMAP_LAYER_COUNT 5