|
|
#!/bin/bash
|
|
|
|
|
|
echo "CubeSatSim v1.3.2 configuration tool"
|
|
|
echo
|
|
|
# echo $1
|
|
|
# echo $2
|
|
|
# echo
|
|
|
|
|
|
# if [ "$2" = "n" ] ; then
|
|
|
if [ -z "$2" ] ; then
|
|
|
noreboot=0
|
|
|
else
|
|
|
noreboot=1
|
|
|
echo "Reboot disabled"
|
|
|
fi
|
|
|
|
|
|
# echo "No reboot"
|
|
|
# echo $noreboot
|
|
|
|
|
|
reboot=0
|
|
|
restart=0
|
|
|
|
|
|
if [ "$1" = "" ]; then
|
|
|
value=`cat /home/pi/CubeSatSim/.mode`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
if [ "$1" = "a" ]; then
|
|
|
echo "Mode is APRS"
|
|
|
elif [ "$1" = "m" ]; then
|
|
|
echo "Mode is CW"
|
|
|
elif [ "$1" = "f" ]; then
|
|
|
echo "Mode is FSK"
|
|
|
elif [ "$1" = "b" ]; then
|
|
|
echo "Mode is BPSK"
|
|
|
elif [ "$1" = "s" ]; then
|
|
|
echo "Mode is SSTV"
|
|
|
else
|
|
|
echo
|
|
|
fi
|
|
|
echo
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
if [ "$5" = "y" ] || [ "$5" = "yes" ] ; then
|
|
|
# sim="yes"
|
|
|
echo "Simulated Telemetry is ON"
|
|
|
else
|
|
|
# sim="no"
|
|
|
echo "Simulated Telemetry is OFF"
|
|
|
fi
|
|
|
echo
|
|
|
|
|
|
if [ "$9" = "yes" ] || [ "$9" = "y" ]; then
|
|
|
echo "Balloon mode is ON"
|
|
|
else
|
|
|
echo "Balloon mode is OFF"
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
echo -n "Current command count is: "
|
|
|
cat /home/pi/CubeSatSim/command_count.txt
|
|
|
echo
|
|
|
echo
|
|
|
# echo "Current beacon transmit mode is:"
|
|
|
# cat /home/pi/CubeSatSim/command_tx
|
|
|
# echo
|
|
|
|
|
|
echo -n "Squelch level is: "
|
|
|
echo $6
|
|
|
echo
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/command_control
|
|
|
if [ -f "$FILE" ]; then
|
|
|
|
|
|
if [[ $(arecord -l | grep card) ]]; then
|
|
|
FILE=/home/pi/CubeSatSim/command_control_direwolf
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Radio DTMF/APRS command and control is ON"
|
|
|
else
|
|
|
echo "Radio carrier command and control is ON"
|
|
|
fi
|
|
|
else
|
|
|
echo "Radio carrier command and control is ON"
|
|
|
fi
|
|
|
else
|
|
|
echo "Radio command and control is OFF"
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
|
|
|
echo -n "RX PL code is: "
|
|
|
echo ${10}
|
|
|
echo
|
|
|
echo -n "TX PL code is: "
|
|
|
echo ${11}
|
|
|
echo
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/battery_saver
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Safe Mode! Battery saver mode is ON"
|
|
|
else
|
|
|
echo "Battery saver mode is OFF"
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
echo -e "Current sim.cfg configuration file:"
|
|
|
# echo
|
|
|
|
|
|
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}
|
|
|
echo
|
|
|
|
|
|
echo "To change, include an OPTION"
|
|
|
echo "To see options, type config -h"
|
|
|
# echo
|
|
|
# set -- "-h"
|
|
|
# fi
|
|
|
|
|
|
|
|
|
elif [ "$1" = "-i" ]; then
|
|
|
reboot=1
|
|
|
## echo "Rebooting CubeSatSim"
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
## exit
|
|
|
elif [ "$1" = "-a" ]; then
|
|
|
echo "changing CubeSatSim to AFSK mode"
|
|
|
sudo echo "a" > /home/pi/CubeSatSim/.mode
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/battery_saver
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Safe Mode! Battery saver mode is ON."
|
|
|
# if ! grep -q force_turbo=1 /boot/config.txt ; then sudo sh -c 'echo "force_turbo=1" >> /boot/config.txt'; fi
|
|
|
else
|
|
|
echo "Battery saver mode is OFF."
|
|
|
# sudo sed -i ':a;N;$!ba;s/\nforce_turbo=1//g' /boot/config.txt
|
|
|
fi
|
|
|
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
## exit
|
|
|
|
|
|
elif [ "$1" = "-m" ]; then
|
|
|
echo "changing CubeSatSim to CW mode"
|
|
|
sudo echo "m" > /home/pi/CubeSatSim/.mode
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/battery_saver
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Safe Mode! Battery saver mode is ON."
|
|
|
# if ! grep -q force_turbo=1 /boot/config.txt ; then sudo sh -c 'echo "force_turbo=1" >> /boot/config.txt'; fi
|
|
|
else
|
|
|
echo "Battery saver mode is OFF."
|
|
|
# sudo sed -i ':a;N;$!ba;s/\nforce_turbo=1//g' /boot/config.txt
|
|
|
fi
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
## exit
|
|
|
elif [ "$1" = "-f" ]; then
|
|
|
echo "changing CubeSatSim to FSK mode"
|
|
|
sudo echo "f" > /home/pi/CubeSatSim/.mode
|
|
|
# if ! grep -q force_turbo=1 /boot/config.txt ; then sudo sh -c 'echo "force_turbo=1" >> /boot/config.txt'; fi
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
## exit
|
|
|
elif [ "$1" = "-b" ]; then
|
|
|
echo "changing CubeSatSim to BPSK mode"
|
|
|
sudo echo "b" > /home/pi/CubeSatSim/.mode
|
|
|
# if ! grep -q force_turbo=1 /boot/config.txt ; then sudo sh -c 'echo "force_turbo=1" >> /boot/config.txt'; fi
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
## exit
|
|
|
elif [ "$1" = "-s" ]; then
|
|
|
echo "changing CubeSatSim to SSTV mode"
|
|
|
sudo echo "s" > /home/pi/CubeSatSim/.mode
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/battery_saver
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Safe Mode! Battery saver mode ON."
|
|
|
# if ! grep -q force_turbo=1 /boot/config.txt ; then sudo sh -c 'echo "force_turbo=1" >> /boot/config.txt'; fi
|
|
|
else
|
|
|
echo "Battery saver mode is OFF."
|
|
|
# sudo sed -i ':a;N;$!ba;s/\nforce_turbo=1//g' /boot/config.txt
|
|
|
fi
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
## exit
|
|
|
|
|
|
elif [ "$1" = "-t" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing the Simulated Telemetry setting in"
|
|
|
echo "the configuration file for CubeSatSim"
|
|
|
echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
if [ "$5" = "yes" ] || [ "$5" = "y" ]; then
|
|
|
echo "Simualted Telemetry is ON"
|
|
|
else
|
|
|
echo "Simualted Telemetry is OFF"
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
|
|
|
# $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
|
|
|
|
|
|
echo "Do you want Simulated Telemetry ON (y/n) "
|
|
|
read sim
|
|
|
echo
|
|
|
|
|
|
if [ "$sim" = "y" ] || [ "$sim" = "yes" ] ; then
|
|
|
sim="yes"
|
|
|
echo "Simulated Telemetry is ON"
|
|
|
else
|
|
|
sim="no"
|
|
|
echo "Simulated Telemetry is OFF"
|
|
|
fi
|
|
|
|
|
|
# echo
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
# echo
|
|
|
echo $1 $2 $3 $4 $sim $6 $7 $8 $9 ${10}
|
|
|
echo $1 $2 $3 $4 $sim $6 $7 $8 $9 ${10} > /home/pi/CubeSatSim/sim.cfg
|
|
|
echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
|
|
|
elif [ "$1" = "-c" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing the CALLSIGN in the"
|
|
|
echo "configuration file for CubeSatSim"
|
|
|
echo
|
|
|
echo "Return keeps current value."
|
|
|
# echo -e "Current sim.cfg configuration file:"
|
|
|
# echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
echo "Current value of CALLSIGN is"
|
|
|
echo $1
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
|
|
|
|
|
|
echo "Enter callsign in all capitals: "
|
|
|
read callsign
|
|
|
|
|
|
if [ -z $callsign ] ; then
|
|
|
|
|
|
callsign="$1"
|
|
|
echo "Keeping value of" $callsign
|
|
|
norestart=1
|
|
|
else
|
|
|
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
|
|
|
echo $callsign $2 $3 $4 $5 $6 $7 $8 $9 ${10}
|
|
|
echo $callsign $2 $3 $4 $5 $6 $7 $8 $9 ${10} > /home/pi/CubeSatSim/sim.cfg
|
|
|
fi
|
|
|
|
|
|
if [ "$norestart" = "1" ]; then
|
|
|
echo
|
|
|
else
|
|
|
echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
fi
|
|
|
|
|
|
elif [ "$1" = "-r" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing the Reset Count in the"
|
|
|
echo "configuration file for CubeSatSim"
|
|
|
echo
|
|
|
echo "Return keeps current value."
|
|
|
# echo -e "Current sim.cfg configuration file:"
|
|
|
# echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
echo
|
|
|
echo "Current value of Reset Count is"
|
|
|
echo $2
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
|
|
|
|
|
|
echo -e "Enter Reset Count (integer): "
|
|
|
|
|
|
read resets
|
|
|
|
|
|
if [ -z $resets ] ; then
|
|
|
resets="$2"
|
|
|
echo "Keeping value of" $resets
|
|
|
fi
|
|
|
|
|
|
if ! [[ $resets =~ ^[0-9]+$ ]] ; then
|
|
|
echo "Error: not an integer!"
|
|
|
resets="$2"
|
|
|
echo "Keeping value of" $resets
|
|
|
norestart=1
|
|
|
else
|
|
|
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
|
|
|
echo $1 $resets $3 $4 $5 $6 $7 $8 $9 ${10}
|
|
|
echo $1 $resets $3 $4 $5 $6 $7 $8 $9 ${10} > /home/pi/CubeSatSim/sim.cfg
|
|
|
fi
|
|
|
|
|
|
if [ "$norestart" = "1" ]; then
|
|
|
echo
|
|
|
else
|
|
|
## echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
fi
|
|
|
|
|
|
elif [ "$1" = "-l" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing latitude and longitude in the"
|
|
|
echo "configuration file for CubeSatSim"
|
|
|
echo "(Only used for APRS telemetry)"
|
|
|
echo
|
|
|
echo "Return keeps current value."
|
|
|
# echo -e "Current sim.cfg configuration file:"
|
|
|
# echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
echo
|
|
|
echo "Current value of latitude is"
|
|
|
echo $3
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
|
|
|
|
|
|
echo -e "Enter latitude (decimal degrees, positive is north): "
|
|
|
|
|
|
read lat
|
|
|
|
|
|
if [ -z $lat ] ; then
|
|
|
|
|
|
lat="$3"
|
|
|
echo "Keeping value of" $lat
|
|
|
fi
|
|
|
|
|
|
if ! [[ $lat =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]] ; then
|
|
|
|
|
|
echo "Error: not a number!"
|
|
|
lat="$3"
|
|
|
echo "Keeping value of" $lat
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
echo "Current value of longitude is"
|
|
|
echo $4
|
|
|
echo
|
|
|
|
|
|
echo -e "Enter longitude (decimal degrees, positive is east): "
|
|
|
|
|
|
read long
|
|
|
|
|
|
if [ -z $long ] ; then
|
|
|
|
|
|
long="$4"
|
|
|
echo "Keeping value of" $long
|
|
|
fi
|
|
|
|
|
|
if ! [[ $long =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]] ; then
|
|
|
|
|
|
echo "Error: not a number!"
|
|
|
long="$4"
|
|
|
echo "Keeping value of" $long
|
|
|
fi
|
|
|
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
echo $1 $2 $lat $long $5 $6 $7 $8 $9 ${10} ${11}
|
|
|
echo $1 $2 $lat $long $5 $6 $7 $8 $9 ${10} ${11} > /home/pi/CubeSatSim/sim.cfg
|
|
|
|
|
|
if [ "$norestart" = "1" ]; then
|
|
|
echo
|
|
|
else
|
|
|
## echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
fi
|
|
|
|
|
|
elif [ "$1" = "-S" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Scan both I2C buses on the Raspberry Pi"
|
|
|
echo
|
|
|
|
|
|
echo "I2C Bus 1"
|
|
|
echo
|
|
|
i2cdetect -y 1
|
|
|
echo
|
|
|
echo "I2C Bus 1"
|
|
|
echo
|
|
|
i2cdetect -y 3
|
|
|
echo
|
|
|
|
|
|
elif [ "$1" = "-C" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Clear logs"
|
|
|
echo
|
|
|
|
|
|
sudo systemctl stop cubesatsim
|
|
|
sudo systemctl stop rpitx
|
|
|
|
|
|
sudo mv -f /home/pi/CubeSatSim/telem.txt /home/pi/CubeSatSim/telem.txt.bk
|
|
|
|
|
|
sudo journalctl --rotate
|
|
|
sudo journalctl --vacuum-time=1s
|
|
|
|
|
|
reboot=1
|
|
|
## sudo systemctl reboot now
|
|
|
|
|
|
## echo "rebooting"
|
|
|
|
|
|
elif [ "$1" = "-T" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Change command and control state"
|
|
|
echo
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/command_control
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Radio command and control is ON"
|
|
|
echo
|
|
|
echo "Do you want to turn command and control to OFF (y/n) "
|
|
|
read reset
|
|
|
echo
|
|
|
|
|
|
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
|
|
|
echo "Command and control set to OFF"
|
|
|
sudo rm /home/pi/CubeSatSim/command_control
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
fi
|
|
|
|
|
|
else
|
|
|
echo "Radio command and control is OFF"
|
|
|
echo
|
|
|
echo "Do you want to set command and control to ON (y/n) "
|
|
|
read reset
|
|
|
echo
|
|
|
|
|
|
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
|
|
|
echo "Command and control set to ON"
|
|
|
sudo touch /home/pi/CubeSatSim/command_control
|
|
|
## echo "rebooting"
|
|
|
reboot=1
|
|
|
## sudo systemctl stop rpitx
|
|
|
## sudo reboot now
|
|
|
fi
|
|
|
|
|
|
fi
|
|
|
|
|
|
elif [ "$1" = "-d" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Change command and control Direwolf state"
|
|
|
echo
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/command_control_direwolf
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Radio command and control with Direwolf for DTMF and APRS is ON"
|
|
|
echo
|
|
|
echo "Do you want to turn Direwolf OFF and do Carrier command and control (y/n) "
|
|
|
read reset
|
|
|
echo
|
|
|
|
|
|
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
|
|
|
echo "Command and control Direwolf set to OFF"
|
|
|
sudo rm /home/pi/CubeSatSim/command_control_direwolf
|
|
|
# reboot=1
|
|
|
## echo "rebooting"
|
|
|
sudo systemctl restart command
|
|
|
## sudo reboot now
|
|
|
fi
|
|
|
|
|
|
else
|
|
|
echo "Radio command and control with Direwolf for DTMF and APRS is OFF so carrier command and control is enabled"
|
|
|
echo
|
|
|
echo "Do you want to set command and control with Direwolf for DTMF and APRS to ON (y/n) "
|
|
|
read reset
|
|
|
echo
|
|
|
|
|
|
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
|
|
|
echo "Command and control Direwolf set to ON"
|
|
|
sudo touch /home/pi/CubeSatSim/command_control_direwolf
|
|
|
## echo "rebooting"
|
|
|
# reboot=1
|
|
|
sudo systemctl restart command
|
|
|
## sudo reboot now
|
|
|
fi
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
elif [ "$1" = "-R" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Reset the Commands Count in the file command_count.txt"
|
|
|
echo
|
|
|
|
|
|
echo "Current commands count is:"
|
|
|
cat /home/pi/CubeSatSim/commands_count.txt
|
|
|
echo
|
|
|
|
|
|
echo "Do you want to reset the commands count to zero (y/n) "
|
|
|
read reset
|
|
|
echo
|
|
|
|
|
|
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
|
|
|
sudo rm /home/pi/CubeSatSim/command_count.txt
|
|
|
echo "Commands count reset to 0"
|
|
|
echo "0\n" > /home/pi/CubeSatSim/command_count.txt
|
|
|
else
|
|
|
echo "Commands count not reset"
|
|
|
fi
|
|
|
|
|
|
elif [ "$1" = "-B" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Manually setting Safe Mode (battery saver mode)"
|
|
|
echo
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/battery_saver
|
|
|
if [ -f "$FILE" ]; then
|
|
|
echo "Safe Mode! Battery saver mode is ON."
|
|
|
mode=1
|
|
|
else
|
|
|
echo "Safe Mode is OFF."
|
|
|
echo "Battery saver mode is OFF."
|
|
|
mode=0
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
|
|
|
echo "Do you want Safe Mode (battery saver mode) ON (y/n) "
|
|
|
read saver
|
|
|
echo
|
|
|
|
|
|
## reboot=0
|
|
|
|
|
|
if [ "$saver" = "y" ] || [ "$saver" = "yes" ] ; then
|
|
|
if [ "$mode" = "0" ] ; then
|
|
|
echo "Safe Mode will be turned on! Battery saver will be turned ON"
|
|
|
sudo touch /home/pi/CubeSatSim/battery_saver
|
|
|
reboot=1
|
|
|
fi
|
|
|
else
|
|
|
|
|
|
if [ "$mode" = "1" ] ; then
|
|
|
echo "Safe Mode will be turned OFF. Battery saver mode will be turned OFF"
|
|
|
sudo rm /home/pi/CubeSatSim/battery_saver
|
|
|
reboot=1
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
if [ "$reboot" = "1" ] ; then
|
|
|
value=`cat /home/pi/CubeSatSim/.mode`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
if [ "$1" = "a" ] || [ "$1" = "s" ] || [ "$1" = "m" ] ; then
|
|
|
reboot=1
|
|
|
## echo "rebooting"
|
|
|
## sudo reboot now
|
|
|
else
|
|
|
restart=1
|
|
|
## echo "restarting"
|
|
|
## sudo systemctl restart cubesatsim
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
elif [ "$1" = "-q" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing the Squelch setting in"
|
|
|
echo "the configuration file for CubeSatSim"
|
|
|
echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
echo
|
|
|
echo "Current value of squelch is"
|
|
|
echo $6
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}
|
|
|
|
|
|
echo -e "Enter squelch (integer 1 - 8): "
|
|
|
|
|
|
read sq
|
|
|
|
|
|
if [ -z $sq ] ; then
|
|
|
|
|
|
sq="$6"
|
|
|
echo "Keeping value of" $lat
|
|
|
fi
|
|
|
|
|
|
if ! [[ $sq =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]] ; then
|
|
|
|
|
|
echo "Error: not a number!"
|
|
|
sq="$6"
|
|
|
echo "Keeping value of" $sq
|
|
|
fi
|
|
|
|
|
|
# echo
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
# echo
|
|
|
echo $1 $2 $3 $4 $5 $sq $7 $8 $9 ${10} ${11}
|
|
|
echo $1 $2 $3 $4 $4 $sq $7 $8 $9 ${10} ${11} > /home/pi/CubeSatSim/sim.cfg
|
|
|
echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
|
|
|
|
|
|
elif [ "$1" = "-P" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing the PL (Private Line) CTCSS/CDCSS setting in"
|
|
|
echo "the configuration file for CubeSatSim"
|
|
|
echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
echo
|
|
|
echo "Current value of RX PL is"
|
|
|
echo ${10}
|
|
|
echo "Current value of TX PL is"
|
|
|
echo ${11}
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}
|
|
|
|
|
|
echo -e "Enter RX PL value integer 0: None, 01-38: CTCSS (analog, 39-121:CDCSS (digital)"
|
|
|
|
|
|
read rxpl
|
|
|
|
|
|
if [ -z $rxpl ] ; then
|
|
|
|
|
|
rxpl="${10}"
|
|
|
echo "Keeping value of" $rxpl
|
|
|
else
|
|
|
restart=1
|
|
|
fi
|
|
|
|
|
|
if ! [[ $rxpl =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]] ; then
|
|
|
|
|
|
echo "Error: not a number!"
|
|
|
rxpl="${10}"
|
|
|
echo "Keeping value of" $rxpl
|
|
|
else
|
|
|
restart=1
|
|
|
fi
|
|
|
|
|
|
echo -e "Enter TX PL value integer 0: None, 01-38: CTCSS (analog, 39-121:CDCSS (digital)"
|
|
|
|
|
|
read txpl
|
|
|
|
|
|
if [ -z $txpl ] ; then
|
|
|
|
|
|
txpl="${11}"
|
|
|
echo "Keeping value of" $txpl
|
|
|
fi
|
|
|
|
|
|
if ! [[ $txpl =~ ^[+-]?[0-9]+([.][0-9]+)?$ ]] ; then
|
|
|
|
|
|
echo "Error: not a number!"
|
|
|
txpl="${11}"
|
|
|
echo "Keeping value of" $txpl
|
|
|
fi
|
|
|
|
|
|
# echo
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
# echo
|
|
|
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $rxpl $txpl
|
|
|
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $rxpl $txpl > /home/pi/CubeSatSim/sim.cfg
|
|
|
echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
|
|
|
elif [ "$1" = "-F" ]; then
|
|
|
|
|
|
echo
|
|
|
echo "Editing the tx and rx frequency in the"
|
|
|
echo "configuration file for CubeSatSim"
|
|
|
echo
|
|
|
echo "Return keeps current value."
|
|
|
# echo -e "Current sim.cfg configuration file:"
|
|
|
# echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
echo "Current value of tx is"
|
|
|
echo $7
|
|
|
echo
|
|
|
echo "Current value of rx is"
|
|
|
echo $8
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}
|
|
|
|
|
|
echo "Enter tx frequency as 4XX.XXXX: "
|
|
|
read tx
|
|
|
|
|
|
if [ -z $tx ] ; then
|
|
|
|
|
|
tx="$7"
|
|
|
echo "Keeping value of" $tx
|
|
|
fi
|
|
|
|
|
|
echo "Enter rx frequency as 4XX.XXXX: "
|
|
|
read rx
|
|
|
|
|
|
if [ -z $rx ] ; then
|
|
|
|
|
|
rx="$8"
|
|
|
echo "Keeping value of" $rx
|
|
|
fi
|
|
|
# else
|
|
|
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
|
|
|
echo $1 $2 $3 $4 $5 $6 $tx $rx $9 ${10} ${11}
|
|
|
echo $1 $2 $3 $4 $5 $6 $tx $rx $9 ${10} ${11} > /home/pi/CubeSatSim/sim.cfg
|
|
|
# fi
|
|
|
|
|
|
# if [ "$norestart" = "1" ]; then
|
|
|
# echo
|
|
|
# else
|
|
|
echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
# fi
|
|
|
elif [ "$1" = "-H" ]; then
|
|
|
|
|
|
# echo
|
|
|
echo "Editing the Balloon mode setting in"
|
|
|
echo "the configuration file for CubeSatSim"
|
|
|
echo
|
|
|
|
|
|
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
|
echo "$value" > /dev/null
|
|
|
set -- $value
|
|
|
|
|
|
if [ "$9" = "yes" ] || [ "$9" = "y" ]; then
|
|
|
echo "Balloon mode is ON"
|
|
|
else
|
|
|
echo "Balloon mode is OFF"
|
|
|
fi
|
|
|
|
|
|
echo
|
|
|
|
|
|
# echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}
|
|
|
|
|
|
echo "Do you want Balloon mode ON (y/n) "
|
|
|
read hab
|
|
|
echo
|
|
|
|
|
|
if [ "$hab" = "y" ] || [ "$hab" = "yes" ] ; then
|
|
|
hab="yes"
|
|
|
echo "Balloon mode is ON"
|
|
|
else
|
|
|
hab="no"
|
|
|
echo "Balloon mode is OFF"
|
|
|
fi
|
|
|
|
|
|
# echo
|
|
|
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
|
|
# echo
|
|
|
echo $1 $2 $3 $4 $5 $6 $7 $8 $hab ${10} ${11}
|
|
|
echo $1 $2 $3 $4 $5 $6 $7 $8 $hab ${10} ${11} > /home/pi/CubeSatSim/sim.cfg
|
|
|
echo
|
|
|
## echo "Rebooting CubeSatSim with new configuration file"
|
|
|
## echo
|
|
|
|
|
|
reboot=1
|
|
|
## sudo reboot now
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
|
|
|
elif [ "$1" = "-p" ]; then
|
|
|
|
|
|
echo "Real-time output from the serial port from the Pico:"
|
|
|
echo
|
|
|
# sleep 2
|
|
|
timeout 2 cat /dev/serial0 > /dev/null
|
|
|
|
|
|
timeout 3 cat /dev/serial0
|
|
|
|
|
|
elif [ "$1" = "-v" ]; then
|
|
|
|
|
|
echo "Real-time output from the INA219 voltage and current sensors:"
|
|
|
echo
|
|
|
/home/pi/CubeSatSim/telem
|
|
|
|
|
|
elif [ "$1" = "-h" ]; then
|
|
|
echo "config OPTION"
|
|
|
echo
|
|
|
echo "Changes CubeSatSim mode, resets, or modifies configuration file"
|
|
|
echo
|
|
|
echo " -h This help info"
|
|
|
echo " -a Change to AFSK/APRS mode"
|
|
|
echo " -m Change to CW mode"
|
|
|
echo " -f Change to FSK/DUV mode"
|
|
|
echo " -b Change to BPSK mode"
|
|
|
echo " -s Change to SSTV mode"
|
|
|
echo " -i Reboots CubeSatsim software"
|
|
|
echo " -c Change the CALLSIGN in the configuration file sim.cfg"
|
|
|
echo " -t Change the Simulated Telemetry setting in sim.cfg"
|
|
|
echo " -r Change the Resets Count in the configuration file sim.cfg"
|
|
|
echo " -l Change the Latitude and Longitude in the configuration file sim.cfg"
|
|
|
echo " -S Scan both I2C buses on the Raspberry Pi"
|
|
|
echo " -C Clear logs"
|
|
|
echo " -T Change command and control state"
|
|
|
echo " -d Change command and control Direwolf state"
|
|
|
echo " -R Change the Commands Count in the file command_count.txt"
|
|
|
echo " -B Change Safe Mode (battery saver mode) manually"
|
|
|
echo " -q Change the Squelch setting for command receiver"
|
|
|
echo " -F Change the rx and tx frequency"
|
|
|
echo " -H Chnage the Balloon mode"
|
|
|
echo " -p Display payload sensor data"
|
|
|
echo " -v Display voltage and current data"
|
|
|
echo " -P Change the PL (Private Line) CTCSS/CDCSS codes for RX and TX"
|
|
|
echo
|
|
|
exit
|
|
|
|
|
|
else
|
|
|
# echo
|
|
|
echo "Unknown option. Try config -h for a list of supported options."
|
|
|
echo
|
|
|
|
|
|
fi
|
|
|
|
|
|
# sudo systemctl restart cubesatsim
|
|
|
|
|
|
# echo "Checking for reboot or restart"
|
|
|
|
|
|
# echo $noreboot
|
|
|
|
|
|
|
|
|
if [ "$reboot" = "1" ] ; then
|
|
|
if [ "$noreboot" = "0" ] ; then
|
|
|
echo 'Reboot due to mode change!' | wall
|
|
|
echo "Rebooting"
|
|
|
sudo systemctl stop rpitx
|
|
|
sudo reboot now
|
|
|
else
|
|
|
echo "Reboot needed for changes to take effect"
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
if [ "$restart" = "1" ] ; then
|
|
|
if [ "$reboot" = "1" ] ; then
|
|
|
echo "Restarting"
|
|
|
sudo systemctl restart cubesatsim
|
|
|
else
|
|
|
echo "Restart needed for changes to take effect"
|
|
|
fi
|
|
|
fi
|