dump1090.init (3052B)
1 #!/bin/sh /etc/rc.common 2 # Copyright (C) 2014-2016 OpenWrt.org 3 4 START=90 5 STOP=10 6 USE_PROCD=1 7 8 append_arg() { 9 local cfg="$1" 10 local var="$2" 11 local opt="$3" 12 local def="$4" 13 local val 14 15 config_get val "$cfg" "$var" 16 [ -n "$val" -o -n "$def" ] && procd_append_param command $opt "${val:-$def}" 17 } 18 19 append_bool() { 20 local cfg="$1" 21 local var="$2" 22 local opt="$3" 23 local def="$4" 24 local val 25 26 config_get_bool val "$cfg" "$var" "$def" 27 [ "$val" = 1 ] && procd_append_param command "$opt" 28 } 29 30 start_instance() { 31 local cfg="$1" 32 local aux 33 34 config_get_bool aux "$cfg" 'disabled' '0' 35 [ "$aux" = 1 ] && return 1 36 37 procd_open_instance 38 39 procd_set_param command /usr/bin/dump1090 40 procd_append_param command "--quiet" 41 42 append_arg "$cfg" device_index "--device-index" 43 append_arg "$cfg" gain "--gain" 44 append_bool "$cfg" enable_agc "--enable-agc" 45 append_arg "$cfg" freq "--freq" 46 append_arg "$cfg" ifile "--ifile" 47 append_arg "$cfg" iformat "--iformat" 48 append_bool "$cfg" throttle "--throttle" 49 append_bool "$cfg" raw "--raw" 50 append_bool "$cfg" net "--net" 51 append_bool "$cfg" modeac "--modeac" 52 append_bool "$cfg" net_only "--net-only" 53 append_arg "$cfg" net_bind_address "--net-bind-address" 54 append_arg "$cfg" net_ri_port "--net-ri-port" 55 append_arg "$cfg" net_ro_port "--net-ro-port" 56 append_arg "$cfg" net_sbs_port "--net-sbs-port" 57 append_arg "$cfg" net_bi_port "--net-bi-port" 58 append_arg "$cfg" net_bo_port "--net-bo-port" 59 append_arg "$cfg" net_ro_size "--net-ro-size" 60 append_arg "$cfg" net_ro_interval "--net-ro-interval" 61 append_arg "$cfg" net_heartbeat "--net-heartbeat" 62 append_arg "$cfg" net_buffer "--net-buffer" 63 append_bool "$cfg" net_verbatim "--net-verbatim" 64 append_bool "$cfg" forward_mlat "--forward-mlat" 65 append_arg "$cfg" lat "--lat" 66 append_arg "$cfg" lon "--lon" 67 append_arg "$cfg" max_range "--max-range" 68 append_bool "$cfg" fix "--fix" 69 append_bool "$cfg" no_fix "--no-fix" 70 append_bool "$cfg" no_crc_check "--no-crc-check" 71 append_bool "$cfg" phase_enhance "--phase-enhance" 72 append_bool "$cfg" mlat "--mlat" 73 append_bool "$cfg" stats "--stats" 74 append_bool "$cfg" stats_range "--stats-range" 75 append_arg "$cfg" stats_every "--stats-every" 76 append_bool "$cfg" onlyaddr "--onlyaddr" 77 append_bool "$cfg" metric "--metric" 78 append_bool "$cfg" gnss "--gnss" 79 append_arg "$cfg" snip "--snip" 80 append_arg "$cfg" debug "--debug" 81 append_arg "$cfg" ppm "--ppm" 82 append_arg "$cfg" html_dir "--html-dir" 83 append_arg "$cfg" write_json "--write-json" 84 config_get aux "$cfg" "write_json" 85 [ -n "$aux" ] && mkdir -p $aux 86 append_arg "$cfg" write_json_every "--write-json-every" 87 append_arg "$cfg" json_location_accuracy "--json-location-accuracy" 88 append_bool "$cfg" oversample "--oversample" 89 append_bool "$cfg" dcfilter "--dcfilter" 90 append_bool "$cfg" measure_noise "--measure-noise" 91 92 config_get_bool aux "$cfg" 'respawn' '0' 93 [ "$aux" = 1 ] && procd_set_param respawn 94 95 procd_close_instance 96 } 97 98 service_triggers() { 99 procd_add_reload_trigger "dump1090" 100 } 101 102 start_service() { 103 config_load dump1090 104 config_foreach start_instance dump1090 105 }