diff options
author | Alin Marin Elena <alin@elena.space> | 2022-06-11 19:18:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-11 11:18:45 -0700 |
commit | 51cfb1b45780c8ee42d993814aeef1f45477d58d (patch) | |
tree | 9f94cb8ebfc0b7f9f6bf9f4758cfa1903ff708c5 /keyboards/mlego/m48/rev1 | |
parent | dbd4ac5a3fb02f274024f5d7f9c2ec62626e94ad (diff) | |
download | qmk_firmware-51cfb1b45780c8ee42d993814aeef1f45477d58d.tar.gz qmk_firmware-51cfb1b45780c8ee42d993814aeef1f45477d58d.zip |
[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>
Diffstat (limited to 'keyboards/mlego/m48/rev1')
-rw-r--r-- | keyboards/mlego/m48/rev1/config.h | 21 | ||||
-rw-r--r-- | keyboards/mlego/m48/rev1/ld/STM32F401xE.ld | 88 | ||||
-rw-r--r-- | keyboards/mlego/m48/rev1/rules.mk | 5 |
3 files changed, 104 insertions, 10 deletions
diff --git a/keyboards/mlego/m48/rev1/config.h b/keyboards/mlego/m48/rev1/config.h index 85da34f17a..dcca34c95e 100644 --- a/keyboards/mlego/m48/rev1/config.h +++ b/keyboards/mlego/m48/rev1/config.h @@ -18,7 +18,7 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define PRODUCT_ID 0x0001 +#define PRODUCT_ID 0x6261 #define DEVICE_VER 0x0001 #define MATRIX_ROW_PINS \ @@ -26,24 +26,21 @@ #define MATRIX_COL_PINS \ { A10, A15, B3, B4, B5, B7, B6, A1, A2, A3, A4, A5 } +#ifdef ENCODER_ENABLE #define ENCODERS_PAD_A \ { A0 } #define ENCODERS_PAD_B \ { B8 } +#define ENCODER_RESOLUTION 4 +#endif #define LED_NUM_LOCK_PIN B12 #define LED_SCROLL_LOCK_PIN B13 #define LED_CAPS_LOCK_PIN C13 -#define RGB_DI_PIN B15 - -#define UNUSED_PINS +#ifdef RGBLIGHT_ENABLE #define RGBLIGHT_LAYERS - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -#define MATRIX_IO_DELAY 5 +#define RGB_DI_PIN B15 #define RGBLED_NUM 20 #define RGBLIGHT_EFFECT_BREATHING @@ -56,3 +53,9 @@ #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 diff --git a/keyboards/mlego/m48/rev1/ld/STM32F401xE.ld b/keyboards/mlego/m48/rev1/ld/STM32F401xE.ld new file mode 100644 index 0000000000..daec7d8583 --- /dev/null +++ b/keyboards/mlego/m48/rev1/ld/STM32F401xE.ld @@ -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 */ diff --git a/keyboards/mlego/m48/rev1/rules.mk b/keyboards/mlego/m48/rev1/rules.mk index 066cfd4f8e..da2734ff63 100644 --- a/keyboards/mlego/m48/rev1/rules.mk +++ b/keyboards/mlego/m48/rev1/rules.mk @@ -2,7 +2,10 @@ MCU = STM32F401 # Bootloader selection -BOOTLOADER = stm32-dfu +BOOTLOADER = tinyuf2 +MCU_LDSCRIPT = STM32F401xE +EEPROM_DRIVER = vendor +#BOOTLOADER = stm32-dfu # Build Options # change yes to no to disable |