-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Feature/improve caf leds #19892
Feature/improve caf leds #19892
Conversation
Thank you for your contribution! Note: This comment is automatically posted and updated by the Contribs GitHub Action. |
Improved LED effects in the following ways: - LEDs module now uses one work queue which updates all LEDs every 10ms (by default). This ensures accurate timing and smooth animations. - Added several built-in easing functions, and ability to provide a custom easing function - Added several LED effects. - LED effects are composed with macros which makes it easier to create new effects. - Defined several colors, with brightness parameters. Makes LED state defs more easily readable. This commit includes the core LEDs module improvements. A following commit will implement the changes in other files. Signed-off-by: Nick Brook <[email protected]>
Implements the LED macro changes in other project which use the LED module. Signed-off-by: Nick Brook <[email protected]>
0f2980e
to
9e393d6
Compare
Hi @nrbrook , thank you for the suggestions. I don't think we will be able to add all of the changes as these seems quite invasive. This module was created to allow effects definition for nrf_desktop. I imagined additional effects could be defined outside of the module. Maybe there is something missing that could be added quickly and simplify app-specific animation definitions.
Thanks for letting us know. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be properly reviewed and broken down. If anything, changes should be introduced without a need to update any of the existing applications.
Thanks for the feedback. Otherwise, the changes are only limited to the LEDs module itself. The previous implementation was not sufficient to be able to define effects with easing, and could not maintain accurate timing of effects. |
Closing this PR in favour of #19904 |
Improved LED effects in the following ways:
(by default).
This ensures accurate timing and smooth animations.
easing function
effects.
Makes LED state defs more easily readable.
One issue I'm unsure about is licensing. The built-in easing functions are copied from the FastLED library. I'm not sure if that is allowed, and if so, the correct way to provide attribution.