diff options
| author | Joel Challis <git@zvecr.com> | 2021-06-09 08:18:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-09 00:18:56 -0700 |
| commit | 4dda7167124e26ff8ed66059f1816f749286f111 (patch) | |
| tree | d77d13414636c348fd89a70d5634389c71df6203 | |
| parent | 9975e1771205beaa5b05d61c3c2c8e7afbcd3981 (diff) | |
| download | qmk_firmware-4dda7167124e26ff8ed66059f1816f749286f111.tar.gz qmk_firmware-4dda7167124e26ff8ed66059f1816f749286f111.zip | |
Migrate preonic/rev3 to pwm ws2812 driver (#13142)
| -rw-r--r-- | keyboards/preonic/rev3/chconf.h | 29 | ||||
| -rw-r--r-- | keyboards/preonic/rev3/config.h | 18 | ||||
| -rw-r--r-- | keyboards/preonic/rev3/mcuconf.h | 30 | ||||
| -rw-r--r-- | keyboards/preonic/rev3/rules.mk | 2 |
4 files changed, 69 insertions, 10 deletions
diff --git a/keyboards/preonic/rev3/chconf.h b/keyboards/preonic/rev3/chconf.h new file mode 100644 index 000000000..47dd995f8 --- /dev/null +++ b/keyboards/preonic/rev3/chconf.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* Copyright 2021 QMK Contributors | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* | ||
| 18 | * This file was auto-generated by: | ||
| 19 | * `qmk chibios-confmigrate -i keyboards/preonic/rev3/chconf.h -r platforms/chibios/QMK_PROTON_C/configs/chconf.h` | ||
| 20 | */ | ||
| 21 | |||
| 22 | #pragma once | ||
| 23 | |||
| 24 | #define CH_CFG_ST_RESOLUTION 16 | ||
| 25 | |||
| 26 | #define CH_CFG_ST_FREQUENCY 10000 | ||
| 27 | |||
| 28 | #include_next <chconf.h> | ||
| 29 | |||
diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h index d37f300b0..0e8312445 100644 --- a/keyboards/preonic/rev3/config.h +++ b/keyboards/preonic/rev3/config.h | |||
| @@ -113,19 +113,19 @@ | |||
| 113 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | 113 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ |
| 114 | //#define MIDI_TONE_KEYCODE_OCTAVES 1 | 114 | //#define MIDI_TONE_KEYCODE_OCTAVES 1 |
| 115 | 115 | ||
| 116 | // #define WS2812_LED_N 2 | 116 | /* |
| 117 | // #define RGBLED_NUM WS2812_LED_N | 117 | * WS2812 Underglow Matrix options |
| 118 | // #define WS2812_TIM_N 2 | 118 | */ |
| 119 | // #define WS2812_TIM_CH 2 | ||
| 120 | // #define PORT_WS2812 GPIOA | ||
| 121 | // #define PIN_WS2812 1 | ||
| 122 | // #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection) | ||
| 123 | //#define WS2812_DMA_CHANNEL 7 // DMA channel for TIMx_UP | ||
| 124 | //#define WS2812_EXTERNAL_PULLUP | ||
| 125 | #define RGB_DI_PIN A1 | 119 | #define RGB_DI_PIN A1 |
| 126 | #define RGBLED_NUM 9 | 120 | #define RGBLED_NUM 9 |
| 127 | #define RGBLIGHT_ANIMATIONS | 121 | #define RGBLIGHT_ANIMATIONS |
| 128 | // RGB Matrix support | 122 | // RGB Matrix support |
| 129 | #define DRIVER_LED_TOTAL RGBLED_NUM | 123 | #define DRIVER_LED_TOTAL RGBLED_NUM |
| 130 | 124 | ||
| 125 | #define WS2812_PWM_DRIVER PWMD2 | ||
| 126 | #define WS2812_PWM_CHANNEL 2 | ||
| 127 | #define WS2812_PWM_PAL_MODE 1 | ||
| 128 | #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 | ||
| 129 | #define WS2812_DMA_CHANNEL 2 | ||
| 130 | |||
| 131 | #endif | 131 | #endif |
diff --git a/keyboards/preonic/rev3/mcuconf.h b/keyboards/preonic/rev3/mcuconf.h new file mode 100644 index 000000000..fbc4e7ca6 --- /dev/null +++ b/keyboards/preonic/rev3/mcuconf.h | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | /* Copyright 2021 QMK Contributors | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 3 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #include_next "mcuconf.h" | ||
| 18 | |||
| 19 | // The SysTick timer from the normal quantum/stm32 uses TIM2 -- the WS2812 pin used | ||
| 20 | // on the Planck requires the use of TIM2 to run PWM -- rework which timers are | ||
| 21 | // allocated for PWM usage. | ||
| 22 | #undef STM32_PWM_USE_TIM2 | ||
| 23 | #undef STM32_PWM_USE_TIM3 | ||
| 24 | #define STM32_PWM_USE_TIM2 TRUE | ||
| 25 | #define STM32_PWM_USE_TIM3 FALSE | ||
| 26 | |||
| 27 | // As mentioned above, we need to reallocate the SysTick timer used from | ||
| 28 | // TIM2 to TIM3. | ||
| 29 | #undef STM32_ST_USE_TIMER | ||
| 30 | #define STM32_ST_USE_TIMER 3 | ||
diff --git a/keyboards/preonic/rev3/rules.mk b/keyboards/preonic/rev3/rules.mk index ae7ff2a5a..034ace02a 100644 --- a/keyboards/preonic/rev3/rules.mk +++ b/keyboards/preonic/rev3/rules.mk | |||
| @@ -21,7 +21,7 @@ AUDIO_ENABLE = yes # Audio output | |||
| 21 | UNICODE_ENABLE = no # Unicode | 21 | UNICODE_ENABLE = no # Unicode |
| 22 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | 22 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID |
| 23 | RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. | 23 | RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. |
| 24 | WS2812_DRIVER = bitbang | 24 | WS2812_DRIVER = pwm |
| 25 | API_SYSEX_ENABLE = no | 25 | API_SYSEX_ENABLE = no |
| 26 | 26 | ||
| 27 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | 27 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE |
