You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CubeSatSim/config

408 lines
8.5 KiB

#!/bin/bash
echo "CubeSatSim v1.3b configuration tool"
if [ "$2" = "-n" ]; then
norestart=1
else
norestart=0
fi
if [ "$1" = "" ]; then
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
if [ "$1" = "a" ]; then
echo "APRS mode is set"
elif [ "$1" = "m" ]; then
echo "CW mode is set"
elif [ "$1" = "f" ]; then
echo "FSK mode is set"
elif [ "$1" = "b" ]; then
echo "BPSK mode is set"
elif [ "$1" = "s" ]; then
echo "SSTV mode is set"
else
echo
fi
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
echo -e "Current sim.cfg configuration file:"
# echo
echo $1 $2 $3 $4 $5
echo
# echo
# echo "To change, include an OPTION"
# echo
set -- "-h"
fi
if [ "$1" = "-i" ]; then
echo "Restarting CubeSatSim"
sudo systemctl restart cubesatsim
exit
elif [ "$1" = "-a" ]; then
echo "changing CubeSatSim to AFSK mode"
sudo echo "a" > /home/pi/CubeSatSim/.mode
sudo sed -i ':a;N;$!ba;s/\nforce_turbo=1//g' /boot/config.txt
echo "rebooting"
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
sudo sed -i ':a;N;$!ba;s/\nforce_turbo=1//g' /boot/config.txt
echo "rebooting"
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
echo "rebooting"
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
echo "rebooting"
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
sudo sed -i ':a;N;$!ba;s/\nforce_turbo=1//g' /boot/config.txt
echo "rebooting"
sudo reboot now
# sudo systemctl restart cubesatsim
exit
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 Restarts 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 state"
echo " -R Change the Commands Count in the file command_count.txt"
echo
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
# echo $1 $2 $3 $4
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 configuraation sim.cfg file updated to: \n"
echo
echo $1 $2 $3 $4 $sim
echo $1 $2 $3 $4 $sim > /home/pi/CubeSatSim/sim.cfg
echo
echo "Restarting CubeSatSim with new configuraation file"
echo
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
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 configuraation sim.cfg file updated to: \n"
echo $callsign $2 $3 $4 $5
echo $callsign $2 $3 $4 $5 > /home/pi/CubeSatSim/sim.cfg
fi
if [ "$norestart" = "1" ]; then
echo
else
echo
echo "Restarting CubeSatSim with new configuraation file"
echo
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
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 configuraation sim.cfg file updated to: \n"
echo $1 $resets $3 $4 $5
echo $1 $resets $3 $4 $5 > /home/pi/CubeSatSim/sim.cfg
fi
if [ "$norestart" = "1" ]; then
echo
else
echo
echo "Restarting CubeSatSim with new configuraation file"
echo
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
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 configuraation sim.cfg file updated to: \n"
echo $1 $2 $lat $long $5
echo $1 $2 $lat $long $5 > /home/pi/CubeSatSim/sim.cfg
if [ "$norestart" = "1" ]; then
echo
else
echo
echo "Restarting CubeSatSim with new configuraation file"
echo
sudo systemctl restart cubesatsim
fi
elif [ "$1" = "-S" ]; then
echo
echo "Scan both I2C buses on the Raspberry Pi"
echo
i2cdetect -y 1
i2cdetect -y 3
elif [ "$1" = "-C" ]; then
echo
echo "Clear logs"
echo
sudo systemctl stop cubesatsim
sudo systemctl stop rpitx
sudo journalctl --vacuum-time=1s
sudo systemctl reboot now
echo "rebooting"
elif [ "$1" = "-T" ]; then
echo
echo "Change command state"
echo
echo "Current command state is:"
cat /home/pi/CubeSatSim/command_state.txt
echo
echo "Do you want to set beacon transmit to ON (y/n) "
read reset
echo
if [ "$reset" = "y" ] || [ "$reset" = "yes" ] ; then
echo "True" > /home/pi/CubeSatSim/command_count.txt
echo "Command state set to True to enable beacon"
else
echo "False" > /home/pi/CubeSatSim/command_count.txt
echo "Command state set to False to disable beacon"
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
echo "0" > /home/pi/CubeSatSim/command_count.txt
echo "Commands count reset to 0"
else
echo "Commands count not reset"
fi
fi
# sudo systemctl restart cubesatsim

Powered by TurnKey Linux.