summaryrefslogtreecommitdiff
path: root/keyboards/mlego/m65/rev4
diff options
context:
space:
mode:
authorAlin Marin Elena <alin@elena.space>2022-01-30 19:13:08 +0000
committerGitHub <noreply@github.com>2022-01-30 11:13:08 -0800
commitb0da2302137aa180af4e7464a70aa4b63ae919fe (patch)
treecfd7458beb2bc5904ff12e91fd100a3442484f92 /keyboards/mlego/m65/rev4
parent03b1d9ef1f7f472f83c929c15044e71453823737 (diff)
[Keyboard] add mlego/m65 oled revision (#15833)
Diffstat (limited to 'keyboards/mlego/m65/rev4')
-rw-r--r--keyboards/mlego/m65/rev4/config.h67
-rw-r--r--keyboards/mlego/m65/rev4/halconf.h32
-rw-r--r--keyboards/mlego/m65/rev4/mcuconf.h33
-rw-r--r--keyboards/mlego/m65/rev4/rules.mk22
4 files changed, 154 insertions, 0 deletions
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 <alinm.elena@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+
+#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 <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * 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 <halconf.h>
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 <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * 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 <mcuconf.h>
+
+#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