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.
143 lines
2.6 KiB
143 lines
2.6 KiB
#!/bin/bash
|
|
|
|
echo -e "\nCommand and Control script for CubeSatSim v2.1\n"
|
|
|
|
sudo modprobe snd-aloop
|
|
|
|
FILE=/home/pi/CubeSatSim/command_control
|
|
if [ -f "$FILE" ]; then
|
|
echo "Radio command and control is ON"
|
|
# echo "Turning Command and control to OFF"
|
|
# sudo rm /home/pi/CubeSatSim/command_control
|
|
# echo "rebooting"
|
|
# sudo systemctl stop rpitx
|
|
# sudo reboot now
|
|
# fi
|
|
|
|
else
|
|
echo "Radio command and control is OFF"
|
|
|
|
while true
|
|
do
|
|
sleep 60
|
|
done
|
|
|
|
# exit 1
|
|
fi
|
|
|
|
if [ "$1" = "d" ]; then
|
|
|
|
echo "debug mode"
|
|
|
|
debug=1
|
|
|
|
else
|
|
|
|
debug=0
|
|
|
|
fi
|
|
|
|
uptime=`cat /proc/uptime | awk '{printf "%0.f", $1}'`
|
|
|
|
echo -n "Uptime since boot is "
|
|
echo $uptime
|
|
|
|
if [[ "$uptime" -lt "60" ]]; then
|
|
|
|
echo "Waiting 20 seconds for USB"
|
|
|
|
sleep 20
|
|
fi
|
|
|
|
FILE=/home/pi/CubeSatSim/command_control_direwolf
|
|
if [[ $(arecord -l | grep "USB Audio Device") ]] && [ -f "$FILE" ]; then
|
|
|
|
echo "Starting Direwolf DTMF and APRS Command and Control"
|
|
|
|
if [ "$debug" = "1" ]; then
|
|
|
|
echo "debug mode"
|
|
|
|
direwolf -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
|
|
|
|
else
|
|
|
|
direwolf -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
|
|
|
|
fi
|
|
else
|
|
|
|
if [ -f "$FILE" ]; then
|
|
|
|
echo "Direwolf mode set but no USB soundcard detected!"
|
|
|
|
# echo "Trying RTL-FM"
|
|
|
|
timeout 1 rtl_test &> out.txt
|
|
if [[ $(grep "No supported" out.txt) ]] ; then
|
|
|
|
echo "No RTL-SDR detected. Command and control is OFF"
|
|
# sleep 60
|
|
exit
|
|
|
|
else
|
|
|
|
echo "RTL-SDR detected."
|
|
echo "Command and control is OFF"
|
|
# sudo modprobe snd-aloop
|
|
|
|
# value=`aplay -l | grep "Loopback"`
|
|
# echo "$value" > /dev/null
|
|
# set -- $value
|
|
|
|
# card=${2:0:1}
|
|
|
|
# value=`cat /home/pi/CubeSatSim/sim.cfg`
|
|
# echo "$value" > /dev/null
|
|
# set -- $value
|
|
|
|
# freq=$8
|
|
|
|
# echo "Current value of rx is"
|
|
# echo $freq
|
|
|
|
# rtl_fm -M fm -f ${freq}M -s 48k | aplay -D plughw:${card},0,0 -r 48000 -t raw -f S16_LE -c 1 &
|
|
|
|
# if [ "$debug" = "1" ]; then
|
|
|
|
# echo "debug mode"
|
|
|
|
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
|
|
|
|
# else
|
|
|
|
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
|
|
|
|
# fi
|
|
|
|
sleep 5
|
|
fi
|
|
rm out.txt
|
|
else
|
|
|
|
echo "Starting Carrier (squelch) Command and Control"
|
|
|
|
fi
|
|
|
|
if [ "$1" = "d" ]; then
|
|
|
|
echo "debug mode"
|
|
|
|
python3 /home/pi/CubeSatSim/squelch_cc.py d
|
|
|
|
else
|
|
|
|
python3 /home/pi/CubeSatSim/squelch_cc.py
|
|
|
|
fi
|
|
fi
|
|
|
|
sudo killall -9 direwolf &>/dev/null
|
|
sudo killall -9 rtl_fm &>/dev/null
|
|
|