aboutsummaryrefslogtreecommitdiff
path: root/quantum/rgb_matrix_animations
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2020-05-30 13:14:59 -0700
committerGitHub <noreply@github.com>2020-05-30 13:14:59 -0700
commitfced377ac007d27f2650ccffbe0b18abcdcfe23d (patch)
treebd5b141987394a5a16cfc416bfe2b9efdb14d067 /quantum/rgb_matrix_animations
parent7b8a013826ad90714a05ea522de53adf964ab3b9 (diff)
downloadqmk_firmware-fced377ac007d27f2650ccffbe0b18abcdcfe23d.tar.gz
qmk_firmware-fced377ac007d27f2650ccffbe0b18abcdcfe23d.zip
2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change"
Diffstat (limited to 'quantum/rgb_matrix_animations')
-rw-r--r--quantum/rgb_matrix_animations/breathing_anim.h2
-rw-r--r--quantum/rgb_matrix_animations/digital_rain_anim.h24
-rw-r--r--quantum/rgb_matrix_animations/jellybean_raindrops_anim.h2
-rw-r--r--quantum/rgb_matrix_animations/raindrops_anim.h2
-rw-r--r--quantum/rgb_matrix_animations/typing_heatmap_anim.h28
5 files changed, 29 insertions, 29 deletions
diff --git a/quantum/rgb_matrix_animations/breathing_anim.h b/quantum/rgb_matrix_animations/breathing_anim.h
index 92431555e..887425f9d 100644
--- a/quantum/rgb_matrix_animations/breathing_anim.h
+++ b/quantum/rgb_matrix_animations/breathing_anim.h
@@ -6,7 +6,7 @@ bool BREATHING(effect_params_t* params) {
6 RGB_MATRIX_USE_LIMITS(led_min, led_max); 6 RGB_MATRIX_USE_LIMITS(led_min, led_max);
7 7
8 HSV hsv = rgb_matrix_config.hsv; 8 HSV hsv = rgb_matrix_config.hsv;
9 uint16_t time = scale16by8(g_rgb_counters.tick, rgb_matrix_config.speed / 8); 9 uint16_t time = scale16by8(g_rgb_timer, rgb_matrix_config.speed / 8);
10 hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); 10 hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v);
11 RGB rgb = hsv_to_rgb(hsv); 11 RGB rgb = hsv_to_rgb(hsv);
12 for (uint8_t i = led_min; i < led_max; i++) { 12 for (uint8_t i = led_min; i < led_max; i++) {
diff --git a/quantum/rgb_matrix_animations/digital_rain_anim.h b/quantum/rgb_matrix_animations/digital_rain_anim.h
index 7a4a52db1..1de45f8e8 100644
--- a/quantum/rgb_matrix_animations/digital_rain_anim.h
+++ b/quantum/rgb_matrix_animations/digital_rain_anim.h
@@ -18,7 +18,7 @@ bool DIGITAL_RAIN(effect_params_t* params) {
18 18
19 if (params->init) { 19 if (params->init) {
20 rgb_matrix_set_color_all(0, 0, 0); 20 rgb_matrix_set_color_all(0, 0, 0);
21 memset(rgb_frame_buffer, 0, sizeof(rgb_frame_buffer)); 21 memset(g_rgb_frame_buffer, 0, sizeof(g_rgb_frame_buffer));
22 drop = 0; 22 drop = 0;
23 } 23 }
24 24
@@ -27,10 +27,10 @@ bool DIGITAL_RAIN(effect_params_t* params) {
27 if (row == 0 && drop == 0 && rand() < RAND_MAX / RGB_DIGITAL_RAIN_DROPS) { 27 if (row == 0 && drop == 0 && rand() < RAND_MAX / RGB_DIGITAL_RAIN_DROPS) {
28 // top row, pixels have just fallen and we're 28 // top row, pixels have just fallen and we're
29 // making a new rain drop in this column 29 // making a new rain drop in this column
30 rgb_frame_buffer[row][col] = max_intensity; 30 g_rgb_frame_buffer[row][col] = max_intensity;
31 } else if (rgb_frame_buffer[row][col] > 0 && rgb_frame_buffer[row][col] < max_intensity) { 31 } else if (g_rgb_frame_buffer[row][col] > 0 && g_rgb_frame_buffer[row][col] < max_intensity) {
32 // neither fully bright nor dark, decay it 32 // neither fully bright nor dark, decay it
33 rgb_frame_buffer[row][col]--; 33 g_rgb_frame_buffer[row][col]--;
34 } 34 }
35 // set the pixel colour 35 // set the pixel colour
36 uint8_t led[LED_HITS_TO_REMEMBER]; 36 uint8_t led[LED_HITS_TO_REMEMBER];
@@ -38,11 +38,11 @@ bool DIGITAL_RAIN(effect_params_t* params) {
38 38
39 // TODO: multiple leds are supported mapped to the same row/column 39 // TODO: multiple leds are supported mapped to the same row/column
40 if (led_count > 0) { 40 if (led_count > 0) {
41 if (rgb_frame_buffer[row][col] > pure_green_intensity) { 41 if (g_rgb_frame_buffer[row][col] > pure_green_intensity) {
42 const uint8_t boost = (uint8_t)((uint16_t)max_brightness_boost * (rgb_frame_buffer[row][col] - pure_green_intensity) / (max_intensity - pure_green_intensity)); 42 const uint8_t boost = (uint8_t)((uint16_t)max_brightness_boost * (g_rgb_frame_buffer[row][col] - pure_green_intensity) / (max_intensity - pure_green_intensity));
43 rgb_matrix_set_color(led[0], boost, max_intensity, boost); 43 rgb_matrix_set_color(led[0], boost, max_intensity, boost);
44 } else { 44 } else {
45 const uint8_t green = (uint8_t)((uint16_t)max_intensity * rgb_frame_buffer[row][col] / pure_green_intensity); 45 const uint8_t green = (uint8_t)((uint16_t)max_intensity * g_rgb_frame_buffer[row][col] / pure_green_intensity);
46 rgb_matrix_set_color(led[0], 0, green, 0); 46 rgb_matrix_set_color(led[0], 0, green, 0);
47 } 47 }
48 } 48 }
@@ -55,15 +55,15 @@ bool DIGITAL_RAIN(effect_params_t* params) {
55 for (uint8_t row = MATRIX_ROWS - 1; row > 0; row--) { 55 for (uint8_t row = MATRIX_ROWS - 1; row > 0; row--) {
56 for (uint8_t col = 0; col < MATRIX_COLS; col++) { 56 for (uint8_t col = 0; col < MATRIX_COLS; col++) {
57 // if ths is on the bottom row and bright allow decay 57 // if ths is on the bottom row and bright allow decay
58 if (row == MATRIX_ROWS - 1 && rgb_frame_buffer[row][col] == max_intensity) { 58 if (row == MATRIX_ROWS - 1 && g_rgb_frame_buffer[row][col] == max_intensity) {
59 rgb_frame_buffer[row][col]--; 59 g_rgb_frame_buffer[row][col]--;
60 } 60 }
61 // check if the pixel above is bright 61 // check if the pixel above is bright
62 if (rgb_frame_buffer[row - 1][col] == max_intensity) { 62 if (g_rgb_frame_buffer[row - 1][col] == max_intensity) {
63 // allow old bright pixel to decay 63 // allow old bright pixel to decay
64 rgb_frame_buffer[row - 1][col]--; 64 g_rgb_frame_buffer[row - 1][col]--;
65 // make this pixel bright 65 // make this pixel bright
66 rgb_frame_buffer[row][col] = max_intensity; 66 g_rgb_frame_buffer[row][col] = max_intensity;
67 } 67 }
68 } 68 }
69 } 69 }
diff --git a/quantum/rgb_matrix_animations/jellybean_raindrops_anim.h b/quantum/rgb_matrix_animations/jellybean_raindrops_anim.h
index 5596146a3..ef2d1500b 100644
--- a/quantum/rgb_matrix_animations/jellybean_raindrops_anim.h
+++ b/quantum/rgb_matrix_animations/jellybean_raindrops_anim.h
@@ -12,7 +12,7 @@ static void jellybean_raindrops_set_color(int i, effect_params_t* params) {
12bool JELLYBEAN_RAINDROPS(effect_params_t* params) { 12bool JELLYBEAN_RAINDROPS(effect_params_t* params) {
13 if (!params->init) { 13 if (!params->init) {
14 // Change one LED every tick, make sure speed is not 0 14 // Change one LED every tick, make sure speed is not 0
15 if (scale16by8(g_rgb_counters.tick, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0) { 15 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0) {
16 jellybean_raindrops_set_color(rand() % DRIVER_LED_TOTAL, params); 16 jellybean_raindrops_set_color(rand() % DRIVER_LED_TOTAL, params);
17 } 17 }
18 return false; 18 return false;
diff --git a/quantum/rgb_matrix_animations/raindrops_anim.h b/quantum/rgb_matrix_animations/raindrops_anim.h
index 9f839a1bc..6e1b5acb0 100644
--- a/quantum/rgb_matrix_animations/raindrops_anim.h
+++ b/quantum/rgb_matrix_animations/raindrops_anim.h
@@ -22,7 +22,7 @@ static void raindrops_set_color(int i, effect_params_t* params) {
22bool RAINDROPS(effect_params_t* params) { 22bool RAINDROPS(effect_params_t* params) {
23 if (!params->init) { 23 if (!params->init) {
24 // Change one LED every tick, make sure speed is not 0 24 // Change one LED every tick, make sure speed is not 0
25 if (scale16by8(g_rgb_counters.tick, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { 25 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) {
26 raindrops_set_color(rand() % DRIVER_LED_TOTAL, params); 26 raindrops_set_color(rand() % DRIVER_LED_TOTAL, params);
27 } 27 }
28 return false; 28 return false;
diff --git a/quantum/rgb_matrix_animations/typing_heatmap_anim.h b/quantum/rgb_matrix_animations/typing_heatmap_anim.h
index dd313f16a..e82c1b49e 100644
--- a/quantum/rgb_matrix_animations/typing_heatmap_anim.h
+++ b/quantum/rgb_matrix_animations/typing_heatmap_anim.h
@@ -10,20 +10,20 @@ void process_rgb_matrix_typing_heatmap(keyrecord_t* record) {
10 uint8_t m_col = col - 1; 10 uint8_t m_col = col - 1;
11 uint8_t p_col = col + 1; 11 uint8_t p_col = col + 1;
12 12
13 if (m_col < col) rgb_frame_buffer[row][m_col] = qadd8(rgb_frame_buffer[row][m_col], 16); 13 if (m_col < col) g_rgb_frame_buffer[row][m_col] = qadd8(g_rgb_frame_buffer[row][m_col], 16);
14 rgb_frame_buffer[row][col] = qadd8(rgb_frame_buffer[row][col], 32); 14 g_rgb_frame_buffer[row][col] = qadd8(g_rgb_frame_buffer[row][col], 32);
15 if (p_col < MATRIX_COLS) rgb_frame_buffer[row][p_col] = qadd8(rgb_frame_buffer[row][p_col], 16); 15 if (p_col < MATRIX_COLS) g_rgb_frame_buffer[row][p_col] = qadd8(g_rgb_frame_buffer[row][p_col], 16);
16 16
17 if (p_row < MATRIX_ROWS) { 17 if (p_row < MATRIX_ROWS) {
18 if (m_col < col) rgb_frame_buffer[p_row][m_col] = qadd8(rgb_frame_buffer[p_row][m_col], 13); 18 if (m_col < col) g_rgb_frame_buffer[p_row][m_col] = qadd8(g_rgb_frame_buffer[p_row][m_col], 13);
19 rgb_frame_buffer[p_row][col] = qadd8(rgb_frame_buffer[p_row][col], 16); 19 g_rgb_frame_buffer[p_row][col] = qadd8(g_rgb_frame_buffer[p_row][col], 16);
20 if (p_col < MATRIX_COLS) rgb_frame_buffer[p_row][p_col] = qadd8(rgb_frame_buffer[p_row][p_col], 13); 20 if (p_col < MATRIX_COLS) g_rgb_frame_buffer[p_row][p_col] = qadd8(g_rgb_frame_buffer[p_row][p_col], 13);
21 } 21 }
22 22
23 if (m_row < row) { 23 if (m_row < row) {
24 if (m_col < col) rgb_frame_buffer[m_row][m_col] = qadd8(rgb_frame_buffer[m_row][m_col], 13); 24 if (m_col < col) g_rgb_frame_buffer[m_row][m_col] = qadd8(g_rgb_frame_buffer[m_row][m_col], 13);
25 rgb_frame_buffer[m_row][col] = qadd8(rgb_frame_buffer[m_row][col], 16); 25 g_rgb_frame_buffer[m_row][col] = qadd8(g_rgb_frame_buffer[m_row][col], 16);
26 if (p_col < MATRIX_COLS) rgb_frame_buffer[m_row][p_col] = qadd8(rgb_frame_buffer[m_row][p_col], 13); 26 if (p_col < MATRIX_COLS) g_rgb_frame_buffer[m_row][p_col] = qadd8(g_rgb_frame_buffer[m_row][p_col], 13);
27 } 27 }
28} 28}
29 29
@@ -31,18 +31,18 @@ bool TYPING_HEATMAP(effect_params_t* params) {
31 // Modified version of RGB_MATRIX_USE_LIMITS to work off of matrix row / col size 31 // Modified version of RGB_MATRIX_USE_LIMITS to work off of matrix row / col size
32 uint8_t led_min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter; 32 uint8_t led_min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter;
33 uint8_t led_max = led_min + RGB_MATRIX_LED_PROCESS_LIMIT; 33 uint8_t led_max = led_min + RGB_MATRIX_LED_PROCESS_LIMIT;
34 if (led_max > sizeof(rgb_frame_buffer)) led_max = sizeof(rgb_frame_buffer); 34 if (led_max > sizeof(g_rgb_frame_buffer)) led_max = sizeof(g_rgb_frame_buffer);
35 35
36 if (params->init) { 36 if (params->init) {
37 rgb_matrix_set_color_all(0, 0, 0); 37 rgb_matrix_set_color_all(0, 0, 0);
38 memset(rgb_frame_buffer, 0, sizeof rgb_frame_buffer); 38 memset(g_rgb_frame_buffer, 0, sizeof g_rgb_frame_buffer);
39 } 39 }
40 40
41 // Render heatmap & decrease 41 // Render heatmap & decrease
42 for (int i = led_min; i < led_max; i++) { 42 for (int i = led_min; i < led_max; i++) {
43 uint8_t row = i % MATRIX_ROWS; 43 uint8_t row = i % MATRIX_ROWS;
44 uint8_t col = i / MATRIX_ROWS; 44 uint8_t col = i / MATRIX_ROWS;
45 uint8_t val = rgb_frame_buffer[row][col]; 45 uint8_t val = g_rgb_frame_buffer[row][col];
46 46
47 // set the pixel colour 47 // set the pixel colour
48 uint8_t led[LED_HITS_TO_REMEMBER]; 48 uint8_t led[LED_HITS_TO_REMEMBER];
@@ -55,10 +55,10 @@ bool TYPING_HEATMAP(effect_params_t* params) {
55 rgb_matrix_set_color(led[j], rgb.r, rgb.g, rgb.b); 55 rgb_matrix_set_color(led[j], rgb.r, rgb.g, rgb.b);
56 } 56 }
57 57
58 rgb_frame_buffer[row][col] = qsub8(val, 1); 58 g_rgb_frame_buffer[row][col] = qsub8(val, 1);
59 } 59 }
60 60
61 return led_max < sizeof(rgb_frame_buffer); 61 return led_max < sizeof(g_rgb_frame_buffer);
62} 62}
63 63
64# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS 64# endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS