summaryrefslogtreecommitdiff
path: root/wasp/clock.py
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/clock.py
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/clock.py')
-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