You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Brice Figureau
b61baf4281
Fix #3566 use an hardware timer for software PWM stability ( #3615 )
...
With my XD60, I noticed that when typing the backlight was flickering.
The XD60 doesn't have the backlight wired to a hardware PWM pin.
I assumed it was a timing issue in the matrix scan that made the PWM
lit the LED a bit too longer. I verified it because the more keys that
were pressed, the more lighting I observed.
This patch makes the software PWM be called during CPU interruptions.
It works almost like the hardware PWM, except instead of using
the CPU waveform generation, the CPU will fire interruption
when the LEDs need be turned on or off.
Using the same timer system as for hardware PWM, when the counter
will reach OCRxx (the current backlight level), an Output Compare
match interrupt will be fired and we'll turn the LEDs off.
When the counter reaches its maximum value, an overflow interrupt
will be triggered in which we turn the LEDs on.
This way we replicate the hardware backlight PWM duty cycle.
This gives a better time stability of the PWM computation than pure
software PWM, leading to a flicker free backlight.
Since this is reusing the hardware PWM code, software PWM also supports
backlight breathing.
Note that if timer1 is used for audio, backlight will use timer3, and if
timer3 is used for audio backlight will use timer1.
If both timers are used for audio, then this feature is disabled and we
revert to the matrix scan based PWM computation.
Signed-off-by: Brice Figureau <brice@daysofwonder.com>
6 years ago
..
api
Merge ChibiOS and LUFA descriptor support ( #2362 )
7 years ago
audio
Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes ( #5532 )
6 years ago
debounce
[core] Fix for eager_pr #5643
6 years ago
keymap_extras
Add UK variant of the SEND_STRING() LUTs
6 years ago
process_keycode
fix combo enabling logic ( #5610 )
6 years ago
rgb_matrix_animations
Fix bugs that cause compile failures when enabling only some animations.
6 years ago
serial_link
Only re-send matrix every 5ms
8 years ago
split_common
Change split_common to use RGBLIGHT_SPLIT ( #5509 )
6 years ago
stm32
Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes ( #5532 )
6 years ago
template
Update ps2avrgb readme template ( #5584 )
6 years ago
tools
Backlight abstraction and other changes ( #439 )
8 years ago
visualizer
Fixing dead links ( #5503 )
6 years ago
api.c
rgblight split transfer non-eeprom config ( #5396 )
6 years ago
api.h
Only include lufa.h if AVR in quantum/api.h
6 years ago
color.c
RGB Matrix Overhaul ( #5372 )
6 years ago
color.h
Adds IS31FL3731 RGB Matrix Implementation ( #2910 )
7 years ago
config_common.h
Add new keyboard Plaid and ATMEGA328p support ( #5379 )
6 years ago
debounce.h
Removed #include "matrix.h" from debounce.h
6 years ago
dynamic_keymap.c
Added SS_TAP_CODE, SS_DOWN_CODE, SS_UP_CODE
6 years ago
dynamic_keymap.h
Added macros to Dynamic Keymaps, Zeal60 RGB backlight improvements ( #4520 )
6 years ago
dynamic_macro.h
Fix dynamic macros on ChibiOS keyboards
7 years ago
encoder.c
Added encoder support to split common code ( #5477 )
6 years ago
encoder.h
Added encoder support to split common code ( #5477 )
6 years ago
fauxclicky.c
Faux clicky bug fixes
8 years ago
fauxclicky.h
Faux clicky bug fixes
8 years ago
keycode_config.c
Fix #1566 - NKRO reseting issue
7 years ago
keycode_config.h
Allow mod swapping for mod tap (MT) ( #1202 )
7 years ago
keymap.h
Merge ChibiOS and LUFA descriptor support ( #2362 )
7 years ago
keymap_common.c
Next set of split_common changes ( #4974 )
6 years ago
led_matrix.c
fix the led_matrix.h naming conflict
6 years ago
led_matrix_drivers.c
fix the led_matrix.h naming conflict
6 years ago
led_tables.c
Move CIE1931 and breathing tables to its own file
8 years ago
led_tables.h
Move CIE1931 and breathing tables to its own file
8 years ago
ledmatrix.h
fix the led_matrix.h naming conflict
6 years ago
matrix.c
Port DIRECT_PINS from split_common/matrix.c to matrix.c ( #5091 )
6 years ago
mcu_selection.mk
Adds Proton C Conversion ( #4661 )
6 years ago
pincontrol.h
Clarify the quantum license ( #1042 )
8 years ago
pointing_device.c
Added Dichotemy Keyboard, updated docs for Pointing Device ( #1817 )
7 years ago
pointing_device.h
Fix Pointing Device code ( #1934 )
7 years ago
quantum.c
Fix #3566 use an hardware timer for software PWM stability ( #3615 )
6 years ago
quantum.h
Fix #3566 use an hardware timer for software PWM stability ( #3615 )
6 years ago
quantum_keycodes.h
Fix indentation in quantum_keycodes.h ( #5221 )
6 years ago
rgb.h
Add effect speed support for RGB Matrix *No EEPROM yet* ( #2922 )
7 years ago
rgb_matrix.c
Fix bugs that cause compile failures when enabling only some animations.
6 years ago
rgb_matrix.h
Define RGB colors ( #5300 )
6 years ago
rgb_matrix_drivers.c
Features/ws2812 matrix driver ( #5418 )
6 years ago
rgb_matrix_types.h
RGB Matrix support for Massdrop CTRL/ALT ( #5328 )
6 years ago
rgblight.c
Add function to support split-keyboard in rgblight.[ch]. ( #5020 )
6 years ago
rgblight.h
Add function to support split-keyboard in rgblight.[ch]. ( #5020 )
6 years ago
rgblight_list.h
Define RGB colors ( #5300 )
6 years ago
rgblight_modes.h
Add function to support split-keyboard in rgblight.[ch]. ( #5020 )
6 years ago
rgblight_post_config.h
Change split_common to use RGBLIGHT_SPLIT ( #5509 )
6 years ago
rgblight_reconfig.h
rgblight.[ch] more configurable ( #3582 )
6 years ago
rgblight_types.h
Adds support for Planck Rev 6 ( #2666 )
6 years ago
send_string_keycodes.h
Clean up SEND_STRING keycodes and add media keys ( #3214 )
6 years ago
variable_trace.c
Clarify the quantum license ( #1042 )
8 years ago
variable_trace.h
Clarify the quantum license ( #1042 )
8 years ago
velocikey.c
Velocikey: Match RGB animation speed to typing speed ( #3754 )
6 years ago
velocikey.h
Velocikey: Match RGB animation speed to typing speed ( #3754 )
6 years ago