summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schaefer <dhs@frame.work>2023-09-03 20:56:02 +0800
committerGitHub <noreply@github.com>2023-09-03 14:56:02 +0200
commitdd887eae360098cd13939d252c772bb95735e0e9 (patch)
tree6694375af1101e23cef212f52248a1f73331f3b8
parent911c715f49f757eae6490d3d0426ee4ccf30ea2a (diff)
[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 <dhs@frame.work> * docs/feature-backlight: Mention PWM frequency Signed-off-by: Daniel Schaefer <dhs@frame.work> --------- Signed-off-by: Daniel Schaefer <dhs@frame.work>
-rw-r--r--docs/feature_backlight.md1
-rw-r--r--platforms/chibios/chibios_config.h4
2 files changed, 4 insertions, 1 deletions
diff --git a/docs/feature_backlight.md b/docs/feature_backlight.md
index d032c33f18..2f9381e3dc 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 1f8a7842fe..f1636f9da0 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)