3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UIFlow でウオッチドッグっぽいのを実装する

Posted at

はじめに

M5Stack/Stick でUIFlowによる運用を行っています。
通信エラーやWi-Fi接続が悪い場合など,エラー処理ができずフリーズする場合があり,
ウオッチドッグタイマーっぽいのを実装して対策をしてみます。

開発環境

・M5Stick-C
・UIFlow(Bata1.66) Micropython v1.12
 2020/12/03 確認
 M5Stack シリーズは特に問わないと思います。

Flow

メインループがフリーズしても,割込プログラムが動作することを利用して
Timer1 にてカウントアップ,一定時間メインループが進まないとリセットします。
Bボタンを押している間,無限ループになりフリーズを模擬しています。

image.png
Sample.py
# ESP Reset
  machine.reset()

まとめ

Wi-Fi やセンサ通信のエラーの時にフリーズしていることが多々あります。
上手く利用して安定動作につなげよう。

注意事項

Timerの多重割込は動作しませんでした。
割込処理の監視はメインループで行うと良いでしょう。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?