From dd887eae360098cd13939d252c772bb95735e0e9 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Sun, 3 Sep 2023 20:56:02 +0800 Subject: [PATCH] [Core] Allow customizing PWM frequency (#21717) * [Core] Allow customizing PWM frequency Some frequencies can cause audible noise. Changing the frequency eliminates that. Signed-off-by: Daniel Schaefer * docs/feature-backlight: Mention PWM frequency Signed-off-by: Daniel Schaefer --------- Signed-off-by: Daniel Schaefer --- docs/feature_backlight.md | 1 + platforms/chibios/chibios_config.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/feature_backlight.md b/docs/feature_backlight.md index d032c33f18a..2f9381e3dcb 100644 --- a/docs/feature_backlight.md +++ b/docs/feature_backlight.md @@ -39,6 +39,7 @@ Add the following to your `config.h`: |`BACKLIGHT_LIMIT_VAL` |`255` |The maximum duty cycle of the backlight -- `255` allows for full brightness, any lower will decrease the maximum.| |`BACKLIGHT_DEFAULT_LEVEL` |`BACKLIGHT_LEVELS`|The default backlight level to use upon clearing the EEPROM | |`BACKLIGHT_DEFAULT_BREATHING`|*Not defined* |Whether to enable backlight breathing upon clearing the EEPROM | +|`BACKLIGHT_PWM_PERIOD` |2048Hz |Defaults to `BACKLIGHT_PWM_COUNTER_FREQUENCY / 2048`, which results in a PWM frequency of 2048Hz. | Unless you are designing your own keyboard, you generally should not need to change the `BACKLIGHT_PIN` or `BACKLIGHT_ON_STATE`. diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h index 1f8a7842fe2..f1636f9da05 100644 --- a/platforms/chibios/chibios_config.h +++ b/platforms/chibios/chibios_config.h @@ -37,7 +37,9 @@ # define BACKLIGHT_PAL_MODE (PAL_MODE_ALTERNATE_PWM | PAL_RP_PAD_DRIVE12 | PAL_RP_GPIO_OE) # endif # define BACKLIGHT_PWM_COUNTER_FREQUENCY 1000000 -# define BACKLIGHT_PWM_PERIOD BACKLIGHT_PWM_COUNTER_FREQUENCY / 2048 +# ifndef BACKLIGHT_PWM_PERIOD +# define BACKLIGHT_PWM_PERIOD BACKLIGHT_PWM_COUNTER_FREQUENCY / 2048 +# endif # ifndef AUDIO_PWM_PAL_MODE # define AUDIO_PWM_PAL_MODE (PAL_MODE_ALTERNATE_PWM | PAL_RP_PAD_DRIVE12 | PAL_RP_GPIO_OE)