vibrating_alarm_m5stickc.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. """
  2. tested on uiflow for stickc v1.8.1
  3. """
  4. # pylint: disable=import-error
  5. import m5ui
  6. import machine
  7. from m5stack import lcd, axp
  8. print("battery:", axp.getBatVoltage(), "V")
  9. m5ui.setScreenColor(0x000000) # clear screen
  10. screen_width, screen_height = lcd.winsize()
  11. # https://github.com/m5stack/UIFlow-Code/wiki/M5UI#textbox
  12. clock_text_box = m5ui.M5TextBox(
  13. screen_width - 1, 0, "HH:MM", lcd.FONT_DejaVu40, 0xFFFFFF, rotate=90
  14. )
  15. # > [contradictory to] official micropython documentation,
  16. # > to set RTC, use particular tuple (year , month, day, week=0, hour, minute, second, timestamp=0)
  17. # https://community.m5stack.com/topic/3108/m5stack-core2-micropython-rtc-example
  18. rtc = machine.RTC()
  19. clock_update_timer = machine.Timer(0)
  20. clock_update_timer.init(
  21. period=10000, # ms
  22. mode=machine.Timer.PERIODIC,
  23. callback=lambda t: clock_text_box.setText("{}:{}".format(*rtc.datetime()[4:6])),
  24. )
  25. # TODO https://docs.micropython.org/en/latest/library/machine.WDT.html#machine-wdt
  26. # TODO https://docs.micropython.org/en/latest/esp8266/tutorial/powerctrl.html#deep-sleep-mode