1
0
Fork 0

[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:
Alin Marin Elena 2022-06-11 19:18:45 +01:00 committed by GitHub
parent dbd4ac5a3f
commit 51cfb1b457
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 913 additions and 528 deletions

View file

@ -26,6 +26,8 @@
#define MATRIX_COLS 6
#define DEBOUNCE 5
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

View file

@ -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, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,

View file

@ -18,7 +18,7 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define PRODUCT_ID 0x0001
#define PRODUCT_ID 0x6361
#define DEVICE_VER 0x0001
#define MATRIX_ROW_PINS \
@ -32,12 +32,14 @@
#define MATRIX_COL_PINS_RIGHT \
{ B0, A3, A2, A1, B7, B5 } // cols are from right to left to match the layout
#ifdef ENCODER_ENABLE
#define ENCODERS_PAD_A \
{ A0 }
#define ENCODERS_PAD_B \
{ B8 }
#define ENCODER_RESOLUTIONS \
{ 4 }
#endif
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
@ -46,20 +48,15 @@
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_LED_STATE_ENABLE
#define RGB_DI_PIN B15
#define SPLIT_HAND_PIN B9
#define SERIAL_USART_TX_PIN B6
#define RGBLIGHT_SPLIT
#define RGBLIGHT_LAYERS
#define UNUSED_PINS
#define SERIAL_USART_SPEED 921600
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define MATRIX_IO_DELAY 5
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B15
#define RGBLIGHT_SPLIT
#define RGBLIGHT_LAYERS
#define RGBLIGHT_LIMIT_VAL 128
#define RGBLIGHT_DEFAULT_HUE 213
@ -84,3 +81,8 @@
#define BOOTMAGIC_LITE_COLUMN 0
#define BOOTMAGIC_LITE_ROW_RIGHT 5
#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
#endif
#define UNUSED_PINS
// you want to comment this if using stm32-dfu as bootloader
#define FEE_PAGE_BASE_ADDRESS 0x08008000

View 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 */

View file

@ -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

View file

@ -18,7 +18,7 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define PRODUCT_ID 0x0001
#define PRODUCT_ID 0x6362
#define DEVICE_VER 0x0001
#define MATRIX_ROW_PINS \
@ -32,6 +32,8 @@
#define MATRIX_COL_PINS_RIGHT \
{ B0, A3, A2, A1, B7, B5 } // cols are from right to left to match the layout
#ifdef ENCODER_ENABLE
#define ENCODERS_PAD_A \
{ A0 }
#define ENCODERS_PAD_B \
@ -39,28 +41,25 @@
#define ENCODER_RESOLUTIONS \
{ 4 }
#endif
#define LED_NUM_LOCK_PIN B12
#define LED_SCROLL_LOCK_PIN B13
#define LED_CAPS_LOCK_PIN C13
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_LED_STATE_ENABLE
#define RGB_DI_PIN B15
#define SPLIT_HAND_PIN B9
#define SERIAL_USART_TX_PIN B6
#define RGBLIGHT_SPLIT
#define UNUSED_PINS
#define SERIAL_USART_SPEED 921600
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define MATRIX_IO_DELAY 5
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B15
#define RGBLIGHT_SPLIT
#define RGBLIGHT_LAYERS
#define RGBLED_NUM 16
#define RGBLED_SPLIT \
{ 8, 8 }
@ -74,9 +73,12 @@
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
#endif
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
#define BOOTMAGIC_LITE_ROW_RIGHT 5
#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
#define UNUSED_PINS