Merge pull request #7 from thetechprepper/issue/js8-mode-switcher

Issue - Stop all et-mode before JS8Call starts
This commit is contained in:
thetechprepper
2024-11-12 07:46:11 -07:00
committed by GitHub
3 changed files with 28 additions and 13 deletions
+5 -4
View File
@@ -2,15 +2,16 @@
#
# Author : Gaston Gonzalez
# Date : 24 October 2024
# Updated : 1 November 2024
# Updated : 12 November 2024
# Purpose : Wrapper script for starting JS8Call with PnP support
#
# Preconditions
# 1. Supported radio and audio interface are connected and properly detected
#
# Postconditions
# 1. JS8Call audio settings updated
# 2. JS8Call started
# 1. Stop all running EmComm Tools modes and services
# 2. JS8Call audio settings updated
# 3. JS8Call started
usage() {
echo "usage: $(basename $0) <command>"
@@ -31,7 +32,7 @@ notify_user() {
}
start() {
update-config && /usr/bin/js8call &
/opt/emcomm-tools/bin/et-kill-all && update-config && /usr/bin/js8call &
}
update-config () {
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 12 November 2024
# Purpose : Stops all EmComm Tools sound-based services (i.e. modems) and
# amatuer radio applications to ensure a clean start for the next mode.
# 1. Attempt to stop all EmComm Tools services regardless if they are running.
# 2. Stop the applications first, then the modems.
stop_all_services() {
systemctl --user stop et-service-winlink-ardop
systemctl --user stop et-service-winlink-packet
systemctl --user stop et-service-ardop
systemctl --user stop et-service-direwolf-simple
systemctl --user stop et-service-direwolf-aprs-digipeater
systemctl --user stop et-service-direwolf-packet-digipeater
}
et-log "Stopping all services"
stop_all_services
+3 -9
View File
@@ -2,7 +2,7 @@
#
# Author : Gaston Gonzalez
# Date : 6 November 2024
# Updated : 8 November 2024
# Updated : 12 November 2024
# Purpose : Configures the system for a specific mode of operation
# Use a simple text file to save the state of the last mode selected
@@ -16,15 +16,9 @@ MODE_ID_PACKET_DIGIPEATER="packet-digipeater"
MODE_ID_WINLINK_ARDOP="winlink-ardop"
MODE_ID_WINLINK_PACKET="winlink-packet"
# 1. Attempt to stop all EmComm Tools services regardless if they are running.
# 2. Stop the applications first, then the modems.
# Attempt to stop all EmComm Tools services regardless if they are running.
stop_all_services() {
systemctl --user stop et-service-winlink-ardop
systemctl --user stop et-service-winlink-packet
systemctl --user stop et-service-ardop
systemctl --user stop et-service-direwolf-simple
systemctl --user stop et-service-direwolf-aprs-digipeater
systemctl --user stop et-service-direwolf-packet-digipeater
et-kill-all
}
exit_on_service_failure() {