* Enable SPI1 for GMMK pro
* Setup initial boilerplate for new LED driver
* RGB matrix minimally functional
* Map full LED matrix
* Return keymap to default
* Fix printscreen LED mapping
* Reduce max brightness
* Default values for AW20216
* Add documentation for AW20216
* Disable console and warnings
* Run cformat
* Update drivers/awinic/aw20216.h
Co-authored-by: Drashna Jaelre <drashna@live.com>
* make aw struct match issi struct
Co-authored-by: Drashna Jaelre <drashna@live.com>
* add led location defines
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Use led pin definitions in keyboard.c
* Add driver indices to led map
* Fix elif typo
* Run cformat
* Update docs
* Fix typo in docs
* Document global brightness limits
Co-authored-by: Drashna Jaelre <drashna@live.com>
Specifically, when rgb matrix is enabled and using the ws2812 driver, and rgb light is enabled at the same time, print a message about coexistance because it can cause issues, since you cannot change pins/config for the WS2812 driver.
* Change `led` to `led_matrix` in rgb_matrix_drivers
Is a minor change that only affects the driver file.
However, this will allow somebody to run rgblight along side rgb matrix
using the ws2812 driver, as well. Specifically, so you can use the
custom driver for rgblight to set a different pin (barring a change to
the `ws2812_setleds` function).
Courtesy of discord conversion:
https://discordapp.com/channels/440868230475677696/568161140534935572/721555623191248906
* Change name to be super specific
* Update rgb_matrix_drivers.c
* Use White channel on RGBW LEDs
Co-authored-by: kwerdenker <sebastian.spindler@gmail.com>
* Manually apply white channel to array
* Move where convert_rgb_to_rgbw is called
* Fix type for rgbw led struct
* Add changes to Ergodox EZ
can revert if deemed necessary
* Revert "Add changes to Ergodox EZ"
This reverts commit aa44db198d.
* Revert "Fix type for rgbw led struct"
This reverts commit c5c744cba0.
* Revert "Move where convert_rgb_to_rgbw is called"
This reverts commit cd7f17caf6.
* Revert changes and fix up functions
* Enable white channel for Ergodox EZ as well
* Only run conversion of rgblight is enabled
Co-authored-by: kwerdenker <sebastian.spindler@gmail.com>
* Fix unicode in comments
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Remove separate RGBW implementation for a unified function
* Set White to 0 in RGBW LEDs
This is just to get this working, later, proper brightness can be handled elsewhere.
* Use us instead of nanoseconds(?) since it renders correctly on web
* Remove RGBW function from arm/ws2812.h
* Remove RGBW function from arm/ws2812.c
* Formatting changes
* Add doc info
* RGB Matrix overhaul
Breakout of animations to separate files
Integration of optimized int based math lib
Overhaul of rgb_matrix.c and animations for performance
* Updating effect function api for future extensions
* Combined the keypresses || keyreleases define checks into a single define so I stop forgetting it where necessary
* Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain
* Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes
* fix bug in quantum/rgb_matrix_drivers.c
Co-Authored-By: jackhumbert <jack.humb@gmail.com>
* update command setting to the correct default
* correct rgb config
* remove commented-out lines
* update docs for the 3737
* Update docs/feature_rgb_matrix.md
Co-Authored-By: jackhumbert <jack.humb@gmail.com>
* rgb_matrix: use a driver ops struct
This is intended to avoid #ifdef proliferation on adding more drivers,
eg. model01, which use different architectures.
* rgb_matrix: document driver struct members
* rgb_matrix: remove unused LED testing code
* rgb_matrix: don't build into IS31x drivers unless being used
* rgb_matrix: refactor make config options
This ensures that the necessary files are included for any custom
RGB_MATRIX_ENABLE value, without having to add entries here for specific
boards. This particularly affects model01 because its controller is
integrated and won't be used anywhere else, so it's preferable not to
put it in common_features.mk.
This now validates the value of RGB_MATRIX_ENABLE.
It was necessary to fix an error in ergodox_ez rules.mk using the wrong
comment separator, yielding an invalid value.
* IS31x drivers: don't write the control registers all the time
This is only needed when they are changed. This is done in init() and
board- or keymap-specific code is free to make further changes.
* rgb_matrix: move structs from chip drivers to rgb_matrix_drivers.c
This approach is specific to the rgb_matrix functionality, so keep it
neatly separated from the raw chip drivers.