From b0da2302137aa180af4e7464a70aa4b63ae919fe Mon Sep 17 00:00:00 2001 From: Alin Marin Elena Date: Sun, 30 Jan 2022 19:13:08 +0000 Subject: [Keyboard] add mlego/m65 oled revision (#15833) --- keyboards/mlego/m65/rev4/config.h | 67 ++++++++++++++++++++++++++++++++++++++ keyboards/mlego/m65/rev4/halconf.h | 32 ++++++++++++++++++ keyboards/mlego/m65/rev4/mcuconf.h | 33 +++++++++++++++++++ keyboards/mlego/m65/rev4/rules.mk | 22 +++++++++++++ 4 files changed, 154 insertions(+) create mode 100644 keyboards/mlego/m65/rev4/config.h create mode 100644 keyboards/mlego/m65/rev4/halconf.h create mode 100644 keyboards/mlego/m65/rev4/mcuconf.h create mode 100644 keyboards/mlego/m65/rev4/rules.mk (limited to 'keyboards/mlego/m65/rev4') diff --git a/keyboards/mlego/m65/rev4/config.h b/keyboards/mlego/m65/rev4/config.h new file mode 100644 index 0000000000..ee47061a91 --- /dev/null +++ b/keyboards/mlego/m65/rev4/config.h @@ -0,0 +1,67 @@ +/* +Copyright 2021-2022 Alin M Elena + +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 + +#define DEVICE_VER 0x0004 +#define PRODUCT_ID 0x6060 + +#define LED_NUM_LOCK_PIN B12 +#define LED_SCROLL_LOCK_PIN B13 +#define LED_CAPS_LOCK_PIN C13 + +// 0 1 2 3 4 +#define MATRIX_ROW_PINS \ + { B10, A5, A6, A7, B0 } +// 0 1 2 3 4 5 6 7 8 9 10 11 12 +#define MATRIX_COL_PINS \ + { B14, A8, A10, A15, B3, B4, B5, B7, A1, A2, A3, A4, B1 } + +#define ENCODERS_PAD_A \ + { A0 } +#define ENCODERS_PAD_B \ + { B6 } + +#define RGB_DI_PIN B15 + +#define UNUSED_PINS +#define RGBLIGHT_LAYERS + +#define ENCODER_RESOLUTION 4 + +#undef RGBLED_NUM +#define RGBLED_NUM 20 +#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 RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 + +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X32 +#define I2C1_SCL_PIN B9 +#define I2C1_SDA_PIN B8 +#define OLED_BRIGHTNESS 128 +#define OLED_FONT_H "keyboards/mlego/m65/lib/glcdfont.c" +#endif diff --git a/keyboards/mlego/m65/rev4/halconf.h b/keyboards/mlego/m65/rev4/halconf.h new file mode 100644 index 0000000000..c1a060ad71 --- /dev/null +++ b/keyboards/mlego/m65/rev4/halconf.h @@ -0,0 +1,32 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/zvecr/zv48/f401/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SERIAL TRUE + +#define SERIAL_USB_BUFFERS_SIZE 256 + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/mlego/m65/rev4/mcuconf.h b/keyboards/mlego/m65/rev4/mcuconf.h new file mode 100644 index 0000000000..ba1cd32fd3 --- /dev/null +++ b/keyboards/mlego/m65/rev4/mcuconf.h @@ -0,0 +1,33 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/zvecr/zv48/f401/mcuconf.h -r platforms/chibios/BLACKPILL_STM32_F401/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/mlego/m65/rev4/rules.mk b/keyboards/mlego/m65/rev4/rules.mk new file mode 100644 index 0000000000..9e1e0ab23b --- /dev/null +++ b/keyboards/mlego/m65/rev4/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F401 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Enable encoder +OLED_ENABLE = yes # Enable OLED +OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C +WPM_ENABLE = yes # Enable WPM Counter -- cgit v1.2.3