summaryrefslogtreecommitdiff
path: root/wasp
diff options
context:
space:
mode:
authorDaniel Thompson <daniel@redfelineninja.org.uk>2020-02-04 08:47:14 (GMT)
committerDaniel Thompson <daniel@redfelineninja.org.uk>2020-02-04 08:47:14 (GMT)
commitbe6c6b02b0cba2850c2d19ac175577c664a1f7e8 (patch)
treeec1f7261a67339ccf37c0a2308e5cc994ae9dd86 /wasp
parent5489437f7894fef1ab317f4c056136df79f8cfde (diff)
wasp: clock: Reduce battery meter redraws
The ADC on nRF doesn't run precisely stable which means the battery meter can flicker if updated too often. This will eventually be fixed by the framework but, for now, let's just force the update rate to be fairly slow.
Diffstat (limited to 'wasp')
-rw-r--r--wasp/clock.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/wasp/clock.py b/wasp/clock.py
index a19398e..2eff802 100644
--- a/wasp/clock.py
+++ b/wasp/clock.py
@@ -25,14 +25,16 @@ class ClockApp(object):
display.fill(0)
display.rleblit(fonts.clock_colon, pos=(2*48, 80), fg=0xb5b6)
+ self.on_screen = ( -1, -1 )
self.update(watch)
self.meter.draw()
-
def update(self, watch):
now = watch.rtc.get_time()
if now[0] == self.on_screen[0] and now[1] == self.on_screen[1]:
- self.meter.update()
+ if now[1] % 2 == 0:
+ self.meter.update()
+ return False
display = watch.display
display.rleblit(DIGITS[now[1] % 10], pos=(4*48, 80))
@@ -42,3 +44,4 @@ class ClockApp(object):
self.on_screen = now
self.meter.update()
+ return True