-
Notifications
You must be signed in to change notification settings - Fork 116
Expand file tree
/
Copy pathcommand
More file actions
executable file
·167 lines (102 loc) · 3.13 KB
/
Copy pathcommand
File metadata and controls
executable file
·167 lines (102 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#!/bin/bash
echo -e "\nCommand and Control script for CubeSatSim v2.3\n"
sudo modprobe snd-aloop
sudo modprobe snd-aloop
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
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
/home/pi/CubeSatSim/config -L -1
echo "Starting Direwolf DTMF and APRS Command and Control"
if [ "$debug" = "1" ]; then
echo "debug mode"
direwolf -D3 -r 48000 -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
else
direwolf -D3 -r 48000 -c /home/pi/CubeSatSim/direwolf-cc.conf -t 0l | /home/pi/venv/bin/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 | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py d
# else
# direwolf -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf.conf -t 0l | /home/pi/venv/bin/python3 /home/pi/CubeSatSim/dtmf_aprs_cc.py
# fi
sleep 5
fi
rm out.txt
else
echo "Starting Carrier (squelch) Command and Control"
fi
value=`cat /home/pi/CubeSatSim/.mode`
echo "$value" > /dev/null
set -- $value
MODE=$1
if [ ! "$MODE" = "P" ] && [ ! "$MODE" = "P" ] ; then
if [ "$1" = "d" ]; then
echo "debug mode"
/home/pi/venv/bin/python3 /home/pi/CubeSatSim/squelch_cc.py d
else
/home/pi/venv/bin/python3 /home/pi/CubeSatSim/squelch_cc.py
fi
else
echo "Not running Carrier (squelch) Command and Control since PacSat or PacSat Ground Station mode!"
sleep 60
fi
fi
sudo killall -9 direwolf &>/dev/null
sudo killall -9 rtl_fm &>/dev/null