Update magic_force/mf17 to WS2812 PWM driver (#26384)

This commit is contained in:
Joel Challis
2026-08-05 19:39:13 +01:00
committed by GitHub
parent beb57311cb
commit 68c82976cd
6 changed files with 61 additions and 45 deletions
+9
View File
@@ -0,0 +1,9 @@
// Copyright 2026 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define WS2812_PWM_DRIVER PWMD15
#define WS2812_PWM_CHANNEL 1
#define WS2812_PWM_PAL_MODE 0
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM5
#define WS2812_PWM_DMA_CHANNEL 5
+7
View File
@@ -0,0 +1,7 @@
// Copyright 2026 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define HAL_USE_PWM TRUE
#include_next <halconf.h>
+18 -17
View File
@@ -28,6 +28,7 @@
"rgb_matrix": true "rgb_matrix": true
}, },
"ws2812": { "ws2812": {
"driver": "pwm",
"pin": "A2" "pin": "A2"
}, },
"rgb_matrix": { "rgb_matrix": {
@@ -78,23 +79,23 @@
}, },
"driver": "ws2812", "driver": "ws2812",
"layout": [ "layout": [
{"flags": 1, "matrix": [4, 1], "x": 37, "y": 64}, {"flags": 4, "matrix": [4, 1], "x": 37, "y": 64},
{"flags": 1, "matrix": [4, 2], "x": 150, "y": 64}, {"flags": 4, "matrix": [4, 2], "x": 150, "y": 64},
{"flags": 1, "matrix": [4, 3], "x": 224, "y": 56}, {"flags": 4, "matrix": [4, 3], "x": 224, "y": 56},
{"flags": 1, "matrix": [3, 0], "x": 0, "y": 48}, {"flags": 4, "matrix": [3, 0], "x": 0, "y": 48},
{"flags": 1, "matrix": [3, 1], "x": 75, "y": 48}, {"flags": 4, "matrix": [3, 1], "x": 75, "y": 48},
{"flags": 1, "matrix": [3, 2], "x": 150, "y": 48}, {"flags": 4, "matrix": [3, 2], "x": 150, "y": 48},
{"flags": 1, "matrix": [2, 0], "x": 0, "y": 32}, {"flags": 4, "matrix": [2, 0], "x": 0, "y": 32},
{"flags": 1, "matrix": [2, 1], "x": 75, "y": 32}, {"flags": 4, "matrix": [2, 1], "x": 75, "y": 32},
{"flags": 1, "matrix": [2, 2], "x": 150, "y": 32}, {"flags": 4, "matrix": [2, 2], "x": 150, "y": 32},
{"flags": 1, "matrix": [2, 3], "x": 224, "y": 24}, {"flags": 4, "matrix": [2, 3], "x": 224, "y": 24},
{"flags": 1, "matrix": [1, 0], "x": 0, "y": 16}, {"flags": 4, "matrix": [1, 0], "x": 0, "y": 16},
{"flags": 1, "matrix": [1, 1], "x": 75, "y": 16}, {"flags": 4, "matrix": [1, 1], "x": 75, "y": 16},
{"flags": 1, "matrix": [1, 2], "x": 150, "y": 16}, {"flags": 4, "matrix": [1, 2], "x": 150, "y": 16},
{"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
{"flags": 1, "matrix": [0, 1], "x": 75, "y": 0}, {"flags": 4, "matrix": [0, 1], "x": 75, "y": 0},
{"flags": 1, "matrix": [0, 2], "x": 150, "y": 0}, {"flags": 4, "matrix": [0, 2], "x": 150, "y": 0},
{"flags": 1, "matrix": [0, 3], "x": 224, "y": 0} {"flags": 4, "matrix": [0, 3], "x": 224, "y": 0}
], ],
"max_brightness": 180, "max_brightness": 180,
"sleep": true "sleep": true
@@ -1,32 +1,20 @@
/* // Copyright 2012,2013 gezhaoyou <gezhaoyou@126.com>
Copyright 2012,2013 gezhaoyou <gezhaoyou@126.com> // SPDX-License-Identifier: GPL-2.0-or-later
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/>.
*/
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_numpad_5x4( [0] = LAYOUT_numpad_5x4(
KC_NUM_LOCK, KC_PSLS, KC_PAST, LT(1, KC_PMNS), KC_NUM, KC_PSLS, KC_PAST, LT(1, KC_PMNS),
KC_P7, KC_P8, KC_P9, KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3, KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT), KC_P0, KC_PDOT, KC_PENT
[1] = LAYOUT_numpad_5x4( ),
KC_TRNS, KC_CALCULATOR, KC_BSPC, KC_TRNS, [1] = LAYOUT_numpad_5x4(
RM_NEXT, RM_VALU, RM_HUEU, _______, KC_CALC, KC_BSPC, _______,
RM_SPDD, RM_TOGG, RM_SPDU, QK_BOOTLOADER, RM_NEXT, RM_VALU, RM_HUEU,
RM_PREV, RM_VALD, RM_HUED, RM_SPDD, RM_TOGG, RM_SPDU, QK_BOOT,
KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM), RM_PREV, RM_VALD, RM_HUED,
_______, _______, EE_CLR
),
}; };
+10
View File
@@ -0,0 +1,10 @@
// Copyright 2026 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <mcuconf.h>
#undef STM32_PWM_USE_TIM15
#define STM32_PWM_USE_TIM15 TRUE
#define STM32_TIM15_SUPPRESS_ISR
+1
View File
@@ -4,6 +4,7 @@ A customizable 17 keyboard, support both HOTSWAP and SOLDER.
* Keyboard Maintainer: [gezhaoyou](https://github.com/gezhaoyou) * Keyboard Maintainer: [gezhaoyou](https://github.com/gezhaoyou)
* Hardware Supported: [gezhaoyou](https://github.com/gezhaoyou) * Hardware Supported: [gezhaoyou](https://github.com/gezhaoyou)
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
make magic_force/mf17:default make magic_force/mf17:default