diff --git a/groundstation/config_webrx_vhf.py b/groundstation/config_webrx_vhf.py index d37ae80e..46f8c2dd 100644 --- a/groundstation/config_webrx_vhf.py +++ b/groundstation/config_webrx_vhf.py @@ -31,12 +31,15 @@ config_webrx: configuration options for OpenWebRX 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 + 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 @@ -48,6 +51,7 @@ 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.
@@ -57,15 +61,6 @@ Antenna:
Website: http://ariss-radio:8073 """ -# ==== 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 @@ -96,13 +91,14 @@ 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 # -################################################################################################# +############################################################################### +# Is my SDR hardware supported? # +# Check here: https://github.com/jketterl/openwebrx/wiki/Supported-Hardware # +############################################################################### # Currently supported types of sdr receivers: -# "rtl_sdr", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr" +# "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 @@ -110,8 +106,13 @@ Note: if you experience audio underruns while CPU usage is 100%, you can: # # 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. +# 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": { @@ -684,160 +685,6 @@ sdrs = { }, }, }, -# "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 ==== @@ -848,21 +695,21 @@ sdrs = { 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_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]] +# [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 __| +# ___|________________________________________|____________________________________|________________________________________|___> 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. @@ -879,23 +726,29 @@ google_maps_api_key = "" # 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. +# 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) -wsjt_queue_workers = 2 +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 wsjt services running at the same time -wsjt_queue_length = 10 +# 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} -temporary_directory = "/tmp" +# 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"] @@ -917,3 +770,8 @@ aprs_symbols_path = "/opt/aprs-symbols/png" # 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