diff options
| author | Daniel Thompson <daniel@redfelineninja.org.uk> | 2020-02-04 08:47:14 (GMT) |
|---|---|---|
| committer | Daniel Thompson <daniel@redfelineninja.org.uk> | 2020-02-04 08:47:14 (GMT) |
| commit | be6c6b02b0cba2850c2d19ac175577c664a1f7e8 (patch) | |
| tree | ec1f7261a67339ccf37c0a2308e5cc994ae9dd86 | |
| parent | 5489437f7894fef1ab317f4c056136df79f8cfde (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.
| -rw-r--r-- | wasp/clock.py | 7 |
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 |
