Updated playground

pull/25/head
slush0 8 years ago committed by Pavol Rusnak
parent cc71fb0a02
commit 078365f5d9
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -44,7 +44,7 @@ def close():
def watch_read(): def watch_read():
global on_read global on_read
sleep = core.Sleep(0.01) sleep = core.Sleep(10000) # 0.01s
while True: while True:
if ready_to_read() and on_read: if ready_to_read() and on_read:
on_read() on_read()

@ -16,6 +16,7 @@ from uasyncio import core
from trezor import ui from trezor import ui
from trezor import msg from trezor import msg
from trezor.utils import unimport from trezor.utils import unimport
from trezor import layout
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
loop = core.get_event_loop() loop = core.get_event_loop()
@ -23,9 +24,9 @@ loop = core.get_event_loop()
def perf_info(): def perf_info():
mem_alloc = gc.mem_alloc() mem_alloc = gc.mem_alloc()
gc.collect() gc.collect()
print("mem_alloc: %s/%s, last_sleep: %.06f" % \ print("mem_alloc: %s/%s, last_sleep: %d" % \
(mem_alloc, gc.mem_alloc(), loop.last_sleep)) (mem_alloc, gc.mem_alloc(), loop.last_sleep))
loop.call_later(1, perf_info) loop.call_later(1000000, perf_info)
def animate(): def animate():
col = 0 col = 0
@ -39,7 +40,7 @@ def animate():
ui.display.icon(190, 170, f.read(), ui.rgbcolor(col, 0, 0), 0xffff) ui.display.icon(190, 170, f.read(), ui.rgbcolor(col, 0, 0), 0xffff)
f.seek(0) f.seek(0)
yield core.Sleep(0.5) yield core.Sleep(int(0.5 * 1000000))
sec = 0 sec = 0
event = None event = None
@ -67,7 +68,7 @@ def wait_for():
def tap_to_confirm(): def tap_to_confirm():
STEP_X = 0.07 STEP_X = 0.07
DELAY = 0.01 DELAY = int(0.01 * 1000000)
BASE_COLOR = (0x00, 0x00, 0x00) BASE_COLOR = (0x00, 0x00, 0x00)
MIN_COLOR = 0x00 MIN_COLOR = 0x00
MAX_COLOR = 0xB0 MAX_COLOR = 0xB0
@ -94,8 +95,11 @@ def tap_to_confirm():
ui.display.icon(3, 170, f.read(), _background, foreground) ui.display.icon(3, 170, f.read(), _background, foreground)
# ui.display.icon(165, 50, f.read(), _background, foreground) # ui.display.icon(165, 50, f.read(), _background, foreground)
try:
yield core.Sleep(DELAY) yield core.Sleep(DELAY)
except StopIteration:
print("Somebody asked me to stop layout tap_to_confirm")
return
def on_read(): def on_read():
print("READY TO READ") print("READY TO READ")
@ -120,6 +124,11 @@ def zprava():
# m2 = GetAddress.load(BytesIO(data)) # m2 = GetAddress.load(BytesIO(data))
# print(m2.__dict__) # print(m2.__dict__)
def novy_layout():
print("Novy layout!")
yield core.Sleep(2 * 1000000)
return tap_to_confirm
def run(): def run():
# pipe.init('../pipe', on_read) # pipe.init('../pipe', on_read)
# msg.set_notify(on_read) # msg.set_notify(on_read)
@ -127,7 +136,9 @@ def run():
zprava() zprava()
loop.call_soon(perf_info) loop.call_soon(perf_info)
loop.call_soon(tap_to_confirm()) loop.call_soon(layout.set_main_layout(tap_to_confirm))
loop.call_later(2 * 1000000, layout.change_layout(novy_layout))
# loop.call_soon(animate()) # loop.call_soon(animate())
loop.run_forever() loop.run_forever()

@ -0,0 +1,35 @@
_new_layout = None
_current_layout = None
def change_layout(layout):
global _new_layout
print("Changing layout to %s" % layout)
_new_layout = layout
yield _current_layout.throw(StopIteration())
def set_main_layout(main_layout):
global _new_layout
global _current_layout
layout = main_layout
while True:
try:
_current_layout = layout()
layout = yield from _current_layout
except Exception as e:
print("Layout thrown exception %s" % str(e))
_current_layout = main_layout
continue
if _new_layout != None:
print("Switching to new layout %s" % _new_layout)
layout = _new_layout
_new_layout = None
elif layout == None:
print("Switching to main layout %s" % main_layout)
layout = main_layout
else:
print("Switching to proposed layout %s" % layout)
Loading…
Cancel
Save