summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/feature_rgb_matrix.md278
-rw-r--r--keyboards/duck/duck_led/duck_led.c7
-rw-r--r--keyboards/duck/duck_led/duck_led.h16
-rw-r--r--keyboards/duck/eagle_viper/readme.md1
-rw-r--r--keyboards/duck/eagle_viper/v2/config.h8
-rw-r--r--keyboards/duck/eagle_viper/v2/indicator_leds.c23
-rw-r--r--keyboards/duck/eagle_viper/v2/indicator_leds.h1
-rw-r--r--keyboards/duck/eagle_viper/v2/matrix.c3
-rw-r--r--keyboards/duck/eagle_viper/v2/readme.md2
-rw-r--r--keyboards/duck/eagle_viper/v2/rules.mk28
-rw-r--r--keyboards/duck/eagle_viper/v2/v2.h4
-rw-r--r--keyboards/duck/jetfire/config.h4
-rw-r--r--keyboards/duck/jetfire/indicator_leds.c (renamed from keyboards/duck/jetfire/backlight_led.c)43
-rw-r--r--keyboards/duck/jetfire/indicator_leds.h (renamed from keyboards/duck/jetfire/backlight_led.h)11
-rw-r--r--keyboards/duck/jetfire/jetfire.c10
-rw-r--r--keyboards/duck/jetfire/jetfire.h4
-rw-r--r--keyboards/duck/jetfire/readme.md2
-rw-r--r--keyboards/duck/jetfire/rules.mk6
-rw-r--r--keyboards/duck/lightsaver/config.h8
-rw-r--r--keyboards/duck/lightsaver/indicator_leds.c49
-rw-r--r--keyboards/duck/lightsaver/lightsaver.h4
-rw-r--r--keyboards/duck/lightsaver/matrix.c3
-rw-r--r--keyboards/duck/lightsaver/rules.mk28
-rw-r--r--keyboards/duck/octagon/v1/config.h9
-rw-r--r--keyboards/duck/octagon/v1/matrix.c3
-rw-r--r--keyboards/duck/octagon/v1/rules.mk26
-rw-r--r--keyboards/duck/octagon/v1/v1.h4
-rw-r--r--keyboards/duck/octagon/v2/config.h8
-rw-r--r--keyboards/duck/octagon/v2/indicator_leds.c36
-rw-r--r--keyboards/duck/octagon/v2/indicator_leds.h6
-rw-r--r--keyboards/duck/octagon/v2/matrix.c3
-rw-r--r--keyboards/duck/octagon/v2/readme.md2
-rw-r--r--keyboards/duck/octagon/v2/rules.mk28
-rw-r--r--keyboards/duck/octagon/v2/v2.h4
-rw-r--r--keyboards/dztech/dz40rgb/config.h1
-rw-r--r--keyboards/dztech/dz60rgb/config.h3
-rw-r--r--keyboards/ergodox_ez/config.h1
-rw-r--r--keyboards/handwired/tennie/config.h240
-rw-r--r--keyboards/handwired/tennie/info.json12
-rw-r--r--keyboards/handwired/tennie/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/tennie/keymaps/default/keymap.c95
-rw-r--r--keyboards/handwired/tennie/keymaps/default/readme.md68
-rw-r--r--keyboards/handwired/tennie/keymaps/simple-numbpad/config.h19
-rw-r--r--keyboards/handwired/tennie/keymaps/simple-numbpad/keymap.c37
-rw-r--r--keyboards/handwired/tennie/keymaps/simple-numbpad/readme.md18
-rw-r--r--keyboards/handwired/tennie/keymaps/soundboard/config.h19
-rw-r--r--keyboards/handwired/tennie/keymaps/soundboard/keymap.c37
-rw-r--r--keyboards/handwired/tennie/keymaps/soundboard/readme.md19
-rw-r--r--keyboards/handwired/tennie/readme.md15
-rw-r--r--keyboards/handwired/tennie/rules.mk80
-rw-r--r--keyboards/handwired/tennie/tennie.c45
-rw-r--r--keyboards/handwired/tennie/tennie.h37
-rw-r--r--keyboards/hs60/v1/config.h1
-rw-r--r--keyboards/hs60/v2/config.h5
-rw-r--r--keyboards/jj50/keymaps/abstractkb/keymap.c135
-rw-r--r--keyboards/jj50/keymaps/abstractkb/readme.md6
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/config.h37
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c92
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/readme.md5
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/rules.mk1
-rw-r--r--keyboards/quantrik/kyuu/config.h245
-rw-r--r--keyboards/quantrik/kyuu/info.json82
-rw-r--r--keyboards/quantrik/kyuu/keymaps/default/config.h19
-rw-r--r--keyboards/quantrik/kyuu/keymaps/default/keymap.c74
-rw-r--r--keyboards/quantrik/kyuu/keymaps/default/readme.md1
-rw-r--r--keyboards/quantrik/kyuu/kyuu.c43
-rw-r--r--keyboards/quantrik/kyuu/kyuu.h42
-rw-r--r--keyboards/quantrik/kyuu/readme.md13
-rw-r--r--keyboards/quantrik/kyuu/rules.mk81
-rw-r--r--keyboards/romac/config.h40
-rw-r--r--keyboards/romac/info.json13
-rw-r--r--keyboards/romac/keymaps/default/keymap.c37
-rw-r--r--keyboards/romac/readme.md16
-rw-r--r--keyboards/romac/romac.c1
-rw-r--r--keyboards/romac/romac.h16
-rw-r--r--keyboards/romac/rules.mk57
-rw-r--r--keyboards/xd75/keymaps/davidrambo/keymap.c12
-rw-r--r--keyboards/zeal60/config.h5
-rw-r--r--keyboards/zeal60/rgb_backlight.c8
-rw-r--r--keyboards/zeal65/config.h5
-rw-r--r--layouts/community/ergodox/bepo_alt/keymap.c127
-rw-r--r--layouts/community/ergodox/bepo_alt/readme.md66
-rw-r--r--layouts/community/ergodox/bepo_alt/rules.mk5
-rw-r--r--layouts/community/ergodox/drashna_glow/config.h1
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h1
-rw-r--r--lib/lib8tion/LICENSE20
-rw-r--r--lib/lib8tion/lib8tion.c242
-rw-r--r--lib/lib8tion/lib8tion.h934
-rw-r--r--lib/lib8tion/math8.h552
-rw-r--r--lib/lib8tion/random8.h94
-rw-r--r--lib/lib8tion/scale8.h542
-rw-r--r--lib/lib8tion/trig8.h259
-rw-r--r--quantum/audio/song_list.h79
-rw-r--r--quantum/color.c2
-rw-r--r--quantum/quantum.c14
-rw-r--r--quantum/rgb_matrix.c1185
-rw-r--r--quantum/rgb_matrix.h152
-rw-r--r--quantum/rgb_matrix_animations/alpha_mods_anim.h26
-rw-r--r--quantum/rgb_matrix_animations/breathing_anim.h19
-rw-r--r--quantum/rgb_matrix_animations/cycle_all_anim.h21
-rw-r--r--quantum/rgb_matrix_animations/cycle_left_right_anim.h22
-rw-r--r--quantum/rgb_matrix_animations/cycle_up_down_anim.h22
-rw-r--r--quantum/rgb_matrix_animations/digital_rain_anim.h74
-rw-r--r--quantum/rgb_matrix_animations/dual_beacon_anim.h24
-rw-r--r--quantum/rgb_matrix_animations/gradient_up_down_anim.h22
-rw-r--r--quantum/rgb_matrix_animations/jellybean_raindrops_anim.h30
-rw-r--r--quantum/rgb_matrix_animations/rainbow_beacon_anim.h24
-rw-r--r--quantum/rgb_matrix_animations/rainbow_moving_chevron_anim.h22
-rw-r--r--quantum/rgb_matrix_animations/rainbow_pinwheels_anim.h24
-rw-r--r--quantum/rgb_matrix_animations/raindrops_anim.h40
-rw-r--r--quantum/rgb_matrix_animations/solid_color_anim.h14
-rw-r--r--quantum/rgb_matrix_animations/solid_reactive_anim.h33
-rw-r--r--quantum/rgb_matrix_animations/solid_reactive_simple_anim.h32
-rw-r--r--quantum/rgb_matrix_animations/solid_splash_anim.h42
-rw-r--r--quantum/rgb_matrix_animations/splash_anim.h44
-rw-r--r--quantum/rgb_matrix_types.h90
116 files changed, 6199 insertions, 1230 deletions
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index 8d1efb12a2..ec12189545 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -10,39 +10,45 @@ If you want to use single color LED's you should use the [LED Matrix Subsystem](
There is basic support for addressable RGB matrix lighting with the I2C IS31FL3731 RGB controller. To enable it, add this to your `rules.mk`:
- RGB_MATRIX_ENABLE = IS31FL3731
+```C
+RGB_MATRIX_ENABLE = IS31FL3731
+```
Configure the hardware via your `config.h`:
- // This is a 7-bit address, that gets left-shifted and bit 0
- // set to 0 for write, 1 for read (as per I2C protocol)
- // The address will vary depending on your wiring:
- // 0b1110100 AD <-> GND
- // 0b1110111 AD <-> VCC
- // 0b1110101 AD <-> SCL
- // 0b1110110 AD <-> SDA
- #define DRIVER_ADDR_1 0b1110100
- #define DRIVER_ADDR_2 0b1110110
-
- #define DRIVER_COUNT 2
- #define DRIVER_1_LED_TOTAL 25
- #define DRIVER_2_LED_TOTAL 24
- #define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL
+```C
+// This is a 7-bit address, that gets left-shifted and bit 0
+// set to 0 for write, 1 for read (as per I2C protocol)
+// The address will vary depending on your wiring:
+// 0b1110100 AD <-> GND
+// 0b1110111 AD <-> VCC
+// 0b1110101 AD <-> SCL
+// 0b1110110 AD <-> SDA
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110110
+
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 25
+#define DRIVER_2_LED_TOTAL 24
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL
+```
Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
- const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
- /* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, C1_3, C2_3, C3_3},
- ....
- }
+```C
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+ {0, C1_3, C2_3, C3_3},
+ ....
+}
+```
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](http://www.is