diff --git a/overlay/etc/skel/.local/share/emcomm-tools/voacap/et-voacap.sh b/overlay/etc/skel/.local/share/emcomm-tools/voacap/et-voacap.sh index d49a5f1..9aada65 100755 --- a/overlay/etc/skel/.local/share/emcomm-tools/voacap/et-voacap.sh +++ b/overlay/etc/skel/.local/share/emcomm-tools/voacap/et-voacap.sh @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 23 May 2023 -# Updated : 12 November 2025 +# Updated : 1 December 2025 # Purpose : Offline HF prediction using voacapl set -e set -o pipefail @@ -144,7 +144,7 @@ usage() { echo echo "Other options (required):" echo " -p POWER Output power [5|10|20|50|100|500|1500]" - echo " -m MODE Mode [am|ardop|cw|js8|ssb]" + echo " -m MODE Mode [am|ardop|cw|js8|ssb|vara-500|vara-2300|vara-2750]" echo exit 1 @@ -213,6 +213,18 @@ case "${MODE,,}" in am) MD="49.0" ;; + vara-500) + # VARA 500 Hz bandwidth (narrow) + MD="15.0" + ;; + vara-2300) + # VARA 2300 Hz bandwidth (standard) + MD="20.0" + ;; + vara-2750) + # VARA 2750 Hz bandwidth (tactical) + MD="22.0" + ;; *) echo -e "${RED}Unknown mode: ${MODE}${NC}" >&2 usage diff --git a/overlay/opt/emcomm-tools/bin/et-data-winlink b/overlay/opt/emcomm-tools/bin/et-winlink-data similarity index 64% rename from overlay/opt/emcomm-tools/bin/et-data-winlink rename to overlay/opt/emcomm-tools/bin/et-winlink-data index 987f5b3..a85f5b6 100755 --- a/overlay/opt/emcomm-tools/bin/et-data-winlink +++ b/overlay/opt/emcomm-tools/bin/et-winlink-data @@ -1,7 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 29 November 2025 -# Updated : 30 November 2025 +# Updated : 1 December 2025 # Purpose : Generates a denormalized Winlink RMS channel data set from # Pat Winlink's JSON definition. Each line represents a single # Winlink RMS channel. This generated file is the source for @@ -10,6 +10,7 @@ source /opt/emcomm-tools/bin/et-common RMS_SRC_JSON_FILE=~/.local/share/pat/rmslist.json RMS_DATA_OUT_FILE=/opt/emcomm-tools-api/data/rmslist.csv +RMS_INDEX_DIR=/opt/emcomm-tools-api/index/rmslist # Return a denormalized list of RMS stations filtered by the supported # Winlink modes in EmComm Tools Community. @@ -17,16 +18,17 @@ RMS_DATA_OUT_FILE=/opt/emcomm-tools-api/data/rmslist.csv # 0 Packet 1200 # 41 ARDOP 500 # 43 ARDOP 2000 -# 50 VARA HF +# 50 VARA 2300 (HF standard) # 51 VARA FM -# 52 VARA FM Wide -# 54 VARA HF 2750 +# 52 VARA FM WIDE +# 53 VARA 500 (HF narrow) +# 54 VARA 2750 (HF tactical) cat ${RMS_SRC_JSON_FILE} | jq -r ' .Gateways[] | . as $gw | $gw.GatewayChannels[] - | select(.Mode | IN(0, 41, 43, 50, 51, 52, 54)) + | select(.Mode | IN(0, 41, 43, 50, 51, 52, 53, 54)) | [ $gw.BaseCallsign, $gw.Callsign, @@ -41,11 +43,13 @@ cat ${RMS_SRC_JSON_FILE} | jq -r ' LINES=$(wc -l $RMS_DATA_OUT_FILE | awk '{print $1}') echo "Created RMS dataset: ${RMS_DATA_OUT_FILE} with ${LINES} records." -echo -echo -e "${YELLOW}To update the Winlink index, perform the following as your normal user:${NC}" -echo -echo -e "${RED}DO NOT RUN THESE AS ROOT!${NC}" -echo -echo -e "${YELLOW}1. Stop the ETC API: ${WHITE}systemctl --user stop et-service-et-api${NC}" -echo -e "${YELLOW}2. Remove the old index: ${WHITE}rm -rf /opt/emcomm-tools-api/index/rmslist${NC}" -echo -e "${YELLOW}3. Start the ETC API: ${WHITE}systemctl --user start et-service-et-api${NC}" + +echo "Stopping ET API..." +systemctl --user stop et-service-et-api + +sleep 3 +echo "Removing old Winlink index..." +[[ -e ${RMS_INDEX_DIR} ]] && rm -rf /opt/emcomm-tools-api/index/rmslist + +# ET API will rebuild the Winlink index on startup. It takes a few seconds. +start_and_wait_for_service et-service-et-api diff --git a/overlay/opt/emcomm-tools/bin/et-find-winlink b/overlay/opt/emcomm-tools/bin/et-winlink-find similarity index 96% rename from overlay/opt/emcomm-tools/bin/et-find-winlink rename to overlay/opt/emcomm-tools/bin/et-winlink-find index fd5bd7a..74291b0 100755 --- a/overlay/opt/emcomm-tools/bin/et-find-winlink +++ b/overlay/opt/emcomm-tools/bin/et-winlink-find @@ -2,11 +2,9 @@ # # Author : Gaston # Date : 30 November 2025 +# Updated : 1 December 2025 # Purpose : Finds Winlink RMS stations by channel near a given location -set -e set -o pipefail -trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG -trap 'echo -e "${RED}\"${last_command}\" command failed with exit code $?.${NC}"' ERR source /opt/emcomm-tools/bin/et-common diff --git a/scripts/install-et-predict.sh b/scripts/install-et-predict.sh index 2ca9790..8b1b7bc 100755 --- a/scripts/install-et-predict.sh +++ b/scripts/install-et-predict.sh @@ -1,6 +1,7 @@ #!/bin/bash # Author : Gaston Gonzalez # Date : 20 November 2025 +# Updated : 1 December 2025 # Purpose : Install et-predict-app set -e trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG @@ -10,7 +11,7 @@ trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR . ../overlay/opt/emcomm-tools/bin/et-common APP=et-predict-app -VERSION=1.2.0 +VERSION=1.3.0 DOWNLOAD_FILE="${APP}_${VERSION}_amd64.deb" et-log "Installing ${APP} ${VERSION}..." diff --git a/scripts/install-spp.sh b/scripts/install-spp.sh new file mode 100755 index 0000000..e0f2d71 --- /dev/null +++ b/scripts/install-spp.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Author : William McKeehan +# Author : Gaston Gonzalez +# Date : 3 September 2025 +# Updated : 1 December 2025 +# Purpose : Install SDR++ +set -e +trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG +trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR + +. ./env.sh +. ../overlay/opt/emcomm-tools/bin/et-common + +APP=sdrpp +VERSION=nightly +DOWNLOAD_FILE=sdrpp_ubuntu_jammy_amd64.deb + +et-log "Installing ${APP} ${VERSION}..." + +if [[ ! -e ${ET_DIST_DIR}/${DOWNLOAD_FILE} ]]; then + + URL="https://github.com/AlexandreRouma/SDRPlusPlus/releases/download/${VERSION}/${DOWNLOAD_FILE}" + + download_with_retries ${URL} ${DOWNLOAD_FILE} + mv ${DOWNLOAD_FILE} ${ET_DIST_DIR} +fi + +DEBIAN_FRONTEND=noninteractive dpkg -i "${ET_DIST_DIR}/${DOWNLOAD_FILE}" + +apt install -f -y diff --git a/scripts/install.sh b/scripts/install.sh index 082876f..0b2c6b6 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 16 March 2024 -# Updated : 12 November 2025 +# Updated : 1 December 2025 # Purpose : Main installer for EmComm Tools Community (ETC) . ./env.sh @@ -73,6 +73,7 @@ exitIfNotRoot # Install SDR tools ./install-sdr-tools.sh ./install-dump1090.sh +./install-spp.sh # Install ETC custom maps ./download-et-maps.sh diff --git a/tests/test-sdrpp.sh b/tests/test-sdrpp.sh new file mode 100755 index 0000000..dd3ec33 --- /dev/null +++ b/tests/test-sdrpp.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 1 December 2025 +# Purpose : Test SDR++ installation + +OUT=$(which sdrpp) +exit $?