Merge branch 'develop' into rf103

This commit is contained in:
Jakob Ketterl 2020-11-12 23:45:39 +01:00
commit 69a5e0bc5d
3 changed files with 47 additions and 16 deletions

View File

@ -99,7 +99,7 @@ digital_voice_unvoiced_quality = 1
digital_voice_dmr_id_lookup = True 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`, - decrease `samp_rate`,
- set `fft_voverlap_factor` to 0, - set `fft_voverlap_factor` to 0,
- decrease `fft_fps` and `fft_size`, - decrease `fft_fps` and `fft_size`,
@ -116,21 +116,11 @@ Note: if you experience audio underruns while CPU usage is 100%, you can:
# Currently supported types of sdr receivers: # Currently supported types of sdr receivers:
# "rtl_sdr", "rtl_sdr_soapy", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr", # "rtl_sdr", "rtl_sdr_soapy", "sdrplay", "hackrf", "airspy", "airspyhf", "fifi_sdr",
# "perseussdr", "lime_sdr", "pluto_sdr", "soapy_remote" # "perseussdr", "lime_sdr", "pluto_sdr", "soapy_remote", "hpsdr", "red_pitaya", "uhd",
# # "radioberry", "fcdpp", "rtl_tcp"
# 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 # For more details on specific types, please checkout the wiki:
# connector. # https://github.com/jketterl/openwebrx/wiki/Supported-Hardware#sdr-devices
#
# 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 = { sdrs = {
"rtlsdr": { "rtlsdr": {

View File

@ -69,6 +69,7 @@ class FeatureDetector(object):
"radioberry": ["soapy_connector", "soapy_radioberry"], "radioberry": ["soapy_connector", "soapy_radioberry"],
"fcdpp": ["soapy_connector", "soapy_fcdpp"], "fcdpp": ["soapy_connector", "soapy_fcdpp"],
"rf103": ["rf103_sdr"], "rf103": ["rf103_sdr"],
"hpsdr": ["hpsdr_connector"],
# optional features and their requirements # optional features and their requirements
"digital_voice_digiham": ["digiham", "sox"], "digital_voice_digiham": ["digiham", "sox"],
"digital_voice_dsd": ["dsd", "sox", "digiham"], "digital_voice_dsd": ["dsd", "sox", "digiham"],
@ -496,3 +497,10 @@ class FeatureDetector(object):
def has_rf103_sdr(self): def has_rf103_sdr(self):
return self.command_is_runnable("rf103_sdr") return self.command_is_runnable("rf103_sdr")
def has_hpsdr_connector(self):
"""
In order to use the HPSDR connector, you will need to install [hpsdrconnector]
(https://github.com/jancona/hpsdrconnector).
"""
return self.command_is_runnable("hpsdrconnector -h")

33
owrx/source/hpsdr.py Normal file
View File

@ -0,0 +1,33 @@
from .connector import ConnectorSource
from owrx.command import Flag, Option
# In order to use an HPSDR radio, you must install hpsdrconnector from https://github.com/jancona/hpsdrconnector
# These are the command line options available:
# --frequency uint
# Tune to specified frequency in Hz (default 7100000)
# --gain uint
# LNA gain between 0 (-12dB) and 60 (48dB) (default 20)
# --radio string
# IP address of radio (default use first radio discovered)
# --samplerate uint
# Use the specified samplerate: one of 48000, 96000, 192000, 384000 (default 96000)
# --debug
# Emit debug log messages on stdout
#
# If you omit `remote` from config_webrx.py, hpsdrconnector will use the HPSDR discovery protocol
# to find radios on your local network and will connect to the first radio it discovered.
class HpsdrSource(ConnectorSource):
def getCommandMapper(self):
return (
super()
.getCommandMapper()
.setBase("hpsdrconnector")
.setMappings(
{
"tuner_freq": Option("--frequency"),
"samp_rate": Option("--samplerate"),
"remote": Option("--radio"),
"rf_gain": Option("--gain"),
})
)