From 724aa3a4b256ccb058e4ef86c882167635d6815d Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Fri, 30 Dec 2022 08:04:01 +0700 Subject: Refactor entire Handwired K552 keyboard (#18066) --- .../handwired_k552/keymaps/default/keymap.c | 4 ++-- .../handwired_k552/keymaps/default/keymap_stuff.h | 14 +++++------ .../keymaps/default/led/cool_diagonal.c | 2 +- .../keymaps/default/led/custom_gradient.c | 2 +- .../handwired_k552/keymaps/default/led/diagonal.c | 22 ------------------ .../default/led/flower_blooming/flower_blooming.c | 27 ++++++++++++++++++++++ .../default/led/flower_blooming/flower_blooming.h | 20 ++++++++++++++++ .../handwired_k552/keymaps/default/led/kitt.c | 2 +- .../keymaps/default/led/random_breath_rainbow.c | 2 +- .../keymaps/default/oled/oled_stuff.h | 4 ++-- .../handwired_k552/keymaps/default/readme.md | 2 +- .../keymaps/default/rgb_matrix_user.inc | 4 ++-- .../handwired_k552/keymaps/default/rules.mk | 3 +++ .../handwired_k552/keymaps/via/config.h | 2 +- .../handwired_k552/keymaps/via/keymap.c | 4 ++-- .../handwired_k552/keymaps/via/keymap_stuff.h | 14 +++++------ .../handwired_k552/keymaps/via/led/cool_diagonal.c | 2 +- .../keymaps/via/led/custom_gradient.c | 2 +- .../handwired_k552/keymaps/via/led/diagonal.c | 22 ------------------ .../via/led/flower_blooming/flower_blooming.c | 27 ++++++++++++++++++++++ .../via/led/flower_blooming/flower_blooming.h | 20 ++++++++++++++++ .../handwired_k552/keymaps/via/led/kitt.c | 2 +- .../keymaps/via/led/random_breath_rainbow.c | 2 +- .../handwired_k552/keymaps/via/oled/oled_stuff.h | 6 ++--- .../handwired_k552/keymaps/via/readme.md | 2 +- .../handwired_k552/keymaps/via/rgb_matrix_user.inc | 4 ++-- .../handwired_k552/keymaps/via/rules.mk | 3 +++ 27 files changed, 138 insertions(+), 82 deletions(-) delete mode 100644 keyboards/horrortroll/handwired_k552/keymaps/default/led/diagonal.c create mode 100644 keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c create mode 100644 keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h delete mode 100644 keyboards/horrortroll/handwired_k552/keymaps/via/led/diagonal.c create mode 100644 keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.c create mode 100644 keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.h (limited to 'keyboards/horrortroll/handwired_k552/keymaps') diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c index 6e06466d22..3208b56544 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_ansi( - QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______, _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_WAVE), _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h index 5d854b9396..cc93f18207 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,9 +27,9 @@ // entirely and just use numbers. enum layer_names { - _BASE = 0, - _WAVE = 1, - _FN = 2 + _BASE, + _WAVE, + _FN, }; // For CUSTOM_GRADIENT @@ -212,12 +212,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (rgb_matrix_get_mode()) { case RGB_MATRIX_CUSTOM_CUSTOM_GRADIENT: - rgb_matrix_mode(RGB_MATRIX_CUSTOM_DIAGONAL); - return false; - case RGB_MATRIX_CUSTOM_DIAGONAL: rgb_matrix_mode(RGB_MATRIX_CUSTOM_COOL_DIAGONAL); return false; case RGB_MATRIX_CUSTOM_COOL_DIAGONAL: + rgb_matrix_mode(RGB_MATRIX_CUSTOM_FLOWER_BLOOMING); + return false; + case RGB_MATRIX_CUSTOM_FLOWER_BLOOMING: rgb_matrix_mode(RGB_MATRIX_CUSTOM_KITT); return false; case RGB_MATRIX_CUSTOM_KITT: diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c index 2c518a5431..a5bf960d45 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/cool_diagonal.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c index 0d7acd7e8b..af6173d250 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/diagonal.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/diagonal.c deleted file mode 100644 index 19e3791bd6..0000000000 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/diagonal.c +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2021 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -static HSV DIAGONAL_math(HSV hsv, uint8_t i, uint8_t time) { - hsv.h = g_led_config.point[i].x - g_led_config.point[i].y - time; - return hsv; -} - -bool DIAGONAL(effect_params_t* params) { return effect_runner_i(params, &DIAGONAL_math); } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c new file mode 100644 index 0000000000..add83149cc --- /dev/null +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.c @@ -0,0 +1,27 @@ +/* Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "led/flower_blooming/flower_blooming.h" + +static HSV FLOWER_BLOOMING_math(HSV hsv, uint8_t i, uint8_t time) { + if (g_led_config.point[i].y > k_rgb_matrix_center.y) + hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 + time; + else + hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 - time; + return hsv; +} + +bool FLOWER_BLOOMING(effect_params_t* params) { return effect_runner_bloom(params, &FLOWER_BLOOMING_math); } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h new file mode 100644 index 0000000000..941dab975a --- /dev/null +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/flower_blooming/flower_blooming.h @@ -0,0 +1,20 @@ +#pragma once + +typedef HSV (*flower_blooming_f)(HSV hsv, uint8_t i, uint8_t time); + +bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 10, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + if (g_led_config.point[i].y > k_rgb_matrix_center.y) { + RGB bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, bgr.b, bgr.g, bgr.r); + } else { + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + } + return rgb_matrix_check_finished_leds(led_max); +} diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c index 823eb5839b..dadbe48223 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/kitt.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c index 29c447c61a..ba1ca55faf 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/oled/oled_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/default/oled/oled_stuff.h index 9d8d629179..1160c7ab44 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/oled/oled_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/oled/oled_stuff.h @@ -15,8 +15,8 @@ */ // OLED animation -#include "lib/bongocat.c" -#include "lib/galaxy.c" +#include "lib/bongocat.h" +#include "lib/galaxy.h" #include "lib/wave.c" #ifdef OLED_ENABLE diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/readme.md b/keyboards/horrortroll/handwired_k552/keymaps/default/readme.md index c8f9c1f8ec..546581ab28 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/readme.md +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/readme.md @@ -4,7 +4,7 @@ Keymap is default 87 qwerty, TKL layout It have new LED effect: - Custom gradient (ported from SirTimmyTimbit code [https://github.com/SirTimmyTimbit/customizable-gradient-effect-for-drop-alt]) -- Diagonal (ported from pleasuretek code [https://github.com/pleasuretek/qmk_firmware]) +- FLower Blooming - Cool diagonal (ported from pleasuretek code [https://github.com/pleasuretek/qmk_firmware]) - Knight Rider (ported from jumper149 code [https://github.com/jumper149/qmk_firmware/blob/jumper149/keyboards/dztech/dz65rgb/keymaps/jumper149/]) - Random breath rainbow (based from daed code [https://github.com/daed/qmk_firmware/blob/master/keyboards/massdrop/alt/keymaps/daed] and modify by me) diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc b/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc index 38edbae993..1817465030 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/rgb_matrix_user.inc @@ -1,14 +1,14 @@ RGB_MATRIX_EFFECT(CUSTOM_GRADIENT) -RGB_MATRIX_EFFECT(DIAGONAL) RGB_MATRIX_EFFECT(COOL_DIAGONAL) +RGB_MATRIX_EFFECT(FLOWER_BLOOMING) RGB_MATRIX_EFFECT(KITT) RGB_MATRIX_EFFECT(RANDOM_BREATH_RAINBOW) #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS #include "led/custom_gradient.c" -#include "led/diagonal.c" #include "led/cool_diagonal.c" +#include "led/flower_blooming/flower_blooming.c" #include "led/kitt.c" #include "led/random_breath_rainbow.c" diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/rules.mk b/keyboards/horrortroll/handwired_k552/keymaps/default/rules.mk index 6245023e80..45aa4a911d 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/rules.mk +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/rules.mk @@ -1 +1,4 @@ +SRC += lib/bongocat.c +SRC += lib/galaxy.c + RGB_MATRIX_CUSTOM_USER = yes diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/config.h b/keyboards/horrortroll/handwired_k552/keymaps/via/config.h index a36ce468bc..07730f01ff 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/config.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c index 6e06466d22..3208b56544 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_ansi( - QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, RGB_RMOD, RGB_MOD, RGB_TOG, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, RGB_C_E, _______, _______, _______, G1_HUD, G1_HUI, G1_SAD, G1_SAI, G1_VAD, G1_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_WAVE), _______, G2_HUD, G2_HUI, G2_SAD, G2_SAI, G2_VAD, G2_VAI, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h index 5d854b9396..cc93f18207 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,9 +27,9 @@ // entirely and just use numbers. enum layer_names { - _BASE = 0, - _WAVE = 1, - _FN = 2 + _BASE, + _WAVE, + _FN, }; // For CUSTOM_GRADIENT @@ -212,12 +212,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (rgb_matrix_get_mode()) { case RGB_MATRIX_CUSTOM_CUSTOM_GRADIENT: - rgb_matrix_mode(RGB_MATRIX_CUSTOM_DIAGONAL); - return false; - case RGB_MATRIX_CUSTOM_DIAGONAL: rgb_matrix_mode(RGB_MATRIX_CUSTOM_COOL_DIAGONAL); return false; case RGB_MATRIX_CUSTOM_COOL_DIAGONAL: + rgb_matrix_mode(RGB_MATRIX_CUSTOM_FLOWER_BLOOMING); + return false; + case RGB_MATRIX_CUSTOM_FLOWER_BLOOMING: rgb_matrix_mode(RGB_MATRIX_CUSTOM_KITT); return false; case RGB_MATRIX_CUSTOM_KITT: diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/cool_diagonal.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/cool_diagonal.c index 2c518a5431..a5bf960d45 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/cool_diagonal.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/cool_diagonal.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c index 0d7acd7e8b..af6173d250 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/diagonal.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/diagonal.c deleted file mode 100644 index 19e3791bd6..0000000000 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/diagonal.c +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2021 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -static HSV DIAGONAL_math(HSV hsv, uint8_t i, uint8_t time) { - hsv.h = g_led_config.point[i].x - g_led_config.point[i].y - time; - return hsv; -} - -bool DIAGONAL(effect_params_t* params) { return effect_runner_i(params, &DIAGONAL_math); } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.c new file mode 100644 index 0000000000..add83149cc --- /dev/null +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.c @@ -0,0 +1,27 @@ +/* Copyright 2022 HorrorTroll + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "led/flower_blooming/flower_blooming.h" + +static HSV FLOWER_BLOOMING_math(HSV hsv, uint8_t i, uint8_t time) { + if (g_led_config.point[i].y > k_rgb_matrix_center.y) + hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 + time; + else + hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 - time; + return hsv; +} + +bool FLOWER_BLOOMING(effect_params_t* params) { return effect_runner_bloom(params, &FLOWER_BLOOMING_math); } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.h b/keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.h new file mode 100644 index 0000000000..941dab975a --- /dev/null +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/flower_blooming/flower_blooming.h @@ -0,0 +1,20 @@ +#pragma once + +typedef HSV (*flower_blooming_f)(HSV hsv, uint8_t i, uint8_t time); + +bool effect_runner_bloom(effect_params_t* params, flower_blooming_f effect_func) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); + + uint8_t time = scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed / 10, 1)); + for (uint8_t i = led_min; i < led_max; i++) { + RGB_MATRIX_TEST_LED_FLAGS(); + if (g_led_config.point[i].y > k_rgb_matrix_center.y) { + RGB bgr = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, bgr.b, bgr.g, bgr.r); + } else { + RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + } + return rgb_matrix_check_finished_leds(led_max); +} diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/kitt.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/kitt.c index 823eb5839b..dadbe48223 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/kitt.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/kitt.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c index 29c447c61a..ba1ca55faf 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/oled/oled_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/via/oled/oled_stuff.h index 9d8d629179..ea098bf555 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/oled/oled_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/oled/oled_stuff.h @@ -1,4 +1,4 @@ -/* Copyright 2021 HorrorTroll +/* Copyright 2022 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,8 +15,8 @@ */ // OLED animation -#include "lib/bongocat.c" -#include "lib/galaxy.c" +#include "lib/bongocat.h" +#include "lib/galaxy.h" #include "lib/wave.c" #ifdef OLED_ENABLE diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/readme.md b/keyboards/horrortroll/handwired_k552/keymaps/via/readme.md index c8f9c1f8ec..546581ab28 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/readme.md +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/readme.md @@ -4,7 +4,7 @@ Keymap is default 87 qwerty, TKL layout It have new LED effect: - Custom gradient (ported from SirTimmyTimbit code [https://github.com/SirTimmyTimbit/customizable-gradient-effect-for-drop-alt]) -- Diagonal (ported from pleasuretek code [https://github.com/pleasuretek/qmk_firmware]) +- FLower Blooming - Cool diagonal (ported from pleasuretek code [https://github.com/pleasuretek/qmk_firmware]) - Knight Rider (ported from jumper149 code [https://github.com/jumper149/qmk_firmware/blob/jumper149/keyboards/dztech/dz65rgb/keymaps/jumper149/]) - Random breath rainbow (based from daed code [https://github.com/daed/qmk_firmware/blob/master/keyboards/massdrop/alt/keymaps/daed] and modify by me) diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/rgb_matrix_user.inc b/keyboards/horrortroll/handwired_k552/keymaps/via/rgb_matrix_user.inc index 38edbae993..1817465030 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/rgb_matrix_user.inc +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/rgb_matrix_user.inc @@ -1,14 +1,14 @@ RGB_MATRIX_EFFECT(CUSTOM_GRADIENT) -RGB_MATRIX_EFFECT(DIAGONAL) RGB_MATRIX_EFFECT(COOL_DIAGONAL) +RGB_MATRIX_EFFECT(FLOWER_BLOOMING) RGB_MATRIX_EFFECT(KITT) RGB_MATRIX_EFFECT(RANDOM_BREATH_RAINBOW) #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS #include "led/custom_gradient.c" -#include "led/diagonal.c" #include "led/cool_diagonal.c" +#include "led/flower_blooming/flower_blooming.c" #include "led/kitt.c" #include "led/random_breath_rainbow.c" diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/rules.mk b/keyboards/horrortroll/handwired_k552/keymaps/via/rules.mk index d475530c87..db9ec2aee1 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/rules.mk +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/rules.mk @@ -1,3 +1,6 @@ +SRC += lib/bongocat.c +SRC += lib/galaxy.c + VIA_ENABLE = yes RGB_MATRIX_CUSTOM_USER = yes -- cgit v1.2.3