def woezel_callback(text, error): global category_stats rgb.clear() rgb.framerate(20) rgb.setfont(rgb.FONT_7x5) print(text) if 'Connecting to WiFi' in text: data, size, frames = animation_connecting_wifi rgb.framerate(3) rgb.gif(data, (12, 0), size, frames) elif 'Failed to connect to WiFi' in text: data, frames = icon_no_wifi rgb.gif(data, (12, 0), (8, 8), frames) time.sleep(3) system.reboot() elif 'Downloading categories...' in text: data, size, frames = animation_loading rgb.gif(data, (1, 1), size, frames) rgb.scrolltext('Loading', pos=(8, 0), width=(rgb.PANEL_WIDTH - 8)) elif 'Installing' in text: data, size, frames = animation_loading rgb.gif(data, (1, 1), size, frames) rgb.scrolltext(text, pos=(8, 0), width=(rgb.PANEL_WIDTH - 8)) elif "Downloading '" in text: cur, total = text.split('(')[1].split(')')[0].split( '/') # Definitely not proud of this progress = '(%s/%s)' % (cur, total) data, size, frames = animation_loading rgb.gif(data, (1, 1), size, frames) rgb.setfont(rgb.FONT_6x3) rgb.text(progress, pos=(8, 1)) elif 'Done!' in text or 'Failed!' in text: pass
def _draw_confirmation_dialog(text): yes_x, yes_y = (rgb.PANEL_WIDTH - CONFIRMATION_YES_IMAGE["width"]), 0 no_x, no_y = (rgb.PANEL_WIDTH - CONFIRMATION_NO_IMAGE["width"]), CONFIRMATION_YES_IMAGE["height"] scroll_offset = max(CONFIRMATION_YES_IMAGE["width"], CONFIRMATION_NO_IMAGE["width"]) _draw_image(CONFIRMATION_YES_IMAGE, yes_x, yes_y) _draw_image(CONFIRMATION_NO_IMAGE, no_x, no_y) rgb.scrolltext(text, pos=(0,0), width=(rgb.PANEL_WIDTH - scroll_offset))
def do_game_over(self): if self.mode == "multiplayer": # print("Send gameover") self.multiplayer_send_gameover() rgb.enablecomp() rgb.clear() rgb.scrolltext("game over")
def host_on_disconnect(addr): global connected connected = False print("(host) disconnected:" + addr) if badgehelper.on_badge(): rgb.clear() rgb.scrolltext("(host) client disconnected: " + addr, (255, 255, 255))
def host_on_row(): global received_rows print("(host) row added") received_rows += received_rows if badgehelper.on_badge(): rgb.clear() rgb.scrolltext("(host) received row " + str(received_rows), (255, 255, 255))
def vcc_low(sleepTime=0): term.header(True, "Going to sleep...") rgb.enablecomp() rgb.background((0, 0, 0)) rgb.clear() rgb.scrolltext('BATT LOW!') time.sleep(4) time.sleep(0.1) machine.deepsleep(sleepTime)
def start_sleeping(sleepTime=0): term.header(True, "Going to sleep...") rgb.clear() rgb.scrolltext('ZzZz') time.sleep(3) if (sleepTime >= 86400000): # One day sleepTime = 0 if (sleepTime < 1): print("Sleeping until A-button is pressed...") else: print("Sleeping for " + str(sleepTime) + "ms...") time.sleep(0.1) machine.deepsleep(sleepTime)
def skippabletext(text, color=(255, 255, 255), pos=None, width=rgb.PANEL_WIDTH): buttons.init_button_mapping() buttons.register(defines.BTN_A, _abort_scroll) buttons.register(defines.BTN_B, _abort_scroll) rgb.scrolltext(text,color,pos,width) framerate = rgb.current_framerate #scroll time per pixel length_text_pixels = rgb.textwidth(text) delay_loop = (1 / framerate) * (length_text_pixels+10) * 10 global abort abort = False while (not abort) and (delay_loop >= 0): time.sleep(0.1) delay_loop -= 1 buttons.clear_button_mapping()
def woezel_callback(text, error): global category_stats rgb.clear() rgb.framerate(20) rgb.setfont(rgb.FONT_7x5) print(text) if 'Connecting to WiFi' in text: data, size, frames = animation_connecting_wifi rgb.framerate(3) rgb.gif(data, (12, 0), size, frames) elif 'Failed to connect to WiFi' in text: data, frames = icon_no_wifi rgb.gif(data, (12, 0), (8, 8), frames) time.sleep(3) system.reboot() elif 'Done!' in text or 'Failed!' in text: return else: data, size, frames = animation_loading rgb.gif(data, (1, 1), size, frames) rgb.scrolltext(text, pos=(8, 0), width=(rgb.PANEL_WIDTH - 8))
def show_names(): global names c = False y = 10 term.header(True, "About") print("Developers:") for n in range(0, len(names)): if (names[n] == " "): break print(" - " + names[n]) rgb.clear() rgb.scrolltext("Your badge was made possible by:") time.sleep(10) for n in range(0, len(names)): rgb.clear() uinterface.skippabletext(names[n]) rgb.clear() rgb.scrolltext("Press A or B to quit")
def _show_progress(text): rgb.clear() rgb.scrolltext(text)
server.network_type = gameservices.GAME_HOST_NETWORK_TYPE_NORMAL else: print("on the badge") server.network_type = gameservices.GAME_HOST_NETWORK_TYPE_HOTSPOT server.start() print("Waiting for connection...") server.wait_for_connection() connected = True print("Done.") if badgehelper.on_badge(): rgb.clear() rgb.background((0, 0, 0)) rgb.scrolltext("(host) running...", (255, 255, 255)) import buttons, defines buttons.register(defines.BTN_LEFT, on_left) buttons.register(defines.BTN_RIGHT, on_right) print("(host) running...") row_send = 0 lastping = time.ticks_ms() while True: time.sleep(0.1) data = server.read_data()
def _draw_menu_item(item): rgb.clear() rgb.scrolltext(item, color=((0,255,0) if (menu_state['selected'] is not None and item in menu_state['selected']) else (255,255,255)))
def loading_text(text): data, size, frames = animation_loading rgb.gif(data, (1, 1), size, frames) rgb.scrolltext(text, pos=(8, 0), width=(rgb.PANEL_WIDTH - 8))
def do_game_won(self): #print("You won") rgb.enablecomp() rgb.clear() rgb.scrolltext("You won!")
def show_text(text): rgb.scrolltext(text, (255, 255, 255))
def _draw_menu_item(item): rgb.clear() rgb.scrolltext(item)
def host_on_gameover(): print("(host) gameover") if badgehelper.on_badge(): rgb.clear() rgb.scrolltext("(host) received gameover", (255, 255, 255))
def render(): rgb.clear() rgb.scrolltext(nickname)
client.network_type = gameservices.GAME_CLIENT_NETWORK_TYPE_HOTSPOT client.start(gameservices.GAME_NETWORK_TYPE_HOTSPOT_SERVERIP) # Wait for connection print("Waiting for connection...") connected = client.wait_for_connection() if connected: print("connected") else: print("not connected") if badgehelper.on_badge(): rgb.clear() rgb.background((0,0,0)) rgb.scrolltext("Running...", (255,255,255)) import buttons, defines buttons.register(defines.BTN_LEFT, on_left) buttons.register(defines.BTN_RIGHT, on_right) else: print("Running...") while True: time.sleep(0.1) data = client.read_data() if not data: continue if data == "row" or data == "row\r\n" or data == "'row'" or data == "'row\\r\\n'":
def show_scrolltext(text): if badgehelper.on_badge(): rgb.clear() rgb.scrolltext(text, (255,255,255))
def show_app_name(name): rgb.scrolltext(name, (255, 255, 255), (8, 0), rgb.PANEL_WIDTH - 8)
menu = [] rgb.clear() # if not daysindex in days or 'date' not in days[daysindex]: # system.start('activities') rgb.text(days[daysindex]['date'], (0, 255, 255), (6, 1)) rgb.setfont(rgb.FONT_6x3) utime.sleep(0.5) for event in days[daysindex]['events']: time_utc = int(event['time']) time_local = time_utc + 60 * 60 * 2 hour = str(utime.localtime(time_local)[3]) minute = str(utime.localtime(time_local)[4]) if len(minute) != 2: minute = '0' + minute menu.append(hour + ':' + minute + ' ' + event['name']) eventindex = uinterface.menu(menu, 0, call_left, call_right) print(eventindex) if eventindex != None: event = days[daysindex]['events'][eventindex] eventtext = 'Type: ' + eventtype[int(event['type'])] eventtext += ' - Location: ' + event['location'] rgb.clear() rgb.scrolltext(eventtext, (255, 0, 0), (0, 0)) uinterface.skippabletext(eventtext) elif has_switched: has_switched = False else: system.reboot()