summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Thompson <daniel@redfelineninja.org.uk>2020-02-19 19:54:27 (GMT)
committerDaniel Thompson <daniel@redfelineninja.org.uk>2020-02-19 19:57:08 (GMT)
commit019ca1b4eda40c81404bd386289f1f1dc8281066 (patch)
treea0deef95cb2a0f489f5f82be2ccc8f9b1216f6a6
parenta26bfd33ce62bda792c046bc4bc149008d875597 (diff)
wasp: clock: Add date indication
-rw-r--r--wasp/clock.py30
1 files changed, 20 insertions, 10 deletions
diff --git a/wasp/clock.py b/wasp/clock.py
index aa1cc6d..97919c9 100644
--- a/wasp/clock.py
+++ b/wasp/clock.py
@@ -1,6 +1,8 @@
import fonts.clock as digits
import widgets
+from draw565 import Draw565
+
DIGITS = (
digits.clock_0,
digits.clock_1,
@@ -14,34 +16,42 @@ DIGITS = (
digits.clock_9
)
+MONTH = 'JanFebMarAprMayJunJulAugSepOctNovDec'
+
class ClockApp(object):
def __init__(self):
- self.on_screen = ( -1, -1 )
+ self.on_screen = ( -1, -1, -1, -1, -1, -1 )
self.meter = widgets.BatteryMeter()
def draw(self, watch):
display = watch.display
display.fill(0)
- display.rleblit(fonts.clock_colon, pos=(2*48, 80), fg=0xb5b6)
- self.on_screen = ( -1, -1 )
+ display.rleblit(digits.clock_colon, pos=(2*48, 80), fg=0xb5b6)
+ self.on_screen = ( -1, -1, -1, -1, -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]:
- if now[1] % 2 == 0:
+ now = watch.rtc.get_localtime()
+ if now[3] == self.on_screen[3] and now[4] == self.on_screen[4]:
+ if now[5] % 2 == 0:
self.meter.update()
return False
display = watch.display
- display.rleblit(DIGITS[now[1] % 10], pos=(4*48, 80))
- display.rleblit(DIGITS[now[1] // 10], pos=(3*48, 80), fg=0xbdb6)
- display.rleblit(DIGITS[now[0] % 10], pos=(1*48, 80))
- display.rleblit(DIGITS[now[0] // 10], pos=(0*48, 80), fg=0xbdb6)
+ display.rleblit(DIGITS[now[4] % 10], pos=(4*48, 80))
+ display.rleblit(DIGITS[now[4] // 10], pos=(3*48, 80), fg=0xbdb6)
+ display.rleblit(DIGITS[now[3] % 10], pos=(1*48, 80))
+ display.rleblit(DIGITS[now[3] // 10], pos=(0*48, 80), fg=0xbdb6)
self.on_screen = now
+ draw = Draw565(display)
+ month = now[1] - 1
+ month = MONTH[month*3:(month+1)*3]
+ draw.string('{}-{}-{}'.format(now[2], month, now[0]),
+ 0, 180, width=240)
+
self.meter.update()
return True