Merge branch 'master' into dev

pull/48/head
alanbjohnston 5 years ago committed by GitHub
commit 4e0db0fe72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -95,7 +95,7 @@ Compile the code:
`cd`
`git clone https://www.github.com/wb2osz/direwolf`
`git clone https://github.com/alanbjohnston/direwolf.git`
`cd direwolf`
@ -142,7 +142,9 @@ Now reboot for all the changes to take effect:
`sudo reboot now`
After rebooting, tune your radio or SDR to 434.9 MHz FM, and you should receive telemetry from the CubeSatSim! The green LED will be on when the CubeSatSim software is running. The red LED when charging is occuring either through the micro USB or through the solar panels. The blue LED will illuminate when the CubeSatSim is transmitting.
After rebooting, tune your radio or SDR to 434.9 MHz FM, and you should get a signal from the CubeSatSim! If you just have a Pi, you will only hear your Morse Code (CW) callsign - no telemetry signal will be transmitted, since there is no Band Pass Filter installed to block interfering transmissions. If you have built the Main Board or the TFB and it is plugged into your Pi, you will hear telemetry readio signals.
On the Main Board, the green LED will be on when the CubeSatSim software is running. The red LED when charging is occuring either through the micro USB or through the solar panels. The blue LED will illuminate when the CubeSatSim is transmitting.
The push button with the pi-power-button software will cause the Pi to reboot, change telemetry mode, or shutdown. Pressing and holding the pushbutton will make the green power LED blink first once, then two times, then three times, then blinks slowly. Depending on when you release the button, different things will happen. Here's what happens if you:

@ -0,0 +1,9 @@
[GLOBAL]
SATELLITES=7530;22825;39444;43017;42761;42759;43770;43137;45119;25544;44354;40903;40911;40906;40907;40909;40910
[SINGLE_SAT]
SELECTED=7530
[LIST]
SORT_COLUMN=0
SORT_ORDER=0

@ -0,0 +1,194 @@
[
{
"name": "160m",
"lower_bound": 1810000,
"upper_bound": 2000000,
"frequencies": {
"psk31": 1838000,
"ft8": 1840000,
"wspr": 1836600,
"jt65": 1838000,
"jt9": 1839000
}
},
{
"name": "80m",
"lower_bound": 3500000,
"upper_bound": 3800000,
"frequencies": {
"psk31": 3580000,
"ft8": 3573000,
"wspr": 3592600,
"jt65": 3570000,
"jt9": 3572000,
"ft4": [3568000, 3575000]
}
},
{
"name": "60m",
"lower_bound": 5351500,
"upper_bound": 5366500,
"frequencies": {
"ft8": 5357000,
"wspr": 5364700
}
},
{
"name": "40m",
"lower_bound": 7000000,
"upper_bound": 7200000,
"frequencies": {
"psk31": 7040000,
"ft8": 7074000,
"wspr": 7038600,
"jt65": 7076000,
"jt9": 7078000,
"ft4": 7047500
}
},
{
"name": "30m",
"lower_bound": 10100000,
"upper_bound": 10150000,
"frequencies": {
"psk31": 10141000,
"ft8": 10136000,
"wspr": 10138700,
"jt65": 10138000,
"jt9": 10140000,
"ft4": 10140000
}
},
{
"name": "20m",
"lower_bound": 14000000,
"upper_bound": 14350000,
"frequencies": {
"psk31": 14070000,
"ft8": 14074000,
"wspr": 14095600,
"jt65": 14076000,
"jt9": 14078000,
"ft4": 14080000
}
},
{
"name": "17m",
"lower_bound": 18068000,
"upper_bound": 18168000,
"frequencies": {
"psk31": 18098000,
"ft8": 18100000,
"wspr": 18104600,
"jt65": 18102000,
"jt9": 18104000,
"ft4": 18104000
}
},
{
"name": "15m",
"lower_bound": 21000000,
"upper_bound": 21450000,
"frequencies": {
"psk31": 21070000,
"ft8": 21074000,
"wspr": 21094600,
"jt65": 21076000,
"jt9": 21078000,
"ft4": 21140000
}
},
{
"name": "12m",
"lower_bound": 24890000,
"upper_bound": 24990000,
"frequencies": {
"psk31": 24920000,
"ft8": 24915000,
"wspr": 24924600,
"jt65": 24917000,
"jt9": 24919000,
"ft4": 24919000
}
},
{
"name": "10m",
"lower_bound": 28000000,
"upper_bound": 29700000,
"frequencies": {
"psk31": [28070000, 28120000],
"ft8": 28074000,
"wspr": 28124600,
"jt65": 28076000,
"jt9": 28078000,
"ft4": 28180000
}
},
{
"name": "6m",
"lower_bound": 50030000,
"upper_bound": 51000000,
"frequencies": {
"psk31": 50305000,
"ft8": 50313000,
"wspr": 50293000,
"jt65": 50310000,
"jt9": 50312000,
"ft4": 50318000
}
},
{
"name": "4m",
"lower_bound": 70150000,
"upper_bound": 70200000,
"frequencies": {
"wspr": 70091000
}
},
{
"name": "2m",
"lower_bound": 144000000,
"upper_bound": 146000000,
"frequencies": {
"wspr": 144489000,
"ft8": 144174000,
"ft4": 144170000,
"jt65": 144120000,
"packet": 144390000
}
},
{
"name": "70cm",
"lower_bound": 430000000,
"upper_bound": 440000000,
"frequencies": {
"packet": 434900000,
"pocsag": 439987500
}
},
{
"name": "23cm",
"lower_bound": 1240000000,
"upper_bound": 1300000000
},
{
"name": "13cm",
"lower_bound": 2320000000,
"upper_bound": 2450000000
},
{
"name": "9cm",
"lower_bound": 3400000000,
"upper_bound": 3475000000
},
{
"name": "6cm",
"lower_bound": 5650000000,
"upper_bound": 5850000000
},
{
"name": "3cm",
"lower_bound": 10000000000,
"upper_bound": 10500000000
}
]

@ -0,0 +1,122 @@
[
{
"name": "ISS APRS",
"frequency": 145825000,
"modulation": "nfm"
},
{
"name": "ISS SSTV",
"frequency": 145819000,
"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": "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": "nfm"
}
]

