From 1a22f483ac95bacd889e03ddb5dd6e82151e9c46 Mon Sep 17 00:00:00 2001 From: Gaston Gonzalez Date: Mon, 28 Oct 2024 11:16:00 -0700 Subject: [PATCH] PnP - Major fix. With this change all interfaces, including the DigiRig Mobile with no CAT, are using the the rigctld service as their interface. JS8Call settings are no longer losted on application restart. --- overlay/opt/emcomm-tools/bin/et-js8call | 20 +++----------- .../emcomm-tools/conf/template.d/README.md | 1 + .../template.d/js8call/JS8Call.no-rigctl.ini | 27 ------------------- .../template.d/js8call/JS8Call.rigctl.ini | 27 ------------------- .../opt/emcomm-tools/sbin/wrapper-rigctld.sh | 21 ++++++++------- 5 files changed, 16 insertions(+), 80 deletions(-) create mode 100644 overlay/opt/emcomm-tools/conf/template.d/README.md delete mode 100644 overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.no-rigctl.ini delete mode 100644 overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.rigctl.ini diff --git a/overlay/opt/emcomm-tools/bin/et-js8call b/overlay/opt/emcomm-tools/bin/et-js8call index 3e56a49..dedad8d 100755 --- a/overlay/opt/emcomm-tools/bin/et-js8call +++ b/overlay/opt/emcomm-tools/bin/et-js8call @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 24 October 2024 -# Updated : 25 October 2024 +# Updated : 28 October 2024 # Purpose : Wrapper script for starting JS8Call with PnP support # # Preconditions @@ -10,8 +10,7 @@ # # Postconditions # 1. JS8Call audio settings updated -# 2. JS8Call rig settings updated -# 3. JS8Call started +# 2. JS8Call started usage() { echo "usage: $(basename $0) " @@ -26,7 +25,7 @@ fi notify_user() { notify-send \ - -t 10000 \ + -t 5000 \ --app-name="EmComm Tools" \ "$1" } @@ -42,19 +41,6 @@ update-config () { [ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json" - # Special case for the DigiRig Mobile when connected to a radio that does - # not support CAT control. - if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then - RIG_ID=$(cat "${ET_HOME}/conf/radios.d/active-radio.json" | jq -r .rigctrl.id) - - if [ "${RIG_ID}" = "6" ]; then - JS8CALL_TEMPLATE_CONF_FILE=${ET_HOME}/conf/template.d/js8call/JS8Call.no-rigctl.ini - fi - fi - - cp ${JS8CALL_TEMPLATE_CONF_FILE} ${JS8CALL_CONF_FILE} - et-log "Replaced JS8Call configuration with template: ${JS8CALL_TEMPLATE_CONF_FILE}" - # Update configuration with current callsign and grid CALLSIGN=$(cat ${ET_USER_CONFIG} | jq -r .callsign) GRID=$(cat ${ET_USER_CONFIG} | jq -r .grid) diff --git a/overlay/opt/emcomm-tools/conf/template.d/README.md b/overlay/opt/emcomm-tools/conf/template.d/README.md new file mode 100644 index 0000000..8abce6e --- /dev/null +++ b/overlay/opt/emcomm-tools/conf/template.d/README.md @@ -0,0 +1 @@ +Future location for Dire Wolf configuration templates diff --git a/overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.no-rigctl.ini b/overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.no-rigctl.ini deleted file mode 100644 index 2638a89..0000000 --- a/overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.no-rigctl.ini +++ /dev/null @@ -1,27 +0,0 @@ -[Configuration] -AcceptTCPRequests=true -AutoGrid=true -AutoreplyConfirmation=false -AutoreplyOnAtStartup=true -CATNetworkPort=localhost:4532 -CheckForUpdates=false -HeartbeatAckSNR=true -HideControls=true -Miles=true -MyCall=N0CALL -MyGrid=DM33 -MyGroups=@@TTP,@@TTPNET -Polling=1 -PSKReporter=false -PTTMethod=@Variant(\0\0\0\x7f\0\0\0\x1eTransceiverFactory::PTTMethod\0\0\0\0\xfPTT_method_RTS\0) -PTTport=/dev/et-cat -SubMode=0 -SubModeHB=true -SubModeHBAck=true -Rig=None -SpotToAPRS=false -TCPEnabled=true -TCPMaxConnections=3 -TCPServer=127.0.0.1 -TCPServerPort=2442 -TxIdleWatchdog=0 diff --git a/overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.rigctl.ini b/overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.rigctl.ini deleted file mode 100644 index e49aea2..0000000 --- a/overlay/opt/emcomm-tools/conf/template.d/js8call/JS8Call.rigctl.ini +++ /dev/null @@ -1,27 +0,0 @@ -[Configuration] -AcceptTCPRequests=true -AutoGrid=true -AutoreplyConfirmation=false -AutoreplyOnAtStartup=true -CATNetworkPort=localhost:4532 -CheckForUpdates=false -HeartbeatAckSNR=true -HideControls=true -Miles=true -MyCall=N0CALL -MyGrid=DM33 -MyGroups=@@TTP,@@TTPNET -Polling=1 -PSKReporter=false -PTTMethod=@Variant(\0\0\0\x7f\0\0\0\x1eTransceiverFactory::PTTMethod\0\0\0\0\xfPTT_method_CAT\0) -PTTport=localhost:4532 -SubMode=0 -SubModeHB=true -SubModeHBAck=true -Rig=Hamlib NET rigctl -SpotToAPRS=false -TCPEnabled=true -TCPMaxConnections=3 -TCPServer=127.0.0.1 -TCPServerPort=2442 -TxIdleWatchdog=0 diff --git a/overlay/opt/emcomm-tools/sbin/wrapper-rigctld.sh b/overlay/opt/emcomm-tools/sbin/wrapper-rigctld.sh index d33753a..165a638 100755 --- a/overlay/opt/emcomm-tools/sbin/wrapper-rigctld.sh +++ b/overlay/opt/emcomm-tools/sbin/wrapper-rigctld.sh @@ -2,7 +2,7 @@ # # Author : Gaston Gonzalez # Date : 9 October 2024 -# Updated : 25 October 2024 +# Updated : 28 October 2024 # Purpose : Wrapper startup/shutdown script around systemd/rigctld ET_HOME=/opt/emcomm-tools @@ -47,14 +47,6 @@ start() { exit 0 fi - # We can't use rigctld in dummy mode like we did with the DigiRig Lite as the Hamlib dummy - # rigs (1 and 6) do not honor the -P flag. Passing -P RTS is ignored. I need to create a custom rig for - # the DigiRig Mobile for radios that do not support CAT control, but haver their PTT triggered via - # the RTS signal. - if [ "${RIG_ID}" = "6" ]; then - et-log "Skipping rigctld startup for DigiRig Mobile since radio does not support CAT control." - exit 0 - fi fi if [ ! -e ${CAT_DEVICE} ]; then @@ -81,6 +73,17 @@ start() { BAUD=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.baud) PTT=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.ptt) + # Special case for DigiRig Mobile for radios with no CAT control. + if [ "${ID}" = "6" ]; then + et-log "Starting rigctld in RTS PTT only mode with: ${CMD}" + PTT=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.ptt) + + CMD="rigctld -p ${CAT_DEVICE} -P ${PTT} " + et-log "Starting rigctld in RTS PTT only mode with: ${CMD}" + $CMD + exit 0 + fi + # Generate command CMD="rigctld -m ${ID} -r ${CAT_DEVICE} -s ${BAUD} -P ${PTT} " et-log "Starting rigctld with: ${CMD}"