[Keyboard] mlego fix product id and sync oled code (#16237)
* sync oled code over the keymaps * put different product ids * put different product ids for the rest * put different product ids for the rest * try to reduce code duplication * make ifdefs nice and correct * move the leds code out of keymap * try to reduce code duplication * move the rgb code outside the keymaps for reuse * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <drashna@live.com> * move more code outside keymaps for reuse * add few more xps * add mic mute * update to new name of macros for reset * style for matrix * clean split * use tinyuf2 as bootloader * Update keyboards/mlego/m65/rev4/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * radionalise product id and device version * add tinyuf2 as default bootloader for stm32f4 * update tinyuf2 * update tinyuf2 and via. f411 remove tinyuf2 since is not really working. make the config more conditional * sync the keymap with default * revert via non building with gcc 11 Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
@@ -25,6 +25,9 @@
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 12
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
|
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
|
||||
[_ADJ] = LAYOUT_ortho_5x12(
|
||||
_______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______,
|
||||
_______, QK_BOOT, _______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_G, QK_BOOT, _______,
|
||||
_______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
@@ -15,16 +15,3 @@
|
||||
*/
|
||||
#include "m60.h"
|
||||
|
||||
/*
|
||||
void keyboard_pre_init_kb(void){
|
||||
|
||||
// Workaround for reversible pcb/mcu
|
||||
palSetLineMode(C13, PAL_MODE_INPUT_PULLUP);
|
||||
palSetLineMode(C15, PAL_MODE_INPUT_PULLUP);
|
||||
palSetLineMode(B7, PAL_MODE_OUTPUT_OPENDRAIN);
|
||||
palSetLineMode(A0, PAL_MODE_OUTPUT_OPENDRAIN);
|
||||
palSetLineMode(A1, PAL_MODE_OUTPUT_OPENDRAIN);
|
||||
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
*/
|
||||
|
@@ -46,12 +46,7 @@ static inline void led_rse(const bool on) {
|
||||
}
|
||||
static inline void led_caps(const bool on) {
|
||||
#ifdef LED_CAPS_LOCK_PIN
|
||||
if ((DEVICE_VER == 0x0001) || (DEVICE_VER == 0x0003)) {
|
||||
writePin(LED_CAPS_LOCK_PIN, !on);
|
||||
}
|
||||
if (DEVICE_VER == 0x0002) {
|
||||
writePin(LED_CAPS_LOCK_PIN, on);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@@ -18,9 +18,14 @@
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define PRODUCT_ID 0x6161
|
||||
#define DEVICE_VER 0x0001
|
||||
|
||||
#define LED_NUM_LOCK_PIN B12
|
||||
#define LED_SCROLL_LOCK_PIN B13
|
||||
#define LED_CAPS_LOCK_PIN C13
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ A6, A7, B0, B1, B10 }
|
||||
#define MATRIX_COL_PINS \
|
||||
@@ -31,20 +36,13 @@
|
||||
#define ENCODERS_PAD_B \
|
||||
{ B8 }
|
||||
|
||||
#define LED_NUM_LOCK_PIN B12
|
||||
#define LED_SCROLL_LOCK_PIN B13
|
||||
#define LED_CAPS_LOCK_PIN C13
|
||||
#endif
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
|
||||
#define RGB_DI_PIN B15
|
||||
|
||||
#define UNUSED_PINS
|
||||
#define RGBLIGHT_LAYERS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define MATRIX_IO_DELAY 5
|
||||
|
||||
#define RGBLED_NUM 20
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
@@ -56,3 +54,8 @@
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#endif
|
||||
|
||||
#define UNUSED_PINS
|
||||
// you want to comment this if using stm32-dfu as bootloader
|
||||
#define FEE_PAGE_BASE_ADDRESS 0x08008000
|
||||
|
88
keyboards/mlego/m60/rev1/ld/STM32F401xE.ld
Normal file
88
keyboards/mlego/m60/rev1/ld/STM32F401xE.ld
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* STM32F401xE memory setup.
|
||||
*/
|
||||
MEMORY
|
||||
{
|
||||
flash0 (rx) : org = 0x08000000, len = 16k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */
|
||||
flash1 (rx) : org = 0x08004000, len = 16k
|
||||
flash2 (rx) : org = 0x08008000, len = 16k /* emulated eeprom */
|
||||
flash3 (rx) : org = 0x0800C000, len = 16k
|
||||
flash4 (rx) : org = 0x08010000, len = 512k - 64k
|
||||
flash5 (rx) : org = 0x00000000, len = 0
|
||||
flash6 (rx) : org = 0x00000000, len = 0
|
||||
flash7 (rx) : org = 0x00000000, len = 0
|
||||
ram0 (wx) : org = 0x20000000, len = 96k
|
||||
ram1 (wx) : org = 0x00000000, len = 0
|
||||
ram2 (wx) : org = 0x00000000, len = 0
|
||||
ram3 (wx) : org = 0x00000000, len = 0
|
||||
ram4 (wx) : org = 0x00000000, len = 0
|
||||
ram5 (wx) : org = 0x00000000, len = 0
|
||||
ram6 (wx) : org = 0x00000000, len = 0
|
||||
ram7 (wx) : org = 0x00000000, len = 0
|
||||
}
|
||||
|
||||
/* For each data/text section two region are defined, a virtual region
|
||||
and a load region (_LMA suffix).*/
|
||||
|
||||
/* Flash region to be used for exception vectors.*/
|
||||
REGION_ALIAS("VECTORS_FLASH", flash4);
|
||||
REGION_ALIAS("VECTORS_FLASH_LMA", flash4);
|
||||
|
||||
/* Flash region to be used for constructors and destructors.*/
|
||||
REGION_ALIAS("XTORS_FLASH", flash4);
|
||||
REGION_ALIAS("XTORS_FLASH_LMA", flash4);
|
||||
|
||||
/* Flash region to be used for code text.*/
|
||||
REGION_ALIAS("TEXT_FLASH", flash4);
|
||||
REGION_ALIAS("TEXT_FLASH_LMA", flash4);
|
||||
|
||||
/* Flash region to be used for read only data.*/
|
||||
REGION_ALIAS("RODATA_FLASH", flash4);
|
||||
REGION_ALIAS("RODATA_FLASH_LMA", flash4);
|
||||
|
||||
/* Flash region to be used for various.*/
|
||||
REGION_ALIAS("VARIOUS_FLASH", flash4);
|
||||
REGION_ALIAS("VARIOUS_FLASH_LMA", flash4);
|
||||
|
||||
/* Flash region to be used for RAM(n) initialization data.*/
|
||||
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash4);
|
||||
|
||||
/* RAM region to be used for Main stack. This stack accommodates the processing
|
||||
of all exceptions and interrupts.*/
|
||||
REGION_ALIAS("MAIN_STACK_RAM", ram0);
|
||||
|
||||
/* RAM region to be used for the process stack. This is the stack used by
|
||||
the main() function.*/
|
||||
REGION_ALIAS("PROCESS_STACK_RAM", ram0);
|
||||
|
||||
/* RAM region to be used for data segment.*/
|
||||
REGION_ALIAS("DATA_RAM", ram0);
|
||||
REGION_ALIAS("DATA_RAM_LMA", flash4);
|
||||
|
||||
/* RAM region to be used for BSS segment.*/
|
||||
REGION_ALIAS("BSS_RAM", ram0);
|
||||
|
||||
/* RAM region to be used for the default heap.*/
|
||||
REGION_ALIAS("HEAP_RAM", ram0);
|
||||
|
||||
/* Generic rules inclusion.*/
|
||||
INCLUDE rules.ld
|
||||
|
||||
/* TinyUF2 bootloader reset support */
|
||||
_board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */
|
@@ -2,7 +2,10 @@
|
||||
MCU = STM32F401
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
BOOTLOADER = tinyuf2
|
||||
#BOOTLOADER = stm32-dfu
|
||||
MCU_LDSCRIPT = STM32F401xE
|
||||
EEPROM_DRIVER = vendor
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
|
Reference in New Issue
Block a user