MicroPythonでプログラムからリセットをかける
M5Stackを使っている中で,条件分岐でリセットを掛けたくなるタイミングもあるでしょう.
しかし,UIFlowのBlocklyのブロック一覧を見てもリセットのブロックは見当たらない.
そこで,検索してみるとこちらのサイトに記述があった.
リセットはないがリセットと同等のものはある
DeepSleepという節電用(?)の機能がある.
こちらを使用するとメモリの初期化が行われるようである.(少なくとも起動時間はリセットされた.)
deepsleeptest
from m5stack import *
from m5ui import *
from uiflow import *
from time import sleep
import machine
setScreenColor(0x111111)
while True:
if time.ticks_ms() > 5000:
machine.deepsleep(10)
lcd.print((time.ticks_ms()), 0, 0, 0xffffff)
wait_ms(2)
こちらのサンプルコードをM5Stick-Cで実行すると以下のような動作になる.
これで定期的に再起動してくれるM5のプログラムが書けるね!