diff options
author | Keine_Ahnung <dirk-vdr@gmx.de> | 2013-02-14 18:38:57 +0100 |
---|---|---|
committer | Keine_Ahnung <dirk-vdr@gmx.de> | 2013-02-14 18:38:57 +0100 |
commit | f5583c5e6136c2a338932ceba482b1b25f5fb617 (patch) | |
tree | 4f52ee118aeabfab98ae8261c40d37d5a4862e2f /script | |
parent | a99c8f45640a05ca3f529fedab799939211a1cf9 (diff) | |
download | vdr-plugin-uactivity-f5583c5e6136c2a338932ceba482b1b25f5fb617.tar.gz vdr-plugin-uactivity-f5583c5e6136c2a338932ceba482b1b25f5fb617.tar.bz2 |
added #20-yaUSBir_watchdog
Diffstat (limited to 'script')
-rwxr-xr-x | script/uactivity/watchdog/#20-yaUSBir_watchdog | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/script/uactivity/watchdog/#20-yaUSBir_watchdog b/script/uactivity/watchdog/#20-yaUSBir_watchdog new file mode 100755 index 0000000..d6e70dc --- /dev/null +++ b/script/uactivity/watchdog/#20-yaUSBir_watchdog @@ -0,0 +1,75 @@ +#!/bin/sh + +set -u +set -e + +# Your settings +# +WATCHDOG_TIME="99.9" # 0.1 - 99.9 Seconds +IRSEND="irsend -d /var/run/lirc/ya_usbir SEND_ONCE yaUsbIR_control C_WATCHDOG %s C_END" +# +# End of user config + + +trigger_watchdog(){ + # Calculate n1, n2 and n3 values + eval $(bc <<EOF 2> /dev/null + +watchdog = ${WATCHDOG_TIME} + +if ((watchdog < 0.1) || (watchdog > 99.9) || (scale(watchdog) > 1)) { + print "N1=0\n" + print "N2=0\n" + print "N3=0\n" + print "OK=false\n" + halt +} + +watchdog = watchdog * 1000 + +scale = 0 +n1 = watchdog / 10000 +part = watchdog % 10000 +n2 = part / 1000 +part = part % 1000 +n3 = part / 100 + +print "N1=",n1,"\n" +print "N2=",n2,"\n" +print "N3=",n3,"\n" +print "OK=true\n" + +EOF +) + + if [ "${OK}" = "true" ]; then + eval $(printf "${IRSEND} 2> /dev/null" "1 ${N1} ${N2} ${N3}") || return 1 + else + return 1 + fi +} + + + +deactivate_watchdog(){ + eval $(printf "${IRSEND} 2> /dev/null" "0") || return 1 +} + + + +case "${1}" in + startup) + trigger_watchdog || exit 1 + ;; + started) + trigger_watchdog || exit 1 + ;; + shutdown) + deactivate_watchdog || exit 1 + ;; + running) + trigger_watchdog || exit 1 + ;; +esac + +exit 0 |