فهرست منبع

update: demo/wdt不需要区分型号

Wendal Chen 3 سال پیش
والد
کامیت
f715ad87ae
2فایلهای تغییر یافته به همراه35 افزوده شده و 26 حذف شده
  1. 0 26
      demo/wdt/Air101/main.lua
  2. 35 0
      demo/wdt/main.lua

+ 0 - 26
demo/wdt/Air101/main.lua

@@ -1,26 +0,0 @@
-
--- LuaTools需要PROJECT和VERSION这两个信息
-PROJECT = "wdtdemo"
-VERSION = "1.0.0"
-
-log.info("main", PROJECT, VERSION)
-
--- sys库是标配
-_G.sys = require("sys")
-
-wdt.init(10000)
-sys.timerLoopStart(wdt.feed, 3000)
-
-sys.taskInit(function()
-    sys.wait(5000)
-    wdt.setTimeout(5000)
-    while 1 do
-        sys.wait(500)
-    end
-end)
-
-
--- 用户代码已结束---------------------------------------------
--- 结尾总是这一句
-sys.run()
--- sys.run()之后后面不要加任何语句!!!!!

+ 35 - 0
demo/wdt/main.lua

@@ -0,0 +1,35 @@
+
+-- LuaTools需要PROJECT和VERSION这两个信息
+PROJECT = "wdtdemo"
+VERSION = "1.0.0"
+
+log.info("main", PROJECT, VERSION)
+
+-- sys库是标配
+_G.sys = require("sys")
+
+
+sys.taskInit(function()
+    -- 这个demo要求有wdt库
+    -- wdt库的使用,基本上每个demo的头部都有演示
+    -- 模组/芯片的内部硬狗, 能解决绝大多数情况下的死机问题
+    -- 但如果有要求非常高的场景, 依然建议外挂硬件,然后通过gpio/i2c定时喂狗
+    if wdt == nil then
+        while 1 do
+            sys.wait(1000)
+            log.info("wdt", "this demo need wdt lib")
+        end
+    end
+    -- 注意, 大部分芯片/模块是 2 倍超时时间后才会重启
+    -- 以下是常规配置, 9秒超时, 3秒喂一次狗
+    -- 若软件崩溃,死循环,硬件死机,那么 最多 18 秒后,自动复位
+    -- 注意: 软件bug导致业务失败, 并不能通过wdt解决
+    wdt.init(9000)
+    sys.timerLoopStart(wdt.feed, 3000)
+end)
+
+
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!