/* Copyright 2021 Yang Hu * * 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" /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x0204 #define DEVICE_VER 0x0001 #define MANUFACTURER yanghu #define PRODUCT unicorne /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 12 #define MATRIX_COL_PINS \ { A14, A15, B13, B14, B15, A13, A0, A1, A2, A3, A6, A7 } #define MATRIX_ROW_PINS \ { B9, B8, A10, A9 } /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW #define ENCODERS_PAD_A \ { B10, B2 } #define ENCODERS_PAD_B \ { B12, B0 } /* I2C - required for custom i2c_init */ #define I2C1_SCL_PIN B6 #define I2C1_SDA_PIN B7 #define I2C1_SCL_PAL_MODE 4 #define I2C1_SDA_PAL_MODE 4 /* Audio */ #define AUDIO_PIN A8 #define AUDIO_PWM_PAL_MODE 1 #define AUDIO_PWM_DRIVER PWMD1 #define AUDIO_PWM_CHANNEL 1 #define AUDIO_STATE_TIMER GPTD4 /* RGB LED */ #define RGB_DI_PIN B1 #define RGBLED_NUM 8 #define DRIVER_LED_TOTAL RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_KNIGHT #define RGBLIGHT_EFFECT_CHRISTMAS #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE #define WS2812_PWM_DRIVER PWMD3 #define WS2812_PWM_CHANNEL 4 #define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 #define WS2812_DMA_CHANNEL 5 #define WS2812_EXTERNAL_PULLUP /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5