mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2024-08-30 18:22:34 +00:00
30 lines
673 B
Lua
30 lines
673 B
Lua
|
-- timestamped print
|
||
|
function print_ts(message)
|
||
|
term.write(os.date("[%H:%M:%S] ") .. message)
|
||
|
end
|
||
|
|
||
|
-- ComputerCraft OS Timer based Watchdog
|
||
|
-- triggers a timer event if not fed within 'timeout' seconds
|
||
|
function new_watchdog(timeout)
|
||
|
local self = {
|
||
|
_timeout = timeout,
|
||
|
_wd_timer = os.startTimer(_timeout)
|
||
|
}
|
||
|
|
||
|
local get_timer = function ()
|
||
|
return self._wd_timer
|
||
|
end
|
||
|
|
||
|
local feed = function ()
|
||
|
if self._wd_timer ~= nil then
|
||
|
os.cancelTimer(self._wd_timer)
|
||
|
end
|
||
|
self._wd_timer = os.startTimer(self._timeout)
|
||
|
end
|
||
|
|
||
|
return {
|
||
|
get_timer = get_timer,
|
||
|
feed = feed
|
||
|
}
|
||
|
end
|