qmk-firmware/quantum
James Laird-Wah f70f45ee67 RGB Matrix refactoring to open up for new drivers (#3913)
* 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.
2018-09-27 10:40:18 -04:00
..
api Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
audio Add functions so you can configure programatically 2018-09-25 13:28:36 -07:00
keymap_extras Fix typo in keymap_swedish.h (#3877) 2018-09-09 19:49:26 -07:00
process_keycode Add On/Off keycodes 2018-09-25 13:28:36 -07:00
serial_link Only re-send matrix every 5ms 2017-04-09 18:34:59 +03:00
split_common Add support for a different pinout on Split boards (#3869) 2018-09-09 19:42:46 -07:00
template Updated templates for use by new_project.sh (#3783) 2018-08-29 10:57:30 -07:00
tools Backlight abstraction and other changes (#439) 2016-06-23 22:18:20 -04:00
visualizer move lcd_backlight_keyframes to correct location 2017-12-07 12:41:13 -05:00
api.c Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
api.h Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
color.c Adds IS31FL3731 RGB Matrix Implementation (#2910) 2018-05-08 15:24:18 -04:00
color.h Adds IS31FL3731 RGB Matrix Implementation (#2910) 2018-05-08 15:24:18 -04:00
config_common.h Adds support for Planck Rev 6 (#2666) 2018-07-16 11:48:31 -04:00
dynamic_keymap.c Zeal60/Zeal65/M60-A implementation (#3879) 2018-09-13 14:37:13 -04:00
dynamic_keymap.h Zeal60/Zeal65/M60-A implementation (#3879) 2018-09-13 14:37:13 -04:00
dynamic_macro.h Fix dynamic macros on ChibiOS keyboards 2017-09-30 06:22:24 -10:00
fauxclicky.c Faux clicky bug fixes 2017-04-19 01:40:16 +07:00
fauxclicky.h Faux clicky bug fixes 2017-04-19 01:40:16 +07:00
keycode_config.c Fix #1566 - NKRO reseting issue 2018-03-25 13:17:52 -04:00
keycode_config.h Allow mod swapping for mod tap (MT) (#1202) 2017-06-26 18:54:01 -04:00
keymap.h Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
keymap_common.c Lets split eh (#3120) 2018-07-16 22:25:02 -04:00
led_tables.c Move CIE1931 and breathing tables to its own file 2017-04-09 18:34:59 +03:00
led_tables.h Move CIE1931 and breathing tables to its own file 2017-04-09 18:34:59 +03:00
matrix.c Disable JTAG in keyboard init 2018-06-28 08:52:21 -04:00
pincontrol.h Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
pointing_device.c Added Dichotemy Keyboard, updated docs for Pointing Device (#1817) 2017-10-10 07:07:59 -10:00
pointing_device.h Fix Pointing Device code (#1934) 2017-10-31 11:13:00 -04:00
quantum.c Create AG_TOGG code to toggle Alt/Gui swap. 2018-09-17 15:04:22 -07:00
quantum.h Make `PREVENT_STUCK_MODIFIERS` the default (#3107) 2018-09-17 13:48:02 -04:00
quantum_keycodes.h Add On/Off keycodes 2018-09-25 13:28:36 -07:00
rgb.h Add effect speed support for RGB Matrix *No EEPROM yet* (#2922) 2018-05-08 23:23:21 -04:00
rgb_matrix.c RGB Matrix refactoring to open up for new drivers (#3913) 2018-09-27 10:40:18 -04:00
rgb_matrix.h RGB Matrix refactoring to open up for new drivers (#3913) 2018-09-27 10:40:18 -04:00
rgb_matrix_drivers.c RGB Matrix refactoring to open up for new drivers (#3913) 2018-09-27 10:40:18 -04:00
rgblight.c rgblight.[ch] more configurable (#3582) 2018-09-13 10:24:09 -07:00
rgblight.h rgblight.[ch] more configurable (#3582) 2018-09-13 10:24:09 -07:00
rgblight_list.h Add and fix _noeeprom functions to many of the RGB Underglow functions (#3070) 2018-05-29 11:05:22 -04:00
rgblight_reconfig.h rgblight.[ch] more configurable (#3582) 2018-09-13 10:24:09 -07:00
rgblight_types.h Adds support for Planck Rev 6 (#2666) 2018-07-16 11:48:31 -04:00
send_string_keycodes.h Clean up SEND_STRING keycodes and add media keys (#3214) 2018-06-28 08:55:04 -04:00
variable_trace.c Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
variable_trace.h Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00