import os, sys, io import M5 from M5 import * from hardware import * die_map = ((3),(0,6),(0,3,6),(0,2,4,6),(0,2,3,4,6),(0,1,2,4,5,6)) die_top = None die_bot = None die_top_dots = None die_bot_dots = None def die_display(die_index, die_num): global die_top_dots, die_bot_dots, die_map dot_index = 0 for dot in (die_top_dots, die_bot_dots)[die_index]: if dot_index in die_map[die_num - 1]: dot.setColor(color=0, fill_c=0) else: dot.setColor(color=0xd7d7d7, fill_c=0xd7d7d7) dot_index += 1 def btnA_wasClicked_event(state): Speaker.tone(4000, 50) die_display(0,1) def setup(): global die_top, die_bot, die_top_dots, die_bot_dots M5.begin() die_top = Widgets.Rectangle(13, 7, 105, 105, 0x949494, 0xd7d7d7) die_bot = Widgets.Rectangle(14, 126, 105, 105, 0x949494, 0xd7d7d7) die_top_dots = [ Widgets.Circle(40, 33, 8, 0x000000, 0x000000), Widgets.Circle(40, 60, 8, 0x000000, 0x000000), Widgets.Circle(40, 87, 8, 0x000000, 0x000000), Widgets.Circle(67, 60, 8, 0x000000, 0x000000), Widgets.Circle(94, 33, 8, 0x000000, 0x000000), Widgets.Circle(94, 60, 8, 0x000000, 0x000000), Widgets.Circle(94, 87, 8, 0x000000, 0x000000) ] die_bot_dots = [ Widgets.Circle(40, 152, 8, 0x000000, 0x000000), Widgets.Circle(40, 178, 8, 0x000000, 0x000000), Widgets.Circle(40, 206, 8, 0x000000, 0x000000), Widgets.Circle(67, 178, 8, 0x000000, 0x000000), Widgets.Circle(94, 152, 8, 0x000000, 0x000000), Widgets.Circle(94, 178, 8, 0x000000, 0x000000), Widgets.Circle(94, 206, 8, 0x000000, 0x000000) ] BtnA.setCallback(type=BtnA.CB_TYPE.WAS_PRESSED, cb=btnA_wasClicked_event) Speaker.setVolumePercentage(0.05) def loop(): global die_top_dots, die_bot_dots M5.update() if __name__ == '__main__': try: setup() while True: loop() except (Exception, KeyboardInterrupt) as e: try: from utility import print_error_msg print_error_msg(e) except ImportError: print("please update to latest firmware")