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}
CAT : ${execpi 10 et-system-info et-cat}
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}
]];
+4 -4
View File
@@ -2,7 +2,7 @@
#
# Author : Gaston Gonzalez
# Date : 11 October 2024
# Updated : 24 October 2024
# Updated : 25 October 2024
# Purpose : A script for managaing plug-and-play radios
set -e
@@ -23,14 +23,14 @@ ACTIVE_RADIO="${ET_HOME}/conf/radios.d/active-radio.json"
case $1 in
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
ID=$(cat $radio | jq -r .id)
VENDOR=$(cat $radio | jq -r .vendor)
MODEL=$(cat $radio | jq -r .model)
printf "%-20s %-10s %-10s\n" $ID "$VENDOR" "$MODEL"
printf "%-24s %-10s %-10s\n" $ID "$VENDOR" "$MODEL"
done
;;
@@ -48,7 +48,7 @@ case $1 in
options+=("$ID" "$VENDOR $MODEL")
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=$?
# Reset terminal to its original state
@@ -1,7 +1,7 @@
{
"id": "generic-vox",
"vendor": "Generic",
"model": "VOX",
"id": "digirig-lite",
"vendor": "DigiRig",
"model": "Lite",
"rigctrl": {
"id": "1",
"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",
"vendor": "Yaesu",
"model": "FT-818ND",
"model": "FT-818ND (DigiRig)",
"rigctrl": {
"id": "1041",
"baud": "38400",
@@ -1,7 +1,7 @@
{
"id": "yaesu-ft857d",
"vendor": "Yaesu",
"model": "FT-857D",
"model": "FT-857D (DigiRig)",
"rigctrl": {
"id": "1022",
"baud": "38400",
@@ -1,7 +1,7 @@
{
"id": "yaesu-ft897d",
"vendor": "Yaesu",
"model": "FT-897D",
"model": "FT-897D (Mobile)",
"rigctrl": {
"id": "1043",
"baud": "38400",
@@ -2,7 +2,7 @@
#
# Author : Gaston Gonzalez
# Date : 9 October 2024
# Updated : 24 October 2024
# Updated : 25 October 2024
# Purpose : Wrapper startup/shutdown script around systemd/rigctld
ET_HOME=/opt/emcomm-tools
@@ -29,17 +29,21 @@ do_full_auto() {
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
CUR_RADIO=$(cat "${ET_HOME}/conf/radios.d/active-radio.json" | jq -r .model)
if [ "${CUR_RADIO}" = "VOX" ]; then
et-log "Starting dummy rigctld service for VOX device."
RIG_ID=$(cat "${ET_HOME}/conf/radios.d/active-radio.json" | jq -r .rigctrl.id)
# 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)
PTT=$(cat ${ET_HOME}/conf/radios.d/active-radio.json | jq -r .rigctrl.ptt)
CMD="rigctld -m ${ID} -P ${PTT} "
et-log "Starting rigctld with: ${CMD}"
et-log "Starting rigctld n VOX mode with: ${CMD}"
$CMD
exit 0