diff --git a/CHANGELOG.md b/CHANGELOG.md index 47764a3..2e3a4d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Added new HD audio streaming mode along with a new WFM demodulator - New devices supported: - FunCube Dongle Pro+ (`"type": "fcdpp"`) + - Support for connections to rtl_tcp **0.19.1** - Added ability to authenticate receivers with listing sites using "receiver id" tokens diff --git a/debian/changelog b/debian/changelog index 3c738a9..ccb485b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ openwebrx (0.20.0) UNRELEASED; urgency=low * Added new HD audio streaming mode along with a new WFM demodulator * New devices supported: - FunCube Dongle Pro+ (`"type": "fcdpp"`) + - Support for connections to rtl_tcp -- Jakob Ketterl Sat, 13 Jun 2020 17:22:00 +0000 diff --git a/owrx/feature.py b/owrx/feature.py index a675823..73f05a6 100644 --- a/owrx/feature.py +++ b/owrx/feature.py @@ -23,6 +23,7 @@ class FeatureDetector(object): # different types of sdrs and their requirements "rtl_sdr": ["rtl_connector"], "rtl_sdr_soapy": ["soapy_connector", "soapy_rtl_sdr"], + "rtl_tcp": ["rtl_tcp_connector"], "sdrplay": ["soapy_connector", "soapy_sdrplay"], "hackrf": ["soapy_connector", "soapy_hackrf"], "perseussdr": ["perseustest"], @@ -194,7 +195,7 @@ class FeatureDetector(object): ) def _check_connector(self, command): - required_version = LooseVersion("0.2") + required_version = LooseVersion("0.3") owrx_connector_version_regex = re.compile("^owrx-connector version (.*)$") @@ -218,6 +219,15 @@ class FeatureDetector(object): """ return self._check_connector("rtl_connector") + def has_rtl_tcp_connector(self): + """ + The owrx_connector package offers direct interfacing between your hardware and openwebrx. It allows quicker + frequency switching, uses less CPU and can even provide more stability in some cases. + + You can get it [here](https://github.com/jketterl/owrx_connector). + """ + return self._check_connector("rtl_tcp_connector") + def has_soapy_connector(self): """ The owrx_connector package offers direct interfacing between your hardware and openwebrx. It allows quicker diff --git a/owrx/source/rtl_tcp.py b/owrx/source/rtl_tcp.py new file mode 100644 index 0000000..fcf719e --- /dev/null +++ b/owrx/source/rtl_tcp.py @@ -0,0 +1,12 @@ +from .connector import ConnectorSource +from owrx.command import Flag, Option + + +class RtlTcpSource(ConnectorSource): + def getCommandMapper(self): + return ( + super() + .getCommandMapper() + .setBase("rtl_tcp_connector") + .setMappings({"bias_tee": Flag("-b"), "direct_sampling": Option("-e")}) + )