-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add pixelbuf for accelerating NeoPixel operations #943
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
Conversation
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.
Thanks for taking this on! It'll be good to get it sped up. I think this can be simplified by keeping the API smaller and only working on a pixel basis, no raw byte stuff.
@rhooper Are you waiting on me for this? It'd be awesome to get it in 4.0.0. Thanks! |
No, i'm not waiting on you, i'm waiting on my time to free up. |
Ideally to wrap this up, we'd pick up and use:
As well as finishing up the RGBLED so we have a fallback for hardware that doesn't fit the pixelbuf class:
The RGBLED class might be better renamed to Pixelbuf. It is needed to be backwards compatible when we do a hard swap of NeoPixel and Dotstar (and others) to use Pixelbuf. |
Please let me know when this needs another look. Thanks! |
This is ready for another look, along with the code in: |
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.
Just a few questions and then it should be good to go. I think we should follow up with making the subclassing of PixelBuf work. The previous errors may have to do with the dunder methods.
ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.mk
Show resolved
Hide resolved
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.
Looks good! Thank you for all of your hard work on this! I'll update the translations for you and then merge.
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.
Thank you so much for this!
This PR adds a PixelBuf class that accelerates byteorder and brightness operations and will have an associated PR for https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel
Relates to issue #884
Further work is needed to: