From b2bcc53b7b630770abbf379eee736118c3e2c054 Mon Sep 17 00:00:00 2001 From: Alan Johnston Date: Mon, 23 Aug 2021 19:16:07 -0400 Subject: [PATCH] added fox-run.sh and changed fox-start.sh to only run if profile set --- groundstation/fox-run.sh | 116 +++++++++++++++++++++++++++++++++++ groundstation/fox-startup.sh | 3 + 2 files changed, 119 insertions(+) create mode 100755 groundstation/fox-run.sh diff --git a/groundstation/fox-run.sh b/groundstation/fox-run.sh new file mode 100755 index 00000000..8c036958 --- /dev/null +++ b/groundstation/fox-run.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# script to run FoxTelem + +echo "Startup script to run FoxTelem for FIAB v3" + +echo + +sudo killall -9 FoxTelem &>/dev/null + +FILE=/home/pi/FoxTelemetryData/.foxprofile +if [ ! -f "$FILE" ]; then + echo "You need to choose your default FoxTelem profile." + echo + echo "The choices are:" + echo + echo "1. Fox-in-a-Box. Use this profile if you want to receive and decode telemetry from the AMSAT Fox satellites. If you enter a callsign and a grid square, you can upload to the AMSAT telemetry server." + echo + echo "2. CubeSatSim Ground Station. Use this profile if you want to receive and decode telemetry from an AMSAT CubeSatSim or CubeSatSim Lite." + echo + echo "Which profile do you choose? Enter 1 or 2" + + read -r ANS + + if [ "$ANS" = "1" ]; then + + echo "You have chosen the Fox-in-a-Box profile." + echo "b" > /home/pi/FoxTelemetryData/.foxprofile + echo + + FILE=/home/pi/FoxTelemetryData/FoxTelem.properties.0 + if [ ! -f "$FILE" ]; then + cp /home/pi/FoxTelemetryData/FoxTelem.properties /home/pi/FoxTelemetryData/FoxTelem.properties.0 + fi + + python3 /home/pi/CubeSatSim/groundstation/loc-foxtelem.py + + if [ $? -eq 1 ]; then + + echo "Enter your CALLSIGN. If you don't have a callsign, enter a text string that will be displayed on the FoxTelem leader board at https://amsat.org/tlm" + read callsign + + if [ -n "$callsign" ]; then + sudo sed -i "s/callsign=.*/callsign=$callsign/g" /home/pi/FoxTelemetryData/FoxTelem.properties + fi + + echo + + sudo sed -i "s/uploadToServer=false/uploadToServer=true/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + sudo sed -i "s/foxTelemCalcsDoppler=false/foxTelemCalcsDoppler=true/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + sudo sed -i "s/foxTelemCalcsPosition=false/foxTelemCalcsPosition=true/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + sudo sed -i "s/uploadToServer=false/uploadToServer=true/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + sudo sed -i "s/whenAboveHorizon=false/whenAboveHorizon=true/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + sudo sed -i "s/retuneCenterFrequency=false/retuneCenterFrequency=true/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + sudo sed -i "s/stationDetails=.*/stationDetails=FoxInABox/g" /home/pi/FoxTelemetryData/FoxTelem.properties + + # sudo sed -i "s/soundCard=NONE/soundCard=RTL SDR/g" /home/pi/FoxTelemetryData/FoxTelem.properties # change to FunCube + sudo sed -i "s/soundCard=NONE/soundCard=Direct Audio Device\: FUNcube Dongle V2.0, USB Audi/g" /home/pi/FoxTelemetryData/FoxTelem.properties # change to FunCube + + + + # echo "Enter your Maidenhead grid square. It is two letters followed by two numbers followed by two letters with no spaces. If you don't know your gridsquare, you can look it up here https://dxcluster.ha8tks.hu/hamgeocoding/" + # read grid + # sudo sed -i "s/maidenhead=XX00xx/maidenhead=$grid/g" /home/pi/Documents/FITB/FoxTelem.properties + # echo + + fi + + elif [ "$ANS" = "2" ]; then + + echo "You have chosen the CubeSatSim Ground Station profile." + echo "c" > /home/pi/FoxTelemetryData/.foxprofile + + cp /home/pi/FoxTelemetryData-CubeSatSim/FoxTelem.properties /home/pi/FoxTelemetryData-CubeSatSim/FoxTelem.properties.0 + + sudo sed -i "s/useCostas=false/useCostas=true/g" /home/pi/FoxTelemetryData-CubeSatSim/FoxTelem.properties + + sudo sed -i "s/findSignal=false/findSignal=true/g" /home/pi/FoxTelemetryData-CubeSatSim/FoxTelem.properties + + else + + echo "Please enter only 1 or 2" + + fi + +fi + +value=`cat /home/pi/FoxTelemetryData/.foxprofile` +echo "$value" > /dev/null +set -- $value + +sudo killall -9 java &>/dev/null + +if [ "$1" = "c" ]; then + echo "CubeSatSim Ground Station profile is set!" + echo + /home/pi/CubeSatSim/groundstation/fox.sh +else + echo "Fox-in-a-box profile is set!" + echo +# /home/pi/FoxTelem/FoxTelem /home/pi/FoxTelemetryData + SCRIPTPATH=$(dirname "$0") + cd /home/pi/FoxTelem + echo Starting $SCRIPTPATH/current_foxtelem/FoxTelem.jar + setsid java -Xmx512M -jar FoxTelem.jar "/home/pi/FoxTelemetryData" < /dev/null > /dev/null & + +fi + +sleep 10 + +#$SHELL diff --git a/groundstation/fox-startup.sh b/groundstation/fox-startup.sh index 8c036958..84ce74f2 100755 --- a/groundstation/fox-startup.sh +++ b/groundstation/fox-startup.sh @@ -9,6 +9,9 @@ sudo killall -9 FoxTelem &>/dev/null FILE=/home/pi/FoxTelemetryData/.foxprofile if [ ! -f "$FILE" ]; then + + exit + echo "You need to choose your default FoxTelem profile." echo echo "The choices are:"