mirror of
https://github.com/AG7GN/nexus-utilities.git
synced 2025-05-20 08:20:11 -07:00
Bug fixes to the APRS and pat GUIs
This commit is contained in:
parent
20020b94fe
commit
e6260e9984
@ -16,7 +16,7 @@
|
|||||||
#%
|
#%
|
||||||
#================================================================
|
#================================================================
|
||||||
#- IMPLEMENTATION
|
#- IMPLEMENTATION
|
||||||
#- version ${SCRIPT_NAME} 1.0.6
|
#- version ${SCRIPT_NAME} 1.0.7
|
||||||
#- author Steve Magnuson, AG7GN
|
#- author Steve Magnuson, AG7GN
|
||||||
#- license CC-BY-SA Creative Commons License
|
#- license CC-BY-SA Creative Commons License
|
||||||
#- script_id 0
|
#- script_id 0
|
||||||
@ -46,7 +46,7 @@ Optnum=$#
|
|||||||
function TrapCleanup() {
|
function TrapCleanup() {
|
||||||
[[ -d "${TMPDIR}" ]] && rm -rf "${TMPDIR}/"
|
[[ -d "${TMPDIR}" ]] && rm -rf "${TMPDIR}/"
|
||||||
#pkill "^direwolf"
|
#pkill "^direwolf"
|
||||||
#kill $timeStamp_PID >/dev/null 2>&1
|
kill $clearTextInfo_PID >/dev/null 2>&1
|
||||||
kill $direwolf_PID >/dev/null 2>&1
|
kill $direwolf_PID >/dev/null 2>&1
|
||||||
for P in ${YAD_PIDs[@]}
|
for P in ${YAD_PIDs[@]}
|
||||||
do
|
do
|
||||||
@ -301,22 +301,26 @@ EOF
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#function timeStamp () {
|
function clearTextInfo () {
|
||||||
# exec 6<> $PIPEDATA
|
# Arguments: $1 = sleep time.
|
||||||
# while sleep 60
|
# Send FormFeed character every $1 minutes to clear yad text-info
|
||||||
# do
|
local TIMER=$1
|
||||||
# echo -e "\nTIMESTAMP: $(date)"
|
while sleep $TIMER
|
||||||
# done >&6
|
do
|
||||||
#}
|
#echo -e "\nTIMESTAMP: $(date)"
|
||||||
|
echo -e "\f"
|
||||||
|
echo "$(date) Cleared monitor window. Window is cleared every $TIMER."
|
||||||
|
done >$PIPEDATA
|
||||||
|
}
|
||||||
|
|
||||||
function killDirewolf () {
|
function killDirewolf () {
|
||||||
# $1 is the direwolf PID
|
# $1 is the direwolf PID
|
||||||
if pgrep ^direwolf | grep -q $1 2>/dev/null
|
if pgrep ^direwolf | grep -q $1 2>/dev/null
|
||||||
then
|
then
|
||||||
kill $1 >/dev/null 2>&1
|
kill $1 >/dev/null 2>&1
|
||||||
echo -e "\n\nDirewolf stopped. Click \"Restart...\" button below to restart." >&6
|
echo -e "\n\nDirewolf stopped. Click \"Restart...\" button below to restart." >$PIPEDATA
|
||||||
else
|
else
|
||||||
echo -e "\n\nDirewolf was already stopped. Click \"Restart...\" button below to restart." >&6
|
echo -e "\n\nDirewolf was already stopped. Click \"Restart...\" button below to restart." >$PIPEDATA
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -454,7 +458,7 @@ fi
|
|||||||
export -f setDefaults loadAPRSDefaults killDirewolf
|
export -f setDefaults loadAPRSDefaults killDirewolf
|
||||||
export load_aprs_defaults_cmd='@bash -c "setDefaults; loadAPRSDefaults"'
|
export load_aprs_defaults_cmd='@bash -c "setDefaults; loadAPRSDefaults"'
|
||||||
export click_aprs_help_cmd='bash -c "xdg-open /usr/local/share/hampi/aprs_help.html"'
|
export click_aprs_help_cmd='bash -c "xdg-open /usr/local/share/hampi/aprs_help.html"'
|
||||||
#export PIPEDATA=$PIPE
|
export PIPEDATA=$PIPE
|
||||||
|
|
||||||
#============================
|
#============================
|
||||||
# MAIN SCRIPT
|
# MAIN SCRIPT
|
||||||
@ -471,7 +475,7 @@ $SYNTAX && set -n
|
|||||||
# Run in debug mode, if set
|
# Run in debug mode, if set
|
||||||
$DEBUG && set -x
|
$DEBUG && set -x
|
||||||
|
|
||||||
timeStamp_PID=""
|
clearTextInfo_PID=""
|
||||||
direwolf_PID=""
|
direwolf_PID=""
|
||||||
YAD_PIDs=()
|
YAD_PIDs=()
|
||||||
|
|
||||||
@ -482,12 +486,12 @@ do
|
|||||||
#DIREWOLF="$(command -v direwolf) -p -t 0 -d u"
|
#DIREWOLF="$(command -v direwolf) -p -t 0 -d u"
|
||||||
# No pty
|
# No pty
|
||||||
# Direwolf does not allow embedded spaces in timestamp format string -T
|
# Direwolf does not allow embedded spaces in timestamp format string -T
|
||||||
DIREWOLF="$(command -v direwolf) -t 0 -d u -T "%Y/%m/%d_%H:%M:%S""
|
DIREWOLF="$(command -v direwolf) -t 0 -d u -T "%Y%m%dT%H:%M:%S""
|
||||||
|
|
||||||
# Kill any running processes and load latest settings
|
# Kill any running processes and load latest settings
|
||||||
killDirewolf $direwolf_PID
|
killDirewolf $direwolf_PID
|
||||||
# for P in ${YAD_PIDs[@]} $timeStamp_PID
|
# for P in ${YAD_PIDs[@]} $clearTextInfo_PID
|
||||||
for P in ${YAD_PIDs[@]}
|
for P in $clearTextInfo_PID ${YAD_PIDs[@]}
|
||||||
do
|
do
|
||||||
ps x | egrep -q "^$P" && kill $P
|
ps x | egrep -q "^$P" && kill $P
|
||||||
done
|
done
|
||||||
@ -497,18 +501,19 @@ do
|
|||||||
loadSettings $CONFIG_FILE
|
loadSettings $CONFIG_FILE
|
||||||
YAD_PIDs=()
|
YAD_PIDs=()
|
||||||
|
|
||||||
# Start the monitor tab
|
# Start the monitor tab
|
||||||
[[ $FIRST_RUN == true ]] && MODE_MESSAGE="" || MODE_MESSAGE="${F[_APRSMODE_]}"
|
[[ $FIRST_RUN == true ]] && MODE_MESSAGE="" || MODE_MESSAGE="${F[_APRSMODE_]}"
|
||||||
TEXT="<big><b>Direwolf $MODE_MESSAGE APRS Monitor</b></big>"
|
TEXT="<big><b>Direwolf $MODE_MESSAGE APRS Monitor</b></big>"
|
||||||
yad --plug="$ID" --tabnum=1 --text="$TEXT" --show-uri --show-cursor \
|
yad --plug="$ID" --tabnum=1 --text="$TEXT" --back=black --fore=yellow \
|
||||||
--back=black --fore=yellow \
|
|
||||||
--text-info --text-align=center \
|
--text-info --text-align=center \
|
||||||
--tail --center <&6 &
|
--tail --listen --center <&6 &
|
||||||
|
#MONITOR_YAD_PID=$!
|
||||||
|
#YAD_PIDs+=( $MONITOR_YAD_PID )
|
||||||
YAD_PIDs+=( $! )
|
YAD_PIDs+=( $! )
|
||||||
|
#tail -F --pid=$MONITOR_YAD_PID -q -n 30 $LOGFILE 2>/dev/null | cat -v >&6 &
|
||||||
|
|
||||||
# Start the Time Stamper function
|
clearTextInfo 15m &
|
||||||
#timeStamp &
|
clearTextInfo_PID=$!
|
||||||
#timeStamp_PID=$!
|
|
||||||
|
|
||||||
if [[ $FIRST_RUN == true ]]
|
if [[ $FIRST_RUN == true ]]
|
||||||
then
|
then
|
||||||
@ -519,7 +524,7 @@ do
|
|||||||
cat $DW_CONFIG | grep -v "^$" >&6
|
cat $DW_CONFIG | grep -v "^$" >&6
|
||||||
echo >&6
|
echo >&6
|
||||||
[[ ${F[_AUDIOSTATS_]} == 0 ]] || DIREWOLF+=" -a ${F[_AUDIOSTATS_]}"
|
[[ ${F[_AUDIOSTATS_]} == 0 ]] || DIREWOLF+=" -a ${F[_AUDIOSTATS_]}"
|
||||||
$DIREWOLF -c $DW_CONFIG >&6 2>&6 &
|
$DIREWOLF -c $DW_CONFIG >&6 2>&1 &
|
||||||
direwolf_PID=$!
|
direwolf_PID=$!
|
||||||
echo -e "\n\nDirewolf APRS has started. PID=$direwolf_PID" >&6
|
echo -e "\n\nDirewolf APRS has started. PID=$direwolf_PID" >&6
|
||||||
fi
|
fi
|
||||||
@ -606,10 +611,10 @@ do
|
|||||||
# Save the previous piano script autostart setting
|
# Save the previous piano script autostart setting
|
||||||
PREVIOUS_AUTOSTART="${F[_BOOTSTART_]}"
|
PREVIOUS_AUTOSTART="${F[_BOOTSTART_]}"
|
||||||
|
|
||||||
# Set up a notebook with the 3 tabs.
|
# Set up a notebook with the 2 tabs.
|
||||||
#yad --title="$TITLE" --text="<b><big>Direwolf APRS Monitor and Configuration</big></b>" \
|
#yad --title="$TITLE" --text="<b><big>Direwolf APRS Monitor and Configuration</big></b>" \
|
||||||
yad --title="$TITLE" \
|
yad --title="$TITLE" \
|
||||||
--text-align="center" --notebook --key="$ID" \
|
--text-align="center" --notebook --key="$ID" --window-icon=logviewer \
|
||||||
--posx=10 --posy=45 --width=1100 --height=700 \
|
--posx=10 --posy=45 --width=1100 --height=700 \
|
||||||
--buttons-layout=center \
|
--buttons-layout=center \
|
||||||
--tab="Monitor APRS" \
|
--tab="Monitor APRS" \
|
||||||
@ -617,6 +622,7 @@ do
|
|||||||
--button="<b>Stop Direwolf APRS & Exit</b>":1 \
|
--button="<b>Stop Direwolf APRS & Exit</b>":1 \
|
||||||
--button="<b>Stop Direwolf APRS</b>":"bash -c 'killDirewolf $direwolf_PID'" \
|
--button="<b>Stop Direwolf APRS</b>":"bash -c 'killDirewolf $direwolf_PID'" \
|
||||||
--button="<b>Restart Direwolf APRS</b>":0
|
--button="<b>Restart Direwolf APRS</b>":0
|
||||||
|
|
||||||
RETURN_CODE=$?
|
RETURN_CODE=$?
|
||||||
|
|
||||||
case $RETURN_CODE in
|
case $RETURN_CODE in
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#%
|
#%
|
||||||
#================================================================
|
#================================================================
|
||||||
#- IMPLEMENTATION
|
#- IMPLEMENTATION
|
||||||
#- version ${SCRIPT_NAME} 1.6.7
|
#- version ${SCRIPT_NAME} 1.6.9
|
||||||
#- author Steve Magnuson, AG7GN
|
#- author Steve Magnuson, AG7GN
|
||||||
#- license CC-BY-SA Creative Commons License
|
#- license CC-BY-SA Creative Commons License
|
||||||
#- script_id 0
|
#- script_id 0
|
||||||
@ -50,7 +50,7 @@ Optnum=$#
|
|||||||
|
|
||||||
function TrapCleanup() {
|
function TrapCleanup() {
|
||||||
[[ -d "${TMPDIR}" ]] && rm -rf "${TMPDIR}/"
|
[[ -d "${TMPDIR}" ]] && rm -rf "${TMPDIR}/"
|
||||||
#kill $timeStamp_PID >/dev/null 2>&1
|
kill $clearTextInfo_PID >/dev/null 2>&1
|
||||||
kill $direwolf_PID >/dev/null 2>&1
|
kill $direwolf_PID >/dev/null 2>&1
|
||||||
kill $pat_PID >/dev/null 2>&1
|
kill $pat_PID >/dev/null 2>&1
|
||||||
kill $RIG_PID >/dev/null 2>&1
|
kill $RIG_PID >/dev/null 2>&1
|
||||||
@ -208,21 +208,26 @@ EOF
|
|||||||
PAT_LOCATOR="$(jq -r ".locator" $PAT_CONFIG)"
|
PAT_LOCATOR="$(jq -r ".locator" $PAT_CONFIG)"
|
||||||
}
|
}
|
||||||
|
|
||||||
#function timeStamp () {
|
function clearTextInfo () {
|
||||||
# while sleep 60
|
# Arguments: $1 = sleep time.
|
||||||
# do
|
# Send FormFeed character every $1 minutes to clear yad text-info
|
||||||
# echo -e "\nTIMESTAMP: $(date)"
|
local TIMER=$1
|
||||||
# done >$PIPEDATA
|
while sleep $TIMER
|
||||||
#}
|
do
|
||||||
|
#echo -e "\nTIMESTAMP: $(date)"
|
||||||
|
echo -e "\f"
|
||||||
|
echo "$(date) Cleared monitor window. Window is cleared every $TIMER."
|
||||||
|
done >$PIPEDATA
|
||||||
|
}
|
||||||
|
|
||||||
function killDirewolf () {
|
function killDirewolf () {
|
||||||
# $1 is the direwolf PID
|
# $1 is the direwolf PID
|
||||||
if pgrep ^direwolf | grep -q $1 2>/dev/null
|
if pgrep ^direwolf | grep -q $1 2>/dev/null
|
||||||
then
|
then
|
||||||
kill $1 >/dev/null 2>&1
|
kill $1 >/dev/null 2>&1
|
||||||
echo -e "\n\nDirewolf stopped. Click \"Save Settings...\" button below to restart." >&3
|
echo -e "\n\nDirewolf stopped. Click \"Save Settings...\" button below to restart." >$PIPEDATA
|
||||||
else
|
else
|
||||||
echo -e "\n\nDirewolf was already stopped. Click \"Save Settings...\" button below to restart." >&3
|
echo -e "\n\nDirewolf was already stopped. Click \"Save Settings...\" button below to restart." >$PIPEDATA
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,7 +274,7 @@ PAT_CONFIG="$HOME/.wl2k/config.json"
|
|||||||
|
|
||||||
RETURN_CODE=0
|
RETURN_CODE=0
|
||||||
# Direwolf does not allow embedded spaces in timestamp format string -T
|
# Direwolf does not allow embedded spaces in timestamp format string -T
|
||||||
DIREWOLF="$(command -v direwolf) -p -t 0 -d u -T "%Y/%m/%d_%H:%M:%S""
|
DIREWOLF="$(command -v direwolf) -p -t 0 -d u -T "%Y%m%d_%H:%M:%S""
|
||||||
#PAT="$(command -v pat) --log /dev/stdout -l ax25,telnet http"
|
#PAT="$(command -v pat) --log /dev/stdout -l ax25,telnet http"
|
||||||
PAT="$(command -v pat) -l ax25,telnet http"
|
PAT="$(command -v pat) -l ax25,telnet http"
|
||||||
|
|
||||||
@ -388,7 +393,7 @@ cat $PAT_CONFIG | jq --arg R "network" '.ax25.rig = $R' | sponge $PAT_CONFIG
|
|||||||
export -f setTNCpatDefaults loadpatDefaults
|
export -f setTNCpatDefaults loadpatDefaults
|
||||||
export load_pat_defaults_cmd='@bash -c "setTNCpatDefaults; loadpatDefaults"'
|
export load_pat_defaults_cmd='@bash -c "setTNCpatDefaults; loadpatDefaults"'
|
||||||
export click_dw_pat_help_cmd='bash -c "xdg-open /usr/local/share/hampi/dw_pat_gui_help.html"'
|
export click_dw_pat_help_cmd='bash -c "xdg-open /usr/local/share/hampi/dw_pat_gui_help.html"'
|
||||||
#export PIPEDATA=$PIPE
|
export PIPEDATA=$PIPE
|
||||||
|
|
||||||
#============================
|
#============================
|
||||||
# MAIN SCRIPT
|
# MAIN SCRIPT
|
||||||
@ -405,8 +410,8 @@ $SYNTAX && set -n
|
|||||||
# Run in debug mode, if set
|
# Run in debug mode, if set
|
||||||
$DEBUG && set -x
|
$DEBUG && set -x
|
||||||
|
|
||||||
#timeStamp &
|
#clearTextInfo &
|
||||||
#timeStamp_PID=$!
|
#clearTextInfo_PID=$!
|
||||||
|
|
||||||
direwolf_PID=""
|
direwolf_PID=""
|
||||||
pat_PID=""
|
pat_PID=""
|
||||||
@ -417,7 +422,7 @@ do
|
|||||||
# Kill any running processes and load latest settings
|
# Kill any running processes and load latest settings
|
||||||
killDirewolf $direwolf_PID
|
killDirewolf $direwolf_PID
|
||||||
[[ $pat_PID == "" ]] || kill $pat_PID >/dev/null 2>&1
|
[[ $pat_PID == "" ]] || kill $pat_PID >/dev/null 2>&1
|
||||||
for P in ${YAD_PIDs[@]}
|
for P in $clearTextInfo_PID ${YAD_PIDs[@]}
|
||||||
do
|
do
|
||||||
ps x | egrep -q "^$P" && kill $P
|
ps x | egrep -q "^$P" && kill $P
|
||||||
done
|
done
|
||||||
@ -436,9 +441,12 @@ do
|
|||||||
yad --plug="$ID" --tabnum=1 \
|
yad --plug="$ID" --tabnum=1 \
|
||||||
--back=black --fore=yellow --selectable-labels \
|
--back=black --fore=yellow --selectable-labels \
|
||||||
--text-info --text-align=center --text="$TEXT" \
|
--text-info --text-align=center --text="$TEXT" \
|
||||||
--tail --center <&3 &
|
--tail --listen --center <&3 &
|
||||||
YAD_PIDs+=( $! )
|
YAD_PIDs+=( $! )
|
||||||
|
|
||||||
|
clearTextInfo 60m &
|
||||||
|
clearTextInfo_PID=$!
|
||||||
|
|
||||||
# Start rigctld.
|
# Start rigctld.
|
||||||
if pgrep rigctld >/dev/null
|
if pgrep rigctld >/dev/null
|
||||||
then
|
then
|
||||||
|
@ -1 +1 @@
|
|||||||
VERSION="2.3.17"
|
VERSION="2.3.18"
|
Loading…
x
Reference in New Issue
Block a user