|
|
- #!/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
- }
|