From b8a9de206d38f0e047c2f07bca398d6fe53b76a9 Mon Sep 17 00:00:00 2001 From: ebastler Date: Wed, 21 Dec 2022 11:03:50 +0100 Subject: Add Anvil Native keyboard (#19333) Co-authored-by: Drashna Jaelre --- keyboards/teleport/native/config.h | 113 +++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 keyboards/teleport/native/config.h (limited to 'keyboards/teleport/native/config.h') diff --git a/keyboards/teleport/native/config.h b/keyboards/teleport/native/config.h new file mode 100644 index 0000000000..681b9e8001 --- /dev/null +++ b/keyboards/teleport/native/config.h @@ -0,0 +1,113 @@ +/* +Copyright 2022 Moritz Plattner +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* Enable NKRO by default*/ +#define FORCE_NKRO + +/* Use 3 dynamic keymap layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 + +/* i2C Config */ +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_PIN B6 +#define I2C1_SDA_PIN B7 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_SDA_PAL_MODE 4 + +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9 +#define I2C1_CLOCK_SPEED 400000 + + +/* RGB Matrix driver config */ +#define DRIVER_COUNT 2 +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010011 +#define DRIVER_1_LED_TOTAL 46 +#define DRIVER_2_LED_TOTAL 39 +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + +#define RGB_MATRIX_LED_FLUSH_LIMIT 32 + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define RGB_MATRIX_DEFAULT_SPD 40 +#define RGB_MATRIX_DEFAULT_VAL 220 +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CUSTOM_SINGLE_COLOR_RAINDROPS + +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define ENABLE_RGB_MATRIX_ALPHAS_MODS // 2 Alphas and mods have different colors +#define ENABLE_RGB_MATRIX_BREATHING // 3 Breath a static color +#define ENABLE_RGB_MATRIX_CYCLE_ALL // 4 Cycle all colors +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // 5 Cycle vertically +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // 6 Cycle in a spirals +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP // 7 Heatmap of typing speed +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE // 8 Static background, pressed keys light up +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // 9 Pressed keys and nearby keys light up +#define ENABLE_RGB_MATRIX_CUSTOM_SINGLE_COLOR_RAINDROPS // 0 Single color raindrops, random keys lighting up at randomized intensity +#define ENABLE_RGB_MATRIX_CUSTOM_STATIC_GAME_MODE // - Game mode sets the entire matrix (static) once, then stops LED refreshes + +#define INDICATOR_MAX_BRIGHTNESS 255 +#ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS + #undef INDICATOR_MAX_BRIGHTNESS + #define INDICATOR_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS +#endif + + +/* Define indicator LED indices, used for lighting effects */ +#define W_LED_INDEX 33 +#define A_LED_INDEX 47 +#define S_LED_INDEX 48 +#define D_LED_INDEX 49 + +#define CAPS_LED_INDEX 46 + +#define WIN_LED_INDEX 76 + +#define ANV_A_LED_INDEX 15 +#define ANV_N_LED_INDEX 30 +#define ANV_V_LED_INDEX 45 +#define ANV_I_LED_INDEX 59 +#define ANV_L_LED_INDEX 74 + +#define NUM_1_LED_INDEX 17 +#define NUM_2_LED_INDEX 18 +#define NUM_3_LED_INDEX 19 +#define NUM_4_LED_INDEX 20 +#define NUM_5_LED_INDEX 21 + +#define M_LED_INDEX 68 +#define K_LED_INDEX 54 +#define O_LED_INDEX 40 +#define NUM_0_LED_INDEX 26 +#define P_LED_INDEX 41 +#define SCLN_LED_INDEX 56 +#define SLSH_LED_INDEX 71 + +/* Since the typing heatmap is broken on duplex matrix boards, force it to "slim" mode */ +#ifdef ENABLE_RGB_MATRIX_TYPING_HEATMAP + #define RGB_MATRIX_TYPING_HEATMAP_SLIM +#endif + + +/* Set HSE clock since it differs from F411 default */ +#define STM32_HSECLK 16000000 -- cgit v1.2.3