Initial commit
This commit is contained in:
75
package/network/utils/rssileds/files/rssileds.init
Normal file
75
package/network/utils/rssileds/files/rssileds.init
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# (C) 2012 Daniel Golle, Allnet GmbH <dgolle@allnet.de>
|
||||
|
||||
START=96
|
||||
STOP=96
|
||||
RSSILEDS_BIN="/usr/sbin/rssileds"
|
||||
|
||||
SERVICE_DAEMONIZE=1
|
||||
SERVICE_WRITE_PID=1
|
||||
|
||||
start_rssid() {
|
||||
local name
|
||||
local dev
|
||||
local threshold
|
||||
local refresh
|
||||
local leds
|
||||
config_get name $1 name
|
||||
config_get dev $1 dev
|
||||
config_get threshold $1 threshold
|
||||
config_get refresh $1 refresh
|
||||
leds="$( cur_iface=$1 ; config_foreach get_led led )"
|
||||
SERVICE_PID_FILE=/var/run/rssileds-$dev.pid
|
||||
service_start $RSSILEDS_BIN $dev $refresh $threshold $leds
|
||||
}
|
||||
|
||||
stop_rssid() {
|
||||
local dev
|
||||
config_get dev $1 dev
|
||||
SERVICE_PID_FILE=/var/run/rssileds-$dev.pid
|
||||
service_stop $RSSILEDS_BIN
|
||||
}
|
||||
|
||||
get_led() {
|
||||
local name
|
||||
local sysfs
|
||||
local trigger
|
||||
local iface
|
||||
config_get sysfs $1 sysfs
|
||||
config_get name $1 name "$sysfs"
|
||||
config_get trigger $1 trigger "none"
|
||||
config_get iface $1 iface
|
||||
config_get minq $1 minq
|
||||
config_get maxq $1 maxq
|
||||
config_get offset $1 offset
|
||||
config_get factor $1 factor
|
||||
[ "$trigger" = "rssi" ] || return
|
||||
[ "$iface" = "$cur_iface" ] || return
|
||||
[ ! "$minq" ] || [ ! "$maxq" ] || [ ! "$offset" ] || [ ! "$factor" ] && return
|
||||
echo "none" > /sys/class/leds/$sysfs/trigger
|
||||
echo "$sysfs $minq $maxq $offset $factor"
|
||||
}
|
||||
|
||||
off_led() {
|
||||
local name
|
||||
local sysfs
|
||||
local trigger
|
||||
config_get sysfs $1 sysfs
|
||||
config_get name $1 name "$sysfs"
|
||||
config_get trigger $1 trigger "none"
|
||||
[ "$trigger" = "rssi" ] || return
|
||||
echo "0" > /sys/class/leds/$sysfs/brightness
|
||||
}
|
||||
|
||||
start() {
|
||||
[ -e /sys/class/leds/ ] && [ -x "$RSSILEDS_BIN" ] && {
|
||||
config_load system
|
||||
config_foreach start_rssid rssid
|
||||
}
|
||||
}
|
||||
|
||||
stop() {
|
||||
config_load system
|
||||
config_foreach stop_rssid rssid
|
||||
config_foreach off_led led
|
||||
}
|
||||
Reference in New Issue
Block a user