#!/bin/sh /etc/rc.common
|
|
|
|
START=90
|
|
STOP=10
|
|
USE_PROCD=1
|
|
|
|
append_bool() {
|
|
config_get_bool tbool "$1" "$2"
|
|
v=$(echo "$2" | sed 's/_/-/g')
|
|
[ -z "$tbool" ] && tbool="$3"
|
|
[ "$tbool" -eq 1 ] && procd_append_param command "--${v}"
|
|
}
|
|
|
|
append_bool_no() {
|
|
config_get_bool tbool "$1" "$2"
|
|
v=$(echo "$2" | sed 's/_/-/g')
|
|
[ -z "$tbool" ] && tbool="$3"
|
|
[ "$tbool" -eq 0 ] && procd_append_param command "--no-${v}"
|
|
[ "$tbool" -eq 1 ] && procd_append_param command "--${v}"
|
|
}
|
|
|
|
append_param() {
|
|
config_get tparam "$1" "$2"
|
|
name=$(echo "$2" | sed 's/_/-/g')
|
|
[ -n "$tparam" ] && procd_append_param command "--${name}=${tparam}"
|
|
}
|
|
|
|
start_instance() {
|
|
cfg=$1
|
|
|
|
config_get_bool enabled "$cfg" "enabled" 0
|
|
[ "$enabled" -eq 1 ] || return 0
|
|
|
|
procd_open_instance "$cfg"
|
|
procd_set_param command /usr/bin/readsb
|
|
procd_append_param command "--quiet"
|
|
|
|
procd_set_param respawn
|
|
procd_set_param stderr "1"
|
|
procd_set_param stdout "1"
|
|
|
|
append_bool "$cfg" beast_crc_off 0
|
|
append_bool "$cfg" beast_df045_on 0
|
|
append_bool "$cfg" beast_df1117_on 0
|
|
append_bool "$cfg" beast_fec_off 0
|
|
append_bool "$cfg" beast_mlat_off 0
|
|
append_bool "$cfg" beast_modeac 0
|
|
append_bool "$cfg" dcfilter 0
|
|
append_bool "$cfg" enable_agc 0
|
|
append_bool "$cfg" enable_biastee 0
|
|
append_bool "$cfg" forward_mlat 0
|
|
append_bool "$cfg" gnss 0
|
|
append_bool "$cfg" metric 0
|
|
append_bool "$cfg" mlat 0
|
|
append_bool "$cfg" modeac 0
|
|
append_bool "$cfg" net 1
|
|
append_bool "$cfg" net_only 0
|
|
append_bool "$cfg" net_verbatim 0
|
|
append_bool "$cfg" no_crc_check 0
|
|
append_bool "$cfg" no_modeac_auto 0
|
|
append_bool "$cfg" onlyaddr 0
|
|
append_bool "$cfg" stats 0
|
|
append_bool "$cfg" stats_range 0
|
|
|
|
append_bool_no "$cfg" fix 1
|
|
|
|
for param in \
|
|
beast_serial \
|
|
debug \
|
|
device \
|
|
device_type \
|
|
freq \
|
|
gain \
|
|
json_location_accuracy \
|
|
lat \
|
|
lon \
|
|
max_range \
|
|
net_beast_reduce_interval \
|
|
net_beast_reduce_out_port \
|
|
net_bi_port \
|
|
net_bind_address \
|
|
net_bo_port \
|
|
net_buffer \
|
|
ppm \
|
|
stats_every \
|
|
write_json \
|
|
write_json_every
|
|
do
|
|
append_param "$cfg" "$param"
|
|
done
|
|
|
|
config_get net_connector "$cfg" "net_connector"
|
|
[ -z "$net_connector" ] || {
|
|
for conn in $net_connector; do
|
|
procd_append_param command --net-connector="$conn"
|
|
done
|
|
}
|
|
|
|
procd_close_instance
|
|
}
|
|
|
|
start_service() {
|
|
config_load readsb
|
|
config_foreach start_instance readsb
|
|
}
|