commit
7c70d34d1d
@ -1,2 +1,9 @@
|
||||
ADEVICE shared_mic hw:CARD=Loopback,DEV=1
|
||||
DTMF
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
FULLDUP OFF
|
||||
TXDELAY 0
|
||||
AGWPORT 8200
|
||||
KISSPORT 8201
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
DWAIT 0
|
||||
SLOTTIME 10
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
TXTAIL 10
|
||||
FULLDUP OFF
|
||||
DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE
|
||||
@ -1 +0,0 @@
|
||||
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=Loopback,DEV=0
|
||||
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=/home/pi/CubeSatSim/groundstation/sdrpp.sh
|
||||
Name=SDRpp
|
||||
Comment=SDRpp
|
||||
Icon=/home/pi/Icons/sdrpp.png
|
||||
Path=/home/pi
|
||||
Terminal=true
|
||||
Categories=HamRadio
|
||||
Keywords=Ham Radio;SDR
|
||||
@ -1,137 +1,57 @@
|
||||
[
|
||||
{
|
||||
"name": "ISS APRS",
|
||||
"frequency": 145825000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "ISS SSTV/Voice",
|
||||
"frequency": 145800000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "ARISS Repeater Downlink",
|
||||
"frequency": 437800000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "AO-27",
|
||||
"frequency": 436795000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "AO-73",
|
||||
"frequency": 145815000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "Fox-1B AO-91",
|
||||
"frequency": 145960000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "Fox-1D AO-92",
|
||||
"frequency": 145880000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "HuskySat-1 HO-107",
|
||||
"frequency": 435800000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "Fox-1E",
|
||||
"frequency": 435750000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "MAX VALIER",
|
||||
"frequency": 145860000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 1",
|
||||
"frequency": 162400000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 2",
|
||||
"frequency": 162425000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 3",
|
||||
"frequency": 162450000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 4",
|
||||
"frequency": 162475000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 5",
|
||||
"frequency": 162500000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 6",
|
||||
"frequency": 162525000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 7",
|
||||
"frequency": 162550000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "CAS-4A",
|
||||
"frequency": 145855000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "CAS-4B",
|
||||
"frequency": 145910000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "XW-2A",
|
||||
"frequency": 145660000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "XW-2B",
|
||||
"frequency": 145725000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "XW-2C",
|
||||
"frequency": 145790000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "XW-2F",
|
||||
"frequency": 145975000,
|
||||
"modulation": "usb"
|
||||
},
|
||||
{
|
||||
"name": "NOAA-19",
|
||||
"frequency": 137100000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA-18",
|
||||
"frequency": 137912500,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA-15",
|
||||
"frequency": 137620000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "CubeSatSim",
|
||||
"frequency": 434900000,
|
||||
"modulation": "packet"
|
||||
}
|
||||
{
|
||||
"name": "NOAA WX Radio 1",
|
||||
"frequency": 162400000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 2",
|
||||
"frequency": 162425000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 3",
|
||||
"frequency": 162450000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 4",
|
||||
"frequency": 162475000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 5",
|
||||
"frequency": 162500000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 6",
|
||||
"frequency": 162525000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "NOAA WX Radio 7",
|
||||
"frequency": 162550000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "CubeSatSim",
|
||||
"frequency": 434900000,
|
||||
"modulation": "packet"
|
||||
},
|
||||
{
|
||||
"name": "ISS SSTV/Voice",
|
||||
"frequency": 145800000,
|
||||
"modulation": "nfm"
|
||||
},
|
||||
{
|
||||
"name": "ISS APRS",
|
||||
"frequency": 145825000,
|
||||
"modulation": "packet"
|
||||
},
|
||||
{
|
||||
"name": "ISS Voice Repeater",
|
||||
"frequency": 437800000,
|
||||
"modulation": "nfm"
|
||||
}
|
||||
]
|
||||
|
||||
@ -1 +1 @@
|
||||
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=b1,DEV=0
|
||||
ADEVICE plughw:CARD=Loopback,DEV=1 default
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
DWAIT 20
|
||||
SLOTTIME 300
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,206 @@
|
||||
#!/bin/bash
|
||||
# script to run FoxTelem
|
||||
|
||||
echo "Script to configure the PacSat Ground Station for FIAB v4"
|
||||
|
||||
echo
|
||||
|
||||
#source /home/pi/venv/bin/activate
|
||||
|
||||
sudo killall -9 java &>/dev/null
|
||||
|
||||
sudo killall -9 zenity &>/dev/null
|
||||
|
||||
sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
#FILE=/home/pi/.pacsatprofile
|
||||
#if [ ! -f "$FILE" ]; then
|
||||
|
||||
# profile=$(zenity --text="Choice:" --list 2>/dev/null --width=410 --height=120 --title="PacSat Ground Station Choice" --column="Choice" --column="Result" "PacSat" "Receive from CubeSatSim PacSatSim" "Configure" "Configure PacSat Ground Station" "Loopback" "Run a Locally Simulated PacSat")
|
||||
# echo $profile
|
||||
|
||||
echo "Here are the PacSat configuration choices:"
|
||||
echo
|
||||
echo " 1. PacSat Ground Station Configuration"
|
||||
echo
|
||||
echo " 2. PacSat Ground Station Simulation Configuration"
|
||||
echo
|
||||
echo " 3. Set Frequencies"
|
||||
echo
|
||||
echo " 4. Reset PacSat Satellite"
|
||||
echo
|
||||
echo "Which do you choose? Enter 1 - 4"
|
||||
echo
|
||||
|
||||
read -r ANS
|
||||
|
||||
if [ -z "$ANS" ]; then
|
||||
|
||||
echo "No choice made. Exiting."
|
||||
|
||||
sleep 3
|
||||
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
if [ "$ANS" = "1" ] || [ "$ANS" = "2" ] ; then
|
||||
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
echo "Here are your PacSat Ground Station Configuration choices:"
|
||||
else
|
||||
echo "Here are your PacSat Ground Station Simulation Configuration choices:"
|
||||
fi
|
||||
echo
|
||||
echo " 1. PacSat Ground Station Callsign"
|
||||
echo
|
||||
echo " 2. Set Remote PacSat Satellite Callsign in Ground Station configuration"
|
||||
echo
|
||||
echo " 3. Reset PacSat Ground Station Configuration"
|
||||
echo
|
||||
|
||||
read -r CH
|
||||
|
||||
|
||||
if [ -z "$CH" ]; then
|
||||
|
||||
echo "No choice made. Exiting."
|
||||
|
||||
sleep 3
|
||||
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
if [ "$CH" = "1" ] ; then
|
||||
|
||||
echo
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
oldcallsign=$(grep -oP '(?<=callsign=).*$' /home/pi/PacSatGround/PacSatGround.properties)
|
||||
else
|
||||
oldcallsign=$(grep -oP '(?<=callsign=).*$' /home/pi/PacSatGroundLoop/PacSatGround.properties)
|
||||
fi
|
||||
echo "Callsign in PacSatGround.properties is "
|
||||
echo $oldcallsign
|
||||
|
||||
echo "Enter new callsign in all capitals: "
|
||||
echo
|
||||
read callsign
|
||||
|
||||
if [ -z $callsign ] ; then
|
||||
|
||||
callsign="$1"
|
||||
echo "Keeping value of" $oldcallsign
|
||||
|
||||
else
|
||||
|
||||
echo "Configured callsign is "
|
||||
echo $callsign
|
||||
|
||||
if [ ! "$callsign" = "$oldcallsign" ] ; then
|
||||
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
sudo sed -i "s/callsign=$oldcallsign/callsign=$callsign/g" /home/pi/PacSatGround/PacSatGround.properties
|
||||
cat /home/pi/PacSatGround/PacSatGround.properties
|
||||
else
|
||||
sudo sed -i "s/callsign=$oldcallsign/callsign=$callsign/g" /home/pi/PacSatGroundLoop/PacSatGround.properties
|
||||
cat /home/pi/PacSatGroundLoop/PacSatGround.properties
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
elif [ "$CH" = "2" ] ; then
|
||||
|
||||
echo "You have chosen to set the remote CubeSatSim PacSat Satellite callsign in ground station configuration"
|
||||
echo
|
||||
|
||||
PROPERTIES=/home/pi/PacSatGround/spacecraft/PacSatSim.properties
|
||||
PROPERTIES_L=/home/pi/PacSatGroundLoop/spacecraft/PacSatSim.properties
|
||||
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
oldcallsign=$(grep -oP '(?<=bbsCallsign=).*(?=-)' $PROPERTIES )
|
||||
else
|
||||
oldcallsign=$(grep -oP '(?<=bbsCallsign=).*(?=-)' $PROPERTIES_L )
|
||||
fi
|
||||
echo "Current value of remote PacSat callsign is"
|
||||
echo $oldcallsign
|
||||
echo
|
||||
|
||||
echo "Enter new callsign in all capitals: "
|
||||
echo
|
||||
read callsign
|
||||
|
||||
if [ -z $callsign ] ; then
|
||||
|
||||
callsign="$1"
|
||||
echo "Keeping value of" $oldcallsign
|
||||
|
||||
else
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
sudo sed -i "s/$oldcallsign/$callsign/g" $PROPERTIES
|
||||
else
|
||||
sudo sed -i "s/$oldcallsign/$callsign/g" $PROPERTIES_L
|
||||
fi
|
||||
echo
|
||||
echo "Changing callsign to "
|
||||
echo $callsign
|
||||
echo
|
||||
echo "You will see the change next time you run the PacSat Ground Station"
|
||||
echo "You can close this window"
|
||||
fi
|
||||
|
||||
elif [ "$CH" = "3" ] ; then
|
||||
|
||||
echo "You have chosen to reset the PacSat Ground Station Configuration"
|
||||
echo
|
||||
# echo "Next time you run the Ground Station you will need to Add the PacSatSim spacecraft"
|
||||
# echo
|
||||
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
sudo rm -r /home/pi/PacSatGround
|
||||
# cd
|
||||
# sudo rm PacSatGround.zip
|
||||
# wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p-s/spacecraft/PacSatGround_0.46o/PacSatGround.zip
|
||||
# unzip PacSatGround.zip -d PacSatGround
|
||||
# sudo rm PacSatGround.zip
|
||||
else
|
||||
sudo rm -r /home/pi/PacSatGroundLoop
|
||||
# cd
|
||||
# sudo rm PacSatGround.zip
|
||||
# wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p-s/spacecraft/PacSatGround_0.46o/PacSatGround.zip
|
||||
# unzip PacSatGround.zip -d PacSatGroundLoop
|
||||
# sudo rm PacSatGround.zip
|
||||
fi
|
||||
echo "You can close this window now"
|
||||
else
|
||||
|
||||
echo "Please choose an option 1-3"
|
||||
echo
|
||||
|
||||
fi
|
||||
|
||||
elif [ "$ANS" = "3" ] ; then
|
||||
|
||||
echo "You have chosen to set the Frequency of the PacSat Ground Station"
|
||||
echo
|
||||
|
||||
/home/pi/CubeSatSim/config -F n
|
||||
|
||||
elif [ "$ANS" = "4" ] ; then
|
||||
|
||||
echo "You have chosen to reset the PacSat Satellite"
|
||||
echo
|
||||
|
||||
/home/pi/CubeSatSim/config -k n
|
||||
|
||||
else
|
||||
|
||||
echo "Please enter only 1 to 4"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# sleep 10
|
||||
|
||||
#$SHELL
|
||||
@ -0,0 +1,85 @@
|
||||
#!/bin/bash
|
||||
# script to run FoxTelem
|
||||
|
||||
echo "Startup script to run the PacSat Ground Station for FIAB v4"
|
||||
|
||||
echo
|
||||
|
||||
# source /home/pi/venv/bin/activate
|
||||
|
||||
sudo killall -9 java &>/dev/null
|
||||
|
||||
sudo killall -9 zenity &>/dev/null
|
||||
|
||||
sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
#FILE=/home/pi/.pacsatprofile
|
||||
#if [ ! -f "$FILE" ]; then
|
||||
|
||||
profile=$(zenity --text="Choose what you want to do:" --list 2>/dev/null --width=410 --height=220 --title="PacSat Ground Station" --column="Choice" --column="Result" "PacSat" "Run PacSat Ground Station" "Configure" "Configure the Pacsat Ground Station" "Simulate" "Run a Locally Simulated PacSat")
|
||||
|
||||
echo $profile
|
||||
|
||||
if [ -z "$profile" ]; then
|
||||
|
||||
echo "No choice made. Exiting."
|
||||
|
||||
sleep 3
|
||||
|
||||
exit
|
||||
|
||||
#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
|
||||
|
||||
fi
|
||||
|
||||
if [ "$ANS" = "1" ] || [ "$profile" = "PacSat" ] ; then
|
||||
|
||||
echo "You have chosen to run the PacSat Ground Station"
|
||||
# echo "p" > /home/pi/.pacsatprofile
|
||||
echo
|
||||
|
||||
/home/pi/CubeSatSim/groundstation/pacsat.sh
|
||||
|
||||
|
||||
elif [ "$ANS" = "2" ] || [ "$profile" = "Configure" ] ; then
|
||||
|
||||
echo "You have chosen to configure the PacSat Ground Station"
|
||||
echo
|
||||
|
||||
/home/pi/CubeSatSim/groundstation/pacsat-config.sh
|
||||
|
||||
elif [ "$ANS" = "3" ] || [ "$profile" = "Simulate" ] ; then
|
||||
|
||||
sudo systemctl stop transmit
|
||||
|
||||
echo "You have chosen the PacSat Ground Station with Local Simulated Satellite"
|
||||
|
||||
sleep 1
|
||||
|
||||
/usr/bin/x-terminal-emulator --geometry=120x40 -e "bash /home/pi/CubeSatSim/pacsatsim.sh l"
|
||||
|
||||
sleep 1
|
||||
|
||||
/home/pi/CubeSatSim/groundstation/pacsat.sh l
|
||||
|
||||
else
|
||||
|
||||
echo "Please enter only 1 or 2 or 3"
|
||||
|
||||
fi
|
||||
|
||||
sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
sleep 10
|
||||
|
||||
#$SHELL
|
||||
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=Pacsat
|
||||
GenericName=Pacsat Loopback
|
||||
Comment=Pacsat
|
||||
Exec=/usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/groundstation/pacsat-run.sh"
|
||||
Icon=/home/pi/Icons/pacsat.png
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Categories=HamRadio;
|
||||
Keywords=APRS;
|
||||
@ -0,0 +1,302 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script to auto decode packets using Direwolf and FM TXC and run Pacsat Ground Station
|
||||
|
||||
sudo pkill -f "/home/pi/CubeSatSim/groundstation/direwolf-pacsat-tmp.conf"
|
||||
|
||||
loopback=0
|
||||
vox=0
|
||||
safe=0
|
||||
card=0
|
||||
pwm=0
|
||||
|
||||
if [ "$1" = "l" ] ; then
|
||||
|
||||
loopback=1
|
||||
|
||||
elif [ "$1" = "v" ] ; then
|
||||
|
||||
vox=1
|
||||
|
||||
elif [ "$1" = "c" ] ; then
|
||||
|
||||
card=1
|
||||
|
||||
else
|
||||
|
||||
pwm=1
|
||||
|
||||
fi
|
||||
|
||||
if [[ $(arecord -l | grep "USB Audio Device") ]] ; then
|
||||
echo "USB Sound Card detected"
|
||||
soundcard=1
|
||||
else
|
||||
echo "No USB Sound Card detected"
|
||||
soundcard=0
|
||||
fi
|
||||
|
||||
gpio -g mode 7 up
|
||||
if [[ $(gpio -g read 7 | grep 0) ]] ; then
|
||||
echo "TXC is present"
|
||||
txc=1
|
||||
else
|
||||
echo "TXC not present"
|
||||
txc=0
|
||||
fi
|
||||
|
||||
timeout 1 rtl_test &> out.txt
|
||||
if [[ $(grep "No supported" out.txt) ]] ; then
|
||||
echo "No RTL-SDR detected"
|
||||
rtl=0
|
||||
else
|
||||
echo "RTL-SDR detected."
|
||||
rtl=1
|
||||
fi
|
||||
|
||||
FILE=/home/pi/CubeSatSim/battery_saver
|
||||
if [ -f "$FILE" ]; then
|
||||
|
||||
safe=1
|
||||
|
||||
fi
|
||||
|
||||
value=`cat /home/pi/CubeSatSim/.mode`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
MODE=$1
|
||||
|
||||
if [ ! "$MODE" = "P" ] && [ ! "$loopback" = "1" ] ; then
|
||||
|
||||
echo
|
||||
echo "Mode is not PacSat Ground Station"
|
||||
echo
|
||||
echo "Would you like to change to PacSat Ground Station mode and reboot? (y/n)?"
|
||||
|
||||
read -r ANS
|
||||
|
||||
if [ "$ANS" = "y" ]; then
|
||||
|
||||
/home/pi/CubeSatSim/config -I
|
||||
exit
|
||||
|
||||
else
|
||||
|
||||
echo
|
||||
echo "You can run the PacSat Ground Station after you change mode and reboot."
|
||||
sleep 10
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
elif [ "$loopback" = "1" ] ; then
|
||||
|
||||
# if [ ! "$MODE" = "p" ] ; then
|
||||
echo
|
||||
echo "Switching to PacSat mode for the Simulated PacSat Satellite"
|
||||
echo
|
||||
/home/pi/CubeSatSim/config -G n
|
||||
# fi
|
||||
|
||||
if [ ! -d "/home/pi/PacSatGroundLoop" ] ; then
|
||||
# if [ ! "$loopback" = "1" ] ; then # don't do this for now.
|
||||
|
||||
cd
|
||||
sudo rm PacSatGroundLoop.zip &>/dev/null
|
||||
wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p/spacecraft/PacSatGround_0.46o/PacSatGroundLoop.zip
|
||||
unzip PacSatGroundLoop.zip -d PacSatGroundLoop
|
||||
sudo rm PacSatGroundLoop.zip
|
||||
|
||||
echo
|
||||
echo "The first time you run the Ground Station, you will need to select Yes to override files, then put in your callsign"
|
||||
sleep 10
|
||||
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
echo
|
||||
echo "Mode is PacSat Ground Station"
|
||||
echo
|
||||
|
||||
if [ ! -d "/home/pi/PacSatGround" ] ; then
|
||||
|
||||
cd
|
||||
sudo rm PacSatGround.zip &>/dev/null
|
||||
wget https://github.com/alanbjohnston/CubeSatSim/raw/refs/heads/master-b-p/spacecraft/PacSatGround_0.46o/PacSatGround.zip
|
||||
unzip PacSatGround.zip -d PacSatGround
|
||||
sudo rm PacSatGround.zip
|
||||
|
||||
echo
|
||||
echo "The first time you run the Ground Station, you will need to select Yes to override files, then put in your callsign"
|
||||
sleep 10
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
callsign="$1"
|
||||
txfrequency="$7e3"
|
||||
rxfrequency="$8e3"
|
||||
|
||||
echo -n "Callsign is "
|
||||
echo $callsign
|
||||
echo -n "Transmit Frequency is "
|
||||
echo $txfrequency
|
||||
echo -n "Receive Frequency is "
|
||||
echo $rxfrequency
|
||||
echo
|
||||
sleep 2
|
||||
|
||||
sudo sed -i "s/TNC_TX_DELAY=.*$/TNC_TX_DELAY=750/g" /home/pi/PacSatGround/PacSatGround.properties
|
||||
sudo sed -i "s/TNC_TX_DELAY=.*$/TNC_TX_DELAY=750/g" /home/pi/PacSatGroundLoop/PacSatGround.properties
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
#sudo systemctl stop cubesatsim >/dev/null 2>&1
|
||||
|
||||
#sudo systemctl stop transmit >/dev/null 2>&1
|
||||
|
||||
sudo systemctl stop command >/dev/null 2>&1
|
||||
|
||||
#/home/pi/CubeSatSim/config -I
|
||||
|
||||
sudo systemctl stop command >/dev/null 2>&1
|
||||
|
||||
sudo systemctl stop openwebrx >/dev/null 2>&1
|
||||
|
||||
sudo systemctl stop rtl_tcp >/dev/null 2>&1
|
||||
|
||||
pkill -o chromium &>/dev/null
|
||||
|
||||
sudo killall -9 rtl_fm &>/dev/null
|
||||
|
||||
#sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
sudo killall -9 sdrpp &>/dev/null
|
||||
|
||||
#sudo killall -9 aplay &>/dev/null
|
||||
|
||||
sudo killall -9 qsstv &>/dev/null
|
||||
|
||||
sudo killall -9 rtl_tcp &>/dev/null
|
||||
|
||||
sudo killall -9 java &>/dev/null
|
||||
|
||||
sudo killall -9 CubicSDR &>/dev/null
|
||||
|
||||
sudo killall -9 zenity &>/dev/null
|
||||
|
||||
#sudo systemctl restart pacsatsim
|
||||
|
||||
#sudo /etc/init.d/alsa-utils stop
|
||||
#sudo /etc/init.d/alsa-utils start
|
||||
|
||||
sudo usermod -a -G gpio pi
|
||||
|
||||
if [ "$loopback" = "1" ] ; then
|
||||
|
||||
echo "Using Audio Loopback"
|
||||
ADEVICE="ADEVICE plughw:CARD=Loopback,DEV=1"
|
||||
PTT="PTT GPIOD gpiochip0 17"
|
||||
|
||||
elif [ "$safe" = "1" ] ; then
|
||||
|
||||
ADEVICE="ADEVICE shared_mic plughw:CARD=Loopback,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 17"
|
||||
|
||||
if [ ! "$txc" = "1" ] ; then
|
||||
echo "Safe mode - battery saver won't work since no TXC present"
|
||||
sleep 5
|
||||
elif [ ! "$soundcard" = "1" ] ; then
|
||||
echo "Safe mode - battery saver won't work since no sound card present"
|
||||
sleep 5
|
||||
else
|
||||
echo "Safe mode - battery saver"
|
||||
fi
|
||||
|
||||
elif [ "$vox" = "1" ] ; then
|
||||
|
||||
ADEVICE="ADEVICE plughw:CARD=Device,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 17"
|
||||
|
||||
if [ "$soundcard" = "1" ] ; then
|
||||
echo "Using Soundcard Audio TX and RX (VOX, no PTT)"
|
||||
else
|
||||
echo "Soundcard Audio TX and RX (VOX, no PTT) will not work since no sound card present"
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
elif [ "$pwm" = "1" ] ; then
|
||||
|
||||
ADEVICE="ADEVICE shared_mic plughw:CARD=Headphones,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 -20"
|
||||
|
||||
if [ ! "$txc" = "1" ] ; then
|
||||
echo "FM TXC using Soundcard input (JP13), PWM output won't work since no TXC present"
|
||||
sleep 5
|
||||
elif [ ! "$soundcard" = "1" ] ; then
|
||||
echo "FM TXC using Soundcard input (JP13), PWM output won't work since no sound card present"
|
||||
sleep 5
|
||||
else
|
||||
echo "FM TXC using Soundcard input (JP13), PWM output"
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
echo "FM TXC using Soundcard input (JP13) and output (JP14)"
|
||||
ADEVICE="ADEVICE shared_mic plughw:CARD=Device,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 -20"
|
||||
|
||||
if [ ! "$txc" = "1" ] ; then
|
||||
echo "FM TXC using Soundcard input (JP13) and output (JP14) won't work since no TXC present"
|
||||
sleep 5
|
||||
elif [ ! "$soundcard" = "1" ] ; then
|
||||
echo "FM TXC using Soundcard input (JP13), output (JP14) won't work since no sound card present"
|
||||
sleep 5
|
||||
else
|
||||
echo "FM TXC using Soundcard input (JP13), output JP14"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
DIREWOLF_CONF="/home/pi/CubeSatSim/groundstation/direwolf-pacsat-tmp.conf"
|
||||
|
||||
echo "$ADEVICE" > $DIREWOLF_CONF
|
||||
echo "MYCALL $callsign-1" >> $DIREWOLF_CONF
|
||||
echo "$PTT" >> $DIREWOLF_CONF
|
||||
cat /home/pi/CubeSatSim/groundstation/direwolf/direwolf-pacsat.conf >> $DIREWOLF_CONF
|
||||
|
||||
echo
|
||||
echo "$DIREWOLF_CONF"
|
||||
echo
|
||||
cat $DIREWOLF_CONF
|
||||
echo
|
||||
|
||||
direwolf -r 48000 -c $DIREWOLF_CONF -t 0 &
|
||||
|
||||
cd /home/pi/Desktop/PacsatGround/
|
||||
|
||||
if [ "$loopback" = "1" ] ; then
|
||||
|
||||
setsid java -Xmx512M -jar PacSatGround.jar "/home/pi/PacSatGroundLoop" # removed &
|
||||
|
||||
else
|
||||
|
||||
setsid java -Xmx512M -jar PacSatGround.jar "/home/pi/PacSatGround" # removed &
|
||||
|
||||
fi
|
||||
|
||||
sleep 10
|
||||
|
||||
#echo "Stopping Pacsatsim"
|
||||
|
||||
#$SHELL
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=RTL TCP Socket
|
||||
PartOf=rtltcp.service
|
||||
|
||||
[Socket]
|
||||
ListenStream=[::]:1234
|
||||
|
||||
[Install]
|
||||
WantedBy=sockets.target
|
||||
@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# script to run sdrpp
|
||||
|
||||
echo "Script to run SDRpp for ARISS Radio Pi"
|
||||
|
||||
echo
|
||||
|
||||
sudo systemctl stop openwebrx
|
||||
|
||||
sudo killall -9 java &>/dev/null
|
||||
|
||||
sudo killall -9 sdrpp &>/dev/null
|
||||
|
||||
sudo systemctl stop rtl_tcp
|
||||
|
||||
pkill -o chromium &>/dev/null
|
||||
|
||||
sudo killall -9 rtl_fm &>/dev/null
|
||||
|
||||
sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
#sudo killall -9 aplay &>/dev/null
|
||||
|
||||
sudo killall -9 qsstv &>/dev/null
|
||||
|
||||
sudo killall -9 rtl_tcp &>/dev/null
|
||||
|
||||
sudo killall -9 CubicSDR &>/dev/null
|
||||
|
||||
#sudo kill `ps -aux | grep cubicsdr-packet | grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
|
||||
|
||||
#sudo kill `ps -aux | grep packet | grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
|
||||
|
||||
#sudo kill `ps -aux | grep sstv_decode_prompt| grep -v grep | awk '{ print $2 }'` &>/dev/null && killall inotifywait &>/dev/null
|
||||
|
||||
sudo killall -9 zenity &>/dev/null
|
||||
|
||||
sudo /etc/init.d/alsa-utils stop
|
||||
sudo /etc/init.d/alsa-utils start
|
||||
|
||||
sleep 5
|
||||
|
||||
setsid sdrpp &
|
||||
|
||||
sleep 10
|
||||
|
||||
#$SHELL
|
||||
@ -0,0 +1,808 @@
|
||||
{
|
||||
"version": 8,
|
||||
"sdrs": {
|
||||
"rtlsdr": {
|
||||
"name": "RTL-SDR",
|
||||
"type": "rtl_sdr",
|
||||
"profiles": {
|
||||
"70cm": {
|
||||
"name": "70cm Ham Band 435 MHz (CubeSatSim)",
|
||||
"center_freq": 435000000,
|
||||
"rf_gain": 10.0,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 434900000,
|
||||
"start_mod": "nfm",
|
||||
"tuning_step": 1000,
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"2m": {
|
||||
"name": "WX Band 161 MHz",
|
||||
"center_freq": 162400000,
|
||||
"rf_gain": 29,
|
||||
"samp_rate": 2048000,
|
||||
"start_freq": 157000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"e59a4765-4139-4ab8-89c5-d8ac3343ba70": {
|
||||
"name": "2m Ham Band 146 MHz (ISS)",
|
||||
"center_freq": 145000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 145000000,
|
||||
"start_mod": "nfm",
|
||||
"rf_gain": 42.0,
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"faf80b0b-1a96-4a9b-96fa-ce40b109c7e0": {
|
||||
"name": "70cm Ham Band 438 MHz (ISS)",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 438000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 437800000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"a4fd4a5d-d2d0-4949-87e2-bda83cd83a37": {
|
||||
"name": "FM Band 95 MHz",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 95000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 94000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"ce2bca29-78cb-45d8-ab46-8dea3135981c": {
|
||||
"name": "10m Ham Band 28 MHz",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 28000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 28000000,
|
||||
"start_mod": "usb",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"d6cdbf2d-74e4-4cac-aaa8-e793103a8e89": {
|
||||
"name": "6m Ham Band 51 MHz",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 51000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 51000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"e2aba387-1d3b-4ca8-b280-e119282b8812": {
|
||||
"name": "90 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 90000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 90000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"f700b99d-3c51-4524-b151-a0809b868ecc": {
|
||||
"name": "92 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 92000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 92000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"dc6af94f-d607-4fee-a522-7f375f66a62c": {
|
||||
"name": "94 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 94000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 94000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"6887e85a-a4dc-4245-810f-99801fc5e824": {
|
||||
"name": "96 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 96000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 96000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"a2182ed6-70a8-4377-b233-ac6f8ccc91d7": {
|
||||
"name": "98 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 96000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 96000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"57e38353-fb86-4935-899b-e365228b8ae5": {
|
||||
"name": "100 MHz FM Band",
|
||||
"center_freq": 100000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 100000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"5e9ec6dd-905d-4781-bd13-9cb702f58e84": {
|
||||
"name": "102 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 102000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 102000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"ef2c703c-2e22-4e87-82b5-581420d704bd": {
|
||||
"name": "104 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 104000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 104000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"34cc3ddf-8018-4288-acb9-29e6940bc37e": {
|
||||
"name": "106 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 106000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 106000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"b4693683-ccf5-474d-a2d9-9a47b0a18ee2": {
|
||||
"name": "108 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 108000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 108000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"34224d77-7b61-467c-b78f-18c7f3af1a0c": {
|
||||
"name": "110 MHz FM Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 110000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 110000000,
|
||||
"start_mod": "wfm"
|
||||
},
|
||||
"8dd82d97-73db-4fa7-ac41-263c3026ea1d": {
|
||||
"name": "112 MHz",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 112000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 112000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"79304b30-f10d-469e-9617-50a19bfdb435": {
|
||||
"name": "114 MHz",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 114000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 114000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"c00bf096-27b8-4262-832c-df1a308d7eb9": {
|
||||
"name": "116 MHz",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 116000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 116000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"669d25a6-6c15-4131-a330-3c33dd2147f0": {
|
||||
"name": "118 Mhz Air Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 118000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 118000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"948248fa-43d9-4e7d-bf86-afaadd391779": {
|
||||
"name": "120 MHz Air Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 120000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 120000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"b634273b-8fc8-4e87-b5c4-e6226d4be0ac": {
|
||||
"name": "122 MHz Air Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 122000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 121000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"c55289a2-8286-4a3d-a505-37ba2867571a": {
|
||||
"name": "124 Mhz Air Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 124000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 124000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"4fe488b7-f369-43ba-bb49-91e1a185be7a": {
|
||||
"name": "126 MHz Air Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 126000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 126000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"e79639a2-1384-4e92-8e46-f6e5670ec9fd": {
|
||||
"name": "128 MHz Air Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 128000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 128000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"319f3fb2-b98a-4620-85a7-a99d5a722bd5": {
|
||||
"name": "130 MHz Air Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 130000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 130000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"63c5c2ce-07de-496c-81f6-b188a7adbf39": {
|
||||
"name": "132 MHz Air Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 132000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 132000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"386bdc7b-eb10-4e05-972a-69d730a23cd8": {
|
||||
"name": "134 MHz Air Band",
|
||||
"rf_gain": 29.0,
|
||||
"center_freq": 134000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 134000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"ae8ea8b1-23de-45ef-b8c4-3b83a188e65d": {
|
||||
"name": "136 MHz Air Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 136000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 136000000,
|
||||
"start_mod": "am"
|
||||
},
|
||||
"c0b1a28c-5e07-400a-a5f3-07c62db27587": {
|
||||
"name": "138 MHz NOAA Weather Satellite Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 138000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 138000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"20f7ce56-fd85-4b3e-8fac-94cbe9ba0e1d": {
|
||||
"name": "140 MHz ",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 140000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 140000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"882079f8-5697-428a-ae9d-bcc091269c7f": {
|
||||
"name": "142 MHz ",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 142000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 142000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"da1b3f12-2eba-40e9-8c62-33493adf74b3": {
|
||||
"name": "144 MHz 2m Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 144000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 144000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"8d9cf1e1-44c5-41c4-bcea-7b1c69446e62": {
|
||||
"name": "146 MHz 2m Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 146000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 146000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"eec8aa0d-3485-43d2-baa4-82f7d9e14df6": {
|
||||
"name": "148 MHz 2m Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 148000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 148000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"bf66a908-1988-4aec-b998-06e2bc7d0a84": {
|
||||
"name": "150 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 150000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 150000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"0389f270-b919-4aae-a313-f73697059f70": {
|
||||
"name": "152 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 152000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 152000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"6ef9d955-76aa-46c0-8463-2c23def5e37b": {
|
||||
"name": "154 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 154000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 154000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"5d0a64c7-3bce-408e-94d9-c8315bef7540": {
|
||||
"name": "156 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 156000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 156000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"5b869cae-ffa7-4554-96af-7acd497bbaf3": {
|
||||
"name": "158 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 158000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 158000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"0de7c5d4-14fc-4655-9a81-2bcebb2f4147": {
|
||||
"name": "160 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 160000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 160000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"8ca54821-8b80-4938-a35c-9fe25e2320d1": {
|
||||
"name": "162 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 162000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 162000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"f74d262d-9e98-4030-86b2-45676121ff1e": {
|
||||
"name": "164 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 164000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 164000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"bfc9c686-6c06-4de2-b1d5-c8f012131042": {
|
||||
"name": "168 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 168000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 167000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"5468e597-d529-42fe-9fcf-0ff4fa9e2d06": {
|
||||
"name": "170 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 170000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 170000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"e124cc6e-7177-4d5f-ae5b-2ec6a6fa2956": {
|
||||
"name": "172 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 172000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 172000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"1ce0f3ed-4763-4f00-916a-4f72d29ba410": {
|
||||
"name": "174 MHz ",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 174000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 174000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"639b1496-a2b9-4a42-ad28-3cda89fbe2fb": {
|
||||
"name": "420 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 420000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 420000000,
|
||||
"start_mod": "nfm"
|
||||
},
|
||||
"bbc9b57e-ea86-43ef-be65-cb2337615ae5": {
|
||||
"name": "422 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 422000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 422000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"3aed286d-7d13-4338-8621-d1c0dfdf3ac6": {
|
||||
"name": "424 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 424000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 424000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"9ae664b4-48f3-410a-8995-edc60127d746": {
|
||||
"name": "426 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 426000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 426000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"24d2467b-6740-42b5-8d3f-8f389fc0860b": {
|
||||
"name": "428 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 428000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 428000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"debbc3ab-081d-41e7-80fe-7d564838154e": {
|
||||
"name": "430 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 430000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 430000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"649233e0-fc85-415d-b88e-94750f49ca4b": {
|
||||
"name": "432 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 432000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 432000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"bed3b482-fd3b-45ee-b924-200aa4223ace": {
|
||||
"name": "434 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 434000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 434000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"58dfac9e-6030-4bb3-ba28-465285baa25e": {
|
||||
"name": "436 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 436000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 436000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"4c293b84-cd43-495f-95a5-1fcabfe4e4c7": {
|
||||
"name": "438 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 438000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 438000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"0e763161-a0e8-411a-abe6-c1af13045f27": {
|
||||
"name": "440 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 440000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 440000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"6dda77d3-e859-41b7-9b0b-22c2dee47472": {
|
||||
"name": "442 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 442000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 442000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"285813ef-aa6d-433f-a316-074f47e02073": {
|
||||
"name": "444 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 444000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 444000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"e0842b63-6857-4554-874b-fad99e4db03a": {
|
||||
"name": "446 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 446000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 446000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"c7b21c80-cfef-42e8-a6fe-c5eea4556c7e": {
|
||||
"name": "448 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 448000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 448000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"d98b4d4a-8247-4a99-9fc7-89780e5e1fef": {
|
||||
"name": "450 MHz 70cm Ham Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 450000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 450000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"a09a546f-c56f-41b5-ae34-c5511afbcef5": {
|
||||
"name": "460 MHz",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 460000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 460000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"232b2ae6-88dd-4e58-b489-37f310e5e204": {
|
||||
"name": "462 MHz FRS/GMRS",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 462000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 462000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"41db9b38-87d7-40a0-9f90-1f0c77c054d9": {
|
||||
"name": "464 MHz FRS/GMRS",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 464000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 464000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"e9bb7781-eb9b-4314-b399-2d96c52716f0": {
|
||||
"name": "466 MHz FRS/GMRS",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 466000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 466000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"5d9e07e8-eb42-4832-82c9-016f05d89027": {
|
||||
"name": "468 MHz FRS/GMRS",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 468000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 468000000,
|
||||
"start_mod": "nfm",
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"20m": {
|
||||
"name": "20m",
|
||||
"center_freq": 14150000,
|
||||
"samp_rate": 384000,
|
||||
"start_freq": 14070000,
|
||||
"start_mod": "usb",
|
||||
"tuning_step": "500",
|
||||
"rf_gain": 42.0,
|
||||
"direct_sampling": 1
|
||||
},
|
||||
"30m": {
|
||||
"name": "30m",
|
||||
"center_freq": 10125000,
|
||||
"samp_rate": 192000,
|
||||
"start_freq": 10142000,
|
||||
"start_mod": "usb",
|
||||
"tuning_step": "500",
|
||||
"rf_gain": 42.0,
|
||||
"direct_sampling": 1
|
||||
},
|
||||
"40m": {
|
||||
"name": "40m",
|
||||
"center_freq": 7100000,
|
||||
"samp_rate": 256000,
|
||||
"start_freq": 7070000,
|
||||
"start_mod": "lsb",
|
||||
"tuning_step": "500",
|
||||
"rf_gain": 42.0,
|
||||
"direct_sampling": 1
|
||||
},
|
||||
"80m": {
|
||||
"name": "80m",
|
||||
"center_freq": 3650000,
|
||||
"samp_rate": 384000,
|
||||
"start_freq": 3570000,
|
||||
"start_mod": "lsb",
|
||||
"tuning_step": "500",
|
||||
"rf_gain": 42.0,
|
||||
"direct_sampling": 1
|
||||
},
|
||||
"49m": {
|
||||
"name": "49m Broadcast",
|
||||
"center_freq": 6050000,
|
||||
"samp_rate": 384000,
|
||||
"start_freq": 6070000,
|
||||
"start_mod": "am",
|
||||
"tuning_step": "1000",
|
||||
"rf_gain": 42.0,
|
||||
"direct_sampling": 1
|
||||
},
|
||||
"c1982ce1-7504-455e-908c-dc097fa031a8": {
|
||||
"name": "1090 MHz ADS-B Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 1090000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 1090000000,
|
||||
"start_mod": "adsb",
|
||||
"tuning_step": 1,
|
||||
"direct_sampling": 0
|
||||
},
|
||||
"cb7f2f8e-e317-4a5e-9504-826dd3781791": {
|
||||
"name": "978 MHz ADS-B Band",
|
||||
"rf_gain": 42.0,
|
||||
"center_freq": 978000000,
|
||||
"samp_rate": 2400000,
|
||||
"start_freq": 978000000,
|
||||
"start_mod": "adsb",
|
||||
"tuning_step": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"airspy": {
|
||||
"name": "Airspy HF+",
|
||||
"type": "airspyhf",
|
||||
"rf_gain": "auto",
|
||||
"profiles": {
|
||||
"20m": {
|
||||
"name": "20m",
|
||||
"center_freq": 14150000,
|
||||
"samp_rate": 384000,
|
||||
"start_freq": 14070000,
|
||||
"start_mod": "usb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"30m": {
|
||||
"name": "30m",
|
||||
"center_freq": 10125000,
|
||||
"samp_rate": 192000,
|
||||
"start_freq": 10142000,
|
||||
"start_mod": "usb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"40m": {
|
||||
"name": "40m",
|
||||
"center_freq": 7100000,
|
||||
"samp_rate": 256000,
|
||||
"start_freq": 7070000,
|
||||
"start_mod": "lsb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"80m": {
|
||||
"name": "80m",
|
||||
"center_freq": 3650000,
|
||||
"samp_rate": 384000,
|
||||
"start_freq": 3570000,
|
||||
"start_mod": "lsb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"49m": {
|
||||
"name": "49m Broadcast",
|
||||
"center_freq": 6050000,
|
||||
"samp_rate": 384000,
|
||||
"start_freq": 6070000,
|
||||
"start_mod": "am",
|
||||
"tuning_step": "1000"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sdrplay": {
|
||||
"name": "SDRPlay device",
|
||||
"type": "sdrplay",
|
||||
"antenna": "Antenna A",
|
||||
"rf_gain": "auto",
|
||||
"profiles": {
|
||||
"20m": {
|
||||
"name": "20m",
|
||||
"center_freq": 14150000,
|
||||
"samp_rate": 500000,
|
||||
"start_freq": 14070000,
|
||||
"start_mod": "usb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"30m": {
|
||||
"name": "30m",
|
||||
"center_freq": 10125000,
|
||||
"samp_rate": 250000,
|
||||
"start_freq": 10142000,
|
||||
"start_mod": "usb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"40m": {
|
||||
"name": "40m",
|
||||
"center_freq": 7100000,
|
||||
"samp_rate": 500000,
|
||||
"start_freq": 7070000,
|
||||
"start_mod": "lsb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"80m": {
|
||||
"name": "80m",
|
||||
"center_freq": 3650000,
|
||||
"samp_rate": 500000,
|
||||
"start_freq": 3570000,
|
||||
"start_mod": "lsb",
|
||||
"tuning_step": "500"
|
||||
},
|
||||
"49m": {
|
||||
"name": "49m Broadcast",
|
||||
"center_freq": 6000000,
|
||||
"samp_rate": 500000,
|
||||
"start_freq": 6070000,
|
||||
"start_mod": "am",
|
||||
"tuning_step": "1000"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"receiver_name": "ARISS Radio Pi",
|
||||
"receiver_location": "Budapest, Hungary",
|
||||
"receiver_asl": 200,
|
||||
"receiver_admin": "example@example.com",
|
||||
"receiver_gps": {
|
||||
"lat": 39.95233,
|
||||
"lon": -75.16379
|
||||
},
|
||||
"photo_title": "Panorama of Budapest from Sch\u00f6nherz Zolt\u00e1n Dormitory",
|
||||
"photo_desc": "",
|
||||
"max_clients": 20,
|
||||
"keep_files": 20,
|
||||
"session_timeout": 0,
|
||||
"usage_policy_url": "policy",
|
||||
"allow_chat": true,
|
||||
"allow_audio_recording": true,
|
||||
"allow_center_freq_changes": false,
|
||||
"magic_key": "memagic",
|
||||
"receiver_keys": [],
|
||||
"waterfall_scheme": "GoogleTurboWaterfall",
|
||||
"fft_fps": 9,
|
||||
"fft_size": 4096,
|
||||
"fft_voverlap_factor": 0.3,
|
||||
"waterfall_levels": {
|
||||
"min": -88.0,
|
||||
"max": -20.0
|
||||
},
|
||||
"waterfall_auto_levels": {
|
||||
"min": 3.0,
|
||||
"max": 10.0
|
||||
},
|
||||
"waterfall_auto_level_default_mode": false,
|
||||
"waterfall_auto_min_range": 50,
|
||||
"audio_compression": "adpcm",
|
||||
"fft_compression": "adpcm",
|
||||
"tuning_precision": 2,
|
||||
"eibi_bookmarks_range": 0,
|
||||
"repeater_range": 0,
|
||||
"map_type": "google",
|
||||
"google_maps_api_key": "",
|
||||
"openweathermap_api_key": "",
|
||||
"map_position_retention_time": 7200,
|
||||
"map_ignore_indirect_reports": false,
|
||||
"map_prefer_recent_reports": true,
|
||||
"callsign_url": "https://www.qrzcq.com/call/{}",
|
||||
"vessel_url": "https://www.vesselfinder.com/vessels/details/{}",
|
||||
"flight_url": "https://flightaware.com/live/flight/{}",
|
||||
"modes_url": "https://flightaware.com/live/modes/{}/redirect"
|
||||
}
|
||||
|
||||
@ -0,0 +1,322 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script to run PacsatSim
|
||||
|
||||
loopback=0
|
||||
vox=0
|
||||
safe=0
|
||||
card=0
|
||||
pwm=0
|
||||
|
||||
if [ "$1" = "l" ] ; then
|
||||
|
||||
loopback=1
|
||||
|
||||
elif [ "$1" = "v" ] ; then
|
||||
|
||||
vox=1
|
||||
|
||||
elif [ "$1" = "c" ] ; then
|
||||
|
||||
card=1
|
||||
|
||||
else
|
||||
|
||||
pwm=1
|
||||
|
||||
fi
|
||||
|
||||
FILE=/home/pi/CubeSatSim/battery_saver
|
||||
if [ -f "$FILE" ]; then
|
||||
|
||||
safe=1
|
||||
|
||||
fi
|
||||
|
||||
if [[ $(arecord -l | grep "USB Audio Device") ]] ; then
|
||||
echo "USB Sound Card detected"
|
||||
soundcard=1
|
||||
else
|
||||
echo "No USB Sound Card detected"
|
||||
soundcard=0
|
||||
fi
|
||||
|
||||
gpio -g mode 7 up
|
||||
if [[ $(gpio -g read 7 | grep 0) ]] ; then
|
||||
echo "TXC is present"
|
||||
txc=1
|
||||
else
|
||||
echo "TXC not present"
|
||||
txc=0
|
||||
fi
|
||||
|
||||
timeout 1 rtl_test &> out.txt
|
||||
if [[ $(grep "No supported" out.txt) ]] ; then
|
||||
echo "No RTL-SDR detected"
|
||||
rtl=0
|
||||
else
|
||||
echo "RTL-SDR detected."
|
||||
rtl=1
|
||||
fi
|
||||
|
||||
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
callsign="$1"
|
||||
txfrequency="$7e3"
|
||||
rxfrequency="$8e3"
|
||||
|
||||
echo -n "PacSat allsign is "
|
||||
echo $callsign
|
||||
echo -n "Transmit Frequency is "
|
||||
echo $txfrequency
|
||||
echo -n "Receive Frequency is "
|
||||
echo $rxfrequency
|
||||
echo
|
||||
|
||||
sleep 2
|
||||
|
||||
if [ ! -d "/home/pi/PacSat" ]; then
|
||||
|
||||
echo "Setting up PacSatSim default configuration"
|
||||
echo
|
||||
|
||||
cd
|
||||
sudo rm pacsat-dir.zip
|
||||
mkdir PacSat
|
||||
mkdir PacSat/pacsat
|
||||
mkdir PacSat/pacsat/dir
|
||||
wget https://github.com/alanbjohnston/pi_pacsat/releases/download/v0.1/pacsat-dir.zip
|
||||
unzip pacsat-dir.zip -d PacSat/pacsat/dir
|
||||
sudo rm pacsat-dir.zip
|
||||
|
||||
cd
|
||||
sudo rm /home/pi/pi_pacsat/Debug/pacsat.config
|
||||
sudo rm /home/pi/pi_pacsat/Debug/pacsat.state
|
||||
sudo rm /home/pi/pi_pacsat/Debug/pacsat_upload_table.dat
|
||||
sudo rm pi_pacsat.zip
|
||||
wget https://github.com/alanbjohnston/pi_pacsat/releases/download/v0.1/pi_pacsat.zip
|
||||
unzip pi_pacsat.zip -d /home/pi/pi_pacsat/Debug
|
||||
sudo rm pi_pacsat.zip
|
||||
|
||||
# mkdir /home/pi/PacSat
|
||||
# mkdir /home/pi/PacSat/pacsat
|
||||
# mkdir /home/pi/PacSat/pacsat/dir
|
||||
|
||||
# cd /home/pi/pi_pacsat/Debug
|
||||
|
||||
# sudo rm pacsat_last_command_time.dat
|
||||
# sudo rm pacsat_upload_table.dat
|
||||
# sudo rm pacsat.state
|
||||
|
||||
# echo "bit_rate=9600" > pacsat.config
|
||||
# echo "bbs_callsign=AMSAT-12" >> pacsat.config
|
||||
# echo "broadcast_callsign=AMSAT-11" >> pacsat.config
|
||||
# echo "digi_callsign=AMSAT-1" >> pacsat.config
|
||||
# echo "max_frames_in_tx_buffer=5" >> pacsat.config
|
||||
|
||||
# echo "pb_open=1" > pacsat.state
|
||||
# echo "uplink_open=1" >> pacsat.state
|
||||
# echo "pb_max_period_for_client_in_seconds=60" >> pacsat.state
|
||||
# echo "uplink_max_period_for_client_in_seconds=60" >> pacsat.state
|
||||
|
||||
# touch /home/pi/pi_pacsat/Debug/pacsat_upload_table.dat
|
||||
|
||||
fi
|
||||
|
||||
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
callsign="$1"
|
||||
frequency="$7e3"
|
||||
|
||||
echo "Configured callsign is "
|
||||
echo $callsign
|
||||
|
||||
oldcallsign=$(grep -oP '(?<=bbs_callsign=).*(?=-)' /home/pi/pi_pacsat/Debug/pacsat.config)
|
||||
|
||||
echo "Callsign in pacsat.config is "
|
||||
echo $oldcallsign
|
||||
|
||||
if [ ! "$callsign" = "$oldcallsign" ] ; then
|
||||
|
||||
sudo sed -i "s/bbs_callsign=$oldcallsign/bbs_callsign=$callsign/g" /home/pi/pi_pacsat/Debug/pacsat.config
|
||||
sudo sed -i "s/broadcast_callsign=$oldcallsign/broadcast_callsign=$callsign/g" /home/pi/pi_pacsat/Debug/pacsat.config
|
||||
sudo sed -i "s/digi_callsign=$oldcallsign/digi_callsign=$callsign/g" /home/pi/pi_pacsat/Debug/pacsat.config
|
||||
|
||||
echo "New pacsat.confg is"
|
||||
echo
|
||||
|
||||
cat /home/pi/pi_pacsat/Debug/pacsat.config
|
||||
|
||||
fi
|
||||
|
||||
sudo /etc/init.d/alsa-utils stop
|
||||
sudo /etc/init.d/alsa-utils start
|
||||
|
||||
# export LD_LIBRARY_PATH=/mnt/usb-disk/ariss/lib:/usr/local/lib/iors_common:$LD_LIBRARY_PATH
|
||||
|
||||
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
|
||||
|
||||
#sudo systemctl stop cubesatsim
|
||||
|
||||
#sudo systemctl stop transmit
|
||||
|
||||
#sudo systemctl stop command &>/dev/null
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
#sudo systemctl stop openwebrx
|
||||
|
||||
#sudo systemctl stop rtl_tcp &>/dev/null
|
||||
|
||||
#pkill -o chromium &>/dev/null
|
||||
|
||||
#sudo killall -9 rtl_fm &>/dev/null
|
||||
|
||||
#sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
#udo killall -9 aplay &>/dev/null
|
||||
|
||||
#sudo killall -9 qsstv &>/dev/null
|
||||
|
||||
#sudo killall -9 rtl_tcp &>/dev/null
|
||||
|
||||
#sudo killall -9 java &>/dev/null
|
||||
|
||||
#sudo killall -9 CubicSDR &>/dev/null
|
||||
|
||||
#sudo killall -9 zenity &>/dev/null
|
||||
|
||||
sudo killall -9 pacsat_telem &>/dev/null
|
||||
|
||||
sudo killall -9 pi_pacsat &>/dev/null
|
||||
|
||||
echo
|
||||
|
||||
|
||||
#choice=2
|
||||
|
||||
#fi
|
||||
|
||||
|
||||
# frequency=434900000
|
||||
echo
|
||||
echo "If your Pacsat Ground Station is transmitting packets, you will see them here"
|
||||
echo
|
||||
|
||||
|
||||
#echo
|
||||
|
||||
#echo "Note that the 'Tuned to' frequency will be different from the chosen frequency due to the way SDRs work."
|
||||
|
||||
|
||||
# echo -e "Auto decoding APRS Pacsat packets on $frequency Hz"
|
||||
|
||||
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-loopback.conf -t 0 &
|
||||
|
||||
# /usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/pacsatsim-df.sh"
|
||||
|
||||
sudo usermod -a -G gpio pi
|
||||
|
||||
if [ "$loopback" = "1" ] ; then
|
||||
|
||||
echo "Using audio loopback"
|
||||
ADEVICE="ADEVICE plughw:CARD=Loopback,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 17"
|
||||
|
||||
value=`cat /home/pi/CubeSatSim/.mode`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
MODE=$1
|
||||
|
||||
if [ ! "$MODE" = "P" ] ; then
|
||||
|
||||
/home/pi/CubeSatSim/config -I n
|
||||
|
||||
fi
|
||||
|
||||
# sudo /home/pi/CubeSatSim/pacsatsim-d.sh &
|
||||
|
||||
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-loopback.conf -t 0 &
|
||||
|
||||
elif [ "$safe" = "1" ] ; then
|
||||
|
||||
echo "Safe mode - battery saver"
|
||||
# sudo /home/pi/CubeSatSim/pacsatsim-d.sh &
|
||||
|
||||
ADEVICE="ADEVICE shared_mic plughw:CARD=Loopback,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 17"
|
||||
|
||||
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-pwm-loopback.conf -t 0 &
|
||||
|
||||
# arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434900 &
|
||||
# arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f $frequency &
|
||||
|
||||
|
||||
elif [ "$vox" = "1" ]; then
|
||||
|
||||
echo "Using Soundcard Audio TX and RX (VOX, no PTT)"
|
||||
ADEVICE="ADEVICE plughw:CARD=Device,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 17"
|
||||
# sudo /home/pi/CubeSatSim/pacsatsim-dj.sh &
|
||||
|
||||
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-jp14-half.conf -t 0 &
|
||||
|
||||
elif [ "$pwm" = "1" ] ; then
|
||||
|
||||
echo "FM TXC using Soundcard input (JP13), PWM output"
|
||||
ADEVICE="ADEVICE shared_mic plughw:CARD=Headphones,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 -20"
|
||||
|
||||
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-pwm.conf -t 0 &
|
||||
|
||||
else
|
||||
|
||||
echo "FM TXC using Soundcard input (JP13) and output (JP14)"
|
||||
ADEVICE="ADEVICE shared_mic plughw:CARD=Device,DEV=0"
|
||||
PTT="PTT GPIOD gpiochip0 -20"
|
||||
# direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-jp14.conf -t 0 &
|
||||
|
||||
fi
|
||||
|
||||
DIREWOLF_CONF="/home/pi/CubeSatSim/direwolf-pacsatsim-tmp.conf"
|
||||
|
||||
echo "$ADEVICE" > $DIREWOLF_CONF
|
||||
echo "MYCALL $callsign-1" >> $DIREWOLF_CONF
|
||||
echo "$PTT" >> $DIREWOLF_CONF
|
||||
cat /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim.conf >> $DIREWOLF_CONF
|
||||
|
||||
echo
|
||||
echo "$DIREWOLF_CONF"
|
||||
echo
|
||||
cat $DIREWOLF_CONF
|
||||
echo
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c $DIREWOLF_CONF -t 0 &
|
||||
|
||||
# arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434900 &
|
||||
## arecord -D plughw:CARD=Loopback,DEV=1 -f S16_LE -r 48000 -c 1 | csdr convert_s16_f | csdr gain_ff 4000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434900 &
|
||||
|
||||
## echo "Don't close the direwolf window or the Pacsatsim will stop running."
|
||||
|
||||
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
|
||||
|
||||
/home/pi/pacsat_telem/Debug/pacsat_telem -v -d /home/pi/PacSat/pacsat &
|
||||
|
||||
sleep 5
|
||||
|
||||
value=`aplay -l | grep "Loopback"`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
#rtl_fm -M fm -f $frequency -s 48k | tee >(aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1) | aplay -D hw:0,0 -r 48000 -t raw -f S16_LE -c 1 &
|
||||
|
||||
cd /home/pi/pi_pacsat/Debug
|
||||
|
||||
./pi_pacsat -c pacsat.config -d /home/pi/PacSat
|
||||
|
||||
sleep 60
|
||||
@ -0,0 +1,15 @@
|
||||
Pacsat Telemetry Decoder Properties
|
||||
#Sat Nov 26 18:12:20 EST 2016
|
||||
numberOfLookupTables=0
|
||||
measurementsFileName=measurements.csv
|
||||
model=1
|
||||
layout0.filename=PACSAT_rttelemetry.csv
|
||||
layout0.name=TLMI_LAYOUT
|
||||
passMeasurementsFileName=passmeasurements.csv
|
||||
name=PacSatSim
|
||||
description=PacSatSim
|
||||
numberOfLayouts=1
|
||||
satId=3
|
||||
catalogNumber=0
|
||||
conversionCoefficients=pacsat-coef.csv
|
||||
layoutsUseBits=True
|
||||
@ -0,0 +1,20 @@
|
||||
#PacSat Ground Station Properties
|
||||
#Sun Feb 17 18:25:06 EST 2019
|
||||
sequence_num=3
|
||||
name=PacSatSim
|
||||
digiCallsign=AMSAT-1
|
||||
description=PacSatSim
|
||||
broadcastCallsign=AMSAT-11
|
||||
DIR_AGE=10
|
||||
bbsCallsign=AMSAT-12
|
||||
telemLayoutFile=PacSatSim.dat
|
||||
telem_server=tlm.amsatfox.org
|
||||
web_site_url=http://CubeSatSim.org
|
||||
show_system_files_on_dir_tab=false
|
||||
show_user_files=true
|
||||
supports_file_upload=true
|
||||
norad_id=30776
|
||||
psf_header_check_sums=false
|
||||
commandsFile=pacsat.commands
|
||||
is_command_station=true
|
||||
secret_key=ScKQLp2ZMvCaCTK5jAmOmKmA0JiSyJ6Y15+Yfg\=\=
|
||||
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,37 @@
|
||||
# This is a list of commands that can be sent to the spacecraft
|
||||
# args are 16 bit except the special code 99099099 which is replaced with the unix time, or when special code MSB32BIT is used to combine two fields
|
||||
LIST, namespaces, None, Operations, Telem, File System
|
||||
LIST, IMAGE FOLDER, sstv_queue 1, sstv_queue 2, sstv_queue 3, sstv_queue 4, sstv_queue 5, sstv_queue 6, sstv_queue 7, sstv_queue 8, sstv_queue 9
|
||||
LIST, FOLDER, bin, lib, config, PACSAT dir, upload queue, wod queue, log queue, text queue, sensor wod queue, data1, data2, data3, data4, data5, data6, data7, data8, data9
|
||||
LIST, ENABLE, false, true
|
||||
LIST, ROLL AT STARTUP, false, true
|
||||
LIST, OVERWRITE, false, true
|
||||
LIST, FSK, false, true
|
||||
LIST, REMOVE ORPHAN FILES, false, true
|
||||
LIST, STATE, stop, start
|
||||
LIST, UPLINK MODE, Off, All stations, Command Stations Only
|
||||
LIST, FILENAME, use id for file name, user file name
|
||||
LIST, SHUTDOWN, reboot, shutdown
|
||||
LIST, RESET, reboot
|
||||
LIST, RATE, 1200, 9600
|
||||
LIST, FEC, Off, On
|
||||
LIST, FULL DUPLEX, false, true
|
||||
LIST, LOG NAME, Log, WOD
|
||||
LIST, LOG LEVEL, None, Error, Warnings, Info
|
||||
# Name, Name space, cmd, arg0, arg1, arg2, arg3, argName0, argName1, argName2, argName3, confirm, use reset/uptime, description
|
||||
#
|
||||
# PACSAT
|
||||
#
|
||||
Pacsat Broadcast,3,1,0,0,0,0,State,Period(sec),Timeout(sec),NONE,false,false,Enable or disable the Pacsat Broadcast module. The directory entries and individual files will be broadcast based on commands from ground stations.
|
||||
File Uploads,3,2,0,0,0,0,Uplink Mode,Period(sec),Timeout(sec),NONE,false,false,Enable or disable File Uploads. Limit file uploads to command stations that authenticate with a secret key.
|
||||
Install File,3,3,0,0,0,0,FileId,MSB32BIT,Folder,NONE,false,false,Copy a file from the PACSAT Directory to a folder and name it with a 4 byte hex name that matches the id or the user filename.
|
||||
Execute File,3,13,0,0,0,0,FileId,MSB32BIT,Arg1,Arg2,true,false,Execute a file on the ARISS-PI. The file must already be installed in the bin folder
|
||||
Delete File,3,4,0,0,0,0,FileId,MSB32BIT,Folder,NONE,true,false,Delete a file on the ARISS-PI. Typically this leaves the original copy in the PACSAT dir. To delete the original copy specify the PACSAT Dir folder
|
||||
Delete Folder Contents,3,5,0,0,0,0,Folder,Remove Orphan Files,NONE,NONE,true,false,Remove all files from the folder. The original files will remain in the PACSAT Directory unless deleted seperately. Orphan files are files in a folder without a corresponding Pacsat Dir file. NB: Deleting the entire Pacsat Dir is a desperate measure perhaps only useful in testing!
|
||||
Default File Expiry Period,3,6,0,0,0,0,Period(days),NONE,NONE,NONE,false,false,Set the default expiry period for files without a specific expiry time. The new value will be applied to all files.
|
||||
File Expiry Period,3,7,0,0,0,0,FileId,MSB32BIT,Date,MSB32BIT,false,false,Set the expiry date for a specific file`.
|
||||
Directory Maintenence Period,3,8,0,0,0,0,Period(s),NONE,NONE,NONE,false,false,Period between checks to each node in the directory for file expiry.
|
||||
Uplink queue maintenance Period,3,9,0,0,0,0,Period(s),NONE,NONE,NONE,false,false,Period to check the entire uplink queue for expired files.
|
||||
Int File Que Check Period,3,10,0,0,0,0,Period(s),NONE,NONE,NONE,false,false,Period to check the ingestion queues for newly generated internal files.
|
||||
Max File Size,3,11,0,0,0,0,Size(kb),NONE,NONE,NONE,false,false,Maximum size for an uploaded file
|
||||
Max Upload File Age,3,12,0,0,0,0,Age(days),NONE,NONE,NONE,false,false,Partially uploaded files not modified for more than this period will be removed from the upload queue.
|
||||
@ -0,0 +1,18 @@
|
||||
#Pacsat Telemetry Decoder Properties
|
||||
#Fri Feb 6 18:12:20 EST 2026
|
||||
numberOfLookupTables=0
|
||||
measurementsFileName=measurements.csv
|
||||
model=1
|
||||
layoutsUseToCallsignAsType=true
|
||||
numberOfLayouts=2
|
||||
layout0.filename=PacSatSim_rttelemetry.csv
|
||||
layout0.name=TLMP1
|
||||
layout1.filename=PacSatSim_rttelemetry.csv
|
||||
layout1.name=WOD
|
||||
passMeasurementsFileName=passmeasurements.csv
|
||||
name=CubeSatSim
|
||||
description=PacSatSim
|
||||
satId=3
|
||||
catalogNumber=0
|
||||
conversionCoefficients=PacSatSim-coef.csv
|
||||
layoutsUseBits=True
|
||||
@ -0,0 +1,21 @@
|
||||
#PacSat Ground Station Properties
|
||||
#Fri Feb 6 18:25:06 EST 2026
|
||||
sequence_num=3
|
||||
name=PacSatSim
|
||||
digiCallsign=AMSAT-1
|
||||
description=PacSatSim
|
||||
broadcastCallsign=AMSAT-11
|
||||
DIR_AGE=10
|
||||
bbsCallsign=AMSAT-12
|
||||
telemLayoutFile=PacSatSim.dat
|
||||
telem_server=tlm.amsatfox.org
|
||||
web_site_url=http://CubeSatSim.org
|
||||
show_system_files_on_dir_tab=false
|
||||
show_user_files=true
|
||||
supports_file_upload=true
|
||||
norad_id=30776
|
||||
psf_header_check_sums=false
|
||||
is_command_station=true
|
||||
secret_key=Not-required
|
||||
commandsFile=PacSatSim.commands
|
||||
echo_to_stdout=true
|
||||
|
|
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=PacsatSim
|
||||
|
||||
[Service]
|
||||
TimeoutStopSec=5
|
||||
ExecStart=/home/pi/CubeSatSim/pacsatsim.sh
|
||||
WorkingDirectory=/home/pi/CubeSatSim
|
||||
StandardOutput=inherit
|
||||
StandardError=inherit
|
||||
Restart=always
|
||||
User=pi
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Loading…
Reference in new issue