Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Fractal RGB matrix effects #12670

Merged
merged 6 commits into from
Nov 1, 2021
Merged

Conversation

filterpaper
Copy link
Contributor

@filterpaper filterpaper commented Apr 24, 2021

Description

Here is a Fractal RGB matrix effect that generates randomly lit keys on middle columns and pulse outwards, creating a horizontal fractal pattern. Animation speed is user adjustable.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@filterpaper
Copy link
Contributor Author

The use of random8() in this PR has dependency on #12699

@filterpaper filterpaper marked this pull request as draft April 28, 2021 01:56
@filterpaper filterpaper changed the title New RGB_MATRIX_PIXELATION effect New Pixel RGB matrix animation effects Apr 28, 2021
@filterpaper filterpaper marked this pull request as ready for review April 28, 2021 05:08
@drashna drashna added the awaiting_pr Relies on another PR to be merged first label May 9, 2021
@drashna drashna requested a review from a team June 20, 2021 01:55
@filterpaper filterpaper changed the base branch from master to develop July 22, 2021 08:55
@filterpaper filterpaper force-pushed the rgbmatrix_pixelation branch from fc9cbe7 to 73543ec Compare July 23, 2021 01:21
@filterpaper
Copy link
Contributor Author

Rebased against develop branch.

@drashna
Copy link
Member

drashna commented Jul 26, 2021

These need to be moved to quantum/rgb_matrix/animations

@drashna drashna removed the awaiting_pr Relies on another PR to be merged first label Jul 26, 2021
drashna added a commit to drashna/qmk_firmware that referenced this pull request Jul 27, 2021
tzarc pushed a commit that referenced this pull request Jul 27, 2021
* Reduce firmware size in pre for #12670

* Also disable pixel mode, just in case
@filterpaper
Copy link
Contributor Author

Update animation header file for explicit enable instead of disable. Pend this PR to merge after #13758 to align documentation text.

@drashna
Copy link
Member

drashna commented Jul 30, 2021

This seems to lock up on resume.

@filterpaper
Copy link
Contributor Author

This seems to lock up on resume.

Do you mean suspending the PC and resuming? I've not been able to reproduce on a Mac, except that the RGB may not fully turn off most of the time. Can you confirm the process to reproduce what you experienced?

@fauxpark
Copy link
Member

fauxpark commented Jul 30, 2021

I've not been able to reproduce on a Mac, except that the RGB may not fully turn off most of the time.

You have to wait about a minute for macOS to suspend USB devices after going to sleep.

@filterpaper
Copy link
Contributor Author

I've not been able to reproduce on a Mac, except that the RGB may not fully turn off most of the time.

You have to wait about a minute for macOS to suspend USB devices after going to sleep.

RIght, I'm aware of this because my mouse indicator LED will turn off when USB is truly suspended. However I can't reproduce the issue. I will give this a try on Windows to see if it makes a difference. Do you see the lock up problem on all three animation?

@drashna
Copy link
Member

drashna commented Jul 30, 2021

this is happening on Windows, for me, but with the moonlander, specifically. I'm going to investigate some more

docs/feature_rgb_matrix.md Outdated Show resolved Hide resolved
@drashna
Copy link
Member

drashna commented Aug 16, 2021

I've not been able to reproduce on a Mac, except that the RGB may not fully turn off most of the time.

You have to wait about a minute for macOS to suspend USB devices after going to sleep.

RIght, I'm aware of this because my mouse indicator LED will turn off when USB is truly suspended. However I can't reproduce the issue. I will give this a try on Windows to see if it makes a difference. Do you see the lock up problem on all three animation?

It seems to be ... finicky about when it will happen. It no longer happens on my moonlander, but it seems to be happening on my corne (avr), now. But only when in the pixel animations.

@drashna drashna self-requested a review August 17, 2021 19:25
@filterpaper filterpaper force-pushed the rgbmatrix_pixelation branch from 1ae10e2 to 8b9fd4e Compare August 20, 2021 13:19
@filterpaper filterpaper changed the title New Pixel RGB matrix animation effects Add Fractall RGB matrix effects Aug 26, 2021
@filterpaper filterpaper changed the title Add Fractall RGB matrix effects Add Fractal RGB matrix effects Aug 26, 2021
@filterpaper filterpaper force-pushed the rgbmatrix_pixelation branch from f26da64 to 456e7f7 Compare August 26, 2021 11:33
@filterpaper
Copy link
Contributor Author

Reduced this PR to a single effect. Shrank array table size and eliminated excessive maths by using simple MATRIX_COLS. Split keyboards will animate independently on each halve instead of across the split—this should reduce lag in the code.

@github-actions github-actions bot added dependencies keyboard keymap via Adds via keymap and/or updates keyboard for via support labels Aug 29, 2021
@github-actions github-actions bot removed keymap via Adds via keymap and/or updates keyboard for via support dependencies keyboard labels Sep 26, 2021
docs/feature_rgb_matrix.md Outdated Show resolved Hide resolved
@drashna drashna requested a review from a team September 28, 2021 05:01
@tzarc tzarc merged commit 4bf7ce2 into qmk:develop Nov 1, 2021
@filterpaper filterpaper deleted the rgbmatrix_pixelation branch November 2, 2021 05:12
nhongooi pushed a commit to nhongooi/qmk_firmware that referenced this pull request Dec 5, 2021
* Reduce firmware size in pre for qmk#12670

* Also disable pixel mode, just in case
ptrxyz pushed a commit to ptrxyz/qmk_firmware that referenced this pull request Apr 9, 2022
* Squashed fractal effect commit for easier rebase

* Update documentation

* Squashed fractal effect commit for easier rebase

* Update documentation

* Update doc spacing

Co-authored-by: Ryan <[email protected]>

* Update feature_rgb_matrix.md

Co-authored-by: filterpaper <filterpaper@localhost>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants