-
Notifications
You must be signed in to change notification settings - Fork 24
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
Bitmap Label does not update using displayio #45
Comments
NOTE This is not reproducible using "plain ol'" CP -- I put the same SSD1306 display on an RP2040 via the STEMMA port with the following packages:
This suggests to me that the issue lies in the Blinka implementation of the |
Thanks for reporting @EAGrahamJr. This is an odd one. I confirmed the noted behavior and made a reproducer that draws both types on the screen and attempts to update both but only works for label, bitmap_label stays static.
Blinka and core displayio both use the same implementation of bitmap_label. The displayio system itself is where the implementations differ. In the core I'm surprised that this difference exists and applies specifically to updating labels and not setting their text the first time. My gut instinct is somehow the BitmapLabel is not getting counted as a "dirty" region that needs re-drawn. I can't really imagine why it wouldn't be though, bot BitmapLabel and Label ultimately use one or more Bitmaps and TileGrid objects internally so I would have expected them all to work the same. I'll dig into this a bit more later and perhaps move this issue over the Blinka_Displayio repo. reproducer script:
|
The following code (supplied by
todbot
on Discord and modified) shows that thebitmap_label
does not update (or very slowly/sporadically) while the "regular" version flies.Tested on Raspberry Pi Zero W,
bookworm
32-bitrequirements.txt
The expectation is that the behavior should be similar. I do not know if this behavior is present on other displays like this since this is the only one I have at the moment 😃
The text was updated successfully, but these errors were encountered: