Toggle Navigation
Hatchery
Eggs
Display your Duck Allegiance
__init__.py
Users
Badges
Login
Register
MCH2022 badge?
go to mch2022.badge.team
__init__.py
raw
Content
import ugfx, badge, appglue, utime import deepsleep def clearGhosting(): ugfx.clear(ugfx.WHITE) ugfx.flush() badge.eink_busy_wait() ugfx.clear(ugfx.BLACK) ugfx.flush() badge.eink_busy_wait() ugfx.init() ugfx.LUT_FULL ugfx.input_init() ugfx.clear(ugfx.BLACK) ugfx.flush() ugfx.clear(ugfx.WHITE) ugfx.flush() duckList = ['UPRIGHT', 'FLAT', 'THIRD WAY'] duckSet = set(duckList) clearGhosting() ugfx.clear(ugfx.WHITE) #ugfx.string(25,20,'Found','Roboto_Regular18',ugfx.BLACK) #ugfx.string(40,40,str(len(ssidSet)),'Roboto_Regular18',ugfx.BLACK) #ugfx.string(10,60,'Networks','Roboto_Regular18',ugfx.BLACK) options = ugfx.List(ugfx.width()-int(ugfx.width()/1.5),0,int(ugfx.width()/1.5),ugfx.height()) #options = ugfx.List(ugfx.width(),0,ugfx.width(),ugfx.height()) def go_home(pushed): if(pushed): import machine machine.deepsleep(1) for duck in duckSet: options.add_item(duck) def upright(): badge.leds_enable() badge.leds_send_data(bytes([0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0]), 24) badge.eink_png(0,0,'/lib/display_your_duck_allegiance/Upright.png') nick = badge.nvs_get_str("owner", "name", "DEFAULT") ugfx.string_box(0,45,296,38, nick, "PermanentMarker36", ugfx.BLACK, ugfx.justifyCenter) ugfx.flush(ugfx.LUT_FULL) badge.eink_busy_wait() deepsleep.start_sleeping(60000) def flat(): badge.leds_enable() badge.leds_send_data(bytes([0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0]), 24) badge.eink_png(0,0,'/lib/display_your_duck_allegiance/Flat.png') nick = badge.nvs_get_str("owner", "name", "DEFAULT") ugfx.string_box(0,45,296,38, nick, "PermanentMarker36", ugfx.BLACK, ugfx.justifyCenter) ugfx.flush(ugfx.LUT_FULL) badge.eink_busy_wait() deepsleep.start_sleeping(60000) def dominic(): badge.vibrator_init() badge.leds_enable() while 1: badge.leds_send_data(bytes([0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0]), 24) badge.eink_png(0,0,'/lib/display_your_duck_allegiance/DOMINIC_1.png') ugfx.flush() badge.vibrator_activate(0x01) badge.leds_send_data(bytes([0, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0]), 24) badge.eink_png(0,0,'/lib/display_your_duck_allegiance/DOMINIC_2.png') badge.vibrator_activate(0x01) ugfx.flush() def select_duck(pushed): if(pushed): selected = options.selected_index() print('selected') options.destroy() if(selected == 0): upright() if(selected == 1): dominic() if(selected == 2): flat() ugfx.input_attach(ugfx.BTN_B, go_home) ugfx.input_attach(ugfx.BTN_A, select_duck) ugfx.input_attach(ugfx.JOY_UP, lambda pushed: ugfx.flush() if pushed else 0) ugfx.input_attach(ugfx.JOY_DOWN, lambda pushed: ugfx.flush() if pushed else 0) ugfx.set_lut(ugfx.LUT_FULL) ugfx.flush() ugfx.set_lut(ugfx.LUT_FASTER) #badge.eink_png(0,0,'/lib/ducktype/DOMINIC_1.png') #badge.eink_png(0,0,'/lib/ducktype/DOMINIC_2.png') ugfx.flush()