From dc03639cad10dec0e665c49135c09944c97f4f94 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Sun, 25 Oct 2020 16:53:18 +0100 Subject: [PATCH 1/4] add source for rf103 (experimental) --- owrx/command.py | 2 +- owrx/feature.py | 4 ++++ owrx/source/rf103.py | 15 +++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 owrx/source/rf103.py diff --git a/owrx/command.py b/owrx/command.py index 87ae711..0559b72 100644 --- a/owrx/command.py +++ b/owrx/command.py @@ -76,4 +76,4 @@ class Option(CommandMapping): class Argument(CommandMapping): def map(self, value): - return value + return str(value) diff --git a/owrx/feature.py b/owrx/feature.py index c3d7259..88cf6fb 100644 --- a/owrx/feature.py +++ b/owrx/feature.py @@ -68,6 +68,7 @@ class FeatureDetector(object): "red_pitaya": ["soapy_connector", "soapy_red_pitaya"], "radioberry": ["soapy_connector", "soapy_radioberry"], "fcdpp": ["soapy_connector", "soapy_fcdpp"], + "rf103": ["rf103_sdr"], # optional features and their requirements "digital_voice_digiham": ["digiham", "sox"], "digital_voice_dsd": ["dsd", "sox", "digiham"], @@ -492,3 +493,6 @@ class FeatureDetector(object): [OpenWebRX wiki](https://github.com/jketterl/openwebrx/wiki/DRM-demodulator-notes). """ return self.command_is_runnable("dream --help", 0) + + def has_rf103_sdr(self): + return self.command_is_runnable("rf103_sdr") diff --git a/owrx/source/rf103.py b/owrx/source/rf103.py new file mode 100644 index 0000000..db06d23 --- /dev/null +++ b/owrx/source/rf103.py @@ -0,0 +1,15 @@ +from owrx.source.direct import DirectSource +from owrx.command import Option +import time + + +class Rf103Source(DirectSource): + def getCommandMapper(self): + return super().getCommandMapper().setBase("rf103_sdr -i /home/jakob/workspace/RF103/rx888.img").setMappings({ + "samp_rate": Option("-s"), + "center_freq": Option("-f"), + "attenuation": Option("-a"), + }) + + def sleepOnRestart(self): + time.sleep(1) From b5d56eaec2fc754a1df9909d0e8fcee0de025134 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Fri, 27 Nov 2020 18:39:10 +0100 Subject: [PATCH 2/4] update to use new sddc_connector --- owrx/feature.py | 6 +++--- owrx/source/rf103.py | 15 +++------------ 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/owrx/feature.py b/owrx/feature.py index 867f510..cd4d02e 100644 --- a/owrx/feature.py +++ b/owrx/feature.py @@ -68,7 +68,7 @@ class FeatureDetector(object): "red_pitaya": ["soapy_connector", "soapy_red_pitaya"], "radioberry": ["soapy_connector", "soapy_radioberry"], "fcdpp": ["soapy_connector", "soapy_fcdpp"], - "rf103": ["rf103_sdr"], + "rf103": ["sddc_connector"], "hpsdr": ["hpsdr_connector"], # optional features and their requirements "digital_voice_digiham": ["digiham", "sox"], @@ -495,8 +495,8 @@ class FeatureDetector(object): """ return self.command_is_runnable("dream --help", 0) - def has_rf103_sdr(self): - return self.command_is_runnable("rf103_sdr") + def has_sddc_connector(self): + return self.command_is_runnable("sddc_connector") def has_hpsdr_connector(self): """ diff --git a/owrx/source/rf103.py b/owrx/source/rf103.py index db06d23..e263250 100644 --- a/owrx/source/rf103.py +++ b/owrx/source/rf103.py @@ -1,15 +1,6 @@ -from owrx.source.direct import DirectSource -from owrx.command import Option -import time +from owrx.source.connector import ConnectorSource -class Rf103Source(DirectSource): +class Rf103Source(ConnectorSource): def getCommandMapper(self): - return super().getCommandMapper().setBase("rf103_sdr -i /home/jakob/workspace/RF103/rx888.img").setMappings({ - "samp_rate": Option("-s"), - "center_freq": Option("-f"), - "attenuation": Option("-a"), - }) - - def sleepOnRestart(self): - time.sleep(1) + return super().getCommandMapper().setBase("sddc_connector") From 74be25f656ef53af447941367a7628dcc79ce65e Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Fri, 27 Nov 2020 18:49:33 +0100 Subject: [PATCH 3/4] rename all occurences to SDDC --- owrx/feature.py | 7 ++++++- owrx/source/{rf103.py => sddc.py} | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) rename owrx/source/{rf103.py => sddc.py} (80%) diff --git a/owrx/feature.py b/owrx/feature.py index cd4d02e..5bf614f 100644 --- a/owrx/feature.py +++ b/owrx/feature.py @@ -68,7 +68,7 @@ class FeatureDetector(object): "red_pitaya": ["soapy_connector", "soapy_red_pitaya"], "radioberry": ["soapy_connector", "soapy_radioberry"], "fcdpp": ["soapy_connector", "soapy_fcdpp"], - "rf103": ["sddc_connector"], + "sddc": ["sddc_connector"], "hpsdr": ["hpsdr_connector"], # optional features and their requirements "digital_voice_digiham": ["digiham", "sox"], @@ -496,6 +496,11 @@ class FeatureDetector(object): return self.command_is_runnable("dream --help", 0) def has_sddc_connector(self): + """ + The sddc_connector allows connectivity with SDR devices powered by libsddc, e.g. RX666, RX888, HF103. + + You can find more information [here](https://github.com/jketterl/sddc_connector). + """ return self.command_is_runnable("sddc_connector") def has_hpsdr_connector(self): diff --git a/owrx/source/rf103.py b/owrx/source/sddc.py similarity index 80% rename from owrx/source/rf103.py rename to owrx/source/sddc.py index e263250..58e7380 100644 --- a/owrx/source/rf103.py +++ b/owrx/source/sddc.py @@ -1,6 +1,6 @@ from owrx.source.connector import ConnectorSource -class Rf103Source(ConnectorSource): +class SddcSource(ConnectorSource): def getCommandMapper(self): return super().getCommandMapper().setBase("sddc_connector") From 8b89d1e062212370ed06794d4706fcd2f280c87e Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Sun, 29 Nov 2020 16:01:35 +0100 Subject: [PATCH 4/4] update changelog --- CHANGELOG.md | 2 ++ debian/changelog | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4abf764..d99f12f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ **unreleased** - Introduced `squelch_auto_margin` config option that allows configuring the auto squelch level - Removed `port` configuration option; `rtltcp_compat` takes the port number with the new connectors +- New devices supported: + - BBRF103 / RX666 / RX888 devices supported by libsddc **0.20.0** - Added the ability to sign multiple keys in a single request, thus enabling multiple users to claim a single receiver diff --git a/debian/changelog b/debian/changelog index 31272e1..1e8e81e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ openwebrx (0.21.0) UNRELEASED; urgency=low auto squelch level * Removed `port` configuration option; `rtltcp_compat` takes the port number with the new connectors + * New devices supported: + - BBRF103 / RX666 / RX888 devices supported by libsddc -- Jakob Ketterl Sun, 11 Oct 2020 21:12:00 +0000