feat: Add basic watchdog timer
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
This commit is contained in:
@@ -53,6 +53,13 @@ def setup_wifi():
|
|||||||
print(f"ifconfig: {wlan.ifconfig()}")
|
print(f"ifconfig: {wlan.ifconfig()}")
|
||||||
|
|
||||||
|
|
||||||
|
async def wdt_task(wdt):
|
||||||
|
# TODO: more checking of app health
|
||||||
|
# Right now this only protects against the asyncio executor crashing completely
|
||||||
|
while True:
|
||||||
|
await asyncio.sleep_ms(500)
|
||||||
|
wdt.feed()
|
||||||
|
|
||||||
DB_PATH = '/sd/tonberry.db'
|
DB_PATH = '/sd/tonberry.db'
|
||||||
|
|
||||||
config = Configuration()
|
config = Configuration()
|
||||||
@@ -97,8 +104,10 @@ def run():
|
|||||||
|
|
||||||
start_webserver(config, the_app)
|
start_webserver(config, the_app)
|
||||||
# Start
|
# Start
|
||||||
|
wdt = machine.WDT(timeout=1000)
|
||||||
asyncio.create_task(aiorepl.task({'timer_manager': TimerManager(),
|
asyncio.create_task(aiorepl.task({'timer_manager': TimerManager(),
|
||||||
'app': the_app}))
|
'app': the_app}))
|
||||||
|
asyncio.create_task(wdt_task(wdt))
|
||||||
asyncio.get_event_loop().run_forever()
|
asyncio.get_event_loop().run_forever()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user