diff options
| author | Daniel Thompson <daniel@redfelineninja.org.uk> | 2020-04-10 19:22:51 (GMT) |
|---|---|---|
| committer | Daniel Thompson <daniel@redfelineninja.org.uk> | 2020-04-10 19:22:51 (GMT) |
| commit | 22ca8886c25115df575f8a3e67a5da9059fc3f28 (patch) | |
| tree | f367ba7d9092c9cec7fb541909635070f9df1772 /wasp/apps/testapp.py | |
| parent | 906c313e49ffbd5ac46a4f2fe6334516f3e6676f (diff) | |
wasp: draw565: Automatic RLE format conversion
From here we can also bring colour to the launcher!
Diffstat (limited to 'wasp/apps/testapp.py')
| -rw-r--r-- | wasp/apps/testapp.py | 65 |
1 files changed, 7 insertions, 58 deletions
diff --git a/wasp/apps/testapp.py b/wasp/apps/testapp.py index eece822..789454f 100644 --- a/wasp/apps/testapp.py +++ b/wasp/apps/testapp.py @@ -11,42 +11,8 @@ class TestApp(): NAME = 'Self Test' ICON = icons.app - # 2-bit RLE, generated from res/app_icon.png, 457 bytes - RLE_2BIT = ( - 96, 64, - b'\x1e@md<d<d;f?X\xec2\xf0/' - b'\xf2-\xf4,\xc3.\xc3,\xc3.\xc3,\xc3.\xc3,' - b'\xc3.\xc3,\xc3.\xc3,\xc3\x0c\x80\xfc\x83\x10\xc0]' - b'\xc3\x0c@\xffC,C\n\x87\x0c\xc7\nC,C\t' - b'\x83\x02\x84\n\xc4\x02\xc3\tC,C\x08\x82\x07\x82\x08' - b'\xc2\x07\xc2\x08C,C\x07\x82\t\x82\x06\xc2\t\xc2\x07' - b'C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x06' - b'\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x05\x82\x0c\x82\x04' - b'\xc2\x0c\xc2\x05C,C\x05\x82\x0c\x82\x04\xc2\x0c\xc2\x05' - b'C,C\x05\x83\x0b\x82\x04\xc2\x0b\xc3\x05C,C\x06' - b'\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x06\x82\x0b\x82\x04' - b'\xc2\x0b\xc1\x07C,C\x07\x82\n\x82\x04\xc2\n\xc2\x07' - b'C+D\x08\x82\t\x82\x04\xc2\t\xc2\x08C*E\t' - b'\x8c\x04\xcc\tC*E\n\x8b\x04\xcb\nC*E.' - b'C*E.C*E.C*E.C*E\n' - b'\x80\xe9\x8b\x04\xc0o\xcb\nC+D\t\x8c\x04\xcc\t' - b'C,C\x08\x82\t\x82\x04\xc2\t\xc2\x08C,C\x07' - b'\x82\n\x82\x04\xc2\n\xc2\x07C,C\x06\x82\x0b\x82\x04' - b'\xc2\x0b\xc1\x07C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06' - b'C,C\x05\x83\x0b\x82\x04\xc2\x0b\xc3\x05C,C\x05' - b'\x82\x0c\x82\x04\xc2\x0c\xc2\x05C,C\x05\x82\x0c\x82\x04' - b'\xc2\x0c\xc2\x05C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06' - b'C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x07' - b'\x82\t\x82\x06\xc2\t\xc2\x07C,C\x08\x82\x07\x82\x08' - b'\xc2\x07\xc2\x08C,C\t\x83\x02\x84\n\xc4\x02\xc3\t' - b'C,C\n\x86\x0e\xc6\nC,C\x0c\x83\x10\xc3\x0c' - b'C,C.C,C.C,C.C,C.' - b'C,C.C,t-r/p2l?X@' - b'mf;d<d<d\x1e' - ) - def __init__(self): - self.tests = ('Touch', 'String', 'Button', 'Crash', '1-bit RLE', '2-bit RLE') + self.tests = ('Touch', 'String', 'Button', 'Crash', 'RLE') self.test = self.tests[0] self.scroll = wasp.widgets.ScrollIndicator() @@ -90,32 +56,17 @@ class TestApp(): event[1], event[2]), 0, 108, width=240) elif self.test == 'String': self.benchmark_string() - elif self.test == '1-bit RLE': - self.benchmark_rle_1bit() - elif self.test == '2-bit RLE': - self.benchmark_rle_2bit() - - def benchmark_rle_1bit(self): - draw = wasp.watch.drawable - draw.fill(0, 0, 30, 240, 240-30) - self.scroll.draw() - t = machine.Timer(id=1, period=8000000) - t.start() - for i in range(0, 128, 16): - draw.rleblit(self.ICON, (i, 30 + i)) - elapsed = t.time() - t.stop() - del t - draw.string('{}s'.format(elapsed / 1000000), 12, 24+192) + elif self.test == 'RLE': + self.benchmark_rle() - def benchmark_rle_2bit(self): + def benchmark_rle(self): draw = wasp.watch.drawable draw.fill(0, 0, 30, 240, 240-30) self.scroll.draw() t = machine.Timer(id=1, period=8000000) t.start() for i in range(0, 128, 16): - draw.rle2bit(self.RLE_2BIT, i, 30 + i) + draw.blit(self.ICON, i+16, i+32) elapsed = t.time() t.stop() del t @@ -149,9 +100,7 @@ class TestApp(): if self.test == 'Crash': draw.string("Press button to", 12, 24+24) draw.string("throw exception.", 12, 24+48) - elif self.test == '1-bit RLE': - draw.rleblit(self.ICON, (120-48, 120-32)) - elif self.test == '2-bit RLE': - draw.rle2bit(self.RLE_2BIT, 120-48, 120-32) + elif self.test == 'RLE': + draw.blit(self.ICON, 120-48, 120-32) wasp.watch.display.mute(False) |
