WaveClock.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. """
  2. WaveClock.py
  3. Pico/Pico2シリーズを利用した電波時計のメインプログラム。
  4. JJYの受信、デコード、RTCの補正、およびTM1637ディスプレイへの表示を一括して管理する。
  5. """
  6. from Debug import Debug
  7. from JJYDecoder import JJYDecoder
  8. from JJYReceiver import JJYReceiver
  9. from RTCClockApp import RTCClockApp
  10. from tm1637 import TM1637
  11. # 設定ファイル
  12. from JJY_CONFIG import JJY_CONFIG
  13. # 表示器
  14. disp = TM1637(sda_pin=JJY_CONFIG["tm1637_sda_pin"],contrast=4)
  15. # JJYデコーダー
  16. jjy = JJYDecoder(smid=disp._available_ids.pop(),
  17. input_port=JJY_CONFIG["signal_out_pin"],
  18. input_pol=JJY_CONFIG["signal_pol"],
  19. )
  20. # JJY受信ユニット制御クラス
  21. receiver = JJYReceiver(jjy,
  22. pon_pin=JJY_CONFIG["pon_pin"],
  23. pon_pol=JJY_CONFIG["pon_pol"],
  24. band_sel_pin=JJY_CONFIG["band_select_pin"],
  25. preferred_band=JJY_CONFIG["default_band"],
  26. sync_indicator_pin=JJY_CONFIG["sync_indicator_pin"]
  27. )
  28. # 時計アプリケーションクラス
  29. app = RTCClockApp(disp, jjy, receiver,
  30. mode_select_pin=JJY_CONFIG["mode_select_pin"],
  31. force_sync_pin=JJY_CONFIG["force_sync_pin"])
  32. # 時計スタート
  33. app.run()