1818# This bitmap contains the emoji we're going to use. It is assumed
1919# to contain 20 icons, each 20x24 pixels. This fits nicely on the 64x32
2020# RGB matrix display.
21- bitmap_file = open ("emoji.bmp" , 'rb' )
21+
22+ filename = "emoji.bmp"
23+
24+ # CircuitPython 6 & 7 compatible
25+ bitmap_file = open (filename , 'rb' )
2226bitmap = displayio .OnDiskBitmap (bitmap_file )
27+ pixel_shader = getattr (bitmap , 'pixel_shader' , displayio .ColorConverter ())
28+
29+ # # CircuitPython 7+ compatible
30+ # bitmap = displayio.OnDiskBitmap(filename)
31+ # pixel_shader = bitmap.pixel_shader
2332
2433# Each wheel can be in one of three states:
2534STOPPED , RUNNING , BRAKING = range (3 )
@@ -35,7 +44,7 @@ def shuffled(seq):
3544class Wheel (displayio .TileGrid ):
3645 def __init__ (self ):
3746 # Portions of up to 3 tiles are visible.
38- super ().__init__ (bitmap = bitmap , pixel_shader = getattr ( bitmap , ' pixel_shader' , displayio . ColorConverter ()) ,
47+ super ().__init__ (bitmap = bitmap , pixel_shader = pixel_shader ,
3948 width = 1 , height = 3 , tile_width = 20 , tile_height = 24 )
4049 self .order = shuffled (range (20 ))
4150 self .state = STOPPED
0 commit comments