diff --git a/utils/rtl-ais/Makefile b/utils/rtl-ais/Makefile index ed8ddd4c2..ba455571b 100644 --- a/utils/rtl-ais/Makefile +++ b/utils/rtl-ais/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rtl-ais -PKG_VERSION:=20150722 +PKG_VERSION:=20151213 PKG_RELEASE=$(PKG_SOURCE_VERSION) diff --git a/utils/rtl-ais/files/rtl_ais.init b/utils/rtl-ais/files/rtl_ais.init index 15269b0a5..4900c34de 100644 --- a/utils/rtl-ais/files/rtl_ais.init +++ b/utils/rtl-ais/files/rtl_ais.init @@ -1,19 +1,38 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2015 OpenWrt.org START=99 - USE_PROCD=1 + PROG=/usr/bin/rtl_ais -start_service() { - enabled="$(uci_get rtl_ais @rtl_ais[0] enabled 0)" - ppm="$(uci_get rtl_ais @rtl_ais[0] ppm 0)" +validate_rtl_ais_section() { + uci_validate_section "rtl_ais" "rtl_ais" "$1" \ + 'enabled:bool' \ + 'ppm:range(-100,100):0' +} + +load_rtl_ais() { + local cfg="$1" + + local enabled ppm + validate_rtl_ais_section "$cfg" || { echo "validation failed"; return 1; } - [ "$enabled" != "1" ] && return + [ "$enabled" = "1" ] || return 1 procd_open_instance procd_set_param command "$PROG" -p "$ppm" + procd_set_param stdout 1 + procd_set_param stderr 1 procd_set_param respawn procd_close_instance } + +start_service() { + config_load "rtl_ais" + config_foreach load_rtl_ais "rtl_ais" +} + +service_triggers() { + procd_add_reload_trigger "rtl_ais" + procd_add_validation validate_rtl_ais_section +}