1
0
mirror of https://github.com/km4ack/patmenu2.git synced 2025-05-16 06:40:10 -07:00

Merge pull request #49 from km4ack/dev

Dev
This commit is contained in:
KM4ACK 2022-04-18 07:25:38 -05:00 committed by GitHub
commit d451d6a463
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 509 additions and 40 deletions

View File

@ -93,13 +93,11 @@ if [ -f $PACKET ]; then
rm $PACKET
fi
#put date on top line of each file
echo "List Last Downloaded $(date)" >> $FILE
echo "List Last Downloaded $(date)" >> $FORTY
echo "List Last Downloaded $(date)" >> $EIGHTY
echo "List Last Downloaded $(date)" >> $TWENTY
echo "List Last Downloaded $(date)" >> $THIRTY
echo "List Last Downloaded $(date)" >> $PACKET
#create file that has grid variable used in calculations
touch $HOME/patmenu2/ardop-list/grid.txt
MYGRID=$(grep locator $HOME/.config/pat/config.json | sed 's/.*": //;s/"//g;s/,//')
echo "GRID=$MYGRID" > $HOME/patmenu2/ardop-list/grid.txt
echo "LASTDL=List downloaded `date`" >> $HOME/patmenu2/ardop-list/grid.txt
#download list to individual files.
DL(){

View File

@ -296,6 +296,9 @@ xdg-open $MAP
#--------------------------------
# Alternate Grid Download
#--------------------------------
#THIS FUNCTION DEPRECATED BUT LEFT FOR REFERENCE 11MARCH2022
#make new dir in pat menu dir if needed
mkdir -p $HOME/patmenu2/alt-ardop-list
@ -355,6 +358,10 @@ exit
#--------------------------------
# Load Alternate Grid List
#--------------------------------
#THIS FUNCTION DEPRECATED BUT LEFT FOR REFERENCE 11MARCH2022
LOADALTGRID(){
OUTFILE=/run/user/$UID/alt-grid.list
@ -411,7 +418,122 @@ $MAIN &
exit
}
#--------------------------------
# Recalculate Distance & Bearings
#--------------------------------
NEWCALC(){
#Function to update the distance and bearing between
#your current grid and the winlink gateways.
#this is necessary because the calculations are initially
#based on the grid in the pat config file at the time the
#list is downloaded.
#10MARCH2022 KM4ACK
DIR=/run/user/$UID
TMPFILE=$DIR/tempfile
TMPFILE2=$DIR/tempfile2
TMPFILE3=$DIR/tempfile3
MYGRID=$(cat /run/user/$UID/gridinfo.txt | cut -c1-6)
#backup current lists
BKDIR=$MYPATH/ardop-list/bkup-`date +%F.%H%M`
mkdir -p $BKDIR
cp -r $HOME/patmenu2/ardop-list/*.txt $BKDIR/
MYGRID=$(yad --form --width=450 --text="<b>Recalculate Distance and Bearings to Gateways</b>\rThis takes 2-3 minutes to complete" \
--text-align=center --center --title="Recalculate" --text-align=center --separator="|" --item-separator="|" \
--image=$LOGO --window-icon=$LOGO --image-on-top \
--field="Current Grid Square" "$MYGRID" \
--button="Recalculate":2 \
--button="Cancel":1)
BUT=$?
MYGRID=`echo $MYGRID | awk -F "|" '{print $1}'`
if [ $BUT = 252 ]; then
exit
elif [ $BUT = 1 ]; then
$MAIN &
exit
fi
#create file that has grid variable used in calculations
touch $HOME/patmenu2/ardop-list/grid.txt
echo "GRID=$MYGRID" > $HOME/patmenu2/ardop-list/grid.txt
echo "LASTDL=Recalculated `date`" >> $HOME/patmenu2/ardop-list/grid.txt
MAIN(){
echo "Recalculating 20M List"
RECALC 20mardoplist.txt | yad --center --progress --pulsate --auto-close --no-buttons --text-align=center --title="Recalculate" \
--text="Recalculating 20M List\r<b>DO NOT CLOSE THIS WINDOW</b>\rDoing so will abort the process\rand leave you with a corrupt list."
echo "Recalculating 30M List"
RECALC 30mardoplist.txt | yad --center --progress --pulsate --auto-close --no-buttons --text-align=center --title="Recalculate" \
--text="Recalculating 30M List\r<b>DO NOT CLOSE THIS WINDOW</b>\rDoing so will abort the process\rand leave you with a corrupt list."
echo "Recalculating 40M List"
RECALC 40mardoplist.txt | yad --center --progress --pulsate --auto-close --no-buttons --text-align=center --title="Recalculate" \
--text="Recalculating 40M List\r<b>DO NOT CLOSE THIS WINDOW</b>\rDoing so will abort the process\rand leave you with a corrupt list."
echo "Recalculating 80M List"
RECALC 80mardoplist.txt | yad --center --progress --pulsate --auto-close --no-buttons --text-align=center --title="Recalculate" \
--text="Recalculating 80M List\r<b>DO NOT CLOSE THIS WINDOW</b>\rDoing so will abort the process\rand leave you with a corrupt list."
echo "Recalculating Packet list"
RECALC packet.txt | yad --center --progress --pulsate --auto-close --no-buttons --text-align=center --title="Recalculate" \
--text="Recalculating Packet List\r<b>DO NOT CLOSE THIS WINDOW</b>\rDoing so will abort the process\rand leave you with a corrupt list."
yad --center --timeout=2 --timeout-indicator=top --no-buttons --text="New Calculations Complete"
}
RECALC(){
FILE=$HOME/patmenu2/ardop-list/$1
#check for and remove existing temp file
if [ -f $TMPFILE3 ]; then
rm $TMPFILE3
fi
#create temp list to work with and remove headers/blank lines
cp $FILE $TMPFILE
sed -i 's/.*information...//;s/.*succeeded.//;s/.*url//' $TMPFILE
sed -i '/^$/d' $TMPFILE
#read file, calculate new distance, and update
while read LINE;
do
GRID=`echo $LINE | awk '{print $2}' | sed 's/\[//;s/\]//'`
DISTANCE=`echo $LINE | awk '{print $3 }'`
BEARING=`echo $LINE | awk '{print $4 }'`
CALC=`/usr/bin/wwl $MYGRID $GRID`
NEWDISTANCE=`echo $CALC | awk '{print $2}'`
NEWBEARING=`echo $CALC | awk '{print $5}'`
echo $LINE | sed "s/$DISTANCE/$NEWDISTANCE/;s/$BEARING/$NEWBEARING/" >> $TMPFILE2
done < $TMPFILE
rm $TMPFILE
#pad distance with zeros for sorting
while read LINE
do
DISTANCE=$(echo $LINE | awk '{ print $3 }')
NEWDISTANCE=$(echo $LINE | awk '{ print $3 }' | sed -e :a -e 's/^.\{1,4\}$/0&/;ta')
echo $LINE | sed "s/$DISTANCE/$NEWDISTANCE/" >> $TMPFILE3
done < $TMPFILE2
rm $TMPFILE2
#sort list by distance
sort -k3 -o $TMPFILE3 $TMPFILE3
cp $TMPFILE3 $HOME/patmenu2/ardop-list/$1
}
#call main function
MAIN
#return to pat menu
$MAIN
}

View File

@ -1,7 +1,16 @@
release=2.7.0
release=2.8.0
Changelog
2.8.0 redesign layout of main screen
add new modem menu
add vara modem start (beta)
add vara FM modem start (beta)
deprecate alternate grid list download function
deprecate load alternate grid funtion
add gateway distance/bearing recalculation
add "save as" to current config file see https://github.com/km4ack/patmenu2/issues/48
add config file name to bottom of main menu
update menu shortcut to support non-pi usernames
2.7.0 add mobi-pair script to assist with pairing mobilinkd devices
add mobilinkd wired modem connection (Doesn't work with version 2)
improve mobilinkd modem start

27
find2
View File

@ -4,18 +4,13 @@
#20200425 KM4ACK
#side note: written during covid-19 outbreak of 2020
#######DEV NOTES#############
#############################
#############################
MYPATH=$HOME/patmenu2
PATMENU=$MYPATH/patmenu
LOGO=$MYPATH/pmlogo.png
CURRENT=$(crontab -l | grep getardoplist | awk '{print $2":"$1}')
source $MYPATH/.grid
GRID=$GRID
GRID=$(grep GRID $HOME/patmenu2/ardop-list/grid.txt | sed 's/GRID=//')
LASTDOWNLOAD=$(grep LASTDL $HOME/patmenu2/ardop-list/grid.txt | tail -1 | sed 's/LASTDL=//')
source $MYPATH/FA-functions
@ -24,12 +19,11 @@ yad --form --width=480 --text="<b>Find Gateways</b> by KM4ACK" --text-align=cent
--text="<b>Find Gateways</b> by KM4ACK" \
--field="Search for Gateway":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; GRIDSEARCH"' \
--field="View Grid Map":fbtn 'bash -c "source $MYPATH/FA-functions; MAP"' \
--field="Download Home Grid Gateway List":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; DOWNLIST"' \
--field="Download Alternate Grid Gateway List":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; ALTGRID"' \
--field="Load Alternate Grid Gateway List":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; LOADALTGRID"' \
--field="Auto Download Home Grid List <b>$CURRENT</b>":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; AUTODOWN"' \
--field="Home $LASTDL":LBL \
--field="Grid List Currently Loaded <b>$GRID</b>":LBL \
--field="Download Gateway List":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; DOWNLIST"' \
--field="Auto Download Gateway List <b>$CURRENT</b>":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; AUTODOWN"' \
--field="Recalculate Distance and Bearings":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; NEWCALC"' \
--field="$LASTDOWNLOAD":LBL \
--field="Current calculations based on grid <b>$GRID</b>":LBL \
--button="Main Menu":1
QUIT=$?
@ -39,4 +33,9 @@ $PATMENU &
exit
elif [ $QUIT = 252 ]; then
exit
fi
fi
#left for reference
#--field="Download Alternate Grid Gateway List":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; ALTGRID"' \
#--field="Load Alternate Grid Gateway List":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/FA-functions; LOADALTGRID"' \

View File

@ -87,15 +87,13 @@ if [ -f $PACKET ]; then
rm $PACKET
fi
#put date on top line of each file
echo "List Last Downloaded $(date)" >> $FILE
echo "List Last Downloaded $(date)" >> $FORTY
echo "List Last Downloaded $(date)" >> $EIGHTY
echo "List Last Downloaded $(date)" >> $TWENTY
echo "List Last Downloaded $(date)" >> $THIRTY
echo "List Last Downloaded $(date)" >> $PACKET
#yad --center --progress --pulsate --timeout-indicator=top --auto-close --no-buttons --text="Start Download"
#create file that has grid variable used in calculations
touch $HOME/patmenu2/ardop-list/grid.txt
MYGRID=$(grep locator $HOME/.config/pat/config.json | sed 's/.*": //;s/"//g;s/,//')
echo "GRID=$MYGRID" > $HOME/patmenu2/ardop-list/grid.txt
echo "LASTDL=List downloaded `date`" >> $HOME/patmenu2/ardop-list/grid.txt
#download list to individual files.
DL(){

View File

@ -147,6 +147,7 @@ elif [ $BUT = 2 ]; then
exit
else
cp $MYPATH/$NEWCONFIG $MYPATH/config
echo "CONF=$NEWCONFIG" > $MYPATH/.currentconf #write config file name to a file
rm $OUTFILE
yad --title="Config Loaded" --width=400 --height=200 \
--image $LOGO --window-icon=$LOGO --image-on-top \
@ -206,9 +207,11 @@ SETTINGS=$(yad --form --width=600 --text-align=center --center --title="Pat Menu
--field="AmRRON":CB "$AMRRON" \
--field="Custom Warning":CB "$WARN" \
--field="Warning Message" "$WARNMSG" \
--button="Save As":3 \
--button="Update":2 \
--button="Cancel":1)
BUT=$?
if [ $BUT = 1 ]; then
$MAIN
elif [ $BUT = 252 ]; then
@ -253,6 +256,30 @@ cp $CONFIGTMP $CONFIG
rm $CONFIGTMP
$MAIN &
exit
elif [ $BUT = 3 ]; then
NEWNAME=$(yad --form --width=600 --text-align=center --center --title="Name?" --text-align=center \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Pat Menu Settings</b> by KM4ACK" \
--field="New Config Name")
BUT=$?
if [ $BUT = 1 ]; then
$MAIN & exit
elif [ $BUT = 252 ]; then
exit
fi
NEWNAME=$(echo $NEWNAME | awk -F "|" '{print $1}')
NEWNAME=$NEWNAME.config #add .config to filename
NEWNAME=$(echo $NEWNAME | sed 's/ /-/g') #remove spaces in file name
cp $CONFIG $HOME/patmenu2/$NEWNAME
yad --title="Config Created" --width=400 --height=200 \
--image $LOGO --window-icon=$LOGO --image-on-top \
--center --text="$NEWNAME created\r\r<b>Don't forget to load the new config file</b>" \
--button=gtk-ok
$MAIN &
exit
fi
}

33
modems Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
#Pat Modems
#20220309 KM4ACK
export MYPATH=$HOME/patmenu2
LOGO=$MYPATH/pmlogo.png
MAIN=$MYPATH/./patmenu
VERSION=$(cat $MYPATH/changelog | grep release | head -1 | sed 's/release=//')
source $MYPATH/config
yad --form --width=420 --text-align=center --center --title="Pat Menu" --text-align=center \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Pat Menu</b> by KM4ACK\rv$VERSION" \
--field="Start ARDOP Modem":fbtn 'bash -c "$MYPATH/start-pat-ardop"' \
--field="Start Packet Modem":fbtn 'bash -c "$MYPATH/start-pat2m"' \
--field="Start Mobilinkd Modem Bluetooth":fbtn 'bash -c "$MYPATH/mobilink"' \
--field="Start Mobilinkd Modem Wired":fbtn 'bash -c "$MYPATH/mobi-wired"' \
--field="Start VARA Modem (BETA)":fbtn 'bash -c "$MYPATH/start-vara-hf"' \
--field="Start VARA FM Modem (BETA)":fbtn 'bash -c "$MYPATH/start-vara-fm"' \
--field="Stop Modems":fbtn 'bash -c "$MYPATH/stop-modems"' \
--button="Main Menu":1
BUT=$?
if [ $BUT = 1 ]; then
$MAIN &
exit
fi

16
patmenu
View File

@ -1,6 +1,6 @@
#!/bin/bash
#Pat Catalog
#Pat Menu
#20200427 KM4ACK
#side note: written during covid-19 outbreak of 2020
@ -41,14 +41,17 @@ yad --title="N0CALL" --width=400 --height=100 \
--button=gtk-ok
fi
#get name of current config file
source $MYPATH/.currentconf
CONFIG=$(echo $CONF | sed 's/.config//')
if [ -z $CONFIG ]; then
CONFIG=default
fi
yad --form --width=420 --text-align=center --center --title="Pat Menu" --text-align=center \
--image $LOGO --window-icon=$LOGO --image-on-top --separator="|" --item-separator="|" \
--text="<b>Pat Menu</b> by KM4ACK\rv$VERSION" \
--field="Start ARDOP Modem":fbtn 'bash -c "$MYPATH/start-pat-ardop"' \
--field="Start Packet Modem":fbtn 'bash -c "$MYPATH/start-pat2m"' \
--field="Start Mobilinkd Modem Bluetooth":fbtn 'bash -c "$MYPATH/mobilink"' \
--field="Start Mobilinkd Modem Wired":fbtn 'bash -c "$MYPATH/mobi-wired"' \
--field="Stop Modems":fbtn 'bash -c "$MYPATH/stop-modems"' \
--field="Start/Stop Modem":fbtn 'bash -c "kill -USR1 $YAD_PID; $MYPATH/modems"' \
--field="Find Winlink Gateways":fbtn 'bash -c "kill -USR1 $YAD_PID; $MYPATH/find2"' \
--field="Pat Auto Connect":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/pat-functions; AUTOPAT"' \
--field="Pat Catalog":fbtn 'bash -c "kill -USR1 $YAD_PID; $MYPATH/catalog"' \
@ -58,6 +61,7 @@ yad --form --width=420 --text-align=center --center --title="Pat Menu" --text-al
--field="Settings/Config":fbtn 'bash -c "kill -USR1 $YAD_PID; $MYPATH/manage-menu"' \
--field="Quick Stats":fbtn 'bash -c "kill -USR1 $YAD_PID; source $MYPATH/pat-functions; STATS"' \
--field="My Call - $MYCALLSIGN":LBL \
--field="Config=$CONFIG":LBL \
--button="QUIT":1
BUT=$?

15
setup
View File

@ -38,8 +38,19 @@ rm -rf $HOME/patmenu
fi
#copy new desktop link
sudo cp $MYPATH/patmenu2.desktop /usr/share/applications/patmenu.desktop
#create new desktop link
cat <<EOF > /run/user/$UID/patmenu.desktop
[Desktop Entry]
Name=Pat Menu
GenericName=Amateur Radio Digital Modem
Comment=Amateur Radio Sound Card Communications
Exec=/home/`whoami`/patmenu2/patmenu
Icon=/home/`whoami`/patmenu2/pmlogo.png
Terminal=false
Type=Application
Categories=Network;HamRadio;
EOF
sudo cp /run/user/$UID/patmenu.desktop /usr/share/applications/patmenu.desktop
#download RMS List
$MYPATH/getardoplist

134
start-vara-fm Executable file
View File

@ -0,0 +1,134 @@
#!/bin/bash
#script to start vara fm modem
#10MARCH2022 KM4ACK
MYPATH=$HOME/patmenu2
LOGO=$MYPATH/pmlogo.png
source $MYPATH/config
#Check if FLRIG is running if user has it set in config file
if [ "$RIGCONTROL" = 'yes' ]; then
echo "rig control is on"
FLRIG=$(echo $RIG | grep "\-m 4")
if [ ! -z "$FLRIG" ]; then
FLRIG=$(pidof flrig)
if [ -z "$FLRIG" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="Please start FLRIG and try again" \
--button=gtk-ok
exit
fi
fi
fi
#Check if modem is already running
MODEMCHECK=$(ps aux | grep -i box86 | grep -i varafm)
if [ ! -z "$MODEMCHECK" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="Packet Modem is already running" \
--button=gtk-ok
exit
fi
#check if piardopc is running
PIDDW=$(pidof piardopc)
if [ ! -z "$PIDDW" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="It looks like the ARDOP modem is running.\rStop all modems and try again" \
--button=gtk-ok
exit 0
fi
#check if direwolf is running
PIDDW=$(pidof direwolf)
if [ ! -z "$PIDDW" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="It looks like direwolf is running.\rStop all modems and try again" \
--button=gtk-ok
exit 0
fi
#give user some feedback
yad --width=350 --height=75 --title="Starting Modem" --timeout=20 --timeout-indicator=top --no-buttons --center \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center --text="Modem Starting....standby" &
#Set Mode
RIGFM=$RIG" M $MODE2M"
SETRIG () {
#set radio frequency & mode
$RIGFM
sleep 1
#check rig is in correct mode
MODE=$($RIG m | grep $MODE2M)
sleep 1
MODECHECK() {
#check rig is in correct mode
MODE=$($RIG m | grep $MODE2M)
}
sleep 1
if [ -z $MODE ]
then
$RIGFM
MODECHECK
fi
}
#see if rig control is used
if [ $RIGCONTROL == 'yes' ]; then
PIDCTL=$(pidof rigctld)
if [ -z "$PIDCTL" ]; then
CONTROL=$(cat $MYPATH/config | grep '^RIG="' | sed 's/RIG="//' | sed 's/"//' | sed 's/rigctl/rigctld/')
$CONTROL &
rigpid=`echo $!`
fi
SETRIG
fi
echo "starting VARA-FM"
/usr/local/bin/wine /home/pi/.wine/drive_c/VARA\ FM/VARAFM.exe > /dev/null 2>&1 &
sleep 7 #give vara time to start
#verify vara has started
PIDVARA=$(ps aux | grep -i box86 | grep -i varafm)
if [ -z "$PIDVARA" ]
then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="The VARA Modem FAILED to Start" \
--button=gtk-ok
else
yad --title="VARA MODEM" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center --on-top \
--center --form --text="\r\r\r\rThe VARA Modem has Started\rJust a few more seconds" \
--button=gtk-ok &
fi
sleep 1
#restart pat so terminal window correctly reflects rig control
sudo systemctl restart pat@`whoami`
echo "starting browser"
#open pat inbox in browser
export DISPLAY=:0 && xdg-open http://127.0.0.1:$PORT > /dev/null 2>&1
#echo "cleaning up and closing"
#varapid=`ps aux | grep -i box86 | grep -i varafm`
#kill $varapid > /dev/null 2>&1
#kill $rigpid > /dev/null 2>&1

134
start-vara-hf Executable file
View File

@ -0,0 +1,134 @@
#!/bin/bash
#script to start vara hf modem
#10MARCH2022 KM4ACK
MYPATH=$HOME/patmenu2
LOGO=$MYPATH/pmlogo.png
source $MYPATH/config
#Check if FLRIG is running if user has it set in config file
if [ "$RIGCONTROL" = 'yes' ]; then
echo "rig control is on"
FLRIG=$(echo $RIG | grep "\-m 4")
if [ ! -z "$FLRIG" ]; then
FLRIG=$(pidof flrig)
if [ -z "$FLRIG" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="Please start FLRIG and try again" \
--button=gtk-ok
exit
fi
fi
fi
#Check if modem is already running
MODEMCHECK=$(ps aux | grep -i box86 | grep -i varafm)
if [ ! -z "$MODEMCHECK" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="Packet Modem is already running" \
--button=gtk-ok
exit
fi
#check if piardopc is running
PIDDW=$(pidof piardopc)
if [ ! -z "$PIDDW" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="It looks like the ARDOP modem is running.\rStop all modems and try again" \
--button=gtk-ok
exit 0
fi
#check if direwolf is running
PIDDW=$(pidof direwolf)
if [ ! -z "$PIDDW" ]; then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="It looks like direwolf is running.\rStop all modems and try again" \
--button=gtk-ok
exit 0
fi
#give user some feedback
yad --width=350 --height=75 --title="Starting Modem" --timeout=20 --timeout-indicator=top --no-buttons --center \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center --text="Modem Starting....standby" &
#Set Mode
RIGFM=$RIG" M $MODEHF"
SETRIG () {
#set radio frequency & mode
$RIGFM
sleep 1
#check rig is in correct mode
MODE=$($RIG m | grep $MODE2M)
sleep 1
MODECHECK() {
#check rig is in correct mode
MODE=$($RIG m | grep $MODE2M)
}
sleep 1
if [ -z $MODE ]
then
$RIGFM
MODECHECK
fi
}
#see if rig control is used
if [ $RIGCONTROL == 'yes' ]; then
PIDCTL=$(pidof rigctld)
if [ -z "$PIDCTL" ]; then
CONTROL=$(cat $MYPATH/config | grep '^RIG="' | sed 's/RIG="//' | sed 's/"//' | sed 's/rigctl/rigctld/')
$CONTROL &
rigpid=`echo $!`
fi
SETRIG
fi
echo "starting VARA-FM"
/usr/local/bin/wine /home/pi/.wine/drive_c/VARA/VARA.exe > /dev/null 2>&1 &
sleep 7 #give vara time to start
#verify vara has started
PIDVARA=$(ps aux | grep -i box86 | grep VARA.exe)
if [ -z "$PIDVARA" ]
then
yad --title="FAILED" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center \
--center --form --text="The VARA Modem FAILED to Start" \
--button=gtk-ok
else
yad --title="VARA MODEM" --width=400 --height=100 \
--image $LOGO --window-icon=$LOGO --image-on-top --text-align=center --on-top \
--center --form --text="\r\r\r\rThe VARA Modem has Started\rJust a few more seconds" \
--button=gtk-ok &
fi
sleep 1
#restart pat so terminal window correctly reflects rig control
sudo systemctl restart pat@`whoami`
echo "starting browser"
#open pat inbox in browser
export DISPLAY=:0 && xdg-open http://127.0.0.1:$PORT > /dev/null 2>&1
#echo "cleaning up and closing"
#varapid=`ps aux | grep -i box86 | grep VARA.exe`
#kill $varapid > /dev/null 2>&1
#kill $rigpid > /dev/null 2>&1