vibrating_alarm_m5stickc.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  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(
  24. "{:02d}:{:02d}".format(*rtc.datetime()[4:6])
  25. ),
  26. )
  27. # TODO https://docs.micropython.org/en/latest/library/machine.WDT.html#machine-wdt
  28. # TODO https://docs.micropython.org/en/latest/esp8266/tutorial/powerctrl.html#deep-sleep-mode