1
0
Fork 0
mirror of https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder.git synced 2024-11-24 23:00:11 +00:00

optionally allow name=Friendly_Name in mlat string for ULTRAFEEDER_CONFIG

This commit is contained in:
kx1t 2023-10-16 08:50:44 -04:00
parent fcc7317332
commit 6496afbf7d
2 changed files with 20 additions and 16 deletions

View file

@ -289,7 +289,7 @@ The ULTRAFEEDER_CONFIG parameter can have multiple config strings, separated by
``` ```
- To connect to an external ADSB (for input or output), UAT, or MLAT results source, use `- ULTRAFEEDER_CONFIG=adsb,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments]` - To connect to an external ADSB (for input or output), UAT, or MLAT results source, use `- ULTRAFEEDER_CONFIG=adsb,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments]`
- To connect and send data to an MLAT Server, use `- ULTRAFEEDER_CONFIG=mlat,host,port[,return_port][,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,input_connect=remote-host:port,lat=xx.xxxx,lon=yy.yyyy,alt=zzz][,extra-arguments]`. For the optional parts in this structure, see [MLAT configuration](#mlat-configuration). Note - any MLAT results data received from the MLAT Server will automatically be aggregated in an [MLAT Hub](#configuring-the-built-in-mlat-hub) and shared with `tar1090` - To connect and send data to an MLAT Server, use `- ULTRAFEEDER_CONFIG=mlat,host,port[,return_port][,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][name=Friendly_Name-123][,input_connect=remote-host:port,lat=xx.xxxx,lon=yy.yyyy,alt=zzz][,extra-arguments]`. For the optional parts in this structure, see [MLAT configuration](#mlat-configuration). Note - any MLAT results data received from the MLAT Server will automatically be aggregated in an [MLAT Hub](#configuring-the-built-in-mlat-hub) and shared with `tar1090`
- To add MLAT results from additional MLAT Servers not configured with Ultrafeeder (for example, MLAT results from FlightRadar24 or FlightAware/piaware), use `- ULTRAFEEDER_CONFIG=mlathub,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments]`. You can further configure this MLAT Hub as described in the section [Configuring the built-in MLAT Hub](#configuring-the-built-in-mlat-hub) - To add MLAT results from additional MLAT Servers not configured with Ultrafeeder (for example, MLAT results from FlightRadar24 or FlightAware/piaware), use `- ULTRAFEEDER_CONFIG=mlathub,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments]`. You can further configure this MLAT Hub as described in the section [Configuring the built-in MLAT Hub](#configuring-the-built-in-mlat-hub)
In the above configuration strings: In the above configuration strings:
@ -306,7 +306,8 @@ In the above configuration strings:
- `sbs_out`: SBS-format output - `sbs_out`: SBS-format output
- `vrs_out`: SBS-format output - `vrs_out`: SBS-format output
- `uat_in`: "special" RAW format input as generated by the `dump978` container on port 30978. It is advisable to use this protocol and port to get UAT data from dump978, for example: `- ULTRAFEEDER_CONFIG=adsb,dump978,30978,uat_in` - `uat_in`: "special" RAW format input as generated by the `dump978` container on port 30978. It is advisable to use this protocol and port to get UAT data from dump978, for example: `- ULTRAFEEDER_CONFIG=adsb,dump978,30978,uat_in`
- `uuid` is a Universally Unique Identifier. You can reuse the one you generated for AdsbExchange, or you can generate a new one with this Linux command: `cat /proc/sys/kernel/random/uuid`. If omitted, it will use the UUID environment parameter, or if that one doesn't exist, it will leave the field empty. - `uuid` is a Universally Unique Identifier. You can reuse the one you generated for AdsbExchange, or you can generate a new one with this Linux command: `cat /proc/sys/kernel/random/uuid`. If omitted, it will use the `UUID` environment parameter, or if that one doesn't exist, it will leave the field empty.
- `name` is a friendly name (containing any character of the set \[A-Za-z0-9_-\]) that will be sent to the MLAT Server, used to identify the station by name. If omitted, it will use the `MLAT_USER` parameter, or if that one doesn't exist, it will leave the field empty.
##### Networking parameters ##### Networking parameters

View file

@ -120,6 +120,9 @@ do
elif header="${params[i]:0:5}" && [[ "${header,,}" == "uuid=" ]]; then elif header="${params[i]:0:5}" && [[ "${header,,}" == "uuid=" ]]; then
# It's a UUID # It's a UUID
uuid_arg="${params[i]#*=}" uuid_arg="${params[i]#*=}"
elif header="${params[i]:0:5}" && [[ "${header,,}" == "name=" ]]; then
# It's a MLAT_NAME
name_arg="${params[i]#*=}"
elif header="${params[i]:0:4}" && [[ "${header,,}" == "lat=" ]]; then elif header="${params[i]:0:4}" && [[ "${header,,}" == "lat=" ]]; then
# It's a latitude # It's a latitude
lat_arg="${params[i]#*=}" lat_arg="${params[i]#*=}"
@ -146,13 +149,13 @@ do
servername=${params[0]} servername=${params[0]}
# add return port: # add return port:
[ -n "${return_port_arg}" ] && MLAT_PARAM+=("--results beast,listen,${return_port_arg}") || true [[ -n "${return_port_arg}" ]] && MLAT_PARAM+=("--results beast,listen,${return_port_arg}") || true
# add input-connect to the param array: # add input-connect to the param array:
MLAT_PARAM+=(--input-connect "${input_connect_arg:-localhost:30005}") MLAT_PARAM+=(--input-connect "${input_connect_arg:-localhost:30005}")
if [ -n "${MLAT_USER}" ]; then if [[ -n "${name_arg}" ]] || [[ -n "${MLAT_USER}" ]]; then
MLAT_PARAM+=(--user "${MLAT_USER}") MLAT_PARAM+=(--user "${name_arg:-${MLAT_USER}}")
else else
rnd="${RANDOM}" rnd="${RANDOM}"
"${s6wrap[@]}" --args echo "WARNING: MLAT_USER is not set - using random number \"${rnd}\" as MLAT_USER" "${s6wrap[@]}" --args echo "WARNING: MLAT_USER is not set - using random number \"${rnd}\" as MLAT_USER"
@ -160,34 +163,34 @@ do
fi fi
# add LAT/LON/ALT to instance: # add LAT/LON/ALT to instance:
if [ -n "${lat_arg}" ]; then if [[ -n "${lat_arg}" ]]; then
MLAT_PARAM+=(--lat "${lat_arg}") MLAT_PARAM+=(--lat "${lat_arg}")
elif [ -n "${LAT}" ]; then elif [[ -n "${LAT}" ]]; then
MLAT_PARAM+=(--lat "${LAT}") MLAT_PARAM+=(--lat "${LAT}")
elif [ -n "${READSB_LAT}" ]; then elif [[ -n "${READSB_LAT}" ]]; then
MLAT_PARAM+=(--lat "${READSB_LAT}") MLAT_PARAM+=(--lat "${READSB_LAT}")
fi fi
if [ -n "${lon_arg}" ]; then if [[ -n "${lon_arg}" ]]; then
MLAT_PARAM+=(--lon "${lon_arg}") MLAT_PARAM+=(--lon "${lon_arg}")
elif [ -n "${LONG}" ]; then elif [[ -n "${LONG}" ]]; then
MLAT_PARAM+=(--lon "${LONG}") MLAT_PARAM+=(--lon "${LONG}")
elif [ -n "${READSB_LON}" ]; then elif [[ -n "${READSB_LON}" ]]; then
MLAT_PARAM+=(--lon "${READSB_LON}") MLAT_PARAM+=(--lon "${READSB_LON}")
fi fi
if [ -n "${alt_arg}" ]; then if [[ -n "${alt_arg}" ]]; then
MLAT_PARAM+=(--alt "${alt_arg}") MLAT_PARAM+=(--alt "${alt_arg}")
elif [ -n "${ALT}" ]; then elif [[ -n "${ALT}" ]]; then
MLAT_PARAM+=(--alt "${ALT}") MLAT_PARAM+=(--alt "${ALT}")
elif [ -n "${READSB_ALT}" ]; then elif [[ -n "${READSB_ALT}" ]]; then
MLAT_PARAM+=(--alt "${READSB_ALT}") MLAT_PARAM+=(--alt "${READSB_ALT}")
fi fi
# Add UUID to instance # Add UUID to instance
if [ -n "$uuid_arg" ]; then if [[ -n "$uuid_arg" ]]; then
MLAT_PARAM+=("--uuid ${uuid_arg}") MLAT_PARAM+=("--uuid ${uuid_arg}")
elif [ -n "${UUID}" ]; then elif [[ -n "${UUID}" ]]; then
MLAT_PARAM+=("--uuid ${UUID}") MLAT_PARAM+=("--uuid ${UUID}")
else else
"${s6wrap[@]}" --args echo "WARNING: UUID is not defined, proceeding without UUID" "${s6wrap[@]}" --args echo "WARNING: UUID is not defined, proceeding without UUID"