openwrt/package/utils/ugps/files/ugps.init

39 lines
784 B
Plaintext
Raw Normal View History

#!/bin/sh /etc/rc.common
# Copyright (c) 2014 OpenWrt.org
START=80
USE_PROCD=1
PROG=/usr/sbin/ugps
service_triggers() {
procd_add_reload_trigger gps
}
start_service() {
local tty="$(uci get gps.@gps[-1].tty)"
local baudrate="$(uci get gps.@gps[-1].baudrate || echo 0)"
local atime="$(uci get gps.@gps[-1].adjust_time)"
local disabled="$(uci get gps.@gps[-1].disabled || echo 0)"
[ "$disabled" == "0" ] || return
[ "$tty" ] || return
case "$tty" in
"/"*)
true
;;
*)
tty="/dev/$tty"
;;
esac
procd_open_instance
procd_set_param command "$PROG"
[ "$baudrate" -eq 0 ] || procd_append_param command "-b ${baudrate}"
[ "$atime" -eq 0 ] || procd_append_param command "-a"
procd_append_param command "$tty"
procd_set_param respawn
procd_close_instance
}