From a254b461926f2bccf90bc9723544ec98347e4feb Mon Sep 17 00:00:00 2001 From: foamyguy Date: Fri, 27 Jun 2025 14:41:01 -0500 Subject: [PATCH] use new OnDiskBitmap API --- .../CircuitPython_ACeP_Example/code.py | 13 +++---- .../CircuitPython_Tri-Color_Example/code.py | 15 ++++---- .../wake_on_button/code.py | 34 +++++-------------- .../wake_on_flip/code.py | 34 +++++-------------- Magic_Nine_Ball/code.py | 15 ++------ .../code.py | 6 ++-- 6 files changed, 33 insertions(+), 84 deletions(-) diff --git a/Feather_RP2040_ThinkInk_Examples/CircuitPython_ACeP_Example/code.py b/Feather_RP2040_ThinkInk_Examples/CircuitPython_ACeP_Example/code.py index b8349cc77..dd5e1e53a 100644 --- a/Feather_RP2040_ThinkInk_Examples/CircuitPython_ACeP_Example/code.py +++ b/Feather_RP2040_ThinkInk_Examples/CircuitPython_ACeP_Example/code.py @@ -30,16 +30,13 @@ display = adafruit_spd1656.SPD1656( g = displayio.Group() -fn = "/display-ruler-720p.bmp" +pic = displayio.OnDiskBitmap("/display-ruler-720p.bmp") +t = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader) +g.append(t) -with open(fn, "rb") as f: - pic = displayio.OnDiskBitmap(f) - t = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader) - g.append(t) +display.root_group = g - display.root_group = g - - display.refresh() +display.refresh() while True: pass diff --git a/Feather_RP2040_ThinkInk_Examples/CircuitPython_Tri-Color_Example/code.py b/Feather_RP2040_ThinkInk_Examples/CircuitPython_Tri-Color_Example/code.py index b43f3b6f0..074839f33 100644 --- a/Feather_RP2040_ThinkInk_Examples/CircuitPython_Tri-Color_Example/code.py +++ b/Feather_RP2040_ThinkInk_Examples/CircuitPython_Tri-Color_Example/code.py @@ -37,20 +37,17 @@ display = adafruit_ssd1680.SSD1680( g = displayio.Group() -with open("/display-ruler.bmp", "rb") as f: - pic = displayio.OnDiskBitmap(f) - t = displayio.TileGrid( - pic, pixel_shader=getattr(pic, "pixel_shader", displayio.ColorConverter()) - ) +pic = displayio.OnDiskBitmap("/display-ruler.bmp") +t = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader) - g.append(t) +g.append(t) - display.root_group = g +display.root_group = g - display.refresh() +display.refresh() - print("refreshed") +print("refreshed") while True: pass diff --git a/MagTag/MagTag_Dishwasher_Status/wake_on_button/code.py b/MagTag/MagTag_Dishwasher_Status/wake_on_button/code.py index 6a5065104..01850a76c 100755 --- a/MagTag/MagTag_Dishwasher_Status/wake_on_button/code.py +++ b/MagTag/MagTag_Dishwasher_Status/wake_on_button/code.py @@ -22,31 +22,15 @@ alarm.sleep_memory[0] = not alarm.sleep_memory[0] bmp_file = "/images/clean.bmp" if alarm.sleep_memory[0] else "/images/dirty.bmp" # show bitmap - -# CircuitPython 6 & 7 compatible -with open(bmp_file, "rb") as fp: - bitmap = displayio.OnDiskBitmap(fp) - tile_grid = displayio.TileGrid( - bitmap, pixel_shader=getattr(bitmap, 'pixel_shader', displayio.ColorConverter()) - ) - group = displayio.Group() - group.append(tile_grid) - epd.root_group = group - time.sleep(epd.time_to_refresh + 0.01) - epd.refresh() - while epd.busy: - pass - -# # CircuitPython 7+ compatible -# bitmap = displayio.OnDiskBitmap(bmp_file) -# tile_grid = displayio.TileGrid(bitmap, pixel_shader=bitmap.pixel_shader) -# group = displayio.Group() -# group.append(tile_grid) -# epd.root_group = group -# time.sleep(epd.time_to_refresh + 0.01) -# epd.refresh() -# while epd.busy: -# pass +bitmap = displayio.OnDiskBitmap(bmp_file) +tile_grid = displayio.TileGrid(bitmap, pixel_shader=bitmap.pixel_shader) +group = displayio.Group() +group.append(tile_grid) +epd.root_group = group +time.sleep(epd.time_to_refresh + 0.01) +epd.refresh() +while epd.busy: + pass # go to sleep alarm.exit_and_deep_sleep_until_alarms(*pin_alarms) diff --git a/MagTag/MagTag_Dishwasher_Status/wake_on_flip/code.py b/MagTag/MagTag_Dishwasher_Status/wake_on_flip/code.py index 3b86f8cfe..af1e00f9a 100755 --- a/MagTag/MagTag_Dishwasher_Status/wake_on_flip/code.py +++ b/MagTag/MagTag_Dishwasher_Status/wake_on_flip/code.py @@ -51,31 +51,15 @@ else: epd.rotation = rotation # show bitmap - -# CircuitPython 6 & 7 compatible -with open(bmp_file, "rb") as fp: - bitmap = displayio.OnDiskBitmap(fp) - tile_grid = displayio.TileGrid( - bitmap, pixel_shader=getattr(bitmap, 'pixel_shader', displayio.ColorConverter()) - ) - group = displayio.Group() - group.append(tile_grid) - epd.root_group = group - time.sleep(epd.time_to_refresh + 0.01) - epd.refresh() - while epd.busy: - pass - -# # CircuitPython 7+ compatible -# bitmap = displayio.OnDiskBitmap(bmp_file) -# tile_grid = displayio.TileGrid(bitmap, pixel_shader=bitmap.pixel_shader) -# group = displayio.Group() -# group.append(tile_grid) -# epd.root_group = group -# time.sleep(epd.time_to_refresh + 0.01) -# epd.refresh() -# while epd.busy: -# pass +bitmap = displayio.OnDiskBitmap(bmp_file) +tile_grid = displayio.TileGrid(bitmap, pixel_shader=bitmap.pixel_shader) +group = displayio.Group() +group.append(tile_grid) +epd.root_group = group +time.sleep(epd.time_to_refresh + 0.01) +epd.refresh() +while epd.busy: + pass # config accelo irq diff --git a/Magic_Nine_Ball/code.py b/Magic_Nine_Ball/code.py index fe1a5f63b..8091a8e68 100644 --- a/Magic_Nine_Ball/code.py +++ b/Magic_Nine_Ball/code.py @@ -33,24 +33,13 @@ while True: shaken = False print("Image load {}".format(images[i])) - # CircuitPython 6 & 7 compatible try: - f = open(images[i], "rb") - odb = displayio.OnDiskBitmap(f) + odb = displayio.OnDiskBitmap(images[i]) except ValueError: print("Image unsupported {}".format(images[i])) del images[i] continue - face = displayio.TileGrid(odb, pixel_shader=getattr(odb, 'pixel_shader', displayio.ColorConverter())) - - # # CircuitPython 7+ compatible - # try: - # odb = displayio.OnDiskBitmap(images[i]) - # except ValueError: - # print("Image unsupported {}".format(images[i])) - # del images[i] - # continue - # face = displayio.TileGrid(odb, pixel_shader=odb.pixel_shader) + face = displayio.TileGrid(odb, pixel_shader=odb.pixel_shader) splash.append(face) # Wait for the image to load. diff --git a/Matrix_Portal/MatrixPortal_S3_Flight_Proximity_Tracker/code.py b/Matrix_Portal/MatrixPortal_S3_Flight_Proximity_Tracker/code.py index b3dc39f96..72295f6b1 100644 --- a/Matrix_Portal/MatrixPortal_S3_Flight_Proximity_Tracker/code.py +++ b/Matrix_Portal/MatrixPortal_S3_Flight_Proximity_Tracker/code.py @@ -218,12 +218,10 @@ def create_icon_tilegrid(ident): icon_path = f"/airline_logos/{airline_code}.bmp" try: - file = open(icon_path, "rb") - icon_bitmap = OnDiskBitmap(file) + icon_bitmap = OnDiskBitmap(icon_path) except OSError: print(f"Icon for {airline_code} not found. Using placeholder.") - file = open(PLACEHOLDER_ICON_PATH, "rb") - icon_bitmap = OnDiskBitmap(file) + icon_bitmap = OnDiskBitmap(PLACEHOLDER_ICON_PATH) icon_tilegrid = TileGrid(icon_bitmap, pixel_shader=icon_bitmap.pixel_shader, x=0, y=0) return icon_tilegrid