Merge pull request #420 from alanbjohnston/pacsat-v2.2-tlm4
Pacsat changes merged into Bookworm versionmaster-b-p-s
commit
588c568bfe
@ -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 @@
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Device,DEV=0
|
||||
#PTT GPIO 20
|
||||
MYCALL AMSAT-12
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
#FULLDUP ON
|
||||
FULLDUP OFF
|
||||
TXDELAY 15
|
||||
#FIX_BITS 1 AX25
|
||||
@ -0,0 +1,15 @@
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Loopback,DEV=0
|
||||
#PTT GPIO -20
|
||||
MYCALL AMSAT-12
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
#FULLDUP ON
|
||||
TXDELAY 15
|
||||
#FIX_BITS 1 AX25
|
||||
#
|
||||
DWAIT 0
|
||||
SLOTTIME 10
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
TXTAIL 10
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,19 @@
|
||||
#ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Device,DEV=0
|
||||
ADEVICE shared_mic plughw:CARD=Device,DEV=0
|
||||
PTT GPIO -20
|
||||
MYCALL AMSAT-12
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
##FULLDUP ON
|
||||
##TXDELAY 15
|
||||
#FIX_BITS 1 AX25
|
||||
|
||||
#
|
||||
DWAIT 0
|
||||
SLOTTIME 10
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
#TXDELAY 100
|
||||
TXTAIL 10
|
||||
#TXTAIL 1
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,18 @@
|
||||
ADEVICE plughw:CARD=Loopback,DEV=0 plughw:CARD=Loopback,DEV=0
|
||||
PTT GPIO -20
|
||||
MYCALL AMSAT-12
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
##FULLDUP ON
|
||||
##TXDELAY 15
|
||||
#FIX_BITS 1 AX25
|
||||
|
||||
#
|
||||
DWAIT 0
|
||||
SLOTTIME 10
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
#TXDELAY 100
|
||||
TXTAIL 10
|
||||
#TXTAIL 1
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,19 @@
|
||||
#ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Headphones,DEV=0
|
||||
ADEVICE shared_mic plughw:CARD=Headphones,DEV=0
|
||||
PTT GPIO -20
|
||||
MYCALL AMSAT-12
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
##FULLDUP ON
|
||||
##TXDELAY 15
|
||||
#FIX_BITS 1 AX25
|
||||
|
||||
#
|
||||
DWAIT 0
|
||||
SLOTTIME 10
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
#TXDELAY 100
|
||||
TXTAIL 10
|
||||
#TXTAIL 1
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,6 @@
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Headphones,DEV=0
|
||||
PTT GPIO 20
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
FULLDUP OFF
|
||||
@ -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,10 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Device,DEV=0
|
||||
#PTT GPIO 20
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
FULLDUP OFF
|
||||
TXDELAY 30
|
||||
#FIX_BITS 1 AX25
|
||||
@ -0,0 +1,10 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Loopback,DEV=0
|
||||
#PTT GPIO 20
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
FULLDUP OFF
|
||||
TXDELAY 30
|
||||
#FIX_BITS 1 AX25
|
||||
@ -0,0 +1,10 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Device,DEV=0
|
||||
PTT GPIO 20
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
FULLDUP OFF
|
||||
TXDELAY 30
|
||||
#FIX_BITS 1 AX25
|
||||
@ -0,0 +1,19 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Device,DEV=0
|
||||
#PTT GPIO -20
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
#FULLDUP OFF
|
||||
#TXDELAY 30
|
||||
#FIX_BITS 1 AX25
|
||||
|
||||
#DWAIT 0
|
||||
DWAIT 20
|
||||
SLOTTIME 300
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
#TXDELAY 150
|
||||
#TXTAIL 10
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,19 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Headphones,DEV=0
|
||||
PTT GPIO -20 27 #Transmit LED
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
#FULLDUP OFF
|
||||
#TXDELAY 30
|
||||
#FIX_BITS 1 AX25
|
||||
|
||||
#DWAIT 0
|
||||
DWAIT 20
|
||||
SLOTTIME 300
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
#TXDELAY 150
|
||||
#TXTAIL 10
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,7 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Device,DEV=0 plughw:CARD=Headphones,DEV=0
|
||||
PTT GPIO 20
|
||||
KISSPORT 8100
|
||||
FULLDUP OFF
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
@ -0,0 +1,19 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=Loopback,DEV=1
|
||||
PTT GPIO -20 27 #Transmit LED
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
KISSPORT 8100
|
||||
AGWPORT 8002
|
||||
#FULLDUP OFF
|
||||
#TXDELAY 30
|
||||
#FIX_BITS 1 AX25
|
||||
|
||||
#DWAIT 0
|
||||
DWAIT 20
|
||||
SLOTTIME 300
|
||||
PERSIST 63
|
||||
TXDELAY 1000
|
||||
#TXDELAY 150
|
||||
#TXTAIL 10
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,5 @@
|
||||
MYCALL AMSAT
|
||||
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=Headphones,DEV=0
|
||||
PTT GPIO 20
|
||||
KISSPORT 8100
|
||||
FULLDUP OFF
|
||||
@ -0,0 +1,187 @@
|
||||
#!/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"
|
||||
|
||||
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"
|
||||
|
||||
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: "
|
||||
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
|
||||
|
||||
if [ "$ANS" = "1" ] ; then
|
||||
oldcallsign=$(grep -oP '(?<=bbsCallsign=).*(?=-)' /home/pi/PacSatGround/spacecraft/PacSatSim.properties)
|
||||
else
|
||||
oldcallsign=$(grep -oP '(?<=bbsCallsign=).*(?=-)' /home/pi/PacSatGroundLoop/spacecraft/PacSatSim.properties)
|
||||
fi
|
||||
echo "Current value of remote PacSat callsign is"
|
||||
echo $oldcallsign
|
||||
echo
|
||||
|
||||
echo "Enter new callsign in all capitals: "
|
||||
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" /home/pi/PacSatGround/spacecraft/PacSatSim.properties
|
||||
else
|
||||
sudo sed -i "s/$oldcallsign/$callsign/g" /home/pi/PacSatGroundLoop/spacecraft/PacSatSim.properties
|
||||
fi
|
||||
echo
|
||||
echo "Changing callsign to "
|
||||
echo $callsign
|
||||
echo
|
||||
echo "You will see the change next time you run the PacSat Ground Station"
|
||||
echo
|
||||
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
|
||||
else
|
||||
sudo rm -r /home/pi/PacSatGroundLoop
|
||||
fi
|
||||
else
|
||||
|
||||
echo "Please choose an option 1-3"
|
||||
|
||||
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,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-pacsat-loopback.conf -t 0
|
||||
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
pwm=1
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
#gpio -g mode 20 out
|
||||
|
||||
#gpio -g write 20 1
|
||||
|
||||
#direwolf -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-fm-pacsat-jp14.conf -t 0
|
||||
|
||||
if [ "$pwm" = "1" ] ; then
|
||||
|
||||
direwolf -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-fm-pacsat-pwm.conf -t 0
|
||||
|
||||
else
|
||||
|
||||
direwolf -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-fm-pacsat-jp14.conf -t 0
|
||||
|
||||
fi
|
||||
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
/usr/bin/x-terminal-emulator --geometry=120x40 -e "direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-fm-pacsat-jp14.conf -t 0"
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,83 @@
|
||||
#!/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=170 --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
|
||||
|
||||
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,170 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script to auto decode packet using rtl_fm and Direwolf and run Pacsat Ground Station
|
||||
|
||||
loopback=0
|
||||
vox=0
|
||||
if [ "$1" = "l" ] ; then
|
||||
|
||||
loopback=1
|
||||
echo "PacSat Ground Station with Loopback"
|
||||
|
||||
elif [ "$1" = "v" ] ; then
|
||||
|
||||
vox=1
|
||||
echo "PacSat Ground Station with Soundcard (VOX)"
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/PacSatGround" ] ; then
|
||||
|
||||
mkdir /home/pi/PacSatGround
|
||||
|
||||
echo
|
||||
echo "The first time you run the Ground Station, you will need to install the Pacsatsim spacecraft file and set the Delay to 750ms and Port to 8100 and restart the Pacsat Ground Station"
|
||||
|
||||
sleep 10
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/PacSatGroundLoop" ] ; then
|
||||
|
||||
mkdir /home/pi/PacSatGroundLoop
|
||||
|
||||
echo
|
||||
echo "The first time you run the Ground Station, you will need to install the Pacsatsim spacecraft file and set the Delay to 750ms and Port to 8100 and restart the Pacsat Ground Station"
|
||||
|
||||
sleep 10
|
||||
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
echo
|
||||
|
||||
#sudo systemctl restart pacsatsim
|
||||
|
||||
#sudo /etc/init.d/alsa-utils stop
|
||||
#sudo /etc/init.d/alsa-utils start
|
||||
|
||||
|
||||
#echo "Waiting 10 seconds for Pacsatsim to start"
|
||||
|
||||
#sleep 10
|
||||
|
||||
#value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
#echo "$value" > /dev/null
|
||||
#set -- $value
|
||||
|
||||
#echo "Receive frequency is $8 MHz"
|
||||
#echo "Transmit frequency is $7 MHz"
|
||||
#echo
|
||||
#echo "To change, quit and type CubeSatSim/config -F"
|
||||
#echo
|
||||
|
||||
#frequency="$8e6"
|
||||
|
||||
#echo "Note that the 'Tuned to' frequency will be different from the chosen frequency due to the way SDRs work."
|
||||
|
||||
#echo
|
||||
|
||||
echo
|
||||
echo "The Pacsat Ground Station is running on this Pi using FM receiver or RTL-SDR"
|
||||
echo
|
||||
|
||||
#cd /home/pi/Desktop/PacSatGround_0.46m_linux/
|
||||
|
||||
#setsid java -Xmx512M -jar PacSatGround.jar "/home/pi/PacSatGround" # removed &
|
||||
|
||||
#direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-pacsat-loopback.conf -t 0 # &
|
||||
#/usr/bin/x-terminal-emulator --geometry=120x40 -e "direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-pacsat-loopback.conf -t 0"
|
||||
|
||||
sudo usermod -a -G gpio pi
|
||||
|
||||
if [ "$loopback" = "1" ]; then
|
||||
#/usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/groundstation/pacsat-df.sh"
|
||||
|
||||
echo "Using Audio Loopback"
|
||||
/home/pi/CubeSatSim/groundstation/pacsat-d.sh &
|
||||
|
||||
elif [ "$vox" = "1" ]; then
|
||||
|
||||
echo "Using Soundcard Audio TX RX (VOX)"
|
||||
/home/pi/CubeSatSim/groundstation/pacsat-dj.sh &
|
||||
|
||||
else
|
||||
|
||||
echo "Using TXC FM Transceiver"
|
||||
/home/pi/CubeSatSim/groundstation/pacsat-df.sh &
|
||||
|
||||
fi
|
||||
|
||||
# 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 435045 &
|
||||
##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 435045 &
|
||||
|
||||
# echo "Don't close the direwolf window or the Pacsatsim will stop running."
|
||||
|
||||
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
|
||||
#cd /home/pi/Desktop/PacSatGround_0.46m_linux/
|
||||
|
||||
#sudo setsid java -Xmx512M -jar PacSatGround.jar "/home/pi/PacSatGround"
|
||||
|
||||
cd
|
||||
|
||||
#sudo systemctl stop pacsatsim
|
||||
|
||||
sleep 10
|
||||
|
||||
#echo "Stopping Pacsatsim"
|
||||
|
||||
#$SHELL
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=Pacsat Log
|
||||
GenericName=Pacsat Loopback
|
||||
Comment=Pacsat
|
||||
Exec=/usr/bin/x-terminal-emulator --geometry=120x40 -e "/home/pi/CubeSatSim/log -p"
|
||||
Icon=/home/pi/Icons/pacsat.png
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Categories=HamRadio;
|
||||
Keywords=APRS;
|
||||
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script to clear Pacsat Ground Station and Pacsatsim state
|
||||
|
||||
echo "Clearing all Pacsat Ground Station and Pacsatsim state"
|
||||
|
||||
echo
|
||||
|
||||
sudo systemctl stop pacsatsim
|
||||
|
||||
#sudo killall -9 direwolf &>/dev/null
|
||||
|
||||
sudo killall -9 java &>/dev/null
|
||||
|
||||
cd
|
||||
|
||||
cd pi_pacsat
|
||||
|
||||
cd Debug
|
||||
|
||||
sudo rm -r /home/pi/PacSat
|
||||
|
||||
mkdir /home/pi/PacSat
|
||||
mkdir /home/pi/PacSat/pacsat
|
||||
mkdir /home/pi/PacSat/pacsat/dir
|
||||
|
||||
#value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
#echo "$value" > /dev/null
|
||||
#set -- $value
|
||||
|
||||
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
|
||||
|
||||
sudo rm pacsat_last_command_time.dat
|
||||
sudo rm pacsat_upload_table.dat
|
||||
sudo rm pacsat.state
|
||||
|
||||
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
|
||||
|
||||
sudo rm -r /home/pi/PacSatGround
|
||||
|
||||
mkdir /home/pi/PacSatGround
|
||||
|
||||
echo
|
||||
|
||||
echo "You will need to install the Pacsatsim spacecraft file and set the Delay to 750ms and Port to 8100 and restart the Pacsat Ground Station"
|
||||
|
||||
@ -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,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
/usr/bin/x-terminal-emulator --geometry=120x40 -e "bash /home/pi/CubeSatSim/pacsatsim-d.sh"
|
||||
|
||||
sleep 1
|
||||
|
||||
/usr/bin/x-terminal-emulator --geometry=120x40 -e "bash /home/pi/CubeSatSim/pacsatsim.sh"
|
||||
|
||||
sleep 1
|
||||
|
||||
/usr/bin/x-terminal-emulator --geometry=120x40 -e "direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-fm-pacsat-loopback.conf -t 0"
|
||||
|
||||
sleep 1
|
||||
|
||||
/usr/bin/x-terminal-emulator --geometry=120x40 -e "bash /home/pi/CubeSatSim/groundstation/pacsat.sh"
|
||||
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-loopback.conf -t 0
|
||||
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
pwm=1
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
if [ "$pwm" = "1" ] ; then
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-pwm.conf -t 0
|
||||
|
||||
else
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-jp14.conf -t 0
|
||||
|
||||
fi
|
||||
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/direwolf/direwolf-pacsatsim-jp14-half.conf -t 0
|
||||
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo modprobe snd-aloop
|
||||
|
||||
direwolf -P+ -D1 -qd -dp -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-fm-pacsat-jp14.conf -t 0
|
||||
@ -0,0 +1,211 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script to auto decode packet using rtl_fm and Direwolf and run Pacsat
|
||||
|
||||
export LD_LIBRARY_PATH=/mnt/usb-disk/ariss/lib:/usr/local/lib/iors_common:$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
|
||||
|
||||
echo
|
||||
|
||||
#frequency=$(zenity --list 2>/dev/null --width=410 --height=360 --title="Packet Decoding with Direwolf" --text="Choose the frequency for packet decoding" --column="kHz" --column="Application" 144390 "APRS US 2m" 434900 "CubeSatSim" 144800 "APRS European 2m" 145175 "APRS Australian 2m" Other "Choose another frequency" 145825 "APRS on ISS" 437100 "Serenity CubeSat 4800 bps" Serenity "Test Serenity CubeSat decoding with WAV file" APRS "Test APRS decoding with CubeSatSim WAV file")
|
||||
|
||||
#echo $frequency
|
||||
|
||||
#if [ -z "$frequency" ]; then
|
||||
|
||||
#echo "No choice made. Exiting."
|
||||
|
||||
#sleep 3
|
||||
|
||||
#exit
|
||||
|
||||
#echo "Choose the number for the packet decoding option:"
|
||||
#echo
|
||||
#echo "1. APRS US 2m (144390 kHz)"
|
||||
#echo "2. CubeSatSim (434900 kHz)"
|
||||
#echo "3. APRS European 2m (144800 kHz)"
|
||||
#echo "4. APRS Australian 2m (145175 kHz)"
|
||||
#echo "5. APRS on another frequency"
|
||||
#echo "6. APRS on ISS (145825 kHz)"
|
||||
#echo "7. Serenity CubeSat 4800 bps (437.1 MHz)"
|
||||
#echo "8. Test Serenity CubeSat decoding with WAV file"
|
||||
#echo "9. Test APRS decoding with CubeSatSim WAV file"
|
||||
#echo
|
||||
|
||||
#read -r choice
|
||||
|
||||
choice=2
|
||||
|
||||
#fi
|
||||
|
||||
if [ "$choice" = "1" ] || [ "$frequency" = "144390" ]; then
|
||||
|
||||
frequency=144390000
|
||||
|
||||
elif [ "$choice" = "2" ] || [ "$frequency" = "434900" ] ; then
|
||||
|
||||
frequency=434900000
|
||||
echo
|
||||
echo "If your Pacsat Ground Station is transmitting packets, you will see them here"
|
||||
echo
|
||||
|
||||
elif [ "$choice" = "3" ] || [ "$frequency" = "144800" ]; then
|
||||
|
||||
frequency=144800000
|
||||
|
||||
elif [ "$choice" = "4" ] || [ "$frequency" = "145175" ]; then
|
||||
|
||||
frequency=145175000
|
||||
|
||||
elif [ "$choice" = "5" ] || [ "$frequency" = "Other" ] ; then
|
||||
|
||||
echo
|
||||
|
||||
echo "Enter the frequency in kiloHertz"
|
||||
|
||||
echo
|
||||
|
||||
read -r frequency
|
||||
|
||||
frequency=$frequency"000"
|
||||
|
||||
#echo $frequency
|
||||
|
||||
elif [ "$choice" = "6" ] || [ "$frequency" = "145825" ] ; then
|
||||
|
||||
frequency=145825000
|
||||
echo
|
||||
echo "If the ISS is overhead and in APRS mode (see tracking application such as Gpredict), you will see packets."
|
||||
echo
|
||||
|
||||
elif [ "$choice" = "7" ] || [ "$frequency" = "437100" ] ; then
|
||||
|
||||
frequency=437100000
|
||||
echo
|
||||
echo "If the Serenity CubeSat is overhead and transmitting (see tracking application such as Gpredict), you will see packets."
|
||||
echo
|
||||
|
||||
elif [ "$choice" = "8" ] || [ "$frequency" = "Serenity" ] ; then
|
||||
|
||||
echo "A recorded WAV file will play and you should see some packets decoded"
|
||||
|
||||
echo
|
||||
|
||||
value=`aplay -l | grep "Loopback"`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
# aplay -D hw:0,0 /home/pi/CubeSatSim/groundstation/WAV/SDRSharp_20210830_200034Z_437097377Hz_AF.wav &
|
||||
# aplay -D hw:${2:0:1},0,0 /home/pi/CubeSatSim/groundstation/WAV/SDRSharp_20210830_200034Z_437097377Hz_AF.wav &
|
||||
aplay -D hw:0,0 /home/pi/CubeSatSim/groundstation/WAV/beacon_test_2.wav &
|
||||
aplay -D hw:${2:0:1},0,0 /home/pi/CubeSatSim/groundstation/WAV/beacon_test_2.wav &
|
||||
|
||||
timeout 30 direwolf -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-4800.conf -r 48000 -t 0
|
||||
|
||||
echo
|
||||
|
||||
echo "Test complete. This window will close in 10 seconds."
|
||||
|
||||
sleep 5
|
||||
|
||||
exit
|
||||
|
||||
elif [ "$choice" = "8" ] || [ "$frequency" = "APRS" ] ; then
|
||||
|
||||
echo "A recorded APRS WAV file from the CubeSatSim will play and you should see a packet decoded."
|
||||
|
||||
echo
|
||||
|
||||
value=`aplay -l | grep "Loopback"`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
#aplay -D hw:0,0 /home/pi/CubeSatSim/telem.wav &
|
||||
(while true; do (sleep 2 && aplay -D hw:0,0 /home/pi/CubeSatSim/telem.wav &>/dev/null); done) &
|
||||
|
||||
#aplay -D hw:${2:0:1},0,0 /home/pi/CubeSatSim/telem.wav &
|
||||
(while true; do (sleep 2 && aplay -D hw:${2:0:1},0,0 /home/pi/CubeSatSim/telem.wav &>/dev/null); done) &
|
||||
|
||||
timeout 30 direwolf -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf.conf -r 48000 -t 0
|
||||
|
||||
echo
|
||||
|
||||
echo "Test complete. This window will close in 10 seconds."
|
||||
|
||||
sleep 5
|
||||
|
||||
exit
|
||||
|
||||
#fi
|
||||
|
||||
fi
|
||||
|
||||
#echo
|
||||
|
||||
#echo "Note that the 'Tuned to' frequency will be different from the chosen frequency due to the way SDRs work."
|
||||
|
||||
echo
|
||||
|
||||
if [ "$choice" = "7" ] || [ "$choice" = "8" ] || [ "$frequency" = "Serenity" ] || [ "$frequency" = "437100000" ] ; then
|
||||
|
||||
echo -e "Auto decoding 4800 bps AX.25 packets on $frequency Hz"
|
||||
|
||||
direwolf -r 48000 -c /home/pi/CubeSatSim/groundstation/direwolf/direwolf-4800.conf -t 0 &
|
||||
|
||||
else
|
||||
|
||||
# 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"
|
||||
|
||||
### 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 &
|
||||
|
||||
echo "Don't close the direwolf window or the Pacsatsim will stop running."
|
||||
|
||||
echo
|
||||
fi
|
||||
|
||||
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 5
|
||||
@ -0,0 +1,181 @@
|
||||
#!/bin/bash
|
||||
|
||||
# script to run PacsatSim
|
||||
|
||||
loopback=0
|
||||
vox=0
|
||||
if [ "$1" = "l" ] ; then
|
||||
|
||||
loopback=1
|
||||
|
||||
elif [ "$1" = "v" ] ; then
|
||||
|
||||
vox=1
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/PacSat" ]; then
|
||||
|
||||
echo "Setting up PacSatSim default configuration"
|
||||
echo
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
|
||||
|
||||
if [ "$loopback" = "1" ]; then
|
||||
|
||||
echo "Using audio loopback"
|
||||
sudo /home/pi/CubeSatSim/pacsatsim-d.sh &
|
||||
|
||||
elif [ "$vox" = "1" ]; then
|
||||
|
||||
echo "Using Soundcard Audio TX and RX (VOX)"
|
||||
sudo /home/pi/CubeSatSim/pacsatsim-dj.sh &
|
||||
|
||||
else
|
||||
|
||||
echo "Using TXC FM transceiver"
|
||||
sudo /home/pi/CubeSatSim/pacsatsim-df.sh &
|
||||
|
||||
fi
|
||||
|
||||
# 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."
|
||||
|
||||
|
||||
sudo /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 5
|
||||
@ -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\=\=
|
||||
|
@ -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=ISS
|
||||
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,13 @@
|
||||
number_of_payloads=6
|
||||
payload0.name=rttelemetry
|
||||
payload0.length=78
|
||||
payload1.name=rttelemetry
|
||||
payload1.length=78
|
||||
payload2.name=rttelemetry
|
||||
payload2.length=78
|
||||
payload3.name=rttelemetry
|
||||
payload3.length=78
|
||||
payload4.name=rttelemetry
|
||||
payload4.length=78
|
||||
payload5.name=wodtelemetry
|
||||
payload5.length=78
|
||||
@ -0,0 +1,13 @@
|
||||
number_of_payloads=6
|
||||
payload0.name=rttelemetry
|
||||
payload0.length=78
|
||||
payload1.name=rttelemetry
|
||||
payload1.length=78
|
||||
payload2.name=rttelemetry
|
||||
payload2.length=78
|
||||
payload3.name=maxtelemetry
|
||||
payload3.length=78
|
||||
payload4.name=mintelemetry
|
||||
payload4.length=78
|
||||
payload5.name=wodtelemetry
|
||||
payload5.length=78
|
||||
|
|
|
|
|
@ -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
|
||||
@ -0,0 +1,25 @@
|
||||
import RPi.GPIO as GPIO
|
||||
import subprocess
|
||||
import time
|
||||
import os
|
||||
from time import sleep
|
||||
|
||||
txPin = 27
|
||||
pttPin = 20
|
||||
|
||||
GPIO.setmode(GPIO.BCM)
|
||||
GPIO.setwarnings(False)
|
||||
GPIO.setup(txPin, GPIO.OUT)
|
||||
GPIO.output(txPin, 0)
|
||||
print("0")
|
||||
GPIO.setup(pttPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
|
||||
|
||||
while (True):
|
||||
sleep(0.1)
|
||||
GPIO.wait_for_edge(pttPin, GPIO.FALLING)
|
||||
GPIO.output(txPin, 1)
|
||||
sleep(0.1)
|
||||
print("1")
|
||||
GPIO.wait_for_edge(pttPin, GPIO.RISING)
|
||||
GPIO.output(txPin, 0)
|
||||
print("0")
|
||||
@ -0,0 +1,479 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo -e "\nupdate script for CubeSatSim v2.2\n"
|
||||
|
||||
if [ "$1" = "n" ] ; then
|
||||
# if [ -z "$2" ] ; then
|
||||
noreboot=1
|
||||
else
|
||||
noreboot=0
|
||||
fi
|
||||
|
||||
# echo "No reboot"
|
||||
# echo $noreboot
|
||||
|
||||
sudo rm /home/pi/CubeSatSim/morse.wav /home/pi/CubeSatSim/id.txt /home/pi/CubeSatSim/cw.txt > /dev/null 2>&1
|
||||
|
||||
if [ "$1" = "u" ]; then
|
||||
|
||||
# sudo apt-get update && sudo apt-get dist-upgrade -y
|
||||
sudo apt-get update -y
|
||||
|
||||
sudo apt-get install -y git libasound2-dev i2c-tools build-essential libgd-dev libmagic-dev python3-pip minicom
|
||||
|
||||
fi
|
||||
|
||||
sudo apt-get install -y python3-smbus cmake
|
||||
|
||||
sudo sed -i 's/update.sh/update /g' /etc/motd
|
||||
|
||||
sudo sed -i 's/installed and/installed\nand/g' /etc/motd
|
||||
|
||||
sudo sed -i 's/more information/more\ninformation/g' /etc/motd
|
||||
|
||||
sudo sed -i 's/update to/update\nto/g' /etc/motd
|
||||
|
||||
#sudo sed -i 's/console=tty1 r/console=tty1 maxcpus=1 r/g' /boot/cmdline.txt # single core if Pi Zero 2
|
||||
sudo sed -i 's/console=tty1 maxcpus=1 r/console=tty1 r/g' /boot/cmdline.txt # remove single core
|
||||
|
||||
cd /home/pi/CubeSatSim
|
||||
|
||||
git pull --no-rebase > .updated
|
||||
|
||||
make debug
|
||||
|
||||
FILE=/home/pi/CubeSatSim/command_tx
|
||||
if [ -f "$FILE" ]; then
|
||||
echo "$FILE exists."
|
||||
else
|
||||
echo "creating $FILE"
|
||||
echo "True\n" > /home/pi/CubeSatSim/command_tx
|
||||
fi
|
||||
|
||||
FILE=/home/pi/CubeSatSim/command_count.txt
|
||||
if [ -f "$FILE" ]; then
|
||||
echo "$FILE exists."
|
||||
else
|
||||
echo "creating $FILE"
|
||||
echo "0\n" > /home/pi/CubeSatSim/command_count.txt
|
||||
fi
|
||||
|
||||
FLAG=0
|
||||
|
||||
if [[ $(diff systemd/cubesatsim.service /etc/systemd/system/cubesatsim.service) ]]; then
|
||||
echo "changed cubesatsim.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/cubesatsim.service /etc/systemd/system/cubesatsim.service
|
||||
FLAG=1
|
||||
else
|
||||
echo "no changes to cubesatsim.service."
|
||||
fi
|
||||
|
||||
FILE=/etc/systemd/system/rpitx.service
|
||||
if [ -f "$FILE" ]; then
|
||||
sudo systemctl disable rpitx
|
||||
sudo rm /etc/systemd/system/rpitx.service
|
||||
fi
|
||||
|
||||
FILE=/etc/systemd/system/transmit.service
|
||||
if [ -f "$FILE" ]; then
|
||||
if [[ $(diff systemd/transmit.service /etc/systemd/system/transmit.service) ]]; then
|
||||
echo "changed transmit.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/transmit.service /etc/systemd/system/transmit.service
|
||||
FLAG=1
|
||||
else
|
||||
echo "no change to transmit.service."
|
||||
fi
|
||||
else
|
||||
echo "creating transmit.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/transmit.service /etc/systemd/system/transmit.service
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
FILE=/etc/systemd/system/command.service
|
||||
if [ -f "$FILE" ]; then
|
||||
if [[ $(diff systemd/command.service /etc/systemd/system/command.service) ]]; then
|
||||
echo "changed command.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/command.service /etc/systemd/system/command.service
|
||||
FLAG=1
|
||||
else
|
||||
echo "no change to command.service."
|
||||
fi
|
||||
else
|
||||
echo "creating command.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/command.service /etc/systemd/system/command.service
|
||||
sudo systemctl enable command
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
FILE=/etc/systemd/system/pacsatsim.service
|
||||
if [ -f "$FILE" ]; then
|
||||
if [[ $(diff systemd/pacsatsim.service /etc/systemd/system/pacsatsim.service) ]]; then
|
||||
echo "changed command.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/pacsatsim.service /etc/systemd/system/pacsatsim.service
|
||||
FLAG=1
|
||||
else
|
||||
echo "no change to pacsatsim.service."
|
||||
fi
|
||||
else
|
||||
echo "creating pacsatsim.service."
|
||||
sudo cp /home/pi/CubeSatSim/systemd/pacsatsim.service /etc/systemd/system/pacsatsim.service
|
||||
sudo systemctl enable pacsatsim
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
FILE=/home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
||||
if [ ! -f "$FILE" ]; then
|
||||
echo "Copying SSTV image 1."
|
||||
cp /home/pi/CubeSatSim/sstv/sstv_image_1_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
||||
fi
|
||||
|
||||
FILE=/home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
||||
if [ ! -f "$FILE" ]; then
|
||||
echo "Copying SSTV image 2."
|
||||
cp /home/pi/CubeSatSim/sstv/sstv_image_2_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
||||
fi
|
||||
|
||||
grep 'update' /home/pi/CubeSatSim/.updated
|
||||
if [[ $(grep 'update' /home/pi/CubeSatSim/.updated) ]]; then
|
||||
echo "update script updated, running again"
|
||||
/home/pi/CubeSatSim/update
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/PiSSTVpp" ]; then
|
||||
|
||||
# sudo apt-get update && sudo apt-get dist-upgrade -y
|
||||
sudo apt-get update -y
|
||||
|
||||
sudo apt-get install -y python-picamera python3-picamera build-essential libgd-dev libmagic-dev
|
||||
|
||||
|
||||
cd
|
||||
|
||||
git clone https://github.com/alanbjohnston/PiSSTVpp.git
|
||||
|
||||
cd PiSSTVpp
|
||||
|
||||
make pisstvpp
|
||||
|
||||
cd
|
||||
|
||||
|
||||
sudo raspi-config nonint do_camera 0
|
||||
|
||||
|
||||
FILE=/home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
||||
if [ ! -f "$FILE" ]; then
|
||||
echo "Copying SSTV image 1."
|
||||
cp /home/pi/CubeSatSim/sstv/sstv_image_1_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
||||
fi
|
||||
|
||||
FILE=/home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
||||
if [ ! -f "$FILE" ]; then
|
||||
echo "Copying SSTV image 2."
|
||||
cp /home/pi/CubeSatSim/sstv/sstv_image_2_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
||||
fi
|
||||
|
||||
# echo "You need to reboot to complete this update. Reboot now (y/n)?"
|
||||
|
||||
# read -r ANS
|
||||
|
||||
# if [ "$ANS" = "y" ]; then
|
||||
|
||||
# sudo reboot now
|
||||
|
||||
# else
|
||||
|
||||
# echo "The CubeSatSim software may not work correctly until you reboot."
|
||||
|
||||
# fi
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/rpitx" ]; then
|
||||
|
||||
cd
|
||||
git clone https://github.com/alanbjohnston/rpitx.git
|
||||
cd rpitx
|
||||
./install.sh
|
||||
cd
|
||||
else
|
||||
|
||||
if [[ $(grep 'SYNCWITHPWM' /home/pi/rpitx/src/librpitx/src/fskburst.h) ]]; then
|
||||
echo "rpitx library already updated"
|
||||
else
|
||||
echo "updating rpitx"
|
||||
cd /home/pi/rpitx
|
||||
git pull
|
||||
./update.sh
|
||||
cd
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/WiringPi" ]; then
|
||||
|
||||
cd
|
||||
|
||||
git clone https://github.com/PinkFreud/WiringPi
|
||||
cd WiringPi
|
||||
./build debian
|
||||
|
||||
sudo dpkg -i debian-template/wiringpi-2.61-1.deb
|
||||
|
||||
cd
|
||||
|
||||
cd CubeSatSim
|
||||
make debug
|
||||
|
||||
FLAG=1
|
||||
|
||||
cd
|
||||
|
||||
fi
|
||||
|
||||
cd /home/pi/pi-power-button
|
||||
|
||||
git checkout master
|
||||
|
||||
|
||||
git pull --no-rebase > .updated_p
|
||||
|
||||
grep 'changed' /home/pi/pi-power-button/.updated_p
|
||||
if [[ $(grep 'changed' /home/pi/pi-power-button/.updated_p) ]]; then
|
||||
|
||||
echo "updating pi-power-button."
|
||||
|
||||
script/install
|
||||
|
||||
FLAG=1
|
||||
|
||||
|
||||
else
|
||||
echo "nothing to do for pi-power-button."
|
||||
fi
|
||||
|
||||
if [[ $(grep 'dtparam=audio=on' /boot/config.txt) ]]; then
|
||||
echo "dtparam=audio=on already in /boot/config.txt"
|
||||
else
|
||||
echo "adding dtparam=audio=on to /boot/config.txt"
|
||||
sudo sh -c 'echo "\ndtparam=audio=on" >> /boot/config.txt'
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
if [[ $(grep 'dtoverlay=audremap,enable_jack=on' /boot/config.txt) ]]; then
|
||||
echo "dtoverlay=audremap,enable_jack=on already in /boot/config.txt"
|
||||
else
|
||||
echo "adding dtoverlay=audremap,enable_jack=on to /boot/config.txt"
|
||||
sudo sh -c 'echo "\ndtoverlay=audremap,enable_jack=on" >> /boot/config.txt'
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
if [[ $(grep 'dtoverlay=pwm,pin=18,func=2' /boot/config.txt) ]]; then
|
||||
echo "dtoverlay=pwm,pin=18,func=2 already in /boot/config.txt"
|
||||
else
|
||||
echo "adding dtoverlay=pwm,pin=18,func=2 to /boot/config.txt"
|
||||
sudo sh -c 'echo "\ndtoverlay=pwm,pin=18,func=2" >> /boot/config.txt'
|
||||
FLAG=1
|
||||
|
||||
cd /home/pi/pi-power-button
|
||||
git pull --no-rebase
|
||||
git checkout reboot-mode-change
|
||||
script/install
|
||||
|
||||
# sudo apt-get update && sudo apt-get dist-upgrade -y
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libjpeg-dev zlib1g-dev libfreetype6-dev liblcms1-dev libopenjp2-7 libtiff5 python3-pil
|
||||
sudo pip3 install adafruit-blinka RPI.GPIO adafruit-extended-bus adafruit-circuitpython-ina219 pillow
|
||||
|
||||
fi
|
||||
|
||||
if [[ $(grep 'disable_splash=1' /boot/config.txt) ]]; then
|
||||
echo "disable_splash=1 already in /boot/config.txt"
|
||||
else
|
||||
echo "adding to /boot/config.txt"
|
||||
sudo sh -c 'echo "\ndisable_splash=1" >> /boot/config.txt'
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
if [[ $(grep 'boot_delay=0' /boot/config.txt) ]]; then
|
||||
echo "boot_delay=0 already in /boot/config.txt"
|
||||
else
|
||||
echo "adding to /boot/config.txt"
|
||||
sudo sh -c 'echo "\nboot_delay=0" >> /boot/config.txt'
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
if ! grep -q force_turbo=1 /boot/config.txt ; then
|
||||
sudo sh -c 'echo "force_turbo=1" >> /boot/config.txt'
|
||||
FLAG=1
|
||||
fi
|
||||
|
||||
#if [ ! -f "/home/pi/CubeSatSim/telem_string.txt" ]; then
|
||||
|
||||
# sudo apt-get update && sudo apt-get dist-upgrade -y
|
||||
|
||||
# sudo apt-get install -y libjpeg-dev zlib1g-dev libfreetype6-dev liblcms1-dev libopenjp2-7 libtiff5 -y
|
||||
|
||||
# sudo pip3 install pillow
|
||||
|
||||
#fi
|
||||
|
||||
if [ ! -d "/home/pi/pi_pacsat" ]; then
|
||||
|
||||
FLAG=1
|
||||
|
||||
cd
|
||||
|
||||
git clone https://github.com/alanbjohnston/g0kla_common.git
|
||||
|
||||
cd g0kla_common/Debug/
|
||||
|
||||
make all
|
||||
|
||||
sudo ./install.sh
|
||||
|
||||
cd
|
||||
|
||||
git clone https://github.com/ac2cz/pi_pacsat.git
|
||||
|
||||
cd pi_pacsat/Debug
|
||||
|
||||
make all
|
||||
|
||||
mkdir /home/pi/PacSat
|
||||
mkdir /home/pi/PacSat/pacsat
|
||||
mkdir /home/pi/PacSat/pacsat/dir
|
||||
|
||||
# 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
|
||||
|
||||
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
echo "bit_rate=9600" > pacsat.config
|
||||
echo "bbs_callsign=$1-12" >> pacsat.config
|
||||
echo "broadcast_callsign=$1-11" >> pacsat.config
|
||||
echo "digi_callsign=$1-1" >> pacsat.config
|
||||
echo "max_frames_in_tx_buffer=5" >> pacsat.config
|
||||
|
||||
echo "pb_open=1" > pacsat.state
|
||||
echo "uplink_open=1" >> pacsat.state
|
||||
|
||||
sudo sed -i 's/#hdmi_group=1/hdmi_group=2/g' /boot/config.txt
|
||||
sudo sed -i 's/#hdmi_mode=1/hdmi_mode=16/g' /boot/config.txt
|
||||
sudo sed -i 's/#hdmi_force_hotplug=1/hdmi_force_hotplug=1/g' /boot/config.txt
|
||||
|
||||
sudo raspi-config nonint do_vnc 0
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/pi/Desktop/PacsatGround" ]; then
|
||||
|
||||
echo "Installing PacSat Ground Station!"
|
||||
|
||||
if [ ! -d "/home/pi/Desktop" ]; then
|
||||
|
||||
echo
|
||||
echo "You won't be able to run the PacSat Ground Station as this Pi OS does not seem to have the Desktop GUI installed."
|
||||
echo
|
||||
|
||||
else
|
||||
|
||||
cd /tmp
|
||||
|
||||
wget https://www.g0kla.com/pacsat/downloads/test/PacsatGround_unix_0_46o.tar.gz
|
||||
|
||||
tar -xzf PacsatGround_unix_0_46o.tar.gz -C /home/pi/Desktop
|
||||
|
||||
rm PacsatGround_unix_0_46o.tar.gz
|
||||
|
||||
cp /home/pi/CubeSatSim/spacecraft/PacSatGround_0.46m/* /home/pi/Desktop/PacsatGround/spacecraft/
|
||||
|
||||
mkdir /home/pi/PacSatGround
|
||||
|
||||
sudo usermod -a -G gpio pi
|
||||
|
||||
sudo apt-get install default-jdk -y
|
||||
|
||||
fi
|
||||
|
||||
cd
|
||||
|
||||
fi
|
||||
|
||||
cd /home/pi/direwolf
|
||||
|
||||
#git status
|
||||
|
||||
#git status | grep 'invert'
|
||||
|
||||
if [[ ! $(git status | grep 'master-sync-invert') ]]; then
|
||||
|
||||
echo "updating direwolf to master-sync-invert version"
|
||||
|
||||
git pull --no-rebase
|
||||
git checkout master-sync-invert
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make -j4
|
||||
sudo make install
|
||||
make install-conf
|
||||
cd
|
||||
|
||||
fi
|
||||
|
||||
changed=0
|
||||
value=`cat /home/pi/CubeSatSim/sim.cfg`
|
||||
# echo "$value"
|
||||
echo "$value" > /dev/null
|
||||
set -- $value
|
||||
|
||||
if [ -z "$1" ] ; then n1="AMSAT" ; changed=1 ; else n1=$1 ; fi # callsign
|
||||
if [ -z "$2" ] ; then n2="0" ; changed=1 ; else n2=$2 ; fi # reset count
|
||||
if [ -z "$3" ] ; then n3="0" ; changed=1 ; else n3=$3 ; fi # lat
|
||||
if [ -z "$4" ] ; then n4="0" ; changed=1 ; else n4=$4 ; fi # lon
|
||||
if [ -z "$5" ] ; then n5="no" ; changed=1 ; else n5=$5 ; fi # sim mode
|
||||
if [ -z "$6" ] ; then n6="3" ; changed=1 ; else n6=$6 ; fi # squelch
|
||||
if [ -z "$7" ] ; then n7="434.9000" ; changed=1 ; else n7=$7 ; fi # transmit frequency
|
||||
if [ -z "$8" ] ; then n8="435.0000" ; changed=1 ; else n8=$8 ; fi # receive frequency
|
||||
if [ -z "$9" ] ; then n9="no" ; changed=1 ; else n9=$9 ; fi # hab mode
|
||||
if [ -z "${10}" ] ; then m1="0" ; changed=1 ; else m1=${10} ; fi # rx pl code
|
||||
if [ -z "${11}" ] ; then m2="0" ; changed=1 ; else m2=${11} ; fi # tx pl code
|
||||
|
||||
if [ $changed -eq 1 ]; then
|
||||
echo -e "Current sim.cfg configuration file:"
|
||||
echo
|
||||
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11}
|
||||
echo -e "\nCubeSatSim configuration sim.cfg file updated to: \n"
|
||||
echo
|
||||
echo $n1 $n2 $n3 $n4 $n5 $n6 $n7 $n8 $n9 $m1 $m2
|
||||
echo $n1 $n2 $n3 $n4 $n5 $n6 $n7 $n8 $n9 $m1 $m2 > /home/pi/CubeSatSim/sim.cfg
|
||||
echo
|
||||
fi
|
||||
|
||||
if [ "$noreboot" = "0" ] ; then
|
||||
|
||||
if [ $FLAG -eq 1 ]; then
|
||||
echo "systemctl daemon-reload and reboot"
|
||||
sudo systemctl daemon-reload
|
||||
sudo reboot -h now
|
||||
# sudo cubesatsim
|
||||
else
|
||||
grep 'changed' /home/pi/CubeSatSim/.updated
|
||||
if [[ $(grep 'changed' /home/pi/CubeSatSim/.updated) ]]; then
|
||||
echo "reboot due to code changes " | wall
|
||||
sudo reboot -h now
|
||||
# sudo cubesatsim
|
||||
else
|
||||
echo "nothing to do."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ $FLAG -eq 1 ]; then
|
||||
echo "reboot needed for changes to take effect"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "CubeSatSim update complete."
|
||||
Loading…
Reference in new issue