commit e8e45bca986657adf292e84a88c9cc1459cd9f7b
parent 0a45a198015ea4983f72288304aa99459af0e7d8
Author: Wolf Van Herreweghe <wolfvanh@gmail.com>
Date: Tue, 21 Jun 2022 04:22:53 +0200
[Keyboard] Update FAve 84H RGB firmware (#16919)
* Add base FAve 84H firmware
* Update keyboards/linworks/fave84h/readme.md
Thank you, apologies for the oversight
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/linworks/fave84h/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/linworks/fave84h/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Move LED config in ifdef
* update read me
* Update Product Name
* Update keyboards/linworks/fave84h/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Via RGB Matrix Control
* Add base FAve 84H firmware
* Add Via RGB Matrix Control
* fix merge conflict
* reduce max brightness
* remove action macro and action function
Co-authored-by: Joel Challis <git@zvecr.com>
* Remove / update code to work with the build in QMK via hack
* Update Read me
* Add newline at end of rules
Co-authored-by: Wolf Van Herreweghe <wolfvh@getupgamesofficial.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat:
5 files changed, 40 insertions(+), 31 deletions(-)
diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h
@@ -52,17 +52,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
-//Led configuration
-#define RGBLIGHT_ANIMATIONS
-#define RGB_DI_PIN D2
-
+/* Define RGB */
+#define RGBLED_NUM 126
#define DRIVER_LED_TOTAL 126
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 140
+#define RGB_DI_PIN D2
-#define RGB_MATRIX_KEYPRESSES
-//#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
+
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
@@ -90,23 +92,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
-#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
-#ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS
- #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
- #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-#endif
-#ifdef RGB_MATRIX_KEYPRESSES
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
- #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
- #define ENABLE_RGB_MATRIX_SPLASH
- #define ENABLE_RGB_MATRIX_MULTISPLASH
- #define ENABLE_RGB_MATRIX_SOLID_SPLASH
- #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
+// different from the physical layout; it also has problems when underglow
+// LEDs are present, or when multiple LEDs are associated with the same key.
+#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
+// is defined. Both of these effects currently don't work properly when the
+// key matrix does not match the physical layout, so they are disabled.
+#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
+
+// Reactive effects; can be enabled only if at least one of
+// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#define ENABLE_RGB_MATRIX_SPLASH
+#define ENABLE_RGB_MATRIX_MULTISPLASH
+#define ENABLE_RGB_MATRIX_SOLID_SPLASH
+#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
#endif
diff --git a/keyboards/linworks/fave84h/fave84h.c b/keyboards/linworks/fave84h/fave84h.c
@@ -39,7 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
- 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
1, 1, 1, 4, 1, 1, 1, 1, 1, 1,
@@ -47,4 +47,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
}
};
-#endif
-\ No newline at end of file
+#endif
diff --git a/keyboards/linworks/fave84h/keymaps/via/keymap.c b/keyboards/linworks/fave84h/keymaps/via/keymap.c
@@ -65,4 +65,4 @@ void rgb_matrix_indicators_user(void) {
if (host_leds.caps_lock) {
rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B
}
-}
-\ No newline at end of file
+}
diff --git a/keyboards/linworks/fave84h/keymaps/via/rules.mk b/keyboards/linworks/fave84h/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/linworks/fave84h/readme.md b/keyboards/linworks/fave84h/readme.md
@@ -19,5 +19,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Bootloader Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
-* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Physical reset short**: Briefly short the 2 pads labelled RESET on the back of the PCB
* **Keycode in layout**: Press the B key on layer 1 which is mapped to `RESET`