Merge pull request #188 from jancona/hpsdr_connector
Support for HPSDR radios (specifically, the Hermes-Lite 2)
This commit is contained in:
commit
9bfef01438
@ -99,7 +99,7 @@ digital_voice_unvoiced_quality = 1
|
||||
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`,
|
||||
@ -116,7 +116,7 @@ Note: if you experience audio underruns while CPU usage is 100%, you can:
|
||||
|
||||
# Currently supported types of sdr receivers:
|
||||
# "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"
|
||||
#
|
||||
# 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
|
||||
|
@ -68,6 +68,7 @@ class FeatureDetector(object):
|
||||
"red_pitaya": ["soapy_connector", "soapy_red_pitaya"],
|
||||
"radioberry": ["soapy_connector", "soapy_radioberry"],
|
||||
"fcdpp": ["soapy_connector", "soapy_fcdpp"],
|
||||
"hpsdr": ["hpsdr_connector"],
|
||||
# optional features and their requirements
|
||||
"digital_voice_digiham": ["digiham", "sox"],
|
||||
"digital_voice_dsd": ["dsd", "sox", "digiham"],
|
||||
@ -492,3 +493,10 @@ class FeatureDetector(object):
|
||||
[OpenWebRX wiki](https://github.com/jketterl/openwebrx/wiki/DRM-demodulator-notes).
|
||||
"""
|
||||
return self.command_is_runnable("dream --help", 0)
|
||||
|
||||
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
33
owrx/source/hpsdr.py
Normal 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"),
|
||||
})
|
||||
)
|
Loading…
Reference in New Issue
Block a user