From ad6d85ef5a77f0fb810f5c850c24499a4886e458 Mon Sep 17 00:00:00 2001 From: Yang Hu Date: Fri, 5 Nov 2021 02:10:15 -0700 Subject: Add a new keyboard "Unicorne" (#12993) * Add keyboards/yanghu/unicorne initial files. * add default keymap to yanghu/unicorne * use slow i2c and enable internal pullup resistor * add oled to default keymaps * fix unicorne default keymap * fix encoder pad direction * fix marauder * add led matrix configs. * add encoder code to default keymap. * fix encoder direction * add readme, info.json and update copyright for c files. * fix build error by clean up include in unicorne.c * fix images in readme files * Fix various issues in PR #12993 feedback. * Added copyright in glcdfont, fix include in that file. * Removed `_kc` layout and renamed layout with generic style. * Moved capslock oled update to oled.c inside `oled_task_user()`. * Update keyboards/yanghu/unicorne/keymaps/default/rules.mk Always include oled.c Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/keymaps/default/oled.c Wrap `oled.c` with ifdef. Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/keymaps/default/oled.c Co-authored-by: Drashna Jaelre * move oled code to unicorne.c, and set weakly. * Update keyboards/yanghu/unicorne/config.h Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/unicorne.c Co-authored-by: Drashna Jaelre * Update keyboards/yanghu/unicorne/readme.md Co-authored-by: Ryan * Update keyboards/yanghu/unicorne/readme.md Co-authored-by: Ryan * Update keyboards/yanghu/unicorne/readme.md Co-authored-by: Ryan * Update keyboards/yanghu/unicorne/readme.md Co-authored-by: Ryan * Update keyboards/yanghu/unicorne/keymaps/default/oled.c Co-authored-by: Ryan * Update keyboards/yanghu/unicorne/f411/rules.mk Co-authored-by: Ryan * Update keyboards/yanghu/unicorne/rules.mk Co-authored-by: Ryan * remove oled.h * remove include of oled.h after the file is deleted. * Apply suggestions from code review: remove redundant macros and reformat. Co-authored-by: Drashna Jaelre Co-authored-by: Ryan * Apply suggestions from code review: change OLED driver macro. Use `OLED_ENABLE` instead of `OLED_DRIVER_ENABLE`. Co-authored-by: Jonathan Rascher Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jonathan Rascher --- keyboards/yanghu/unicorne/config.h | 76 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 keyboards/yanghu/unicorne/config.h (limited to 'keyboards/yanghu/unicorne/config.h') diff --git a/keyboards/yanghu/unicorne/config.h b/keyboards/yanghu/unicorne/config.h new file mode 100644 index 0000000000..652afeb3b4 --- /dev/null +++ b/keyboards/yanghu/unicorne/config.h @@ -0,0 +1,76 @@ +/* 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 } + +/* 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 -- cgit v1.2.3