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>
added info.json for ymd96 (#4982)
* added info.json for ymd96
* fix layout for keymap_custom macrom, correct info.json for default layout
* add info layout for iso
* add info layout for iso
* align layout name, added maintainer username
* layout case fix
* layout case fix
* fix overlapping keys
* match layouts to keymaps.
Define RGB colors (#5300)
* Define RGB colors
Define RGB colors and pass them to the rgblight functions, instead of
defining multiple macros.
* Add new color definitions support for RGB Matrix
* Add/clarify info about new color definitions in Docs
* Add deprecation warning banner to rgblight_list.h
Update handwired/frenchdev keyboard (#5443)
Atreus rules.mk and readme (#5678)
* Update rules and readme to reflect new make usage.
* Minor edit.
* Minor edit.
forgot to update the define usage when 90 degree rotation was moved to a runtime switch (#5676)
[Keyboard] Doro67 RGB PCB (#5677)
* initial commit
* get rid of some of the vanilla code
* set up matrix and pins
* Create LAYOUT macro and an appropriate keymap
* support for caps lock LED
* add some documentation to the doro67 parent readme
* align the language used in the several readme files
* initial commit
* get rid of some of the vanilla code
* set up matrix and pins
* Create LAYOUT macro and an appropriate keymap
* support for caps lock LED
* add some documentation to the doro67 parent readme
* align the language used in the several readme files
* Use RGB Matrix and fix enter key bug
* fix formatting
* remove merge conflict artifacts
* make a more useful default keymap
* add configurator support for the RGB pcb
* fix rgb matrix based on new info. Multipler should be reversed
* forgot to actually set the pin output for caps lock led
* fix offset keys in layer 1 keymap
* code cleanup
* use macros for the rgb_led calculations struct
* set RGB led num to 67 as I mistakenly counted the caps lock led
* cleanup config.h file
* add RGB note in readme
* get consistent naming in config file
* fix some inconsistencies
* readjust matrix and get rid of macros based on drashna's suggestions
[Keymap] Add keymap for keebio/quefrency 65% version (#5666)
* add keymap
* fix readme title
* renamed README.md to lowercase, fix typo
* renamed README.md to lowercase, for real
* add double spaces for github
* lowercase name in readme
* rename directory to lowercase
[Keyboard] dz60rgb: update default keymap (#5661)
* Update keymap.c
* Update config.h
* Update dz60rgb.c
* Update keymap.c
[Keymap] Shuffle FL1 some more to match keycap legends (#5673)
[Keyboard] Updated rules.mk for Sol to use the correct feature flag (#5672)
RGB Matrix docs update from mechmerlin discussion (#5667)
* RGB Matrix docs update from mechmerlin discussion
* alignment
* Apply suggestions from code review
Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
Added keymap/userspace for dz60 build 4 with readme (#5668)
* Initial commit
* Modified keymap and updated readme.
* fixed numbering in readme
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Made requested changes in PR.
* Rename README.md to readme.md
Removed / replaced questionable logos and added licenses file for safe logos
Fixing readme from feedback
Reducing size of data send in one frame & update Zen rev2 oled usage
Fix koyu readme encoding (#5655)
[Keyboard] Layout and configuration updates for Signum 3.0 (#5652)
* Make Signum 3.0 compatible with default ortho_4x12 layout
* Disable unicode map by default
* Add missing backspace key
* Add missing delete key
* Fix broken gui right command
* Move MO5 to a different key an add Esc to L4
* Move MO5 to a different key
* Add Del and Bspace to layer 4
[Keymap] Make the layout friendlier for use with the iPad (#5654)
* Make the layout more similar to Apple keyboards to make it friendlier for using with an iPad
* Fix config.h pragma, plus second layer mistakes