PnP - Initial work to get the DigiRig Mobile to work with a radio (HT or mobile) that does not support CAT. Note: This mode does not yet work as there are issues using the RTS signal to key the PTT while the Hamlib radio ID is to 1 (test mode).

This commit is contained in:
Gaston Gonzalez
2024-10-25 07:39:58 -07:00
parent dca623392d
commit 6837045d8b
8 changed files with 33 additions and 17 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ ${font DejaVu Sans:bold:size=10}${color #8d5133}${alignc}INTERFACES
${font DejaVu Sans Mono:size=11}${color yellow}Radio: ${execpi 10 et-system-info active-radio} ${font DejaVu Sans Mono:size=11}${color yellow}Radio: ${execpi 10 et-system-info active-radio}
CAT : ${execpi 10 et-system-info et-cat} CAT : ${execpi 10 et-system-info et-cat}
GPS : ${execpi 10 et-system-info et-gps} GPS : ${execpi 10 et-system-info et-gps}
Audio: ${execpi 10 et-system-info et-audio} ${execpi 10 et-system-info et-audio-card} Audio: ${execpi 10 et-system-info et-audio}
${font DejaVu Sans:bold:size=9}${color #805f4f}${alignc}${execp /opt/emcomm-tools/bin/et-system-info release} ${font DejaVu Sans:bold:size=9}${color #805f4f}${alignc}${execp /opt/emcomm-tools/bin/et-system-info release}
]]; ]];
+4 -4
View File
@@ -2,7 +2,7 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 11 October 2024 # Date : 11 October 2024
# Updated : 24 October 2024 # Updated : 25 October 2024
# Purpose : A script for managaing plug-and-play radios # Purpose : A script for managaing plug-and-play radios
set -e set -e
@@ -23,14 +23,14 @@ ACTIVE_RADIO="${ET_HOME}/conf/radios.d/active-radio.json"
case $1 in case $1 in
list) list)
printf "%-20s %-10s %-10s\n" "Radio ID" "Vendor" "Model" printf "%-24s %-10s %-10s\n" "Radio ID" "Vendor" "Model"
find ${ET_HOME}/conf/radios.d -type f -name \*.json | sort -n | while read radio; do find ${ET_HOME}/conf/radios.d -type f -name \*.json | sort -n | while read radio; do
ID=$(cat $radio | jq -r .id) ID=$(cat $radio | jq -r .id)
VENDOR=$(cat $radio | jq -r .vendor) VENDOR=$(cat $radio | jq -r .vendor)
MODEL=$(cat $radio | jq -r .model) MODEL=$(cat $radio | jq -r .model)
printf "%-20s %-10s %-10s\n" $ID "$VENDOR" "$MODEL" printf "%-24s %-10s %-10s\n" $ID "$VENDOR" "$MODEL"
done done
;; ;;
@@ -48,7 +48,7 @@ case $1 in
options+=("$ID" "$VENDOR $MODEL") options+=("$ID" "$VENDOR $MODEL")
done < <(find $ET_HOME/conf/radios.d -type f | sort) done < <(find $ET_HOME/conf/radios.d -type f | sort)
SELECTED_RADIO=$(dialog --clear --menu "Select a radio:" 15 50 10 "${options[@]}" 3>&1 1>&2 2>&3) SELECTED_RADIO=$(dialog --clear --menu "Select a radio:" 20 60 10 "${options[@]}" 3>&1 1>&2 2>&3)
exit_status=$? exit_status=$?
# Reset terminal to its original state # Reset terminal to its original state
@@ -1,7 +1,7 @@
{ {
"id": "generic-vox", "id": "digirig-lite",
"vendor": "Generic", "vendor": "DigiRig",
"model": "VOX", "model": "Lite",
"rigctrl": { "rigctrl": {
"id": "1", "id": "1",
"ptt": "NONE" "ptt": "NONE"
@@ -0,0 +1,12 @@
{
"id": "digirig-mobile-no-cat",
"vendor": "DigiRig",
"model": "Mobile (No CAT)",
"rigctrl": {
"id": "1",
"ptt": "RTS"
},
"notes": [
"Uses RTS to trigger PTT"
]
}
@@ -1,7 +1,7 @@
{ {
"id": "yaesu-ft818nd", "id": "yaesu-ft818nd",
"vendor": "Yaesu", "vendor": "Yaesu",
"model": "FT-818ND", "model": "FT-818ND (DigiRig)",
"rigctrl": { "rigctrl": {
"id": "1041", "id": "1041",
"baud": "38400", "baud": "38400",
@@ -1,7 +1,7 @@
{ {
"id": "yaesu-ft857d", "id": "yaesu-ft857d",
"vendor": "Yaesu", "vendor": "Yaesu",
"model": "FT-857D", "model": "FT-857D (DigiRig)",
"rigctrl": { "rigctrl": {
"id": "1022", "id": "1022",
"baud": "38400", "baud": "38400",
@@ -1,7 +1,7 @@
{ {
"id": "yaesu-ft897d", "id": "yaesu-ft897d",
"vendor": "Yaesu", "vendor": "Yaesu",
"model": "FT-897D", "model": "FT-897D (Mobile)",
"rigctrl": { "rigctrl": {
"id": "1043", "id": "1043",
"baud": "38400", "baud": "38400",
@@ -2,7 +2,7 @@
# #
# Author : Gaston Gonzalez # Author : Gaston Gonzalez
# Date : 9 October 2024 # Date : 9 October 2024
# Updated : 24 October 2024 # Updated : 25 October 2024
# Purpose : Wrapper startup/shutdown script around systemd/rigctld # Purpose : Wrapper startup/shutdown script around systemd/rigctld
ET_HOME=/opt/emcomm-tools ET_HOME=/opt/emcomm-tools
@@ -29,17 +29,21 @@ do_full_auto() {
start() { start() {
# Special case for VOX devices like the DigiRig Lite. # Special case for VOX devices like the DigiRig Lite and 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 if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
CUR_RADIO=$(cat "${ET_HOME}/conf/radios.d/active-radio.json" | jq -r .model) RIG_ID=$(cat "${ET_HOME}/conf/radios.d/active-radio.json" | jq -r .rigctrl.id)
if [ "${CUR_RADIO}" = "VOX" ]; then
et-log "Starting dummy rigctld service for VOX device." # All devices that have no CAT control must have their ID set to 1. This
# a special test mode provided by Hamlib's rigctl NET interface.
if [ "${RIG_ID}" = "1" ]; then
et-log "Starting dummy rigctld service for device with no CAT support."
ID=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.id) ID=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.id)
PTT=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.ptt) PTT=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.ptt)
CMD="rigctld -m ${ID} -P ${PTT} " CMD="rigctld -m ${ID} -P ${PTT} "
et-log "Starting rigctld with: ${CMD}" et-log "Starting rigctld n VOX mode with: ${CMD}"
$CMD $CMD
exit 0 exit 0