diff --git a/wasp/boards/simulator/watch.py b/wasp/boards/simulator/watch.py index 6e7fcee..9c45902 100644 --- a/wasp/boards/simulator/watch.py +++ b/wasp/boards/simulator/watch.py @@ -9,6 +9,8 @@ from machine import SPI from drivers.st7789 import ST7789_SPI from drivers.vibrator import Vibrator +button = Pin('BUTTON', Pin.IN, quiet=True) + class Backlight(object): def __init__(self, level=1): self.set(level) @@ -16,6 +18,8 @@ class Backlight(object): def set(self, level): print(f'BACKLIGHT: {level}') + button.value(bool(level)) + class Display(ST7789_SPI): def __init__(self): spi = SPI(0) @@ -45,10 +49,10 @@ class Battery(object): def voltage_mv(self): if self.voltage > 4: - self.step = -0.005 + self.step = -0.01 self.powered = False elif self.voltage < 3.4: - self.step = 0.01 + self.step = 0.04 self.powered = True self.voltage += self.step @@ -89,5 +93,4 @@ backlight = Backlight() battery = Battery() rtc = RTC() vibrator = Vibrator(Pin('MOTOR', Pin.OUT, value=0), active_low=True) -button = Pin('BUTTON', Pin.IN, quiet=True) diff --git a/wasp/clock.py b/wasp/clock.py index 97919c9..68dc52f 100644 --- a/wasp/clock.py +++ b/wasp/clock.py @@ -36,8 +36,9 @@ class ClockApp(object): def update(self, watch): now = watch.rtc.get_localtime() if now[3] == self.on_screen[3] and now[4] == self.on_screen[4]: - if now[5] % 2 == 0: + if now[5] != self.on_screen[5]: self.meter.update() + self.on_screen = now return False display = watch.display