2020-11-10 00:19:34 +00:00
|
|
|
from .connector import ConnectorSource
|
2020-11-02 12:11:54 +00:00
|
|
|
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)
|
2020-11-10 00:19:34 +00:00
|
|
|
# --debug
|
|
|
|
# Emit debug log messages on stdout
|
2020-11-02 12:11:54 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
|
2021-01-20 16:01:46 +00:00
|
|
|
|
2020-11-10 00:19:34 +00:00
|
|
|
class HpsdrSource(ConnectorSource):
|
2020-11-02 12:11:54 +00:00
|
|
|
def getCommandMapper(self):
|
2020-11-10 00:19:34 +00:00
|
|
|
return (
|
|
|
|
super()
|
|
|
|
.getCommandMapper()
|
|
|
|
.setBase("hpsdrconnector")
|
|
|
|
.setMappings(
|
2021-01-20 16:01:46 +00:00
|
|
|
{
|
|
|
|
"tuner_freq": Option("--frequency"),
|
|
|
|
"samp_rate": Option("--samplerate"),
|
|
|
|
"remote": Option("--radio"),
|
|
|
|
"rf_gain": Option("--gain"),
|
|
|
|
}
|
|
|
|
)
|
2020-11-02 12:11:54 +00:00
|
|
|
)
|