mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
mercury - Added initial support for Winlink over Mercury HF modem
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 12 August 2026
|
||||
# Purpose : User systemd unit file for EmComm Tools that starts mercury
|
||||
# : in a Winlink configuration.
|
||||
#
|
||||
# Usage:
|
||||
# Check status : systemctl --user status et-service-mercury-winlink
|
||||
# Start service : systemctl --user start et-service-mercury-winlink
|
||||
# Stop service : systemctl --user stop et-service-mercury-winlink
|
||||
# Reload this config : systemctl --user daemon-reload
|
||||
|
||||
[Unit]
|
||||
Description=EmComm Tools mercury default service for winlink performance
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/emcomm-tools/bin/et-mercury winlink
|
||||
Restart=no
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,19 @@
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 12 August 2026
|
||||
# Purpose : User systemd unit file for EmComm Tools Winlink over Mercury HF
|
||||
#
|
||||
# Usage:
|
||||
# Check status : systemctl --user status et-service-winlink-mercury
|
||||
# Start service : systemctl --user start et-service-winlink-mercury
|
||||
# Stop service : systemctl --user stop et-service-winlink-mercury
|
||||
# Reload this config : systemctl --user daemon-reload
|
||||
|
||||
[Unit]
|
||||
Description=EmComm Tools Winlink ARDOP service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/emcomm-tools/bin/et-winlink start-mercury-hf
|
||||
Restart=no
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 12 November 2024
|
||||
# Updated : 16 July 2026
|
||||
# Updated : 12 August 2026
|
||||
# Purpose : Stops all EmComm Tools soundcard-based services (i.e. modems)
|
||||
# and radio applications to ensure a clean start for the next mode.
|
||||
|
||||
@@ -19,6 +19,7 @@ stop_pat() {
|
||||
# 2. Stop the applications first, then the modems.
|
||||
stop_all_services() {
|
||||
systemctl --user stop et-service-winlink-ardop
|
||||
systemctl --user stop et-service-winlink-mercury
|
||||
systemctl --user stop et-service-winlink-packet
|
||||
systemctl --user stop et-service-winlink-native-packet
|
||||
systemctl --user stop et-service-ardop
|
||||
@@ -41,6 +42,7 @@ stop_all_services() {
|
||||
systemctl --user stop et-service-mercury-balanced
|
||||
systemctl --user stop et-service-mercury-reliability
|
||||
systemctl --user stop et-service-mercury-fast
|
||||
systemctl --user stop et-service-mercury-winlink
|
||||
|
||||
# Stop VARA with a sledge hammer
|
||||
pkill et-winlink
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 July 2026
|
||||
# Updated : 17 July 2026
|
||||
# Updated : 12 August 2026
|
||||
# Purpose : Wrapper script for starting Mercury with PnP support
|
||||
#
|
||||
# Preconditions:
|
||||
@@ -29,6 +29,7 @@ usage() {
|
||||
echo " reliability - Max reliability (Slower Speed) [DATAC1]"
|
||||
echo " balanced - Balanced (Reliability and Speed) [DATAC17]"
|
||||
echo " fast - Fast (Low Reliability) [QAM16C2]"
|
||||
echo " winlink - Used for Winlink [DATAC3]"
|
||||
}
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
@@ -43,6 +44,9 @@ case "${MODE}" in
|
||||
reliability)
|
||||
MODE_INDEX="0"
|
||||
;;
|
||||
winlink)
|
||||
MODE_INDEX="1"
|
||||
;;
|
||||
balanced)
|
||||
MODE_INDEX="9"
|
||||
et-log "Mode not yet supported."
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 6 November 2024
|
||||
# Updated : 14 June 2026
|
||||
# Updated : 12 August 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
|
||||
@@ -20,6 +20,7 @@ MODE_ID_BBS_SERVER="bbs-server"
|
||||
MODE_ID_CHAT_CLIENT="chat-chattervox"
|
||||
MODE_ID_PACKET_DIGIPEATER="packet-digipeater"
|
||||
MODE_ID_WINLINK_ARDOP="winlink-ardop"
|
||||
MODE_ID_WINLINK_MERCURY="winlink-mercury"
|
||||
MODE_ID_WINLINK_PACKET="winlink-packet"
|
||||
MODE_ID_WINLINK_VARA_HF="winlink-vara-hf"
|
||||
MODE_ID_WINLINK_VARA_FM="winlink-vara-fm"
|
||||
@@ -150,6 +151,7 @@ if [ -e "${HOME}/.wine32/drive_c/VARA FM/VARAFM.exe" ]; then
|
||||
options+=("${MODE_ID_WINLINK_VARA_FM}" "Winlink over VHF/UHF (VARA FM)")
|
||||
fi
|
||||
|
||||
options+=("${MODE_ID_WINLINK_MERCURY}" "Winlink over HF (Mercury)")
|
||||
options+=("${MODE_ID_WINLINK_ARDOP}" "Winlink over HF (ARDOP)")
|
||||
|
||||
if [ -e "${HOME}/.wine32/drive_c/VARA/VARA.exe" ]; then
|
||||
@@ -250,6 +252,12 @@ if [ $exit_status -eq 0 ]; then
|
||||
start_and_wait_for_service et-service-winlink-ardop
|
||||
min http://localhost:8080
|
||||
;;
|
||||
${MODE_ID_WINLINK_MERCURY})
|
||||
et-log "Using Mercury as the modem."
|
||||
start_and_wait_for_service et-service-mercury-winlink
|
||||
start_and_wait_for_service et-service-winlink-mercury
|
||||
min http://localhost:8080
|
||||
;;
|
||||
${MODE_ID_WINLINK_PACKET})
|
||||
start_and_wait_for_service et-service-direwolf-simple
|
||||
start_and_wait_for_service et-service-winlink-packet
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 4 November 2024
|
||||
# Updated : 4 February 2025
|
||||
# Updated : 12 August 2026
|
||||
# Purpose : Wrapper script for starting YAAC with PnP support
|
||||
#
|
||||
# Preconditions:
|
||||
@@ -26,6 +26,7 @@ usage() {
|
||||
echo " start-native-packet - Start Pat Winlink in native AX.25 packet mode"
|
||||
echo " start-vara-fm - Start Pat Winlink in VARA FM mode"
|
||||
echo " start-vara-hf - Start Pat Winlink in VARA HF mode"
|
||||
echo " start-mercury-hf - Start Pat Winlink in Mercury HF mode"
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
@@ -112,6 +113,16 @@ start_vara_hf() {
|
||||
${CMD}
|
||||
}
|
||||
|
||||
start_mercury_hf() {
|
||||
|
||||
update_config mercury-hf
|
||||
|
||||
CMD="pat http"
|
||||
et-log "Starting Pat with: ${CMD}"
|
||||
|
||||
${CMD}
|
||||
}
|
||||
|
||||
update_config () {
|
||||
|
||||
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
|
||||
@@ -141,6 +152,9 @@ update_config () {
|
||||
vara-hf)
|
||||
PAT_CONF_FILE_TEMPLATE=/opt/emcomm-tools/conf/template.d/winlink/config.vara-hf.json
|
||||
;;
|
||||
mercury-hf)
|
||||
PAT_CONF_FILE_TEMPLATE=/opt/emcomm-tools/conf/template.d/winlink/config.vara-hf.json
|
||||
;;
|
||||
esac
|
||||
|
||||
et-log "Updating Pat configuration file: ${PAT_CONF_FILE}..."
|
||||
@@ -167,6 +181,9 @@ case $1 in
|
||||
start-vara-hf)
|
||||
start_vara_hf
|
||||
;;
|
||||
start-mercury-hf)
|
||||
start_mercury_hf
|
||||
;;
|
||||
*)
|
||||
echo "Invalid command."
|
||||
usage
|
||||
|
||||
Reference in New Issue
Block a user