@ -6,6 +6,7 @@ config_webrx: configuration options for OpenWebRX
This file is part of OpenWebRX,
an open-source SDR receiver software with a web UI.
Copyright (c) 2013-2015 by Andras Retzler <randras@sdr.hu>
Copyright (c) 2019-2020 by Jakob Ketterl <dd5jfk@darc.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
@ -29,64 +30,58 @@ config_webrx: configuration options for OpenWebRX
(It means that you do not have to redistribute config_rtl.py and
config_webrx.py if you make any changes to these two configuration files,
and use them for running your web service with OpenWebRX.)
portions inspired by http://gephi.michalnovak.eu/config_webrx.py
"""
# configuration version. please only modify if you're able to perform the associated migration steps.
version = 2
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/simonyiszk/openwebrx/wiki
# https://github.com/jketterl/openwebrx/wiki/Configuration-guide
# ==== Server settings ====
web_port=8073
server_hostname="localhost" # If this contains an incorrect value, the web UI may freeze on load (it can't open websocket)
max_clients=20
web_port = 8073
max_clients = 10
# ==== Web GUI configuration ====
receiver_name="AMSAT CubeSat Simulator Ground Station"
receiver_location=""
receiver_qra=""
receiver_asl=0
receiver_ant="monopole"
receiver_device="RTL-SDR"
receiver_admin="ku2y@amsat.org"
receiver_gps=(39.0302,-77.0747)
photo_height=350
photo_title="Panorama of Budapest from Schönherz Zoltán Dormitory"
photo_desc="""
receiver_name = "KU2Y"
receiver_location = "Philadelphia, PA"
receiver_asl = 200
receiver_admin = "ku2y@amsat.org"
receiver_gps = (40.0376, -75.3492)
receiver_gps = {"lat": 40.0376, "lon": -75.3492}
photo_title = "ARISS"
photo_desc = """
You can add your own background photo and receiver information.<br />
Receiver is operated by: <a href="mailto:%[RX_ADMIN]">%[RX_ADMIN]</a><br/>
Device: %[RX_DEVICE]<br />
Antenna: %[RX_ANT]<br />
Website: <a href="http://localhost" target="_blank">http://localhost</a>
Receiver is operated by: <a href="mailto:ku2y@amsat.org">ku2y@amsat.org</a><br/>
Device: RTL-SDR<br />
Antenna: <br />
Website: <a href="http://ariss-radio:8073" target="_blank">http://ariss-radio:8073</a>
"""
# ==== sdr.hu listing ====
# If you want your ham receiver to be listed publicly on sdr.hu, then take the following steps:
# 1. Register at: http://sdr.hu/register
# 2. You will get an unique key by email. Copy it and paste here:
sdrhu_key = ""
# 3. Set this setting to True to enable listing:
sdrhu_public_listing = False
# ==== DSP/RX settings ====
fft_fps=9
fft_size=4096 #Should be power of 2
fft_voverlap_factor=0.3 #If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the diagram.
fft_fps = 9
fft_size = 4096 # Should be power of 2
fft_voverlap_factor = (
0.3 # If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the diagram.
)
samp_rate = 250000
# samp_rate = 2400000
center_freq = 440450000
rf_gain = 37 #in dB. For an RTL-SDR, rf_gain=0 will set the tuner to auto gain mode, else it will be in manual gain mode.
ppm = 0
audio_compression = "adpcm" # valid values: "adpcm", "none"
fft_compression = "adpcm" # valid values: "adpcm", "none"
audio_compression="adpcm" #valid values: "adpcm", "none"
fft_compression="adpcm" #valid values: "adpcm", "none"
digimodes_enable = True # Decoding digimodes come with higher CPU usage.
digimodes_fft_size = 1024
digimodes_enable=False # True #Decoding digimodes come with higher CPU usage.
digimodes_fft_size=1024
start_rtl_thread=True
# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes
# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1
digital_voice_unvoiced_quality = 1
# enables lookup of DMR ids using the radioid api
digital_voice_dmr_id_lookup = True
"""
Note: if you experience audio underruns while CPU usage is 100%, you can:
Note: if you experience audio underruns while CPU usage is 100%, you can:
- decrease `samp_rate`,
- set `fft_voverlap_factor` to 0,
- decrease `fft_fps` and `fft_size`,
@ -96,121 +91,727 @@ Note: if you experience audio underruns while CPU usage is 100%, you can:
# ==== I/Q sources ====
# (Uncomment the appropriate by removing # characters at the beginning of the corresponding lines.)
#################################################################################################
# Is my SDR hardware supported? #
# Check here: https://github.com/simonyiszk/openwebrx/wiki#guides-for-receiver-hardware-support #
#################################################################################################
# You can use other SDR hardware as well, by giving your own command that outputs the I/Q samples... Some examples of configuration are available here (default is RTL-SDR):
# >> RTL-SDR via rtl_sdr
start_rtl_command="rtl_sdr -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} -".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm)
format_conversion="csdr convert_u8_f"
#lna_gain=8
#rf_amp=1
#start_rtl_command="hackrf_transfer -s {samp_rate} -f {center_freq} -g {rf_gain} -l{lna_gain} -a{rf_amp} -r-".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm, rf_amp=rf_amp, lna_gain=lna_gain)
#format_conversion="csdr convert_s8_f"
"""
To use a HackRF, compile the HackRF host tools from its "stdout" branch:
git clone https://github.com/mossmann/hackrf/
cd hackrf
git fetch
git checkout origin/stdout
cd host
mkdir build
cd build
cmake .. -DINSTALL_UDEV_RULES=ON
make
sudo make install
"""
# >> Sound card SDR (needs ALSA)
# I did not have the chance to properly test it.
#samp_rate = 96000
#start_rtl_command="arecord -f S16_LE -r {samp_rate} -c2 -".format(samp_rate=samp_rate)
#format_conversion="csdr convert_s16_f | csdr gain_ff 30"
# >> /dev/urandom test signal source
# samp_rate = 2400000
# start_rtl_command="cat /dev/urandom | (pv -qL `python -c 'print int({samp_rate} * 2.2)'` 2>&1)".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate)
# format_conversion="csdr convert_u8_f"
# >> Pre-recorded raw I/Q file as signal source
# You will have to correctly specify: samp_rate, center_freq, format_conversion in order to correctly play an I/Q file.
#start_rtl_command="(while true; do cat my_iq_file.raw; done) | csdr flowcontrol {sr} 20 ".format(sr=samp_rate*2*1.05)
#format_conversion="csdr convert_u8_f"
#>> The rx_sdr command works with a variety of SDR harware: RTL-SDR, HackRF, SDRplay, UHD, Airspy, Red Pitaya, audio devices, etc.
# It will auto-detect your SDR hardware if the following tools are installed:
# * the vendor provided driver and library,
# * the vendor-specific SoapySDR wrapper library,
# * and SoapySDR itself.
# Check out this article on the OpenWebRX Wiki: https://github.com/simonyiszk/openwebrx/wiki/Using-rx_tools-with-OpenWebRX/
#start_rtl_command="rx_sdr -F CF32 -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} -".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm)
#format_conversion=""
# >> gr-osmosdr signal source using GNU Radio (follow this guide: https://github.com/simonyiszk/openwebrx/wiki/Using-GrOsmoSDR-as-signal-source)
#start_rtl_command="cat /tmp/osmocom_fifo"
#format_conversion=""
###############################################################################
# Is my SDR hardware supported? #
# Check here: https://github.com/jketterl/openwebrx/wiki/Supported-Hardware #
###############################################################################
# ==== Misc settings ====
shown_center_freq = center_freq #you can change this if you use an upconverter
client_audio_buffer_size = 5
#increasing client_audio_buffer_size will:
# - also increase the latency
# - decrease the chance of audio underruns
start_freq = center_freq
start_mod = "nfm" #nfm, am, lsb, usb, cw
iq_server_port = 4951 #TCP port for ncat to listen on. It will send I/Q data over its connections, for internal use in OpenWebRX. It is only accessible from the localhost by default.
# Currently supported types of sdr receivers:
# "rtl_sdr", "rtl_sdr_soapy", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr",
# "perseussdr", "lime_sdr", "pluto_sdr", "soapy_remote"
#
# In order to use rtl_sdr, you will need to install librtlsdr-dev and the connector.
# In order to use sdrplay, airspy or airspyhf, you will need to install soapysdr, the corresponding driver, and the
# connector.
#
# https://github.com/jketterl/owrx_connector
#
# In order to use Perseus HF you need to install the libperseus-sdr
#
# https://github.com/Microtelecom/libperseus-sdr
#
# and do the proper changes to the sdrs object below
# (see also Wiki in https://github.com/jketterl/openwebrx/wiki/Sample-configuration-for-Perseus-HF-receiver).
#
#access_log = "~/openwebrx_access.log"
sdrs = {
"rtlsdr": {
"name": "RTL-SDR",
"type": "rtl_sdr_soapy",
"ppm": 0,
# you can change this if you use an upconverter. formula is:
# center_freq + lfo_offset = actual frequency on the sdr
# "lfo_offset": 0,
"profiles": {
"wx": {
"name": "Weather Band",
"center_freq": 162350000,
"rf_gain": 30,
"samp_rate": 1000000,
"start_freq": 162400000,
"start_mod": "nfm",
},
"2m": {
"name": "2m Band",
"center_freq": 145000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"70cm": {
"name": "70cm Band",
"center_freq": 435500000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"fm": {
"name": "FM Band",
"center_freq": 91000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 90000000,
"start_mod": "nfm",
},
"10mv": {
"name": "10m Band",
"center_freq": 28000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 28500000,
"start_mod": "usb",
},
"6m": {
"name": "6m Band",
"center_freq": 51000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 51000000,
"start_mod": "usb",
},
"110MHz": {
"name": "110 MHz",
"center_freq": 110000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 110000000,
"start_mod": "nfm",
},
"112MHz": {
"name": "112 MHz",
"center_freq": 112000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 112000000,
"start_mod": "nfm",
},
"114MHz": {
"name": "114 MHz",
"center_freq": 114000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 114000000,
"start_mod": "nfm",
},
"116mhz": {
"name": "116 MHz",
"center_freq": 116000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 116000000,
"start_mod": "nfm",
},
"118mhz": {
"name": "118 MHz Air Band",
"center_freq": 118000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 118000000,
"start_mod": "nfm",
},
"120mhz": {
"name": "120 MHz Air Band",
"center_freq": 120000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 120000000,
"start_mod": "nfm",
},
"122mhz": {
"name": "122 MHz Air Band",
"center_freq": 122000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 122000000,
"start_mod": "nfm",
},
"124mhz": {
"name": "124 MHz Air Band",
"center_freq": 124000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 124000000,
"start_mod": "nfm",
},
"126mhz": {
"name": "126 MHz Air Band",
"center_freq": 126000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 126000000,
"start_mod": "nfm",
},
"128mhz": {
"name": "126 MHz Air Band",
"center_freq": 128000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 128000000,
"start_mod": "nfm",
},
"130mhz": {
"name": "130 MHz Air Band",
"center_freq": 130000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 130000000,
"start_mod": "nfm",
},
"132mhz": {
"name": "132 MHz Air Band",
"center_freq": 132000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 132000000,
"start_mod": "nfm",
},
"134mhz": {
"name": "134 MHz Air Band",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "nfm",
},
"136mhz": {
"name": "136 MHz Air Band",
"center_freq": 136000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 136000000,
"start_mod": "nfm",
},
"138mhz": {
"name": "138 MHz NOAA Weather Satellite Band",
"center_freq": 138000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 138000000,
"start_mod": "nfm",
},
"140mhz": {
"name": "140 MHz",
"center_freq": 140000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 140000000,
"start_mod": "nfm",
},
"142mhz": {
"name": "142 MHz",
"center_freq": 142000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 142000000,
"start_mod": "nfm",
},
"144mhz": {
"name": "144 MHz Ham Band",
"center_freq": 144000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 144000000,
"start_mod": "nfm",
},
"146mhz": {
"name": "146 MHz Ham Band",
"center_freq": 146000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 146000000,
"start_mod": "nfm",
},
"148mhz": {
"name": "148 MHz Ham Band",
"center_freq": 148000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 148000000,
"start_mod": "nfm",
},
"150mhz": {
"name": "150 MHz",
"center_freq": 150000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 150000000,
"start_mod": "nfm",
},
"152mhz": {
"name": "152 MHz",
"center_freq": 152000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 152000000,
"start_mod": "nfm",
},
"154mhz": {
"name": "154 MHz",
"center_freq": 154000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 154000000,
"start_mod": "nfm",
},
"156mhz": {
"name": "156 MHz",
"center_freq": 156000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 156100000,
"start_mod": "nfm",
},
"158mhz": {
"name": "158 MHz",
"center_freq": 158000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 158000000,
"start_mod": "nfm",
},
"160mhz": {
"name": "160 MHz",
"center_freq": 160000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 160000000,
"start_mod": "nfm",
},
"162mhz": {
"name": "162 MHz Weather Band",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 162000000,
"start_mod": "nfm",
},
"164mhz": {
"name": "164 MHz",
"center_freq": 164000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 164000000,
"start_mod": "nfm",
},
"166mhz": {
"name": "166 MHz",
"center_freq": 166000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 166000000,
"start_mod": "nfm",
},
"168mhz": {
"name": "168 MHz",
"center_freq": 168000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 168000000,
"start_mod": "nfm",
},
"170mhz": {
"name": "170 MHz",
"center_freq": 170000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 170000000,
"start_mod": "nfm",
},
"172mhz": {
"name": "172 MHz",
"center_freq": 172000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 172000000,
"start_mod": "nfm",
},
"174mhz": {
"name": "174 MHz",
"center_freq": 174000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 174000000,
"start_mod": "nfm",
},
"433mhz": {
"name": "433 MHz Ham Band",
"center_freq": 433000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 433000000,
"start_mod": "nfm",
},
"446mhz": {
"name": "446 MHz",
"center_freq": 446000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 446000000,
"start_mod": "nfm",
},
"460mhz": {
"name": "460 MHz",
"center_freq": 460000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 460000000,
"start_mod": "nfm",
},
"462mhz": {
"name": "462 MHz FRS/GMRS",
"center_freq": 462000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 462000000,
"start_mod": "nfm",
},
"467mhz": {
"name": "467 MHz FRS/GMRS",
"center_freq": 467000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 467000000,
"start_mod": "nfm",
},
"860mhz": {
"name": "860 MHz",
"center_freq": 860000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 860000000,
"start_mod": "nfm",
},
"862mhz": {
"name": "862 MHz",
"center_freq": 862000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 862000000,
"start_mod": "nfm",
},
"864mhz": {
"name": "864 MHz",
"center_freq": 864000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 864000000,
"start_mod": "nfm",
},
"866mhz": {
"name": "866 MHz",
"center_freq": 866000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 866000000,
"start_mod": "nfm",
},
"868mhz": {
"name": "868 MHz SRD Band",
"center_freq": 868000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 868000000,
"start_mod": "nfm",
},
"870mhz": {
"name": "870 MHz",
"center_freq": 870000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 870000000,
"start_mod": "nfm",
},
"915mhz": {
"name": "915 MHz ISM Band",
"center_freq": 915000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 915000000,
"start_mod": "nfm",
},
"1090mhz": {
"name": "1090 MHz",
"center_freq": 1090000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1090000000,
"start_mod": "nfm",
},
"1880mhz": {
"name": "1880 MHz",
"center_freq": 1880000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1880000000,
"start_mod": "nfm",
},
"1882mhz": {
"name": "1882 MHz",
"center_freq": 1882000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1882000000,
"start_mod": "nfm",
},
"1884mhz": {
"name": "1884 MHz",
"center_freq": 1884000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1884000000,
"start_mod": "nfm",
},
"1886mhz": {
"name": "1886 MHz",
"center_freq": 1886000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1886000000,
"start_mod": "nfm",
},
"1888mhz": {
"name": "1888 MHz",
"center_freq": 1888000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1888000000,
"start_mod": "nfm",
},
"1890mhz": {
"name": "1890 MHz",
"center_freq": 1890000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1890000000,
"start_mod": "nfm",
},
"1892mhz": {
"name": "1892 MHz",
"center_freq": 1892000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1892000000,
"start_mod": "nfm",
},
"1894mhz": {
"name": "1894 MHz",
"center_freq": 1894000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1894000000,
"start_mod": "nfm",
},
"1896mhz": {
"name": "1896 MHz",
"center_freq": 1896000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1896000000,
"start_mod": "nfm",
},
"1898mhz": {
"name": "1898 MHz",
"center_freq": 1898000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1898000000,
"start_mod": "nfm",
},
"1900mhz": {
"name": "1900 MHz",
"center_freq": 1900000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1900000000,
"start_mod": "nfm",
},
"23cm": {
"name": "23cm Ham Band",
"center_freq": 1270000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1270000000,
"start_mod": "nfm",
},
"13cm": {
"name": "13cm Ham Band",
"center_freq": 2370000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 2370000000,
"start_mod": "nfm",
},
"9cm": {
"name": "9cm Band",
"center_freq": 3440000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 3440000000,
"start_mod": "nfm",
},
"10m": {
"name": "10m Ham Band HF",
"center_freq": 29150000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 28283000,
"start_mod": "usb",
"direct_sampling": 2,
},
"19m": {
"name": "19m Broadcast Band HF",
"center_freq": 16000000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 15400000,
"start_mod": "am",
"direct_sampling": 2,
},
"20m": {
"name": "20m Ham Band HF",
"center_freq": 14150000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 14070000,
"start_mod": "usb",
"direct_sampling": 2,
},
"30m": {
"name": "30m Ham Band HF",
"center_freq": 10125000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 10142000,
"start_mod": "usb",
"direct_sampling": 2,
},
"40m": {
"name": "40m Ham Band HF",
"center_freq": 7100000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 7070000,
"start_mod": "lsb",
"direct_sampling": 2,
},
"49m": {
"name": "49m Broadcast Band HF",
"center_freq": 6000000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 6070000,
"start_mod": "am",
"direct_sampling": 2,
},
"80m": {
"name": "80m Ham Band HF",
"center_freq": 3650000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 3570000,
"start_mod": "lsb",
"direct_sampling": 2,
},
"160m": {
"name": "160m Band HF",
"center_freq": 1700000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 1440000,
"start_mod": "am",
"direct_sampling": 2,
},
},
},
}
# ==== Color themes ====
#A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels
# A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels
### default theme by teejez:
waterfall_colors = "[0x000000ff,0x0000ffff,0x00ffffff,0x00ff00ff,0xffff00ff,0xff0000ff,0xff00ffff,0xffffffff]"
waterfall_min_level = -88 #in dB
waterfall_colors = [0x000000FF, 0x0000FFFF, 0x00FFFFFF, 0x00FF00FF, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFFFFFFFF]
waterfall_min_level = -88 # in dB
waterfall_max_level = -20
waterfall_auto_level_margin = (5, 40)
waterfall_auto_level_margin = {"min": 5, "max": 40}
### old theme by HA7ILM:
#waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
#waterfall_min_level = -115 #in dB
#waterfall_max_level = 0
#waterfall_auto_level_margin = (20, 30)
# waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
# waterfall_min_level = -115 #in dB
# waterfall_max_level = 0
# waterfall_auto_level_margin = {"min": 20, "max": 30}
##For the old colors, you might also want to set [fft_voverlap_factor] to 0.
#Note: When the auto waterfall level button is clicked, the following happens:
# [waterfall_min_level] = [current_min_power_level] - [waterfall_auto_level_margin[0]]
# [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin[1]]
# Note: When the auto waterfall level button is clicked, the following happens:
# [waterfall_min_level] = [current_min_power_level] - [waterfall_auto_level_margin["min"]]
# [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin["max"]]
#
# ___|____________________________________|____________________________________|____________________________________|___> signal power
# \_waterfall_auto_level_margin[0]_/ |__ current_min_power_level | \_waterfall_auto_level_margin[1]_/
# current_max_power_level __|
# 3D view settings
mathbox_waterfall_frequency_resolution = 128 #bins
mathbox_waterfall_history_length = 10 #seconds
mathbox_waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
# ___|________________________________________|____________________________________|________________________________________|___> signal power
# \_waterfall_auto_level_margin["min"]_/ |__ current_min_power_level | \_waterfall_auto_level_margin["max"]_/
# current_max_power_level __|
# === Experimental settings ===
#Warning! The settings below are very experimental.
csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
# Warning! The settings below are very experimental.
csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
csdr_print_bufsizes = False # This prints the buffer sizes used for csdr processes.
csdr_through = False # Setting this True will print out how much data is going into the DSP chains.
nmux_memory = 50 #in megabytes. This sets the approximate size of the circular buffer used by nmux.
#Look up external IP address automatically from icanhazip.com, and use it as [server_hostname]
"""
print "[openwebrx-config] Detecting external IP address..."
import urllib2
server_hostname=urllib2.urlopen("http://icanhazip.com").read()[:-1]
print "[openwebrx-config] External IP address detected:", server_hostname
"""
csdr_through = False # Setting this True will print out how much data is going into the DSP chains.
nmux_memory = 50 # in megabytes. This sets the approximate size of the circular buffer used by nmux.
google_maps_api_key = ""
# how long should positions be visible on the map?
# they will start fading out after half of that
# in seconds; default: 2 hours
map_position_retention_time = 2 * 60 * 60
# decoder queue configuration
# due to the nature of some operating modes (ft8, ft8, jt9, jt65, wspr and js8), the data is recorded for a given amount
# of time (6 seconds up to 2 minutes) and decoded at the end. this can lead to very high peak loads.
# to mitigate this, the recordings will be queued and processed in sequence.
# the number of workers will limit the total amount of work (one worker will losely occupy one cpu / thread)
decoding_queue_workers = 2
# the maximum queue length will cause decodes to be dumped if the workers cannot keep up
# if you are running background services, make sure this number is high enough to accept the task influx during peaks
# i.e. this should be higher than the number of decoding services running at the same time
decoding_queue_length = 10
# wsjt decoding depth will allow more results, but will also consume more cpu
wsjt_decoding_depth = 3
# can also be set for each mode separately
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
wsjt_decoding_depths = {"jt65": 1}
# JS8 comes in different speeds: normal, slow, fast, turbo. This setting controls which ones are enabled.
js8_enabled_profiles = ["normal", "slow"]
# JS8 decoding depth; higher value will get more results, but will also consume more cpu
js8_decoding_depth = 3
temporary_directory = "/tmp/openwebrx"
services_enabled = False
services_decoders = ["ft8", "ft4", "wspr", "packet"]
# === aprs igate settings ===
# if you want to share your APRS decodes with the aprs network, configure these settings accordingly
aprs_callsign = "N0CALL"
aprs_igate_enabled = False
aprs_igate_server = "euro.aprs2.net"
aprs_igate_password = ""
# beacon uses the receiver_gps setting, so if you enable this, make sure the location is correct there
aprs_igate_beacon = False
# path to the aprs symbols repository (get it here: https://github.com/hessu/aprs-symbols)
aprs_symbols_path = "/opt/aprs-symbols/png"
# === PSK Reporter setting ===
# enable this if you want to upload all ft8, ft4 etc spots to pskreporter.info
# this also uses the receiver_gps setting from above, so make sure it contains a correct locator
pskreporter_enabled = False
pskreporter_callsign = "N0CALL"
# === Web admin settings ===
# this feature is experimental at the moment. it should not be enabled on shared receivers since it allows remote
# changes to the receiver settings. enable for testing in controlled environment only.
# webadmin_enabled = False

@ -0,0 +1,849 @@
# -*- coding: utf-8 -*-
"""
config_webrx: configuration options for OpenWebRX
This file is part of OpenWebRX,
an open-source SDR receiver software with a web UI.
Copyright (c) 2013-2015 by Andras Retzler <randras@sdr.hu>
Copyright (c) 2019-2020 by Jakob Ketterl <dd5jfk@darc.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In addition, as a special exception, the copyright holders
state that config_rtl.py and config_webrx.py are not part of the
Corresponding Source defined in GNU AGPL version 3 section 1.
(It means that you do not have to redistribute config_rtl.py and
config_webrx.py if you make any changes to these two configuration files,
and use them for running your web service with OpenWebRX.)
portions inspired by http://gephi.michalnovak.eu/config_webrx.py
"""
# configuration version. please only modify if you're able to perform the associated migration steps.
version = 2
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/jketterl/openwebrx/wiki/Configuration-guide
# ==== Server settings ====
web_port = 8073
max_clients = 10
# ==== Web GUI configuration ====
receiver_name = "KU2Y"
receiver_location = "Philadelphia, PA"
receiver_asl = 200
receiver_admin = "ku2y@amsat.org"
receiver_gps = (40.0376, -75.3492)
receiver_gps = {"lat": 40.0376, "lon": -75.3492}
photo_title = "ARISS"
photo_desc = """
You can add your own background photo and receiver information.<br />
Receiver is operated by: <a href="mailto:ku2y@amsat.org">ku2y@amsat.org</a><br/>
Device: RTL-SDR<br />
Antenna: <br />
Website: <a href="http://ariss-radio:8073" target="_blank">http://ariss-radio:8073</a>
"""
# ==== DSP/RX settings ====
fft_fps = 9
fft_size = 4096 # Should be power of 2
fft_voverlap_factor = (
0.3 # If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the diagram.
)
audio_compression = "adpcm" # valid values: "adpcm", "none"
fft_compression = "adpcm" # valid values: "adpcm", "none"
digimodes_enable = True # Decoding digimodes come with higher CPU usage.
digimodes_fft_size = 1024
# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes
# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1
digital_voice_unvoiced_quality = 1
# enables lookup of DMR ids using the radioid api
digital_voice_dmr_id_lookup = True
"""
Note: if you experience audio underruns while CPU usage is 100%, you can:
- decrease `samp_rate`,
- set `fft_voverlap_factor` to 0,
- decrease `fft_fps` and `fft_size`,
- limit the number of users by decreasing `max_clients`.
"""
# ==== I/Q sources ====
# (Uncomment the appropriate by removing # characters at the beginning of the corresponding lines.)
###############################################################################
# Is my SDR hardware supported? #
# Check here: https://github.com/jketterl/openwebrx/wiki/Supported-Hardware #
###############################################################################
# Currently supported types of sdr receivers:
# "rtl_sdr", "rtl_sdr_soapy", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr",
# "perseussdr", "lime_sdr", "pluto_sdr", "soapy_remote"
#
# In order to use rtl_sdr, you will need to install librtlsdr-dev and the connector.
# In order to use sdrplay, airspy or airspyhf, you will need to install soapysdr, the corresponding driver, and the
# connector.
#
# https://github.com/jketterl/owrx_connector
#
# In order to use Perseus HF you need to install the libperseus-sdr
#
# https://github.com/Microtelecom/libperseus-sdr
#
# and do the proper changes to the sdrs object below
# (see also Wiki in https://github.com/jketterl/openwebrx/wiki/Sample-configuration-for-Perseus-HF-receiver).
#
sdrs = {
"rtlsdr": {
"name": "RTL-SDR",
"type": "rtl_sdr",
"ppm": 0,
# you can change this if you use an upconverter. formula is:
# center_freq + lfo_offset = actual frequency on the sdr
# "lfo_offset": 0,
"profiles": {
"wx": {
"name": "Weather Band",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 161500000,
"start_mod": "nfm",
},
"70cm": {
"name": "70cm Band",
"center_freq": 435500000,
"rf_gain": 3,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"70cm-hi": {
"name": "70cm Band High Gain",
"center_freq": 435500000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"2m": {
"name": "2m Band",
"center_freq": 145000000,
"rf_gain": 15,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"2m-hi": {
"name": "2m Band High Gain",
"center_freq": 145000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"fm": {
"name": "FM Band",
"center_freq": 91000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 90000000,
"start_mod": "nfm",
},
"atc": {
"name": "Air Band - ATC",
"center_freq": 134000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"atc-hi": {
"name": "Air Band - ATC High Gain",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"noaa": {
"name": "NOAA Weather Satellites",
"center_freq": 137000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
"noaa-hi": {
"name": "NOAA Weather Satellites High Gain",
"center_freq": 137000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
"10m": {
"name": "10m Band",
"center_freq": 28000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 28500000,
"start_mod": "usb",
},
"6m": {
"name": "6m Band",
"center_freq": 51000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 51000000,
"start_mod": "usb",
},
"110MHz": {
"name": "110 MHz",
"center_freq": 110000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 110000000,
"start_mod": "nfm",
},
"112MHz": {
"name": "112 MHz",
"center_freq": 112000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 112000000,
"start_mod": "nfm",
},
"114MHz": {
"name": "114 MHz",
"center_freq": 114000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 114000000,
"start_mod": "nfm",
},
"116mhz": {
"name": "116 MHz",
"center_freq": 116000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 116000000,
"start_mod": "nfm",
},
"118mhz": {
"name": "118 MHz",
"center_freq": 118000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 118000000,
"start_mod": "nfm",
},
"120mhz": {
"name": "120 MHz",
"center_freq": 120000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 120000000,
"start_mod": "nfm",
},
"122mhz": {
"name": "122 MHz",
"center_freq": 122000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 122000000,
"start_mod": "nfm",
},
"124mhz": {
"name": "124 MHz",
"center_freq": 124000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 124000000,
"start_mod": "nfm",
},
"126mhz": {
"name": "126 MHz",
"center_freq": 126000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 126000000,
"start_mod": "nfm",
},
"128mhz": {
"name": "126 MHz",
"center_freq": 128000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 128000000,
"start_mod": "nfm",
},
"130mhz": {
"name": "130 MHz",
"center_freq": 130000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 130000000,
"start_mod": "nfm",
},
"132mhz": {
"name": "132 MHz",
"center_freq": 132000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 132000000,
"start_mod": "nfm",
},
"134mhz": {
"name": "134 MHz",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "nfm",
},
"136mhz": {
"name": "136 MHz",
"center_freq": 136000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 136000000,
"start_mod": "nfm",
},
"138mhz": {
"name": "138 MHz",
"center_freq": 138000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 138000000,
"start_mod": "nfm",
},
"140mhz": {
"name": "140 MHz",
"center_freq": 140000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 140000000,
"start_mod": "nfm",
},
"142mhz": {
"name": "142 MHz",
"center_freq": 142000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 142000000,
"start_mod": "nfm",
},
"144mhz": {
"name": "144 MHz",
"center_freq": 144000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 144000000,
"start_mod": "nfm",
},
"146mhz": {
"name": "146 MHz",
"center_freq": 146000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 146000000,
"start_mod": "nfm",
},
"148mhz": {
"name": "148 MHz",
"center_freq": 148000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 148000000,
"start_mod": "nfm",
},
"150mhz": {
"name": "150 MHz",
"center_freq": 150000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 150000000,
"start_mod": "nfm",
},
"152mhz": {
"name": "152 MHz",
"center_freq": 152000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 152000000,
"start_mod": "nfm",
},
"154mhz": {
"name": "154 MHz",
"center_freq": 154000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 154000000,
"start_mod": "nfm",
},
"156mhz": {
"name": "156 MHz",
"center_freq": 156000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 156100000,
"start_mod": "nfm",
},
"158mhz": {
"name": "158 MHz",
"center_freq": 158000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 158000000,
"start_mod": "nfm",
},
"160mhz": {
"name": "160 MHz",
"center_freq": 160000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 160000000,
"start_mod": "nfm",
},
"162mhz": {
"name": "162 MHz",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 162000000,
"start_mod": "nfm",
},
"164mhz": {
"name": "164 MHz",
"center_freq": 164000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 164000000,
"start_mod": "nfm",
},
"166mhz": {
"name": "166 MHz",
"center_freq": 166000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 166000000,
"start_mod": "nfm",
},
"168mhz": {
"name": "168 MHz",
"center_freq": 168000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 168000000,
"start_mod": "nfm",
},
"170mhz": {
"name": "170 MHz",
"center_freq": 170000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 170000000,
"start_mod": "nfm",
},
"172mhz": {
"name": "172 MHz",
"center_freq": 172000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 172000000,
"start_mod": "nfm",
},
"174mhz": {
"name": "174 MHz",
"center_freq": 174000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 174000000,
"start_mod": "nfm",
},
"433mhz": {
"name": "433 MHz",
"center_freq": 433000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 433000000,
"start_mod": "nfm",
},
"446mhz": {
"name": "446 MHz (PMR)",
"center_freq": 446000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 446000000,
"start_mod": "nfm",
},
"460mhz": {
"name": "460 MHz",
"center_freq": 460000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 460000000,
"start_mod": "nfm",
},
"860mhz": {
"name": "860 MHz",
"center_freq": 860000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 860000000,
"start_mod": "nfm",
},
"862mhz": {
"name": "862 MHz",
"center_freq": 862000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 862000000,
"start_mod": "nfm",
},
"864mhz": {
"name": "864 MHz",
"center_freq": 864000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 864000000,
"start_mod": "nfm",
},
"866mhz": {
"name": "866 MHz",
"center_freq": 866000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 866000000,
"start_mod": "nfm",
},
"868mhz": {
"name": "868 MHz",
"center_freq": 868000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 868000000,
"start_mod": "nfm",
},
"870mhz": {
"name": "870 MHz",
"center_freq": 870000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 870000000,
"start_mod": "nfm",
},
"915mhz": {
"name": "915 MHz",
"center_freq": 915000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 915000000,
"start_mod": "nfm",
},
"1090mhz": {
"name": "1090 MHz",
"center_freq": 1090000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1090000000,
"start_mod": "nfm",
},
"1880mhz": {
"name": "1880 MHz",
"center_freq": 1880000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1880000000,
"start_mod": "nfm",
},
"1882mhz": {
"name": "1882 MHz",
"center_freq": 1882000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1882000000,
"start_mod": "nfm",
},
"1884mhz": {
"name": "1884 MHz",
"center_freq": 1884000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1884000000,
"start_mod": "nfm",
},
"1886mhz": {
"name": "1886 MHz",
"center_freq": 1886000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1886000000,
"start_mod": "nfm",
},
"1888mhz": {
"name": "1888 MHz",
"center_freq": 1888000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1888000000,
"start_mod": "nfm",
},
"1890mhz": {
"name": "1890 MHz",
"center_freq": 1890000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1890000000,
"start_mod": "nfm",
},
"1892mhz": {
"name": "1892 MHz",
"center_freq": 1892000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1892000000,
"start_mod": "nfm",
},
"1894mhz": {
"name": "1894 MHz",
"center_freq": 1894000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1894000000,
"start_mod": "nfm",
},
"1896mhz": {
"name": "1896 MHz",
"center_freq": 1896000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1896000000,
"start_mod": "nfm",
},
"1898mhz": {
"name": "1898 MHz",
"center_freq": 1898000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1898000000,
"start_mod": "nfm",
},
"1900mhz": {
"name": "1900 MHz",
"center_freq": 1900000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1900000000,
"start_mod": "nfm",
},
"23cm": {
"name": "23cm Band",
"center_freq": 1270000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1270000000,
"start_mod": "nfm",
},
"13cm": {
"name": "13cm Band",
"center_freq": 2370000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 2370000000,
"start_mod": "nfm",
},
"9cm": {
"name": "9cm Band",
"center_freq": 3440000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 3440000000,
"start_mod": "nfm",
},
},
},
"rtl_sdr-2": {
"name": "RTL-SDR HF",
"type": "rtl_sdr_soapy",
"ppm": 0,
"direct_sampling": 2,
"profiles": {
"10m": {
"name": "10m",
"center_freq": 29150000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 28283000,
"start_mod": "usb",
},
"19m": {
"name": "19m Broadcast",
"center_freq": 16000000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 15400000,
"start_mod": "am",
},
"20m": {
"name": "20m",
"center_freq": 14150000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 14070000,
"start_mod": "usb",
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 10142000,
"start_mod": "usb",
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 7070000,
"start_mod": "lsb",
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 6070000,
"start_mod": "am",
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 3570000,
"start_mod": "lsb",
},
"160m": {
"name": "160m",
"center_freq": 1700000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 1440000,
"start_mod": "am",
},
},
},
}
# ==== Color themes ====
# A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels
### default theme by teejez:
waterfall_colors = [0x000000FF, 0x0000FFFF, 0x00FFFFFF, 0x00FF00FF, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFFFFFFFF]
waterfall_min_level = -88 # in dB
waterfall_max_level = -20
waterfall_auto_level_margin = {"min": 5, "max": 40}
### old theme by HA7ILM:
# waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
# waterfall_min_level = -115 #in dB
# waterfall_max_level = 0
# waterfall_auto_level_margin = {"min": 20, "max": 30}
##For the old colors, you might also want to set [fft_voverlap_factor] to 0.
# Note: When the auto waterfall level button is clicked, the following happens:
# [waterfall_min_level] = [current_min_power_level] - [waterfall_auto_level_margin["min"]]
# [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin["max"]]
#
# ___|________________________________________|____________________________________|________________________________________|___> signal power
# \_waterfall_auto_level_margin["min"]_/ |__ current_min_power_level | \_waterfall_auto_level_margin["max"]_/
# current_max_power_level __|
# === Experimental settings ===
# Warning! The settings below are very experimental.
csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
csdr_print_bufsizes = False # This prints the buffer sizes used for csdr processes.
csdr_through = False # Setting this True will print out how much data is going into the DSP chains.
nmux_memory = 50 # in megabytes. This sets the approximate size of the circular buffer used by nmux.
google_maps_api_key = ""
# how long should positions be visible on the map?
# they will start fading out after half of that
# in seconds; default: 2 hours
map_position_retention_time = 2 * 60 * 60
# decoder queue configuration
# due to the nature of some operating modes (ft8, ft8, jt9, jt65, wspr and js8), the data is recorded for a given amount
# of time (6 seconds up to 2 minutes) and decoded at the end. this can lead to very high peak loads.
# to mitigate this, the recordings will be queued and processed in sequence.
# the number of workers will limit the total amount of work (one worker will losely occupy one cpu / thread)
decoding_queue_workers = 2
# the maximum queue length will cause decodes to be dumped if the workers cannot keep up
# if you are running background services, make sure this number is high enough to accept the task influx during peaks
# i.e. this should be higher than the number of decoding services running at the same time
decoding_queue_length = 10
# wsjt decoding depth will allow more results, but will also consume more cpu
wsjt_decoding_depth = 3
# can also be set for each mode separately
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
wsjt_decoding_depths = {"jt65": 1}
# JS8 comes in different speeds: normal, slow, fast, turbo. This setting controls which ones are enabled.
js8_enabled_profiles = ["normal", "slow"]
# JS8 decoding depth; higher value will get more results, but will also consume more cpu
js8_decoding_depth = 3
temporary_directory = "/tmp/openwebrx"
services_enabled = False
services_decoders = ["ft8", "ft4", "wspr", "packet"]
# === aprs igate settings ===
# if you want to share your APRS decodes with the aprs network, configure these settings accordingly
aprs_callsign = "N0CALL"
aprs_igate_enabled = False
aprs_igate_server = "euro.aprs2.net"
aprs_igate_password = ""
# beacon uses the receiver_gps setting, so if you enable this, make sure the location is correct there
aprs_igate_beacon = False
# path to the aprs symbols repository (get it here: https://github.com/hessu/aprs-symbols)
aprs_symbols_path = "/opt/aprs-symbols/png"
# === PSK Reporter setting ===
# enable this if you want to upload all ft8, ft4 etc spots to pskreporter.info
# this also uses the receiver_gps setting from above, so make sure it contains a correct locator
pskreporter_enabled = False
pskreporter_callsign = "N0CALL"
# === Web admin settings ===
# this feature is experimental at the moment. it should not be enabled on shared receivers since it allows remote
# changes to the receiver settings. enable for testing in controlled environment only.
# webadmin_enabled = False

@ -0,0 +1,434 @@
# -*- coding: utf-8 -*-
"""
config_webrx: configuration options for OpenWebRX
This file is part of OpenWebRX,
an open-source SDR receiver software with a web UI.
Copyright (c) 2013-2015 by Andras Retzler <randras@sdr.hu>
Copyright (c) 2019-2020 by Jakob Ketterl <dd5jfk@darc.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In addition, as a special exception, the copyright holders
state that config_rtl.py and config_webrx.py are not part of the
Corresponding Source defined in GNU AGPL version 3 section 1.
(It means that you do not have to redistribute config_rtl.py and
config_webrx.py if you make any changes to these two configuration files,
and use them for running your web service with OpenWebRX.)
"""
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/simonyiszk/openwebrx/wiki
# ==== Server settings ====
web_port = 8073
max_clients = 10
# ==== Web GUI configuration ====
receiver_name = "KU2Y"
receiver_location = "Philadelphia, PA"
receiver_asl = 200
receiver_admin = "ku2y@amsat.org"
receiver_gps = (40.0376, -75.3492)
photo_title = "ARISS"
photo_desc = """
You can add your own background photo and receiver information.<br />
Receiver is operated by: <a href="mailto:ku2y@amsat.org">ku2y@amsat.org</a><br/>
Device: RTL-SDR<br />
Antenna: <br />
Website: <a href="http://ariss-radio:8073" target="_blank">http://ariss-radio:8073</a>
"""
# ==== sdr.hu listing ====
# If you want your ham receiver to be listed publicly on sdr.hu, then take the following steps:
# 1. Register at: http://sdr.hu/register
# 2. You will get an unique key by email. Copy it and paste here:
sdrhu_key = ""
# 3. Set this setting to True to enable listing:
sdrhu_public_listing = False
server_hostname = "localhost"
# ==== DSP/RX settings ====
fft_fps = 9
fft_size = 4096 # Should be power of 2
fft_voverlap_factor = (
0.3 # If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the diagram.
)
audio_compression = "adpcm" # valid values: "adpcm", "none"
fft_compression = "adpcm" # valid values: "adpcm", "none"
digimodes_enable = True # Decoding digimodes come with higher CPU usage.
digimodes_fft_size = 1024
# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes
# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1
digital_voice_unvoiced_quality = 1
# enables lookup of DMR ids using the radioid api
digital_voice_dmr_id_lookup = True
"""
Note: if you experience audio underruns while CPU usage is 100%, you can:
- decrease `samp_rate`,
- set `fft_voverlap_factor` to 0,
- decrease `fft_fps` and `fft_size`,
- limit the number of users by decreasing `max_clients`.
"""
# ==== I/Q sources ====
# (Uncomment the appropriate by removing # characters at the beginning of the corresponding lines.)
#################################################################################################
# Is my SDR hardware supported? #
# Check here: https://github.com/simonyiszk/openwebrx/wiki#guides-for-receiver-hardware-support #
#################################################################################################
# Currently supported types of sdr receivers:
# "rtl_sdr", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr"
#
# In order to use rtl_sdr, you will need to install librtlsdr-dev and the connector.
# In order to use sdrplay, airspy or airspyhf, you will need to install soapysdr, the corresponding driver, and the
# connector.
#
# https://github.com/jketterl/owrx_connector
#
# NOTE: The connector sources have replaced the old piped nmux style of reading input. If you still have any sdrs
# configured that have type endin in "_connector", simply remove that suffix.
sdrs = {
"rtlsdr": {
"name": "RTL-SDR",
"type": "rtl_sdr",
"ppm": 0,
# you can change this if you use an upconverter. formula is:
# center_freq + lfo_offset = actual frequency on the sdr
# "lfo_offset": 0,
"profiles": {
"70cm": {
"name": "70cm Band",
"center_freq": 435500000,
"rf_gain": 3,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"70cm-hi": {
"name": "70cm Band High Gain",
"center_freq": 435500000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"2m": {
"name": "2m Band",
"center_freq": 145000000,
"rf_gain": 15,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"2m-hi": {
"name": "2m Band High Gain",
"center_freq": 145000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"wx": {
"name": "Weather Band",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 161500000,
"start_mod": "nfm",
},
"fm": {
"name": "FM Band",
"center_freq": 91000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 90000000,
"start_mod": "nfm",
},
"atc": {
"name": "Air Band - ATC",
"center_freq": 134000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"atc-hi": {
"name": "Air Band - ATC High Gain",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"noaa": {
"name": "NOAA Weather Satellites",
"center_freq": 137000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
"noaa-hi": {
"name": "NOAA Weather Satellites High Gain",
"center_freq": 137000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
# "20m": {
# "name": "20m",
# "direct_sampling": 2,
# "center_freq": 14150000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 14070000,
# "start_mod": "usb",
# },
# "30m": {
# "name": "30m",
# "direct_sampling": 2,
# "center_freq": 10125000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 10142000,
# "start_mod": "usb",
# },
# "40m": {
# "name": "40m",
# "direct_sampling": 2,
# "center_freq": 7100000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 7070000,
# "start_mod": "usb",
# },
# "80m": {
# "name": "80m",
# "direct_sampling": 2,
# "center_freq": 3650000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 3570000,
# "start_mod": "usb",
# },
# "49m": {
# "name": "49m Broadcast",
# "direct_sampling": 2,
# "center_freq": 6000000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 6070000,
# "start_mod": "am",
# },
# "MW": {
# "name": "Medium Wave AM Broadcast",
# "direct_sampling": 2,
# "center_freq": 1000000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 1500000,
# "start_mod": "am",
# },
},
},
"airspy": {
"name": "Airspy HF+",
"type": "airspyhf",
"ppm": 0,
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"rf_gain": 10,
"samp_rate": 768000,
"start_freq": 14070000,
"start_mod": "usb",
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"rf_gain": 10,
"samp_rate": 192000,
"start_freq": 10142000,
"start_mod": "usb",
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"rf_gain": 10,
"samp_rate": 256000,
"start_freq": 7070000,
"start_mod": "usb",
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"rf_gain": 10,
"samp_rate": 768000,
"start_freq": 3570000,
"start_mod": "usb",
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"rf_gain": 10,
"samp_rate": 768000,
"start_freq": 6070000,
"start_mod": "am",
},
},
},
"sdrplay": {
"name": "SDRPlay RSP2",
"type": "sdrplay",
"ppm": 0,
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 14070000,
"start_mod": "usb",
"antenna": "Antenna A",
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"rf_gain": 0,
"samp_rate": 250000,
"start_freq": 10142000,
"start_mod": "usb",
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 7070000,
"start_mod": "usb",
"antenna": "Antenna A",
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 3570000,
"start_mod": "usb",
"antenna": "Antenna A",
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 6070000,
"start_mod": "am",
"antenna": "Antenna A",
},
},
},
}
# ==== Color themes ====
# A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels
### default theme by teejez:
waterfall_colors = [0x000000FF, 0x0000FFFF, 0x00FFFFFF, 0x00FF00FF, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFFFFFFFF]
waterfall_min_level = -88 # in dB
waterfall_max_level = -20
waterfall_auto_level_margin = (5, 40)
### old theme by HA7ILM:
# waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
# waterfall_min_level = -115 #in dB
# waterfall_max_level = 0
# waterfall_auto_level_margin = (20, 30)
##For the old colors, you might also want to set [fft_voverlap_factor] to 0.
# Note: When the auto waterfall level button is clicked, the following happens:
# [waterfall_min_level] = [current_min_power_level] - [waterfall_auto_level_margin[0]]
# [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin[1]]
#
# ___|____________________________________|____________________________________|____________________________________|___> signal power
# \_waterfall_auto_level_margin[0]_/ |__ current_min_power_level | \_waterfall_auto_level_margin[1]_/
# current_max_power_level __|
# === Experimental settings ===
# Warning! The settings below are very experimental.
csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
csdr_print_bufsizes = False # This prints the buffer sizes used for csdr processes.
csdr_through = False # Setting this True will print out how much data is going into the DSP chains.
nmux_memory = 50 # in megabytes. This sets the approximate size of the circular buffer used by nmux.
google_maps_api_key = ""
# how long should positions be visible on the map?
# they will start fading out after half of that
# in seconds; default: 2 hours
map_position_retention_time = 2 * 60 * 60
# wsjt decoder queue configuration
# due to the nature of the wsjt operating modes (ft8, ft8, jt9, jt65 and wspr), the data is recorded for a given amount
# of time (6.5 seconds up to 2 minutes) and decoded at the end. this can lead to very high peak loads.
# to mitigate this, the recordings will be queued and processed in sequence.
# the number of workers will limit the total amount of work (one worker will losely occupy one cpu / thread)
wsjt_queue_workers = 2
# the maximum queue length will cause decodes to be dumped if the workers cannot keep up
# if you are running background services, make sure this number is high enough to accept the task influx during peaks
# i.e. this should be higher than the number of wsjt services running at the same time
wsjt_queue_length = 10
# wsjt decoding depth will allow more results, but will also consume more cpu
wsjt_decoding_depth = 3
# can also be set for each mode separately
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
wsjt_decoding_depths = {"jt65": 1}
temporary_directory = "/tmp"
services_enabled = False
services_decoders = ["ft8", "ft4", "wspr", "packet"]
# === aprs igate settings ===
# if you want to share your APRS decodes with the aprs network, configure these settings accordingly
aprs_callsign = "N0CALL"
aprs_igate_enabled = False
aprs_igate_server = "euro.aprs2.net"
aprs_igate_password = ""
# beacon uses the receiver_gps setting, so if you enable this, make sure the location is correct there
aprs_igate_beacon = False
# path to the aprs symbols repository (get it here: https://github.com/hessu/aprs-symbols)
aprs_symbols_path = "/opt/aprs-symbols/png"
# === PSK Reporter setting ===
# enable this if you want to upload all ft8, ft4 etc spots to pskreporter.info
# this also uses the receiver_gps setting from above, so make sure it contains a correct locator
pskreporter_enabled = False
pskreporter_callsign = "N0CALL"

@ -0,0 +1,954 @@
# -*- coding: utf-8 -*-
"""
config_webrx: configuration options for OpenWebRX
This file is part of OpenWebRX,
an open-source SDR receiver software with a web UI.
Copyright (c) 2013-2015 by Andras Retzler <randras@sdr.hu>
Copyright (c) 2019-2020 by Jakob Ketterl <dd5jfk@darc.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In addition, as a special exception, the copyright holders
state that config_rtl.py and config_webrx.py are not part of the
Corresponding Source defined in GNU AGPL version 3 section 1.
(It means that you do not have to redistribute config_rtl.py and
config_webrx.py if you make any changes to these two configuration files,
and use them for running your web service with OpenWebRX.)
"""
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/simonyiszk/openwebrx/wiki
# ==== Server settings ====
web_port = 8073
max_clients = 10
# ==== Web GUI configuration ====
receiver_name = "KU2Y"
receiver_location = "Philadelphia, PA"
receiver_asl = 200
receiver_admin = "ku2y@amsat.org"
receiver_gps = (40.0376, -75.3492)
photo_title = "ARISS"
photo_desc = """
You can add your own background photo and receiver information.<br />
Receiver is operated by: <a href="mailto:ku2y@amsat.org">ku2y@amsat.org</a><br/>
Device: RTL-SDR<br />
Antenna: <br />
Website: <a href="http://ariss-radio:8073" target="_blank">http://ariss-radio:8073</a>
"""
# ==== sdr.hu listing ====
# If you want your ham receiver to be listed publicly on sdr.hu, then take the following steps:
# 1. Register at: http://sdr.hu/register
# 2. You will get an unique key by email. Copy it and paste here:
sdrhu_key = ""
# 3. Set this setting to True to enable listing:
sdrhu_public_listing = False
server_hostname = "localhost"
# ==== DSP/RX settings ====
fft_fps = 9
fft_size = 4096 # Should be power of 2
fft_voverlap_factor = (
0.3 # If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the diagram.
)
audio_compression = "adpcm" # valid values: "adpcm", "none"
fft_compression = "adpcm" # valid values: "adpcm", "none"
digimodes_enable = True # Decoding digimodes come with higher CPU usage.
digimodes_fft_size = 1024
# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes
# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1
digital_voice_unvoiced_quality = 1
# enables lookup of DMR ids using the radioid api
digital_voice_dmr_id_lookup = True
"""
Note: if you experience audio underruns while CPU usage is 100%, you can:
- decrease `samp_rate`,
- set `fft_voverlap_factor` to 0,
- decrease `fft_fps` and `fft_size`,
- limit the number of users by decreasing `max_clients`.
"""
# ==== I/Q sources ====
# (Uncomment the appropriate by removing # characters at the beginning of the corresponding lines.)
#################################################################################################
# Is my SDR hardware supported? #
# Check here: https://github.com/simonyiszk/openwebrx/wiki#guides-for-receiver-hardware-support #
#################################################################################################
# Currently supported types of sdr receivers:
# "rtl_sdr", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr"
#
# In order to use rtl_sdr, you will need to install librtlsdr-dev and the connector.
# In order to use sdrplay, airspy or airspyhf, you will need to install soapysdr, the corresponding driver, and the
# connector.
#
# https://github.com/jketterl/owrx_connector
#
# NOTE: The connector sources have replaced the old piped nmux style of reading input. If you still have any sdrs
# configured that have type endin in "_connector", simply remove that suffix.
sdrs = {
"rtlsdr": {
"name": "RTL-SDR",
"type": "rtl_sdr",
"ppm": 0,
# you can change this if you use an upconverter. formula is:
# center_freq + lfo_offset = actual frequency on the sdr
# "lfo_offset": 0,
"profiles": {
"70cm": {
"name": "70cm Band",
"center_freq": 435500000,
"rf_gain": 3,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"70cm-hi": {
"name": "70cm Band High Gain",
"center_freq": 435500000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"2m": {
"name": "2m Band",
"center_freq": 145000000,
"rf_gain": 15,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"2m-hi": {
"name": "2m Band High Gain",
"center_freq": 145000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"wx": {
"name": "Weather Band",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 161500000,
"start_mod": "nfm",
},
"fm": {
"name": "FM Band",
"center_freq": 91000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 90000000,
"start_mod": "nfm",
},
"atc": {
"name": "Air Band - ATC",
"center_freq": 134000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"atc-hi": {
"name": "Air Band - ATC High Gain",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"noaa": {
"name": "NOAA Weather Satellites",
"center_freq": 137000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
"noaa-hi": {
"name": "NOAA Weather Satellites High Gain",
"center_freq": 137000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
# "20m": {
# "name": "20m",
# "direct_sampling": 2,
# "center_freq": 14150000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 14070000,
# "start_mod": "usb",
# },
# "30m": {
# "name": "30m",
# "direct_sampling": 2,
# "center_freq": 10125000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 10142000,
# "start_mod": "usb",
# },
# "40m": {
# "name": "40m",
# "direct_sampling": 2,
# "center_freq": 7100000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 7070000,
# "start_mod": "usb",
# },
# "80m": {
# "name": "80m",
# "direct_sampling": 2,
# "center_freq": 3650000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 3570000,
# "start_mod": "usb",
# },
# "49m": {
# "name": "49m Broadcast",
# "direct_sampling": 2,
# "center_freq": 6000000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 6070000,
# "start_mod": "am",
# },
# "MW": {
# "name": "Medium Wave AM Broadcast",
# "direct_sampling": 2,
# "center_freq": 1000000,
# "rf_gain": 30,
# "samp_rate": 2400000,
# "start_freq": 1500000,
# "start_mod": "am",
# },
"110mhz": {
"name": "110 MHz",
"center_freq": 110000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 110000000,
"start_mod": "nfm",
},
"112mhz": {
"name": "112 MHz",
"center_freq": 112000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 112000000,
"start_mod": "nfm",
},
"114mhz": {
"name": "114 MHz",
"center_freq": 114000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 114000000,
"start_mod": "nfm",
},
"116mhz": {
"name": "116 MHz",
"center_freq": 116000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 116000000,
"start_mod": "nfm",
},
"118mhz": {
"name": "118 MHz",
"center_freq": 118000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 118000000,
"start_mod": "nfm",
},
"120mhz": {
"name": "120 MHz",
"center_freq": 120000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 120000000,
"start_mod": "nfm",
},
"122mhz": {
"name": "122 MHz",
"center_freq": 122000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 122000000,
"start_mod": "nfm",
},
"124mhz": {
"name": "124 MHz",
"center_freq": 124000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 124000000,
"start_mod": "nfm",
},
"126mhz": {
"name": "126 MHz",
"center_freq": 126000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 126000000,
"start_mod": "nfm",
},
"128mhz": {
"name": "126 MHz",
"center_freq": 128000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 128000000,
"start_mod": "nfm",
},
"130mhz": {
"name": "130 MHz",
"center_freq": 130000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 130000000,
"start_mod": "nfm",
},
"132mhz": {
"name": "132 MHz",
"center_freq": 132000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 132000000,
"start_mod": "nfm",
},
"134mhz": {
"name": "134 MHz",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "nfm",
},
"136mhz": {
"name": "136 MHz",
"center_freq": 136000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 136000000,
"start_mod": "nfm",
},
"138mhz": {
"name": "138 MHz",
"center_freq": 138000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 138000000,
"start_mod": "nfm",
},
"140mhz": {
"name": "140 MHz",
"center_freq": 140000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 140000000,
"start_mod": "nfm",
},
"142mhz": {
"name": "142 MHz",
"center_freq": 142000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 142000000,
"start_mod": "nfm",
},
"144mhz": {
"name": "144 MHz",
"center_freq": 144000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 144000000,
"start_mod": "nfm",
},
"146mhz": {
"name": "146 MHz",
"center_freq": 146000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 146000000,
"start_mod": "nfm",
},
"148mhz": {
"name": "148 MHz",
"center_freq": 148000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 148000000,
"start_mod": "nfm",
},
"150mhz": {
"name": "150 MHz",
"center_freq": 150000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 150000000,
"start_mod": "nfm",
},
"152mhz": {
"name": "152 MHz",
"center_freq": 152000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 152000000,
"start_mod": "nfm",
},
"154mhz": {
"name": "154 MHz",
"center_freq": 154000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 154000000,
"start_mod": "nfm",
},
"156mhz": {
"name": "156 MHz",
"center_freq": 156000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 156100000,
"start_mod": "nfm",
},
"158mhz": {
"name": "158 MHz",
"center_freq": 158000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 158000000,
"start_mod": "nfm",
},
"160mhz": {
"name": "160 MHz",
"center_freq": 160000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 160000000,
"start_mod": "nfm",
},
"162mhz": {
"name": "162 MHz",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 162000000,
"start_mod": "nfm",
},
"164mhz": {
"name": "164 MHz",
"center_freq": 164000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 164000000,
"start_mod": "nfm",
},
"166mhz": {
"name": "166 MHz",
"center_freq": 166000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 166000000,
"start_mod": "nfm",
},
"168mhz": {
"name": "168 MHz",
"center_freq": 168000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 168000000,
"start_mod": "nfm",
},
"170mhz": {
"name": "170 MHz",
"center_freq": 170000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 170000000,
"start_mod": "nfm",
},
"172mhz": {
"name": "172 MHz",
"center_freq": 172000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 172000000,
"start_mod": "nfm",
},
"174mhz": {
"name": "174 MHz",
"center_freq": 174000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 174000000,
"start_mod": "nfm",
},
"433mhz": {
"name": "433 MHz",
"center_freq": 433000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 433000000,
"start_mod": "nfm",
},
"446mhz": {
"name": "446 MHz (PMR)",
"center_freq": 446000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 446000000,
"start_mod": "nfm",
},
"460mhz": {
"name": "460 MHz",
"center_freq": 460000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 460000000,
"start_mod": "nfm",
},
"860mhz": {
"name": "860 MHz",
"center_freq": 860000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 860000000,
"start_mod": "nfm",
},
"862mhz": {
"name": "862 MHz",
"center_freq": 862000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 862000000,
"start_mod": "nfm",
},
"864mhz": {
"name": "864 MHz",
"center_freq": 864000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 864000000,
"start_mod": "nfm",
},
"866mhz": {
"name": "866 MHz",
"center_freq": 866000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 866000000,
"start_mod": "nfm",
},
"868mhz": {
"name": "868 MHz",
"center_freq": 868000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 868000000,
"start_mod": "nfm",
},
"870mhz": {
"name": "870 MHz",
"center_freq": 870000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 870000000,
"start_mod": "nfm",
},
"915mhz": {
"name": "915 MHz",
"center_freq": 915000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 915000000,
"start_mod": "nfm",
},
"1090mhz": {
"name": "1090 MHz",
"center_freq": 1090000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1090000000,
"start_mod": "nfm",
},
"1880mhz": {
"name": "1880 MHz",
"center_freq": 1880000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1880000000,
"start_mod": "nfm",
},
"1882mhz": {
"name": "1882 MHz",
"center_freq": 1882000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1882000000,
"start_mod": "nfm",
},
"1884mhz": {
"name": "1884 MHz",
"center_freq": 1884000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1884000000,
"start_mod": "nfm",
},
"1886mhz": {
"name": "1886 MHz",
"center_freq": 1886000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1886000000,
"start_mod": "nfm",
},
"1888mhz": {
"name": "1888 MHz",
"center_freq": 1888000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1888000000,
"start_mod": "nfm",
},
"1890mhz": {
"name": "1890 MHz",
"center_freq": 1890000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1890000000,
"start_mod": "nfm",
},
"1892mhz": {
"name": "1892 MHz",
"center_freq": 1892000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1892000000,
"start_mod": "nfm",
},
"1894mhz": {
"name": "1894 MHz",
"center_freq": 1894000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1894000000,
"start_mod": "nfm",
},
"1896mhz": {
"name": "1896 MHz",
"center_freq": 1896000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1896000000,
"start_mod": "nfm",
},
"1898mhz": {
"name": "1898 MHz",
"center_freq": 1898000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1898000000,
"start_mod": "nfm",
},
"1900mhz": {
"name": "1900 MHz",
"center_freq": 1900000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1900000000,
"start_mod": "nfm",
},
"23cm": {
"name": "23cm (HAM)",
"center_freq": 1270000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1270000000,
"start_mod": "nfm",
},
"13cm": {
"name": "13cm (HAM)",
"center_freq": 2370000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 2370000000,
"start_mod": "nfm",
},
"9cm": {
"name": "9cm (HAM)",
"center_freq": 3440000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 3440000000,
"start_mod": "nfm",
},
},
},
"rtl_sdr_V3": {
"name": "RTL-SDR V3 HF+",
"type": "rtl_sdr_soapy",
"ppm": 0,
"direct_sampling": 2,
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 14070000,
"start_mod": "usb",
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 10142000,
"start_mod": "usb",
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 7070000,
"start_mod": "lsb",
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 3570000,
"start_mod": "lsb",
},
"160m": {
"name": "160m",
"center_freq": 1900000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 1840000,
"start_mod": "lsb",
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"rf_gain": 10,
"samp_rate": 2400000,
"start_freq": 6070000,
"start_mod": "am",
},
},
},
"airspy": {
"name": "Airspy HF+",
"type": "airspyhf",
"ppm": 0,
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"rf_gain": 10,
"samp_rate": 768000,
"start_freq": 14070000,
"start_mod": "usb",
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"rf_gain": 10,
"samp_rate": 192000,
"start_freq": 10142000,
"start_mod": "usb",
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"rf_gain": 10,
"samp_rate": 256000,
"start_freq": 7070000,
"start_mod": "usb",
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"rf_gain": 10,
"samp_rate": 768000,
"start_freq": 3570000,
"start_mod": "usb",
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"rf_gain": 10,
"samp_rate": 768000,
"start_freq": 6070000,
"start_mod": "am",
},
},
},
"sdrplay": {
"name": "SDRPlay RSP2",
"type": "sdrplay",
"ppm": 0,
"profiles": {
"20m": {
"name": "20m",
"center_freq": 14150000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 14070000,
"start_mod": "usb",
"antenna": "Antenna A",
},
"30m": {
"name": "30m",
"center_freq": 10125000,
"rf_gain": 0,
"samp_rate": 250000,
"start_freq": 10142000,
"start_mod": "usb",
},
"40m": {
"name": "40m",
"center_freq": 7100000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 7070000,
"start_mod": "usb",
"antenna": "Antenna A",
},
"80m": {
"name": "80m",
"center_freq": 3650000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 3570000,
"start_mod": "usb",
"antenna": "Antenna A",
},
"49m": {
"name": "49m Broadcast",
"center_freq": 6000000,
"rf_gain": 0,
"samp_rate": 500000,
"start_freq": 6070000,
"start_mod": "am",
"antenna": "Antenna A",
},
},
},
}
# ==== Color themes ====
# A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels
### default theme by teejez:
waterfall_colors = [0x000000FF, 0x0000FFFF, 0x00FFFFFF, 0x00FF00FF, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFFFFFFFF]
waterfall_min_level = -88 # in dB
waterfall_max_level = -20
waterfall_auto_level_margin = (5, 40)
### old theme by HA7ILM:
# waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
# waterfall_min_level = -115 #in dB
# waterfall_max_level = 0
# waterfall_auto_level_margin = (20, 30)
##For the old colors, you might also want to set [fft_voverlap_factor] to 0.
# Note: When the auto waterfall level button is clicked, the following happens:
# [waterfall_min_level] = [current_min_power_level] - [waterfall_auto_level_margin[0]]
# [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin[1]]
#
# ___|____________________________________|____________________________________|____________________________________|___> signal power
# \_waterfall_auto_level_margin[0]_/ |__ current_min_power_level | \_waterfall_auto_level_margin[1]_/
# current_max_power_level __|
# === Experimental settings ===
# Warning! The settings below are very experimental.
csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
csdr_print_bufsizes = False # This prints the buffer sizes used for csdr processes.
csdr_through = False # Setting this True will print out how much data is going into the DSP chains.
nmux_memory = 50 # in megabytes. This sets the approximate size of the circular buffer used by nmux.
google_maps_api_key = ""
# how long should positions be visible on the map?
# they will start fading out after half of that
# in seconds; default: 2 hours
map_position_retention_time = 2 * 60 * 60
# wsjt decoder queue configuration
# due to the nature of the wsjt operating modes (ft8, ft8, jt9, jt65 and wspr), the data is recorded for a given amount
# of time (6.5 seconds up to 2 minutes) and decoded at the end. this can lead to very high peak loads.
# to mitigate this, the recordings will be queued and processed in sequence.
# the number of workers will limit the total amount of work (one worker will losely occupy one cpu / thread)
wsjt_queue_workers = 2
# the maximum queue length will cause decodes to be dumped if the workers cannot keep up
# if you are running background services, make sure this number is high enough to accept the task influx during peaks
# i.e. this should be higher than the number of wsjt services running at the same time
wsjt_queue_length = 10
# wsjt decoding depth will allow more results, but will also consume more cpu
wsjt_decoding_depth = 3
# can also be set for each mode separately
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
wsjt_decoding_depths = {"jt65": 1}
temporary_directory = "/tmp"
services_enabled = False
services_decoders = ["ft8", "ft4", "wspr", "packet"]
# === aprs igate settings ===
# if you want to share your APRS decodes with the aprs network, configure these settings accordingly
aprs_callsign = "N0CALL"
aprs_igate_enabled = False
aprs_igate_server = "euro.aprs2.net"
aprs_igate_password = ""
# beacon uses the receiver_gps setting, so if you enable this, make sure the location is correct there
aprs_igate_beacon = False
# path to the aprs symbols repository (get it here: https://github.com/hessu/aprs-symbols)
aprs_symbols_path = "/opt/aprs-symbols/png"
# === PSK Reporter setting ===
# enable this if you want to upload all ft8, ft4 etc spots to pskreporter.info
# this also uses the receiver_gps setting from above, so make sure it contains a correct locator
pskreporter_enabled = False
pskreporter_callsign = "N0CALL"

@ -0,0 +1,777 @@
# -*- coding: utf-8 -*-
"""
config_webrx: configuration options for OpenWebRX
This file is part of OpenWebRX,
an open-source SDR receiver software with a web UI.
Copyright (c) 2013-2015 by Andras Retzler <randras@sdr.hu>
Copyright (c) 2019-2020 by Jakob Ketterl <dd5jfk@darc.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In addition, as a special exception, the copyright holders
state that config_rtl.py and config_webrx.py are not part of the
Corresponding Source defined in GNU AGPL version 3 section 1.
(It means that you do not have to redistribute config_rtl.py and
config_webrx.py if you make any changes to these two configuration files,
and use them for running your web service with OpenWebRX.)
portions inspired by http://gephi.michalnovak.eu/config_webrx.py
"""
# configuration version. please only modify if you're able to perform the associated migration steps.
version = 2
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/jketterl/openwebrx/wiki/Configuration-guide
# ==== Server settings ====
web_port = 8073
max_clients = 10
# ==== Web GUI configuration ====
receiver_name = "KU2Y"
receiver_location = "Philadelphia, PA"
receiver_asl = 200
receiver_admin = "ku2y@amsat.org"
receiver_gps = (40.0376, -75.3492)
receiver_gps = {"lat": 40.0376, "lon": -75.3492}
photo_title = "ARISS"
photo_desc = """
You can add your own background photo and receiver information.<br />
Receiver is operated by: <a href="mailto:ku2y@amsat.org">ku2y@amsat.org</a><br/>
Device: RTL-SDR<br />
Antenna: <br />
Website: <a href="http://ariss-radio:8073" target="_blank">http://ariss-radio:8073</a>
"""
# ==== DSP/RX settings ====
fft_fps = 9
fft_size = 4096 # Should be power of 2
fft_voverlap_factor = (
0.3 # If fft_voverlap_factor is above 0, multiple FFTs will be used for creating a line on the diagram.
)
audio_compression = "adpcm" # valid values: "adpcm", "none"
fft_compression = "adpcm" # valid values: "adpcm", "none"
digimodes_enable = True # Decoding digimodes come with higher CPU usage.
digimodes_fft_size = 1024
# determines the quality, and thus the cpu usage, for the ambe codec used by digital voice modes
# if you're running on a Raspi (up to 3B+) you'll want to leave this on 1
digital_voice_unvoiced_quality = 1
# enables lookup of DMR ids using the radioid api
digital_voice_dmr_id_lookup = True
"""
Note: if you experience audio underruns while CPU usage is 100%, you can:
- decrease `samp_rate`,
- set `fft_voverlap_factor` to 0,
- decrease `fft_fps` and `fft_size`,
- limit the number of users by decreasing `max_clients`.
"""
# ==== I/Q sources ====
# (Uncomment the appropriate by removing # characters at the beginning of the corresponding lines.)
###############################################################################
# Is my SDR hardware supported? #
# Check here: https://github.com/jketterl/openwebrx/wiki/Supported-Hardware #
###############################################################################
# Currently supported types of sdr receivers:
# "rtl_sdr", "rtl_sdr_soapy", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr",
# "perseussdr", "lime_sdr", "pluto_sdr", "soapy_remote"
#
# In order to use rtl_sdr, you will need to install librtlsdr-dev and the connector.
# In order to use sdrplay, airspy or airspyhf, you will need to install soapysdr, the corresponding driver, and the
# connector.
#
# https://github.com/jketterl/owrx_connector
#
# In order to use Perseus HF you need to install the libperseus-sdr
#
# https://github.com/Microtelecom/libperseus-sdr
#
# and do the proper changes to the sdrs object below
# (see also Wiki in https://github.com/jketterl/openwebrx/wiki/Sample-configuration-for-Perseus-HF-receiver).
#
sdrs = {
"rtlsdr": {
"name": "RTL-SDR",
"type": "rtl_sdr",
"ppm": 0,
# you can change this if you use an upconverter. formula is:
# center_freq + lfo_offset = actual frequency on the sdr
# "lfo_offset": 0,
"profiles": {
"wx": {
"name": "Weather Band",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 161500000,
"start_mod": "nfm",
},
"70cm": {
"name": "70cm Band",
"center_freq": 435500000,
"rf_gain": 3,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"70cm-hi": {
"name": "70cm Band High Gain",
"center_freq": 435500000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 4355000000,
"start_mod": "nfm",
},
"2m": {
"name": "2m Band",
"center_freq": 145000000,
"rf_gain": 15,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"2m-hi": {
"name": "2m Band High Gain",
"center_freq": 145000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 145725000,
"start_mod": "nfm",
},
"fm": {
"name": "FM Band",
"center_freq": 91000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 90000000,
"start_mod": "nfm",
},
"atc": {
"name": "Air Band - ATC",
"center_freq": 134000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"atc-hi": {
"name": "Air Band - ATC High Gain",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "am",
},
"noaa": {
"name": "NOAA Weather Satellites",
"center_freq": 137000000,
"rf_gain": 20,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
"noaa-hi": {
"name": "NOAA Weather Satellites High Gain",
"center_freq": 137000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 137000000,
"start_mod": "fm",
},
"10m": {
"name": "10m Band",
"center_freq": 28000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 28500000,
"start_mod": "usb",
},
"6m": {
"name": "6m Band",
"center_freq": 51000000,
"rf_gain": 25,
"samp_rate": 2400000,
"start_freq": 51000000,
"start_mod": "usb",
},
"110MHz": {
"name": "110 MHz",
"center_freq": 110000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 110000000,
"start_mod": "nfm",
},
"112MHz": {
"name": "112 MHz",
"center_freq": 112000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 112000000,
"start_mod": "nfm",
},
"114MHz": {
"name": "114 MHz",
"center_freq": 114000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 114000000,
"start_mod": "nfm",
},
"116mhz": {
"name": "116 MHz",
"center_freq": 116000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 116000000,
"start_mod": "nfm",
},
"118mhz": {
"name": "118 MHz",
"center_freq": 118000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 118000000,
"start_mod": "nfm",
},
"120mhz": {
"name": "120 MHz",
"center_freq": 120000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 120000000,
"start_mod": "nfm",
},
"122mhz": {
"name": "122 MHz",
"center_freq": 122000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 122000000,
"start_mod": "nfm",
},
"124mhz": {
"name": "124 MHz",
"center_freq": 124000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 124000000,
"start_mod": "nfm",
},
"126mhz": {
"name": "126 MHz",
"center_freq": 126000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 126000000,
"start_mod": "nfm",
},
"128mhz": {
"name": "126 MHz",
"center_freq": 128000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 128000000,
"start_mod": "nfm",
},
"130mhz": {
"name": "130 MHz",
"center_freq": 130000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 130000000,
"start_mod": "nfm",
},
"132mhz": {
"name": "132 MHz",
"center_freq": 132000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 132000000,
"start_mod": "nfm",
},
"134mhz": {
"name": "134 MHz",
"center_freq": 134000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 134000000,
"start_mod": "nfm",
},
"136mhz": {
"name": "136 MHz",
"center_freq": 136000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 136000000,
"start_mod": "nfm",
},
"138mhz": {
"name": "138 MHz",
"center_freq": 138000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 138000000,
"start_mod": "nfm",
},
"140mhz": {
"name": "140 MHz",
"center_freq": 140000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 140000000,
"start_mod": "nfm",
},
"142mhz": {
"name": "142 MHz",
"center_freq": 142000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 142000000,
"start_mod": "nfm",
},
"144mhz": {
"name": "144 MHz",
"center_freq": 144000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 144000000,
"start_mod": "nfm",
},
"146mhz": {
"name": "146 MHz",
"center_freq": 146000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 146000000,
"start_mod": "nfm",
},
"148mhz": {
"name": "148 MHz",
"center_freq": 148000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 148000000,
"start_mod": "nfm",
},
"150mhz": {
"name": "150 MHz",
"center_freq": 150000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 150000000,
"start_mod": "nfm",
},
"152mhz": {
"name": "152 MHz",
"center_freq": 152000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 152000000,
"start_mod": "nfm",
},
"154mhz": {
"name": "154 MHz",
"center_freq": 154000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 154000000,
"start_mod": "nfm",
},
"156mhz": {
"name": "156 MHz",
"center_freq": 156000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 156100000,
"start_mod": "nfm",
},
"158mhz": {
"name": "158 MHz",
"center_freq": 158000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 158000000,
"start_mod": "nfm",
},
"160mhz": {
"name": "160 MHz",
"center_freq": 160000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 160000000,
"start_mod": "nfm",
},
"162mhz": {
"name": "162 MHz",
"center_freq": 162000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 162000000,
"start_mod": "nfm",
},
"164mhz": {
"name": "164 MHz",
"center_freq": 164000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 164000000,
"start_mod": "nfm",
},
"166mhz": {
"name": "166 MHz",
"center_freq": 166000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 166000000,
"start_mod": "nfm",
},
"168mhz": {
"name": "168 MHz",
"center_freq": 168000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 168000000,
"start_mod": "nfm",
},
"170mhz": {
"name": "170 MHz",
"center_freq": 170000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 170000000,
"start_mod": "nfm",
},
"172mhz": {
"name": "172 MHz",
"center_freq": 172000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 172000000,
"start_mod": "nfm",
},
"174mhz": {
"name": "174 MHz",
"center_freq": 174000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 174000000,
"start_mod": "nfm",
},
"433mhz": {
"name": "433 MHz",
"center_freq": 433000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 433000000,
"start_mod": "nfm",
},
"446mhz": {
"name": "446 MHz (PMR)",
"center_freq": 446000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 446000000,
"start_mod": "nfm",
},
"460mhz": {
"name": "460 MHz",
"center_freq": 460000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 460000000,
"start_mod": "nfm",
},
"860mhz": {
"name": "860 MHz",
"center_freq": 860000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 860000000,
"start_mod": "nfm",
},
"862mhz": {
"name": "862 MHz",
"center_freq": 862000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 862000000,
"start_mod": "nfm",
},
"864mhz": {
"name": "864 MHz",
"center_freq": 864000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 864000000,
"start_mod": "nfm",
},
"866mhz": {
"name": "866 MHz",
"center_freq": 866000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 866000000,
"start_mod": "nfm",
},
"868mhz": {
"name": "868 MHz",
"center_freq": 868000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 868000000,
"start_mod": "nfm",
},
"870mhz": {
"name": "870 MHz",
"center_freq": 870000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 870000000,
"start_mod": "nfm",
},
"915mhz": {
"name": "915 MHz",
"center_freq": 915000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 915000000,
"start_mod": "nfm",
},
"1090mhz": {
"name": "1090 MHz",
"center_freq": 1090000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1090000000,
"start_mod": "nfm",
},
"1880mhz": {
"name": "1880 MHz",
"center_freq": 1880000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1880000000,
"start_mod": "nfm",
},
"1882mhz": {
"name": "1882 MHz",
"center_freq": 1882000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1882000000,
"start_mod": "nfm",
},
"1884mhz": {
"name": "1884 MHz",
"center_freq": 1884000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1884000000,
"start_mod": "nfm",
},
"1886mhz": {
"name": "1886 MHz",
"center_freq": 1886000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1886000000,
"start_mod": "nfm",
},
"1888mhz": {
"name": "1888 MHz",
"center_freq": 1888000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1888000000,
"start_mod": "nfm",
},
"1890mhz": {
"name": "1890 MHz",
"center_freq": 1890000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1890000000,
"start_mod": "nfm",
},
"1892mhz": {
"name": "1892 MHz",
"center_freq": 1892000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1892000000,
"start_mod": "nfm",
},
"1894mhz": {
"name": "1894 MHz",
"center_freq": 1894000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1894000000,
"start_mod": "nfm",
},
"1896mhz": {
"name": "1896 MHz",
"center_freq": 1896000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1896000000,
"start_mod": "nfm",
},
"1898mhz": {
"name": "1898 MHz",
"center_freq": 1898000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1898000000,
"start_mod": "nfm",
},
"1900mhz": {
"name": "1900 MHz",
"center_freq": 1900000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1900000000,
"start_mod": "nfm",
},
"23cm": {
"name": "23cm Band",
"center_freq": 1270000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 1270000000,
"start_mod": "nfm",
},
"13cm": {
"name": "13cm Band",
"center_freq": 2370000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 2370000000,
"start_mod": "nfm",
},
"9cm": {
"name": "9cm Band",
"center_freq": 3440000000,
"rf_gain": 30,
"samp_rate": 2400000,
"start_freq": 3440000000,
"start_mod": "nfm",
},
},
},
}
# ==== Color themes ====
# A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels
### default theme by teejez:
waterfall_colors = [0x000000FF, 0x0000FFFF, 0x00FFFFFF, 0x00FF00FF, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFFFFFFFF]
waterfall_min_level = -88 # in dB
waterfall_max_level = -20
waterfall_auto_level_margin = {"min": 5, "max": 40}
### old theme by HA7ILM:
# waterfall_colors = "[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]"
# waterfall_min_level = -115 #in dB
# waterfall_max_level = 0
# waterfall_auto_level_margin = {"min": 20, "max": 30}
##For the old colors, you might also want to set [fft_voverlap_factor] to 0.
# Note: When the auto waterfall level button is clicked, the following happens:
# [waterfall_min_level] = [current_min_power_level] - [waterfall_auto_level_margin["min"]]
# [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin["max"]]
#
# ___|________________________________________|____________________________________|________________________________________|___> signal power
# \_waterfall_auto_level_margin["min"]_/ |__ current_min_power_level | \_waterfall_auto_level_margin["max"]_/
# current_max_power_level __|
# === Experimental settings ===
# Warning! The settings below are very experimental.
csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
csdr_print_bufsizes = False # This prints the buffer sizes used for csdr processes.
csdr_through = False # Setting this True will print out how much data is going into the DSP chains.
nmux_memory = 50 # in megabytes. This sets the approximate size of the circular buffer used by nmux.
google_maps_api_key = ""
# how long should positions be visible on the map?
# they will start fading out after half of that
# in seconds; default: 2 hours
map_position_retention_time = 2 * 60 * 60
# decoder queue configuration
# due to the nature of some operating modes (ft8, ft8, jt9, jt65, wspr and js8), the data is recorded for a given amount
# of time (6 seconds up to 2 minutes) and decoded at the end. this can lead to very high peak loads.
# to mitigate this, the recordings will be queued and processed in sequence.
# the number of workers will limit the total amount of work (one worker will losely occupy one cpu / thread)
decoding_queue_workers = 2
# the maximum queue length will cause decodes to be dumped if the workers cannot keep up
# if you are running background services, make sure this number is high enough to accept the task influx during peaks
# i.e. this should be higher than the number of decoding services running at the same time
decoding_queue_length = 10
# wsjt decoding depth will allow more results, but will also consume more cpu
wsjt_decoding_depth = 3
# can also be set for each mode separately
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
wsjt_decoding_depths = {"jt65": 1}
# JS8 comes in different speeds: normal, slow, fast, turbo. This setting controls which ones are enabled.
js8_enabled_profiles = ["normal", "slow"]
# JS8 decoding depth; higher value will get more results, but will also consume more cpu
js8_decoding_depth = 3
temporary_directory = "/tmp/openwebrx"
services_enabled = False
services_decoders = ["ft8", "ft4", "wspr", "packet"]
# === aprs igate settings ===
# if you want to share your APRS decodes with the aprs network, configure these settings accordingly
aprs_callsign = "N0CALL"
aprs_igate_enabled = False
aprs_igate_server = "euro.aprs2.net"
aprs_igate_password = ""
# beacon uses the receiver_gps setting, so if you enable this, make sure the location is correct there
aprs_igate_beacon = False
# path to the aprs symbols repository (get it here: https://github.com/hessu/aprs-symbols)
aprs_symbols_path = "/opt/aprs-symbols/png"
# === PSK Reporter setting ===
# enable this if you want to upload all ft8, ft4 etc spots to pskreporter.info
# this also uses the receiver_gps setting from above, so make sure it contains a correct locator
pskreporter_enabled = False
pskreporter_callsign = "N0CALL"
# === Web admin settings ===
# this feature is experimental at the moment. it should not be enabled on shared receivers since it allows remote
# changes to the receiver settings. enable for testing in controlled environment only.
# webadmin_enabled = False

@ -6,5 +6,5 @@ ps -ef | grep rtl | grep -v grep | awk '{print $2}' | sudo xargs kill
echo -e "Script to auto decode CubeSat Simulator telemetry\n"
sudo rtl_fm -f 440.386M -s 22050 -g 48 - | multimon-ng -a AFSK1200 -A -t raw -
sudo rtl_fm -f 434.9M -s 22050 -g 48 - | multimon-ng -a AFSK1200 -A -t raw -

@ -3,31 +3,29 @@ configversion=2
crashed=false
[audio]
gain=224
gain=-74
udp_host=localhost
[fft]
fft_size=4096
split=40
[gui]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\0\0\0\0$\0\0\x3\xff\0\0\x2\xff\0\0\0\0\0\0\0\x42\0\0\x2\xe8\0\0\x2\xed\0\0\0\0\x2\0\0\0\x4\0)
state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x1\0\0\x1&\0\0\x2\x65\xfc\x2\0\0\0\x2\xfc\0\0\0\x41\0\0\x1\x90\0\0\x1\x83\0\b\0 \xfa\0\0\0\x1\x2\0\0\0\x3\xfb\0\0\0\x18\0\x44\0o\0\x63\0k\0I\0n\0p\0u\0t\0\x43\0t\0l\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1.\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0R\0x\0O\0p\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\x62\0\a\xff\xff\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0\x46\0\x66\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xc8\0\a\xff\xff\xfc\0\0\x1\xd7\0\0\0\xcf\0\0\0\xc8\0\xff\xff\xff\xfa\0\0\0\0\x2\0\0\0\x2\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0\x41\0u\0\x64\0i\0o\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xc8\0\xff\xff\xff\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0R\0\x44\0S\0\0\0\0\0\xff\xff\xff\xff\0\0\0h\0\xff\xff\xff\0\0\0\x3\0\0\x2\xd4\0\0\0\xe9\xfc\x1\0\0\0\x1\xfb\0\0\0\x1a\0\x44\0o\0\x63\0k\0\x42\0o\0o\0k\0m\0\x61\0r\0k\0s\x1\0\0\0\0\0\0\x2\xd4\0\0\x1\x42\0\xff\xff\xff\0\0\x2\xd4\0\0\x1v\0\0\0\x1\0\0\0\x2\0\0\0\b\0\0\0\x2\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\x16\0m\0\x61\0i\0n\0T\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\xb3\0\0\0)\0\0\x3\xad\0\0\x3\v\0\0\0\xb5\0\0\0G\0\0\x3\xad\0\0\x3\v\0\0\0\0\0\0\0\0\x4\0)
state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x1\0\0\x1\x36\0\0\x2h\xfc\x2\0\0\0\x2\xfc\0\0\0\x42\0\0\x1\x99\0\0\x1\x89\0\b\0!\xfa\0\0\0\x1\x2\0\0\0\x3\xfb\0\0\0\x18\0\x44\0o\0\x63\0k\0I\0n\0p\0u\0t\0\x43\0t\0l\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\x37\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0R\0x\0O\0p\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1g\0\a\xff\xff\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0\x46\0\x66\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xc8\0\a\xff\xff\xfc\0\0\x1\xe1\0\0\0\xc9\0\0\0\xc8\0\xff\xff\xff\xfa\0\0\0\0\x2\0\0\0\x2\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0\x41\0u\0\x64\0i\0o\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xc8\0\xff\xff\xff\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0R\0\x44\0S\0\0\0\0\0\xff\xff\xff\xff\0\0\0h\0\xff\xff\xff\0\0\0\x3\0\0\0\0\0\0\0\0\xfc\x1\0\0\0\x1\xfb\0\0\0\x1a\0\x44\0o\0\x63\0k\0\x42\0o\0o\0k\0m\0\x61\0r\0k\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x42\0\xff\xff\xff\0\0\x1\xbd\0\0\x2h\0\0\0\x1\0\0\0\x2\0\0\0\b\0\0\0\x2\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\x16\0m\0\x61\0i\0n\0T\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
[input]
device="rtl=0"
frequency=145800000
frequency=93300000
gains=@Variant(\0\0\0\b\0\0\0\x1\0\0\0\x6\0L\0N\0\x41\0\0\0\x2\0\0\x1\xf0)
sample_rate=512000
sample_rate=1800000
[output]
device=alsa_output.platform-soc_audio.analog-mono
[receiver]
agc_decay=100
agc_off=true
demod=3
filter_high_cut=5000
filter_low_cut=-5000
offset=-202000
sql_level=-42.5
demod=5
filter_high_cut=80000
filter_low_cut=-80000
offset=357600
sql_level=-59.7
[remote_control]
allowed_hosts=::ffff:127.0.0.1

@ -11,9 +11,13 @@ sudo systemctl stop rtl_tcp
pkill -o chromium &>/dev/null
sudo killall -9 rtl_tcp &>/dev/null
sudo killall -9 java &>/dev/null
/home/pi/FoxTelem_1.09g_linux/FoxTelem &
sudo killall -9 gqrx &>/dev/null
/home/pi/FoxTelem_1.09k6_linux/FoxTelem &
#/usr/bin/chromium-browser --noerrdialogs --disable-infobars http://localhost:8073 &>/dev/null &

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=/home/pi/fox.sh
Name=FoxTelem
Comment=Test Version 1.09 for CubeSatSim
Icon=/home/pi/Downloads/amsat.jpg
Path=/home/pi
#Terminal=true
Categories=HamRadio
Keywords=Ham Radio;AMSAT

@ -0,0 +1,22 @@
[GLOBAL]
WINDOW_POS_X=148
WINDOW_POS_Y=36
WINDOW_WIDTH=982
WINDOW_HEIGHT=654
USE_LOCAL_TIME=false
TIME_FORMAT=%Y/%m/%d %H:%M:%S
USE_NSEW=false
USE_IMPERIAL=false
DEFAULT_QTH=AMSAT-HQ.qth
OPEN_MODULES=Amateur;AMSAT
CURRENT_PAGE=1
MAIN_WIN_POS=false
MOD_WIN_POS=false
MOD_STATE=false
[TLE]
LAST_UPDATE=1589043270
[MODULES]
GRID=1;0;3;0;3;0;0;3;3;4;2;3;4;0;2;3;3;4;2;4

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=/usr/bin/gpredict
Name=Gpredict
Comment=ISS and Satellite Tracking for ARISS Radio Pi
Icon=/home/pi/Downloads/gpredict.png
Path=/home/pi
Terminal=false
Categories=HamRadio
Keywords=Ham Radio;AMSAT

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=/home/pi/gqrx.sh
Name=Gqrx
Comment=Gqrx SDR
Icon=/home/pi/Downloads/gqrx.png
Path=/home/pi
Terminal=true
Categories=HamRadio
Keywords=Ham Radio;Gqrx;SDR

@ -1,16 +1,16 @@
#!/bin/bash
# script to auto decode CubeSat Simulator telemetry
#!/bin/bash
# script to run gqrx
# kill rtl if running
ps -ef | grep rtl | grep -v grep | awk '{print $2}' | sudo xargs kill
echo "Script to run Gqrx for ARISS Radio Pi"
# kill openwebrx process if running
ps -ef | grep openwebrx | grep -v grep | awk '{print $2}' | sudo xargs kill
echo
# kill csdr process if running
ps -ef | grep csdr | grep -v grep | awk '{print $2}' | sudo xargs kill
sudo killall -9 java &>/dev/null
echo -e "Script to run Gqrx\n"
sudo systemctl stop rtl_tcp
/home/pi/gqrx-sdr-2.11.5-linux-rpi3/gqrx
sudo killall -9 rtl_tcp &>/dev/null
sudo systemctl stop openwebrx
/usr/bin/gqrx

@ -4,16 +4,13 @@
echo -e "\nKilling all SDR or RTL processes \n"
# kill rtl if running
ps -ef | grep rtl_ | grep -v grep | awk '{print $2}' | sudo xargs kill > /dev/null 2>&1
sudo killall -9 csdr
# kill openwebrx process if running
ps -ef | grep openwebrx | grep -v grep | awk '{print $2}' | sudo xargs kill > /dev/null 2>&1
sudo killall -9 openwebrx
# kill csdr process if running
ps -ef | grep csdr | grep -v grep | awk '{print $2}' | sudo xargs kill > /dev/null 2>&1
sudo killall -9 rtl_tcp
# kill gqrx process if running
ps -ef | grep gqrx-sdr-2.11.5-linux-rpi3/gqrx | grep -v grep | awk '{print $2}' | sudo xargs kill > /dev/null 2>&1
sudo fuser -k 8073/tcp
sudo killall -9 FoxTelem

@ -0,0 +1,28 @@
#!/bin/bash
# script to run RTL-TCP in Direct Sampling Mode
echo "Script to run RTL-TCP Direct Sampling for ARISS Radio Pi"
echo
ip=$(hostname -I|cut -f1 -d ' ')
echo "IP Address to use in SDR is: $ip:1234"
echo
ssid=$(iwgetid -r)
echo "Note: you need to be on the Wifi network: $ssid"
echo
sudo killall -9 java &>/dev/null
sudo killall -9 gqrx &>/dev/null
sudo systemctl stop rtl_tcp
sudo systemctl stop openwebrx
sudo /bin/sh -c '/usr/local/bin/rtl_tcp -a $(hostname -I|cut -f1 -d " ") -D 2'

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=/home/pi/rtl-tcp.sh
Name=RTL-TCP
Comment=RTL-TCP for SDR#
Icon=/home/pi/Downloads/rtl-sdr.jpeg
Path=/home/pi
Terminal=true
Categories=HamRadio
Keywords=Ham Radio;RTL-SDR

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash
# script to run RTL-TCP Server
#
# On SDR client, use 10.3.141.1:1234 to connect
@ -29,6 +29,8 @@ sudo killall -9 java &>/dev/null
sudo systemctl stop openwebrx
sudo killall -9 rtl_tcp &>/dev/null
sudo systemctl start rtl_tcp
$SHELL

@ -0,0 +1,11 @@
[Desktop Entry]
Type=Application
Exec=/home/pi/sdr-2m.sh
Name=SDR 2m Band
Comment=openwebrx for 2m band
Icon=/home/pi/Downloads/sdr.ico
Path=/home/pi
Terminal=true
Categories=HamRadio
Keywords=Ham Radio;SDR

@ -0,0 +1,34 @@
#!/bin/bash
# script to run OpenWebRX SDR in HF
echo "Script to run Web SDR in HF for ARISS Radio Pi"
echo
ip=$(hostname -I|cut -f1 -d ' ')
echo "IP Address to use in web browsers is: $ip:8073"
echo
ssid=$(iwgetid -r)
echo "Note: you need to be on the Wifi network: $ssid"
echo
sudo killall -9 java &>/dev/null
sudo systemctl stop rtl_tcp
sudo killall -9 rtl_tcp &>/dev/null
sudo systemctl stop openwebrx
sudo cp /etc/openwebrx/config_webrx_hf.py /etc/openwebrx/config_webrx.py
sudo systemctl restart openwebrx
/usr/bin/chromium-browser --noerrdialogs --disable-infobars http://localhost:8073 &>/dev/null &
$SHELL

@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=/home/pi/sdr.sh
Name=Web SDR
Comment=openwebrx for Web SDR
Icon=/home/pi/Downloads/sdr.ico
Path=/home/pi
Terminal=true
Categories=HamRadio
Keywords=Ham Radio;SDR

@ -4,6 +4,8 @@ To use FoxTelem with the CubeSat Simulator, you will need to download the latest
https://www.g0kla.com/foxtelem/downloads/test/
Next, download the .MASTER files in the correct version number directory and put them in the FoxTelem spacecraft folder.
Install and run FoxTelem per the instructions.
If version you downloaded has a directory of the same name here, download all the files in the correct version number directory and put them in the FoxTelem spacecraft folder.Run FoxTelem, then go under Spacecraft/Add and select the .MASTER files to add the CubeSat Simulator to FoxTelem.
Run FoxTelem, then go under Spacecraft/Add and select the .MASTER files to add the CubeSat Simulator to FoxTelem.

@ -1,6 +1,10 @@
This spreadsheet is for analyzing the CubeSat Simulator telemetry.
It has been tested with Office 365 (Windows) and Office Excel for Mac (Version: 16.16.6) and LibreOffice Calc Version: 6.1.4.2 (Windows)
This is only used for the AFSK 1200 APRS telemetry mode. The latest version of the CubeSatSim supports Fox-1 telemetry emulation, so the use of this mode is encouraged - it does not use this spreadsheet as the telemetry is automatically decoded and graphed.
Setting up FoxTelem is described here https://github.com/alanbjohnston/CubeSatSim/wiki/Ground-Station
This spreadsheet has been tested with Office 365 (Windows) and Office Excel for Mac (Version: 16.16.6) and LibreOffice Calc Version: 6.1.4.2 (Windows)
A version for Google Docs is available for copying and download at:

Loading…
Cancel
Save

Powered by TurnKey Linux.