Просмотр исходного кода

add script/libs/wtd618.lua
添加软件看门狗功能

Signed-off-by: 翟科研 <752374624@qq.com>

翟科研 2 лет назад
Родитель
Сommit
182db1b76c
1 измененных файлов с 48 добавлено и 0 удалено
  1. 48 0
      script/libs/wtd618.lua

+ 48 - 0
script/libs/wtd618.lua

@@ -0,0 +1,48 @@
+--- 模块功能:看门狗功能
+-- @module wtd
+-- @author 翟科研
+-- @license MIT
+-- @copyright OpenLuat.com
+-- @release 2023.5.13
+local wtd618={}
+local sys = require "sys"
+--[[特别注意, 使用mqtt库需要下列语句]]
+_G.sysplus = require("sysplus")
+
+-- 看门狗引脚
+watchdogPin = 28
+
+
+function wtd618_Init()
+    gpio.setup(watchdogPin,0,gpio.PULLDOWN)
+    gpio.set(watchdogPin,0)
+end
+
+function wtd618_callback()
+    gpio.set(watchdogPin,0)
+end
+
+function wtd618_SetTime(value)--定时模式下,value每增加1,定时时间增加4小时,最长不超过24小时
+    for i=value,1,-1  do
+        wtd618_FeedDog()
+        log.info("定时成功")
+    end
+end
+
+function wtd618_FeedDog()--watchdogInterval设定喂狗间隔时常,不超过240s
+    -- 喂狗时长(单位:毫秒)
+        local watchdogFeedDuration = 210
+            gpio.set(watchdogPin,1)
+            sys.timerStart(wtd618_callback,watchdogFeedDuration)--喂狗动作
+            --sys.wait(watchdogInterval*1000)
+
+end
+
+function wtd618_CloseWatchDog()
+-- 关闭喂狗(单位:毫秒)
+local watchdogStopDuration = 410
+    gpio.set(watchdogPin,1)
+    sys.timerStart(wtd618_callback,watchdogStopDuration)
+end
+
+return wtd618