mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
Merge pull request #104 from thetechprepper/feature/et-wwv
feature/et-wwv
This commit is contained in:
+3
-2
@@ -1,7 +1,7 @@
|
||||
# ETC Regression Tests
|
||||
|
||||
- **Build**: ETC R6 Build 12
|
||||
- **Date**: 27 March 2026
|
||||
- **Build**: ETC R7 Build 1
|
||||
- **Date**: 16 April 2026
|
||||
|
||||
## Desktop/Launcher Icons
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
* [ ] RMS station listed
|
||||
* [ ] Select RMS gateway => VFO updated
|
||||
* [ ] Connect
|
||||
* [ ] wwv
|
||||
|
||||
## Bluetooth TNC
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 23 April 2024
|
||||
# Updated : 18 March 2025
|
||||
# Updated : 16 April 2026
|
||||
# Description : bash profile
|
||||
|
||||
# All user accounts should be in the 'et-data' group to allow data sharing with
|
||||
@@ -13,6 +13,7 @@ xset b off
|
||||
|
||||
alias pbcopy='xsel --clipboard --input'
|
||||
alias pbpaste='xsel --clipboard --output'
|
||||
alias et-clock='tty-clock -c -s -b'
|
||||
|
||||
RED='\x1B[1;31m'
|
||||
BLUE='\x1B[1;34m'
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
%sudo ALL=(ALL) NOPASSWD: /opt/emcomm-tools/sbin/wrapper-et-wwv.sh
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
#/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 7 January 2025
|
||||
# Purpose : Generates an authentication table
|
||||
|
||||
top=( {A..M} )
|
||||
side=( {N..Z} )
|
||||
chars=( {A..Z} {0..9} )
|
||||
|
||||
printf "%2s " ""
|
||||
for col in "${top[@]}"; do
|
||||
printf "%2s " "$col"
|
||||
done
|
||||
printf "\n"
|
||||
|
||||
for row in "${side[@]}"; do
|
||||
printf "%2s " "$row"
|
||||
for col in "${top[@]}"; do
|
||||
rand_index=$(( RANDOM % ${#chars[@]} ))
|
||||
printf "%2s " "${chars[$rand_index]}"
|
||||
done
|
||||
printf "\n"
|
||||
done
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 1 February 2025
|
||||
# Updated : 7 October 2025
|
||||
# Updated : 16 April 2026
|
||||
# Purpose : Common environment variables and functions
|
||||
|
||||
# Standardized device paths for supported hardware
|
||||
@@ -40,6 +40,13 @@ exit_if_no_sdr() {
|
||||
fi
|
||||
}
|
||||
|
||||
exit_if_no_audio() {
|
||||
if [[ ! -e ${ET_DEVICE_AUDIO} ]]; then
|
||||
et-log "No ${ET_DEVICE_AUDIO} detected."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
exit_on_service_failure() {
|
||||
local systemd_unit_name="$1"
|
||||
systemctl is-active --user --quiet "${systemd_unit_name}"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 6 November 2024
|
||||
# Updated : 25 March 2025
|
||||
# Updated : 16 March 2026
|
||||
# Purpose : Configures the system for a specific mode of operation
|
||||
|
||||
# Use a simple text file to save the state of the last mode selected
|
||||
@@ -23,6 +23,7 @@ MODE_ID_WINLINK_ARDOP="winlink-ardop"
|
||||
MODE_ID_WINLINK_PACKET="winlink-packet"
|
||||
MODE_ID_WINLINK_VARA_HF="winlink-vara-hf"
|
||||
MODE_ID_WINLINK_VARA_FM="winlink-vara-fm"
|
||||
MODE_ID_TIME_WWV="time-wwv"
|
||||
|
||||
# Default to 1200 baud packet for terminal sessions
|
||||
TERM_MODE=1200
|
||||
@@ -128,6 +129,11 @@ select_term_mode () {
|
||||
fi
|
||||
}
|
||||
|
||||
wwv_mode () {
|
||||
dialog --title "Note on WWV" --msgbox "Manually set your radio to AM and tune it to one of the WWV frequencies appropriate for this operating time.\n\nTry: 2.5, 5, 10, 15 or 20 MHz." 0 0
|
||||
tput sgr 0 && clear
|
||||
}
|
||||
|
||||
# Build list of options
|
||||
options=()
|
||||
options+=("${MODE_ID_NONE}" "No mode selected")
|
||||
@@ -150,6 +156,8 @@ if [ -e "${HOME}/.wine32/drive_c/VARA/VARA.exe" ]; then
|
||||
options+=("${MODE_ID_WINLINK_VARA_HF}" "Winlink over HF (VARA HF)")
|
||||
fi
|
||||
|
||||
options+=("${MODE_ID_TIME_WWV}" "Sync clock to WWV")
|
||||
|
||||
# Prompt user for option and save exit status
|
||||
SELECTED_MODE=$(dialog --clear --menu "Select a mode:" 18 65 10 "${options[@]}" 3>&1 1>&2 2>&3)
|
||||
exit_status=$?
|
||||
@@ -263,6 +271,10 @@ if [ $exit_status -eq 0 ]; then
|
||||
sleep 1
|
||||
min http://localhost:8080 2>/dev/null
|
||||
;;
|
||||
${MODE_ID_TIME_WWV})
|
||||
wwv_mode
|
||||
sudo /opt/emcomm-tools/sbin/wrapper-et-wwv.sh
|
||||
;;
|
||||
*)
|
||||
et-log "Mode ${SELECTED_MODE} not yet supported"
|
||||
exit 1
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 April 2026
|
||||
# Purpose : Wrapper script for setting the system time using et-wwv
|
||||
#
|
||||
# Preconditions
|
||||
# 1. Supported radio and audio interface are connected and properly detected
|
||||
# 2. Radio is set to AM and a WWV frequency (2.5, 5, 10, 15, or 20 MHz)
|
||||
#
|
||||
# Postconditions
|
||||
# 1. System clock is aligned to the top-of-the-minute
|
||||
. /opt/emcomm-tools/bin/et-common
|
||||
|
||||
exit_if_no_audio
|
||||
|
||||
ALSA_DEVICE=$(/opt/emcomm-tools/bin/et-system-info et-audio-card)
|
||||
|
||||
et-wwv -a --device "hw:${ALSA_DEVICE}"
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 March 2024
|
||||
# Updated : 28 February 2025
|
||||
# Updated : 16 April 2026
|
||||
# Purpose : Install base tools and configuration
|
||||
set -e
|
||||
|
||||
@@ -30,4 +30,5 @@ apt install \
|
||||
stow \
|
||||
xsel \
|
||||
tree \
|
||||
tty-clock \
|
||||
-y
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 April 2026
|
||||
# Purpose : Install et-wwv
|
||||
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=et-wwv
|
||||
REPO=https://github.com/thetechprepper/et-wwv.git
|
||||
REPO_DIR="${ET_SRC_DIR}/${APP}"
|
||||
|
||||
CWD_DIR=`pwd`
|
||||
|
||||
if [[ ! -e "${REPO_DIR}" ]]; then
|
||||
et-log "Cloning ${APP} repository..."
|
||||
cd ${ET_SRC_DIR} && git clone ${REPO}
|
||||
fi
|
||||
|
||||
et-log "Building ${APP}..."
|
||||
cd ${REPO_DIR} && ./build.sh
|
||||
|
||||
mkdir -p "/opt/${APP}/bin"
|
||||
cp build/et-wwv /opt/${APP}/bin/
|
||||
|
||||
stow -v -d /opt ${APP} -t /usr/local
|
||||
|
||||
cd ${CWD_DIR}
|
||||
+4
-1
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 March 2024
|
||||
# Updated : 27 March 2026
|
||||
# Updated : 16 April 2026
|
||||
# Purpose : Main installer for EmComm Tools Community (ETC)
|
||||
|
||||
. ./env.sh
|
||||
@@ -112,3 +112,6 @@ exitIfNotRoot
|
||||
|
||||
# Install WSJT-X (FT8)
|
||||
./install-wsjtx.sh
|
||||
|
||||
# Install simple WWV util
|
||||
./install-et-wwv.sh
|
||||
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 April 2026
|
||||
# Purpose : Test et-wwv installation
|
||||
|
||||
OUT=$(which et-wwv)
|
||||
exit $?
|
||||
Reference in New Issue
Block a user