@ -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,5 +0,0 @@
|
||||
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
CBEACON dest="DTMF-3" info="10 #" delay=0
|
||||
@ -1,5 +0,0 @@
|
||||
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
CBEACON dest="DTMF-3" info="3 #" delay=0
|
||||
@ -1,5 +0,0 @@
|
||||
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
CBEACON dest="DTMF-3" info="5 #" delay=0
|
||||
@ -1,5 +0,0 @@
|
||||
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
CBEACON dest="DTMF-3" info="2 #" delay=0
|
||||
@ -1,5 +0,0 @@
|
||||
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
CBEACON dest="DTMF-3" info="4 #" delay=0
|
||||
@ -1,5 +1,7 @@
|
||||
ADEVICE hw:CARD=Loopback,DEV=0 hw:CARD=Headphones,DEV=0
|
||||
PTT GPIO 20
|
||||
MYCALL AMSAT
|
||||
CHANNEL 0
|
||||
MODEM 1200
|
||||
CBEACON dest="DTMF-3" info="1 #" delay=0
|
||||
KISSPORT 8003
|
||||
AGWPORT 8004
|
||||
@ -1 +0,0 @@
|
||||
ADEVICE plughw:CARD=Loopback,DEV=1 plughw:CARD=Loopback,DEV=0
|
||||
@ -0,0 +1,72 @@
|
||||
#! /usr/bin/env python3
|
||||
"""
|
||||
example Python gpsd client
|
||||
run this way: python3 example1.py.txt
|
||||
"""
|
||||
|
||||
# from https://gpsd.gitlab.io/gpsd/gpsd-client-example-code.html
|
||||
|
||||
# this client is for the CubeSatSim Lite which does not have a Pico microcontroller
|
||||
|
||||
try:
|
||||
|
||||
import gps # the gpsd interface module
|
||||
import time
|
||||
|
||||
mode = -1
|
||||
lat = 0
|
||||
lon = 0
|
||||
alt = 0
|
||||
|
||||
session = gps.gps(mode=gps.WATCH_ENABLE)
|
||||
|
||||
start = time.perf_counter()
|
||||
|
||||
try:
|
||||
# while (session.read() == 0) and ((time.perf_counter() - start) < 2) and (mode < 2):
|
||||
while ((time.perf_counter() - start) < 2) and (mode < 2):
|
||||
if session.waiting(2.0):
|
||||
session.read()
|
||||
|
||||
# print(gps.MODE_SET)
|
||||
# print(session.valid)
|
||||
if (session.valid):
|
||||
# not useful, probably not a TPV message
|
||||
# continue
|
||||
|
||||
# print('Mode: %s(%d) Time: ' %
|
||||
# (("Invalid", "NO_FIX", "2D", "3D")[session.fix.mode],
|
||||
# session.fix.mode), end="")
|
||||
# print time, if we have it
|
||||
# print("%d " % session.fix.mode, end="")
|
||||
if (session.fix.mode > mode):
|
||||
mode = session.fix.mode
|
||||
# if gps.TIME_SET & session.valid:
|
||||
# print(session.fix.time, end="")
|
||||
# else:
|
||||
# print('n/a', end="")
|
||||
|
||||
if gps.isfinite(session.fix.latitude):
|
||||
lat = session.fix.latitude
|
||||
if gps.isfinite(session.fix.longitude):
|
||||
lon = session.fix.longitude
|
||||
if gps.isfinite(session.fix.altitude):
|
||||
alt = session.fix.altitude
|
||||
# print("%.6f %.6f %.6f" % (session.fix.latitude, session.fix.longitude, session.fix.altitude))
|
||||
|
||||
# else:
|
||||
# print(" 0 0 0")
|
||||
|
||||
except KeyboardInterrupt:
|
||||
# got a ^C. Say bye, bye
|
||||
print('')
|
||||
|
||||
# Got ^C, or fell out of the loop. Cleanup, and leave.
|
||||
session.close()
|
||||
print("%d %.6f %.6f %.1f" % (mode, lat, lon, alt))
|
||||
# exit(0)
|
||||
|
||||
except:
|
||||
print("-1 0 0 0")
|
||||
exit(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,317 @@
|
||||
#!/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/spacecraft/PacSatGround_0.46o/PacSatGround.zip
|
||||
unzip PacSatGround.zip -d PacSatGroundLoop
|
||||
sudo rm PacSatGround.zip
|
||||
|
||||
sudo sed -i 's/logfile_dir=\/home\/pi\/PacSatGround/logfile_dir=\/home\/pi\/PacSatGroundLoop/g' /home/pi/PacSatGroundLoop/PacSatGround.properties
|
||||
|
||||
FILE=/home/pi/Desktop/PacsatGround/spacecraft/PacSatSim.properties
|
||||
if [ -f "$FILE" ]; then
|
||||
FILE2=/home/pi/PacSatGroundLoop/spacecraft/PacSatSim.properties
|
||||
sudo rm $FILE2
|
||||
cp $FILE $FILE2
|
||||
else
|
||||
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
|
||||
|
||||
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/spacecraft/PacSatGround_0.46o/PacSatGround.zip
|
||||
unzip PacSatGround.zip -d PacSatGround
|
||||
sudo rm PacSatGround.zip
|
||||
|
||||
FILE=/home/pi/Desktop/PacsatGround/spacecraft/PacSatSim.properties
|
||||
if [ -f "$FILE" ]; then
|
||||
FILE2=/home/pi/PacSatGround/spacecraft/PacSatSim.properties
|
||||
sudo rm $FILE2
|
||||
cp $FILE $FILE2
|
||||
else
|
||||
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
|
||||
|
||||
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,13 @@
|
||||
Here is information about the CubeSatSim Lite v2 hardware
|
||||
|
||||
cubesatsim-Lite_2.0.1_gerbers.zip -- All gerber files used to fabricate PCBs
|
||||
|
||||
cubesatsim-Lite_2.0.1_schematic.pdf -- Schematic
|
||||
|
||||
cubesatsim-Lite_2.0.1.mnt -- SMD file
|
||||
|
||||
cubesatsim-lLite_2.0.1_pcb.png -- image of board
|
||||
|
||||
cubesatsim-Lite_2.0.1_bom.csv.txt -- Bill of Materials (BOM)
|
||||
|
||||
For more information see https://github.com/alanbjohnston/CubeSatSim/wiki/CubeSatSim-Lite
|
||||
@ -0,0 +1,5 @@
|
||||
JP1 44.68 53.87 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP2 23.14 59.97 0 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP3 21.74 56.03 270 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP6 33.99 59.61 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP7 16.00 63.09 90 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
@ -0,0 +1,26 @@
|
||||
C1 8.36 61.93 0 18pF C0603
|
||||
C2 10.03 61.90 0 16pF C0603
|
||||
C3 56.06 58.32 90 18pF C0603
|
||||
C4 55.47 62.84 270 16pF C0603
|
||||
C7 49.23 56.57 0 DNI/47uF C0603
|
||||
C8 50.47 47.68 270 DNI/100nF C0603
|
||||
E1 3.63 53.23 270 ANT-916-CHP-T XDCR_ANT-916-CHP-T
|
||||
E2 61.39 53.21 270 ANT-916-CHP-T XDCR_ANT-916-CHP-T
|
||||
J1 32.55 66.61 0 CONN_20X2 2X20
|
||||
J13 9.25 45.02 180 SJ1-2503A CONN_SJ1-2503A
|
||||
J14 55.07 45.08 180 SJ1-2503A CONN_SJ1-2503A
|
||||
L1 9.22 59.44 180 13nH L0603
|
||||
L2 56.24 60.55 270 13nH L0603
|
||||
LED5 19.08 42.09 270 GREEN LED-0603
|
||||
LED6 43.94 41.91 270 BLUE LED-0603
|
||||
R2 46.63 62.48 180 DNI/1k R0603
|
||||
R4 51.18 62.51 180 DNI/1k R0603
|
||||
R10 12.70 41.91 90 DNI/1k 0603-RES
|
||||
R11 51.66 41.91 90 DNI/100 0603-RES
|
||||
R16 13.79 60.22 0 DNI/68 R0805
|
||||
R17 18.44 60.33 270 DNI/180 R0603
|
||||
R18 26.67 60.22 180 DNI/68 R0805
|
||||
R21 48.90 51.23 0 DNI/100 R0603
|
||||
R22 55.14 51.99 0 DNI/220 R0603
|
||||
S2 7.80 51.82 90 DTSM-6 DTSM-6
|
||||
U6 32.94 51.75 270 SR105U SR_FRS_0W5
|
||||
@ -0,0 +1,53 @@
|
||||
"Part";"Value";"Device";"Package";"Description";"";
|
||||
"C1";"18pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C2";"16pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C3";"18pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C4";"16pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C5";"47uF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";"";
|
||||
"C6";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";"";
|
||||
"C7";"DNI/47uF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C8";"DNI/100nF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"E1";"ANT-916-CHP-T";"ANT-916-CHP-T";"XDCR_ANT-916-CHP-T";"868MHz ISM, LoRa, Sensor Networks, SigFox Chip RF Antenna 863MHz ~ 873MHz 0.5dBi Solder Surface Mount Check prices";"";
|
||||
"E2";"ANT-916-CHP-T";"ANT-916-CHP-T";"XDCR_ANT-916-CHP-T";"868MHz ISM, LoRa, Sensor Networks, SigFox Chip RF Antenna 863MHz ~ 873MHz 0.5dBi Solder Surface Mount Check prices";"";
|
||||
"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J2";"";"CONN_021X02_NO_SILK";"1X02_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J6";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"J10";"DNI/Sparkfun QWIIC Breakout";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J12";"DNI/1x4 pin header";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J13";"SJ1-2503A";"SJ1-2503A";"CONN_SJ1-2503A";"";"";
|
||||
"J14";"SJ1-2503A";"SJ1-2503A";"CONN_SJ1-2503A";"";"";
|
||||
"J15";"";"CONN_06NO_SILK_NO_POP";"1X06_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP1";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP2";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP3";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP6";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP7";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"L1";"13nH";"SMD-FERRITE-CHIP-120-OHM-500MA(0603)";"L0603";"303030001";"";
|
||||
"L2";"13nH";"SMD-FERRITE-CHIP-120-OHM-500MA(0603)";"L0603";"303030001";"";
|
||||
"LED3";"Green 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"LED4";"Blue 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"LED5";"GREEN";"LED-GREEN0603";"LED-0603";"Green SMD LED";"";
|
||||
"LED6";"BLUE";"LED-BLUE0603";"LED-0603";"Blue SMD LED";"";
|
||||
"R1";"1K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R2";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R3";"1K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R4";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R7";"1k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R8";"DNI/100";"RESISTOR0603";"0603-RES";"Resistor";"";
|
||||
"R10";"DNI/1k";"RESISTOR0603-RES";"0603-RES";"Resistor";"";
|
||||
"R11";"100";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R13";"68";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R14";"180";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R15";"68";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R16";"DNI/68";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R17";"DNI/180";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R18";"DNI/68";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R19";"100";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R20";"220";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R21";"DNI/100";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R22";"DNI/220";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"S1";"RA-SPST";"RA-SPST";"RA-SPST";"";"";
|
||||
"S2";"DTSM-6";"DTSM-6";"DTSM-6";"";"";
|
||||
"U1";"SR105U";"SR_FRS_0W5";"SR_FRS_0W5";"";"";
|
||||
"X2";"SMA-VERT";"SMA-VERT";"SMA-VERT";"";"";
|
||||
"X3";"SMA-VERT";"SMA-VERT";"SMA-VERT";"";"";
|
||||
|
After Width: | Height: | Size: 1005 KiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 2.7 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
@ -0,0 +1,23 @@
|
||||
"Part";"Value";"Device";"Package";"Description";"";
|
||||
"BT1";"1024";"1024";"BAT_1024";"Check availability";"";
|
||||
"BT2";"1012";"1012";"BAT_1012";"Check availability";"";
|
||||
"C1";"DNI/0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"F1";"PTC";"PTCPTH";"PTC";"Resettable Fuse PTC";"";
|
||||
"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP1";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP2";"";"CONN_01";"1X01";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP3";"";"CONN_01";"1X01";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP4";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP5";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP6";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP7";"";"CONN_01";"1X01";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP8";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP10";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP11";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP13";"";"CONN_01";"1X01";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP14";"";"CONN_01";"1X01";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"R1";"DNI/R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R2";"10k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R3";"10k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"U1";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U2";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 1022 KiB |
|
After Width: | Height: | Size: 917 KiB |
|
After Width: | Height: | Size: 48 KiB |
@ -0,0 +1,18 @@
|
||||
D1 63.55 60.58 0 BYW27-400 D-2.5
|
||||
D2 72.01 10.49 0 1N5817 D-2.5
|
||||
D3 66.45 10.62 180 1N4148 D-2.5
|
||||
D8 59.31 7.52 270 DNI/5V1 Zener 1W ZDIO-2.5
|
||||
D10 77.50 10.46 0 1N5817 D-2.5
|
||||
JP1 72.17 8.66 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP2 24.73 60.99 0 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP3 16.08 58.12 270 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP4 59.36 56.39 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP5 75.08 56.48 270 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP6 26.21 35.94 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP7 15.95 62.24 90 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP8 47.28 30.91 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP9 44.21 61.82 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP10 63.61 56.54 0 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
JP11 14.63 52.17 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK
|
||||
U7 36.42 49.89 0 DRA818V DORJI_DRA818V
|
||||
X1 71.86 61.21 270 SC1464-ND PG203J
|
||||
@ -0,0 +1,39 @@
|
||||
C1 18.75 76.02 270 18pF C0603
|
||||
C2 18.69 71.88 270 16pF C0603
|
||||
C3 16.38 10.11 180 18pF C0603
|
||||
C4 20.68 10.16 180 16pF C0603
|
||||
C7 55.60 56.62 0 DNI/47uF C0603
|
||||
C8 59.00 47.55 270 DNI/100nF C0603
|
||||
C10 66.83 3.91 270 DNI/100nF C0603
|
||||
D5 63.42 62.53 0 DNI/1N4007FL SOD-123FL
|
||||
D6 72.16 8.69 180 DNI/B5817WS SOD-323F
|
||||
D7 66.47 8.84 0 DNI/4148WS SOD-323F
|
||||
E1 6.80 76.35 180 ANT-916-CHP-T XDCR_ANT-916-CHP-T
|
||||
E2 19.18 3.81 0 ANT-916-CHP-T XDCR_ANT-916-CHP-T
|
||||
F2 63.68 57.18 180 DNI/MF-FSML100/8-2 0603
|
||||
J1 32.55 66.61 0 CONN_20X2 2X20
|
||||
J8 36.17 72.01 0 Sparkfun USB-C Breakout 1X06_NO_SILK
|
||||
J9 36.35 74.15 180 DNI/USB4105-GF-A or GT-USB-7010B USB-C-16P-2LAYER-PADS
|
||||
J13 8.92 31.68 0 SJ1-2503A CONN_SJ1-2503A
|
||||
J14 15.95 31.76 0 SJ1-2503A CONN_SJ1-2503A
|
||||
L1 16.76 73.94 90 13nH L0603
|
||||
L2 18.49 12.17 180 13nH L0603
|
||||
R2 54.00 62.26 0 DNI/1k R0603
|
||||
R4 58.39 62.26 180 DNI/1k R0603
|
||||
R5 29.46 76.45 180 DNI/5.1k R0603
|
||||
R6 43.18 76.48 0 DNI/5.1k R0603
|
||||
R10 64.26 72.06 0 DNI/1k R0603
|
||||
R11 24.16 72.06 0 DNI/100 R0603
|
||||
R12 47.55 72.42 0 DNI/220 R0603
|
||||
R16 20.07 60.05 0 DNI/68 R0805
|
||||
R17 24.71 60.15 270 DNI/180 R0603
|
||||
R18 32.94 60.20 180 DNI/68 R0805
|
||||
R21 55.42 51.26 0 DNI/100 R0603
|
||||
R22 59.33 44.63 0 DNI/220 R0603
|
||||
R25 67.59 40.77 90 DNI/4.7k R0603
|
||||
R26 76.53 40.79 90 DNI/4.7k R0603
|
||||
R28 61.98 8.81 0 DNI/10k R0603
|
||||
R31 3.86 44.37 0 DNI/220 R0603
|
||||
R32 3.40 60.55 180 DNI/1k R0603
|
||||
U1 54.36 27.48 270 Raspberry Pi Pico PICO-PKG-NO_DEBUG
|
||||
U6 39.24 51.22 270 SR105U SR_FRS_0W5
|
||||
@ -0,0 +1,94 @@
|
||||
"Part";"Value";"Device";"Package";"Description";"";
|
||||
"C1";"18pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C2";"16pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C3";"18pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C4";"16pF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C5";"47uF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";"";
|
||||
"C6";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";"";
|
||||
"C7";"DNI/47uF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C8";"DNI/100nF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"C9";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";"";
|
||||
"C10";"DNI/100nF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";"";
|
||||
"D1";"BYW27-400";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D2";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D3";"1N4148";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D5";"DNI/1N4007FL";"DIODE_SOD-123FL";"SOD-123FL";"Diode";"";
|
||||
"D6";"DNI/B5817WS";"DIODESOD-323F";"SOD-323F";"Diode";"";
|
||||
"D7";"DNI/4148WS";"DIODESOD-323F";"SOD-323F";"Diode";"";
|
||||
"D8";"DNI/5V1 Zener 1W";"ZENER-DIODEZD-2.5";"ZDIO-2.5";"Z-Diode";"";
|
||||
"D10";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"E1";"ANT-916-CHP-T";"ANT-916-CHP-T";"XDCR_ANT-916-CHP-T";"868MHz ISM, LoRa, Sensor Networks, SigFox Chip RF Antenna 863MHz ~ 873MHz 0.5dBi Solder Surface Mount Check prices";"";
|
||||
"E2";"ANT-916-CHP-T";"ANT-916-CHP-T";"XDCR_ANT-916-CHP-T";"868MHz ISM, LoRa, Sensor Networks, SigFox Chip RF Antenna 863MHz ~ 873MHz 0.5dBi Solder Surface Mount Check prices";"";
|
||||
"F1";"RHEF100-2";"PTCPTH";"PTC";"Resettable Fuse PTC";"";
|
||||
"F2";"DNI/MF-FSML100/8-2";"PTC0603";"0603";"Resettable Fuse PTC";"";
|
||||
"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J4";"MPU6050";"M08NO_SILK_FEMALE_PTH";"1X08_NO_SILK@1";"Header 8";"";
|
||||
"J5";"BME280";"M04NO_SILK_ALL_ROUND";"1X04_NO_SILK_ALL_ROUND";"Header 4";"";
|
||||
"J6";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"J7";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"J8";"Sparkfun USB-C Breakout";"CONN_06NO_SILK_FEMALE_PTH";"1X06_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J9";"DNI/USB4105-GF-A or GT-USB-7010B";"USB_C_2-LAYER_PADS";"USB-C-16P-2LAYER-PADS";"USB Type C 16Pin Connector";"";
|
||||
"J10";"DNI/Sparkfun QWIIC Breakout";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J12";"DNI/1x4 pin header";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J13";"SJ1-2503A";"SJ1-2503A";"CONN_SJ1-2503A";"";"";
|
||||
"J14";"SJ1-2503A";"SJ1-2503A";"CONN_SJ1-2503A";"";"";
|
||||
"J15";"";"CONN_06NO_SILK_NO_POP";"1X06_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP1";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP2";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP3";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP4";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP5";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP6";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP7";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP8";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP9";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP10";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP11";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"L1";"13nH";"SMD-FERRITE-CHIP-120-OHM-500MA(0603)";"L0603";"303030001";"";
|
||||
"L2";"13nH";"SMD-FERRITE-CHIP-120-OHM-500MA(0603)";"L0603";"303030001";"";
|
||||
"LED1";"White 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"LED2";"Yellow 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"LED3";"Green 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"LED4";"Blue 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"LED5";"Red 5mm";"LED3MM";"LED3MM";"LED";"";
|
||||
"R1";"1K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R2";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R3";"1K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R4";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R5";"DNI/5.1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R6";"DNI/5.1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R7";"1k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R8";"100";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R9";"220";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R10";"DNI/1k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R11";"DNI/100";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R12";"DNI/220";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R13";"68";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R14";"180";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R15";"68";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R16";"DNI/68";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R17";"DNI/180";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R18";"DNI/68";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R19";"100";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R20";"220";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R21";"DNI/100";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R22";"DNI/220";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R23";"4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R24";"4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R25";"DNI/4.7k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R26";"DNI/4.7k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R27";"10K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R28";"DNI/10k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";"";
|
||||
"R29";"220";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R30";"1k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R31";"DNI/220";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R32";"DNI/1k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";"";
|
||||
"R33";"DNI/4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"R34";"DNI/4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";"";
|
||||
"S1";"RA-SPST";"RA-SPST";"RA-SPST";"";"";
|
||||
"U1";"Raspberry Pi Pico";"RASPBERRY_PICO-NO_DEBUG";"PICO-PKG-NO_DEBUG";"";"";
|
||||
"U6";"SR105U";"SR_FRS_0W5";"SR_FRS_0W5";"";"";
|
||||
"U7";"DRA818V";"DRA818V";"DORJI_DRA818V";"Check availability";"";
|
||||
"X1";"SC1464-ND";"PG203J";"PG203J";"MIC/HEADPHONE JACK";"";
|
||||
"X2";"SMA-VERT";"SMA-VERT";"SMA-VERT";"";"";
|
||||
"X3";"SMA-VERT";"SMA-VERT";"SMA-VERT";"";"";
|
||||
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 134 KiB |
@ -0,0 +1,12 @@
|
||||
D1 37.58 48.87 180 1N5817 D-2.5
|
||||
D2 37.66 42.52 180 1N5817 D-2.5
|
||||
D3 37.50 35.95 180 1N5817 D-2.5
|
||||
D4 42.94 48.94 0 1N5817 D-2.5
|
||||
D5 42.94 42.42 0 1N5817 D-2.5
|
||||
D6 42.79 36.07 0 1N5817 D-2.5
|
||||
JP9 1.35 57.85 270 VDD-EN SMT-JUMPER_2_NC_TRACE_SILK
|
||||
JP18 24.75 62.60 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK
|
||||
U5 71.44 19.89 90 INA219 purple board INA219
|
||||
U6 8.59 48.95 270 INA219 purple board INA219
|
||||
U7 8.46 20.29 270 INA219 purple board INA219
|
||||
U8 71.36 48.21 90 INA219 purple board INA219
|
||||
@ -0,0 +1,29 @@
|
||||
C2 17.54 37.77 0 0.1µF 0603
|
||||
C3 17.41 21.59 0 0.1µF 0603
|
||||
C4 17.56 11.14 0 0.1µF 0603
|
||||
C5 17.53 50.09 0 0.1µF 0603
|
||||
C6 61.82 19.28 180 0.1µF 0603
|
||||
C7 62.06 38.65 180 0.1µF 0603
|
||||
D7 42.95 38.00 0 1A/23V/620mV SOD-323
|
||||
D8 43.08 44.40 0 1A/23V/620mV SOD-323
|
||||
D9 43.43 50.75 0 1A/23V/620mV SOD-323
|
||||
D10 37.72 50.67 180 1A/23V/620mV SOD-323
|
||||
D11 37.62 37.92 180 1A/23V/620mV SOD-323
|
||||
D12 37.90 44.40 180 1A/23V/620mV SOD-323
|
||||
J1 32.55 66.61 0 CONN_20X2 2X20
|
||||
R1 11.58 43.79 270 R100 R0805
|
||||
R2 11.68 15.01 270 R100 R0805
|
||||
R5 24.84 14.99 90 R100 R0805
|
||||
R6 24.87 43.84 270 R100 R0805
|
||||
R9 68.07 25.10 90 R100 R0805
|
||||
R10 68.19 53.47 90 R100 R0805
|
||||
R11 42.91 62.08 0 DNI-4.7k R0603
|
||||
R12 36.87 62.08 0 DNI-4.7k R0603
|
||||
U2 17.53 44.60 0 INA219AIDR D0008A_N
|
||||
U3 48.65 48.20 90 INA219 purple board INA219
|
||||
U4 30.84 48.90 270 INA219 purple board INA219
|
||||
U10 17.45 26.75 0 INA219AIDR D0008A_N
|
||||
U11 17.68 16.66 0 INA219AIDR D0008A_N
|
||||
U12 17.50 55.36 0 INA219AIDR D0008A_N
|
||||
U13 61.72 24.82 0 INA219AIDR D0008A_N
|
||||
U14 61.58 44.20 0 INA219AIDR D0008A_N
|
||||
@ -0,0 +1,71 @@
|
||||
"Part";"Value";"Device";"Package";"Description";"";
|
||||
"C2";"0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"C3";"0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"C4";"0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"C5";"0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"C6";"0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"C7";"0.1µF";"CAP_CERAMIC0603";"0603";"Ceramic Capacitors";"";
|
||||
"D1";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D2";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D3";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D4";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D5";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D6";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";"";
|
||||
"D7";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"Schottky diode";"";
|
||||
"D8";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"Schottky diode";"";
|
||||
"D9";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"Schottky diode";"";
|
||||
"D10";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"Schottky diode";"";
|
||||
"D11";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"Schottky diode";"";
|
||||
"D12";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"Schottky diode";"";
|
||||
"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"J5";"DNI/Sparkfun QWIIC Breakout";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP1";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP2";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP3";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP4";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP5";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP6";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP7";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP8";"Micro JST";"CONN_021X02_NO_SILK";"1X02_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP9";"VDD-EN";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";"";
|
||||
"JP10";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP11";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP12";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP13";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP14";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP15";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP16";"";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP17";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP18";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";"";
|
||||
"JP19";"";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";
|
||||
"JP20";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP21";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP22";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP23";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP24";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP25";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"JP26";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";"";
|
||||
"R1";"R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R2";"R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R3";"4.7k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R4";"4.7k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R5";"R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R6";"R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R7";"DNI-4.7k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R8";"DNI-4.7k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";"";
|
||||
"R9";"R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R10";"R100";"R-US_R0805";"R0805";"RESISTOR, American symbol";"";
|
||||
"R11";"DNI-4.7k";"R-US_R0603";"R0603";"RESISTOR, American symbol";"";
|
||||
"R12";"DNI-4.7k";"R-US_R0603";"R0603";"RESISTOR, American symbol";"";
|
||||
"U2";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
"U3";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U4";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U5";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U6";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U7";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U8";"INA219 purple board";"INA219";"INA219";"";"";
|
||||
"U10";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
"U11";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
"U12";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
"U13";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
"U14";"INA219AIDR";"INA219AIDR";"D0008A_N";"";"";
|
||||
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 105 KiB |
@ -0,0 +1,33 @@
|
||||
<img width="200" alt="cubesatsim-main-v2 0 1_top" src="https://github.com/alanbjohnston/CubeSatSim/blob/628fd65edbb01fb772a9f223605d969a0aad14bd/hardware/v2.1/cubesatsim-main-v2.1.0_top.png"> <img width="200" alt="cubesatsim-battery-v2 0_top" src="https://github.com/alanbjohnston/CubeSatSim/blob/4d079b486116180071c4dbf64ae2464518a63bdd/hardware/v2.1/cubesatsim-battery-v2.1.0_top.png"> <img width="200" alt="cubesatsim-solar-v2 0_top" src="https://github.com/alanbjohnston/CubeSatSim/blob/c904c66d7c8fb44a3d088d0cbebf24903cf3572c/hardware/v2.1/cubesatsim-solar-v2.1.0_top.png">
|
||||
|
||||
|
||||
|
||||
Here is information about the CubeSatSim PCBs, version v2.1
|
||||
|
||||
There are 3 boards: Main, Solar, and Battery
|
||||
|
||||
Here's what the files are:
|
||||
|
||||
*_gerbers.zip -- All gerber files used to fabricate PCBs along with .TXT drill file
|
||||
|
||||
*_schematic.pdf -- Schematic
|
||||
|
||||
*_pcb.png -- View of board
|
||||
|
||||
*_pour.png -- View of board with fill
|
||||
|
||||
*_top.png -- Top view of PCB generated by gerbers
|
||||
|
||||
*_bottom.png -- Bottom view of PCB generated by gerbers
|
||||
|
||||
*.mnt -- top SMD component placement data
|
||||
|
||||
*.mnb -- bottom SMD component placement data
|
||||
|
||||
*_bom.csv.txt -- Bill of Materials in CSV format
|
||||
|
||||
I use PCBWay to fabricate PCBs https://pcbway.com
|
||||
|
||||
Here is the bill of materials: https://CubeSatSim.org/bom
|
||||
|
||||
Wiki instructions: https://github.com/alanbjohnston/CubeSatSim/wiki/
|
||||
@ -0,0 +1,11 @@
|
||||
|
||||
This Raspberry Pi has the CubeSatSim v2.x software installed
|
||||
and runs automatically as systemd cubesatsim.service. For more
|
||||
information see https://CubeSatSim.org. To update
|
||||
to the latest version, enter this command:
|
||||
|
||||
CubeSatSim/update
|
||||
|
||||
To see configuration options, enter this command:
|
||||
|
||||
CubeSatSim/config
|
||||
@ -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 callsign 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 /home/pi/PacSat
|
||||
mkdir /home/pi/PacSat/pacsat
|
||||
mkdir /home/pi/PacSat/pacsat/dir
|
||||
wget https://github.com/alanbjohnston/pi_pacsat/releases/download/v0.2/pacsat-dir.zip
|
||||
unzip pacsat-dir.zip
|
||||
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.2/pi_pacsat.zip
|
||||
unzip pi_pacsat.zip -d /
|
||||
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,34 @@
|
||||
// Use this template for adding additional sensors
|
||||
// see example ...
|
||||
|
||||
// put your library includes here
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
// put your globals here
|
||||
|
||||
|
||||
// put your setup code here
|
||||
void sensor_setup() {
|
||||
|
||||
// printf("Starting new sensor!\n");
|
||||
|
||||
}
|
||||
|
||||
// put your loop code here
|
||||
// Very Important: only use print, not println!!
|
||||
int sensor_loop(char *sensor_buffer) {
|
||||
|
||||
int sensors = 0; // set to the number of sensor readings adding.
|
||||
sensor_buffer[0] = 0; // make sure buffer is empty
|
||||
|
||||
// printf("Reading new sensors!\n");
|
||||
|
||||
// sensors = 3;
|
||||
// strcpy(sensor_buffer, "NEW 0.0 0.0 0.0");
|
||||
|
||||
// printf("New sensor string: %s\n", sensor_buffer);
|
||||
|
||||
return(sensors);
|
||||
|
||||
}
|
||||
|
|