mirror of
https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder.git
synced 2025-01-01 09:12:00 +00:00
42 lines
1.8 KiB
Text
42 lines
1.8 KiB
Text
|
#!/usr/bin/with-contenv bash
|
||
|
# shellcheck shell=bash disable=SC2076
|
||
|
|
||
|
# Autogain routine
|
||
|
#
|
||
|
# Relevant env variables:
|
||
|
# READSB_GAIN: set to "autogain" to enable autogain
|
||
|
# READSB_AUTOGAIN_INITIAL_INTERVAL: time in seconds to run autogain during initial assessment period; 300 if omitted
|
||
|
# READSB_AUTOGAIN_SUBSEQUENT_INTERVAL: time in seconds to run autogain during initial assessment period; 86400 (=1 day) if omitted
|
||
|
# Command to restart autogain: docker exec -it tar1090 /usr/local/bin/autogain1090 reset
|
||
|
|
||
|
READSB_AUTOGAIN_INITIAL_INTERVAL="${READSB_AUTOGAIN_INITIAL_INTERVAL:-300}"
|
||
|
READSB_AUTOGAIN_SUBSEQUENT_INTERVAL="${READSB_AUTOGAIN_SUBSEQUENT_INTERVAL:-86400}"
|
||
|
|
||
|
if [[ "${READSB_GAIN,,}" != "autogain" ]]; then
|
||
|
# Autogain is not enabled, so let's do nothing forever
|
||
|
sleep infinity
|
||
|
fi
|
||
|
|
||
|
if [[ "${READSB_DEVICE_TYPE,,}" != "rtlsdr" ]] || [[ -z "${READSB_RTLSDR_DEVICE}" ]]; then
|
||
|
echo "[autogain] ERROR: AUTOGAIN enabled but READSB_DEVICE_TYPE is not \"rtlsdr\" or READSB_RTLSDR_DEVICE serial number not defined. Autogain disabled."
|
||
|
sleep infinity
|
||
|
fi
|
||
|
|
||
|
mkdir -p /var/globe_history/autogain
|
||
|
|
||
|
# Do special things if it's the first time AUTOGAIN is running
|
||
|
if [[ ! -f /var/globe_history/autogain/autogain_initialized ]]; then
|
||
|
# run autogain every $READSB_AUTOGAIN_INITIAL_INTERVAL minutes for 90 minutes
|
||
|
for (( i=0; i<$((5400/READSB_AUTOGAIN_INITIAL_INTERVAL)); i++ ))
|
||
|
do
|
||
|
sleep "$READSB_AUTOGAIN_INITIAL_INTERVAL" # sleep first to give readsb the opportunity to collect some initial data
|
||
|
/usr/local/bin/autogain1090 2>&1 | mawk -W Interactive '{print "[autogain] " $0}'
|
||
|
done
|
||
|
touch /var/globe_history/autogain/autogain_initialized
|
||
|
fi
|
||
|
|
||
|
while true
|
||
|
do
|
||
|
sleep "$READSB_AUTOGAIN_SUBSEQUENT_INTERVAL"
|
||
|
/usr/local/bin/autogain1090 2>&1 | mawk -W Interactive '{print "[autogain] " $0}'
|
||
|
done
|