-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Bug Fixes, More Patterns, and improovements #189
base: main
Are you sure you want to change the base?
Conversation
Thank you for the PR! I need to add preprocessor directives for enabling/disabling websockets and IR, as some people have had stability and flicker problems with them enabled. I'll try to get this reviewed soon. Thanks! |
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.
First, let me be clear that I don't have rights in this repository.
If I owned this depot, I would request significant changes.
At a minimum:
- Don't change default maximum amps in the depot -- for safety
- Wrap IR and ArduinoUpdate capabilities to be conditionally enabled by defining compilation symbols
- Don't enable functionality that's not quite ready (e.g., web sockets seems to only partially be there)
@HACKER-3000 ... Are you still interested in pursuing this change? |
i tried cleaning it up a bit. i hope i didn't miss anything |
@HACKER-3000 ... Well, there were one or two things that needed doing. 😄 There was a massive set of changes in the last couple months, and those had to get merged first. I reverted the addition of the palettes... (expand)
Reviewing the code, the inclusion of the gradient palettes directly in the overall palettes structure had a fairly significant impact on RAM. This is because every gradient palette was expanded from ROM into a 64-byte version, since the palettes require exactly 16 CRGB values. The code worked, but there's likely a better way to do this, that can minimize the overhead. For example, perhaps the palettes that are exposed via the UI can be the combined set of normal 16-entry palettes + the gradient palettes. If the user selects a gradient palette, then it's converted on-the-fly to the 16-entry palette. This will avoid the second (expanded) copy of all the gradient palettes from being in memory. I think the changes for the new patterns remain. Can you verify the other bug fixes made it through the massive merge alright? |
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 looks good to me, pending HACKER-3000 confirmation.
It does the following:
- Adds a new gradient palette, named
Vapour_gp
- Adds six new effects:
currentPaletteTwinkles()
, akaPalette Twinkles
coolerpalettebow()
, akaPaletterBow
palettebowglitter()
, akaPaletteBow With Glitter
palettebow()
, akaSolid PaletteBow
firepal()
, akaPaletteFire
waterpal()
, akaPaletteWater
- Moves websocket functionality to separate file,
Websockets.cpp
- Enables successful platformio builds when
ENABLE_IR
is defined as1
- Adds additional configuration and validation for
ENABLE_IR
,ENABLE_ARDUINO_OTA
, andENABLE_WEBSOCKETS
- Add additional example of custom configuration to platformio_override_example.ini
Edit -- Note that ENABLE_IR
, ENABLE_ARDUINO_OTA
, and ENABLE_WEBSOCKETS
are not currently supported or built by any default configuration.
@jasoncoon -- Can you review this, as I made a number of changes, so a second set of eyes would be appreciated? |
These changes look fine to me, but I won't be able to test them on an actual device until tomorrow evening at the earliest. And, even then, I don't plan on testing with IR or websockets enabled. |
Of course you wouldn't test IR or websockets ... in fact, they are explicitly marked as unsupported:
My changes were simply to move those bits of code into their own files as much as possible, to make maintenance easier, without impacting the binary. |
im sorry if i caused trouble by re-opening discussion on this mess. |
There is no trouble. Not all changes go in, but all changes are considered! Thanks for opening the PR! |
No description provided.