mirror of
https://github.com/jketterl/openwebrx.git
synced 2025-12-06 07:12:09 +01:00
update feature descriptions
This commit is contained in:
parent
89bff7a819
commit
0cbb6c45ca
243
owrx/feature.py
243
owrx/feature.py
|
|
@ -189,11 +189,14 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_csdr(self):
|
def has_csdr(self):
|
||||||
"""
|
"""
|
||||||
OpenWebRX uses the demodulator and pipeline tools provided by the csdr project. Please check out [the project
|
OpenWebRX uses the demodulator and pipeline tools provided by the
|
||||||
page on github](https://github.com/jketterl/csdr) for further details and installation instructions.
|
[csdr project](https://github.com/jketterl/csdr).
|
||||||
|
|
||||||
In addition, the [pycsdr](https://github.com/jketterl/pycsdr) package must be installed to provide
|
In addition, [pycsdr](https://github.com/jketterl/pycsdr) must be installed to provide python bindings for the
|
||||||
python bindings for the csdr library.
|
csdr library.
|
||||||
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`python3-csdr`.
|
||||||
"""
|
"""
|
||||||
required_version = LooseVersion("0.19.0")
|
required_version = LooseVersion("0.19.0")
|
||||||
|
|
||||||
|
|
@ -210,41 +213,32 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_nmux(self):
|
def has_nmux(self):
|
||||||
"""
|
"""
|
||||||
Nmux is another tool provided by the csdr project. It is used for internal multiplexing of the IQ data streams.
|
Nmux is a tool provided by the csdr project. It is used for internal multiplexing of the IQ data streams.
|
||||||
If you're missing nmux even though you have csdr installed, please update your csdr version.
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`nmux`.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("nmux --help")
|
return self.command_is_runnable("nmux --help")
|
||||||
|
|
||||||
def has_perseustest(self):
|
def has_perseustest(self):
|
||||||
"""
|
"""
|
||||||
To use a Microtelecom Perseus HF receiver, compile and
|
To use a Microtelecom Perseus HF receiver, you need the `perseustest` utility from
|
||||||
install the libperseus-sdr:
|
[libperseus-sdr](https://github.com/Microtelecom/libperseus-sdr).
|
||||||
```
|
|
||||||
sudo apt install libusb-1.0-0-dev
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
cd /tmp
|
`perseus-tools`.
|
||||||
wget https://github.com/Microtelecom/libperseus-sdr/releases/download/v0.8.2/libperseus_sdr-0.8.2.tar.gz
|
|
||||||
tar -zxvf libperseus_sdr-0.8.2.tar.gz
|
|
||||||
cd libperseus_sdr-0.8.2/
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
perseustest
|
|
||||||
```
|
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("perseustest -h")
|
return self.command_is_runnable("perseustest -h")
|
||||||
|
|
||||||
def has_digiham(self):
|
def has_digiham(self):
|
||||||
"""
|
"""
|
||||||
To use digital voice modes, the digiham package is required. You can find the package and installation
|
To use digital voice modes, [digiham](https://github.com/jketterl/digiham) is required.
|
||||||
instructions [here](https://github.com/jketterl/digiham).
|
|
||||||
|
|
||||||
In addition, the [pydigiham](https://github.com/jketterl/pydigiham) package must be installed to provide
|
In addition, [pydigiham](https://github.com/jketterl/pydigiham) must be installed to provide python bindings
|
||||||
python bindings for the digiham library.
|
for the digiham library.
|
||||||
|
|
||||||
Please note: there is close interaction between digiham and openwebrx, so older versions will probably not work.
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
If you have an older verison of digiham installed, please update it along with openwebrx.
|
`python3-digiham`.
|
||||||
As of now, we require version 0.6 of digiham.
|
|
||||||
"""
|
"""
|
||||||
required_version = LooseVersion("0.6")
|
required_version = LooseVersion("0.6")
|
||||||
|
|
||||||
|
|
@ -278,28 +272,31 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_rtl_connector(self):
|
def has_rtl_connector(self):
|
||||||
"""
|
"""
|
||||||
The owrx_connector package offers direct interfacing between your hardware and openwebrx. It allows quicker
|
The [owrx_connector](https://github.com/jketterl/owrx_connector) offers direct interfacing between your
|
||||||
frequency switching, uses less CPU and can even provide more stability in some cases.
|
hardware and OpenWebRX.
|
||||||
|
|
||||||
You can get it [here](https://github.com/jketterl/owrx_connector).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`owrx-connector`.
|
||||||
"""
|
"""
|
||||||
return self._check_owrx_connector("rtl_connector")
|
return self._check_owrx_connector("rtl_connector")
|
||||||
|
|
||||||
def has_rtl_tcp_connector(self):
|
def has_rtl_tcp_connector(self):
|
||||||
"""
|
"""
|
||||||
The owrx_connector package offers direct interfacing between your hardware and openwebrx. It allows quicker
|
The [owrx_connector](https://github.com/jketterl/owrx_connector) offers direct interfacing between your
|
||||||
frequency switching, uses less CPU and can even provide more stability in some cases.
|
hardware and OpenWebRX.
|
||||||
|
|
||||||
You can get it [here](https://github.com/jketterl/owrx_connector).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`owrx-connector`.
|
||||||
"""
|
"""
|
||||||
return self._check_owrx_connector("rtl_tcp_connector")
|
return self._check_owrx_connector("rtl_tcp_connector")
|
||||||
|
|
||||||
def has_soapy_connector(self):
|
def has_soapy_connector(self):
|
||||||
"""
|
"""
|
||||||
The owrx_connector package offers direct interfacing between your hardware and openwebrx. It allows quicker
|
The [owrx_connector](https://github.com/jketterl/owrx_connector) offers direct interfacing between your
|
||||||
frequency switching, uses less CPU and can even provide more stability in some cases.
|
hardware and OpenWebRX.
|
||||||
|
|
||||||
You can get it [here](https://github.com/jketterl/owrx_connector).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`owrx-connector`.
|
||||||
"""
|
"""
|
||||||
return self._check_owrx_connector("soapy_connector")
|
return self._check_owrx_connector("soapy_connector")
|
||||||
|
|
||||||
|
|
@ -316,75 +313,84 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_soapy_rtl_sdr(self):
|
def has_soapy_rtl_sdr(self):
|
||||||
"""
|
"""
|
||||||
The SoapySDR module for rtl-sdr devices can be used as an alternative to the rtl_connector. It provides
|
The [SoapyRTLSDR](https://github.com/pothosware/SoapyRTLSDR/wiki) module can be used as an alternative to
|
||||||
additional support for the direct sampling mod.
|
rtl_connector.
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyRTLSDR/wiki).
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-rtlsdr` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("rtlsdr")
|
return self._has_soapy_driver("rtlsdr")
|
||||||
|
|
||||||
def has_soapy_sdrplay(self):
|
def has_soapy_sdrplay(self):
|
||||||
"""
|
"""
|
||||||
The SoapySDR module for sdrplay devices is required for interfacing with SDRPlay devices (RSP1*, RSP2*, RSPDuo)
|
The [SoapySDRPlay3](https://github.com/pothosware/SoapySDRPlay3) module is required for interfacing with
|
||||||
|
SDRPlay devices (RSP1\*, RSP2\*, RSPDuo)
|
||||||
You can get it [here](https://github.com/SDRplay/SoapySDRPlay).
|
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("sdrplay")
|
return self._has_soapy_driver("sdrplay")
|
||||||
|
|
||||||
def has_soapy_airspy(self):
|
def has_soapy_airspy(self):
|
||||||
"""
|
"""
|
||||||
The SoapySDR module for airspy devices is required for interfacing with Airspy devices (Airspy R2, Airspy Mini).
|
The [SoapyAirspy](https://github.com/pothosware/SoapyAirspy/wiki) module is required for interfacing with
|
||||||
|
Airspy devices (Airspy R2, Airspy Mini).
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyAirspy/wiki).
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-airspy` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("airspy")
|
return self._has_soapy_driver("airspy")
|
||||||
|
|
||||||
def has_soapy_airspyhf(self):
|
def has_soapy_airspyhf(self):
|
||||||
"""
|
"""
|
||||||
The SoapySDR module for airspyhf devices is required for interfacing with Airspy HF devices (Airspy HF+,
|
The [SoapyAirspyHF](https://github.com/pothosware/SoapyAirspyHF/wiki) module is required for interfacing with
|
||||||
Airspy HF discovery).
|
Airspy HF devices (Airspy HF+, Airspy HF discovery).
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyAirspyHF/wiki).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`soapysdr-module-airspyhf`.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("airspyhf")
|
return self._has_soapy_driver("airspyhf")
|
||||||
|
|
||||||
def has_soapy_afedri(self):
|
def has_soapy_afedri(self):
|
||||||
"""
|
"""
|
||||||
The SoapyAfedri module allows using Afedri SDR-Net devices with SoapySDR.
|
The [SoapyAfedri](https://github.com/alexander-sholohov/SoapyAfedri) module allows using Afedri SDR-Net devices
|
||||||
|
with SoapySDR.
|
||||||
|
|
||||||
You can get it [here](https://github.com/alexander-sholohov/SoapyAfedri).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`soapysdr-module-afedri`.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("afedri")
|
return self._has_soapy_driver("afedri")
|
||||||
|
|
||||||
def has_soapy_lime_sdr(self):
|
def has_soapy_lime_sdr(self):
|
||||||
"""
|
"""
|
||||||
The Lime Suite installs - amongst others - a Soapy driver for the LimeSDR device series.
|
The [LimeSuite](https://github.com/myriadrf/LimeSuite) installs - amongst other software - a Soapy driver for
|
||||||
|
the LimeSDR device series.
|
||||||
|
|
||||||
You can get it [here](https://github.com/myriadrf/LimeSuite).
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-lms7` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("lime")
|
return self._has_soapy_driver("lime")
|
||||||
|
|
||||||
def has_soapy_pluto_sdr(self):
|
def has_soapy_pluto_sdr(self):
|
||||||
"""
|
"""
|
||||||
The SoapySDR module for PlutoSDR devices is required for interfacing with PlutoSDR devices.
|
The [SoapyPlutoSDR](https://github.com/pothosware/SoapyPlutoSDR) module is required for interfacing with
|
||||||
|
PlutoSDR devices.
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyPlutoSDR).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`soapysdr-module-plutosdr`.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("plutosdr")
|
return self._has_soapy_driver("plutosdr")
|
||||||
|
|
||||||
def has_soapy_remote(self):
|
def has_soapy_remote(self):
|
||||||
"""
|
"""
|
||||||
The SoapyRemote allows the usage of remote SDR devices using the SoapySDRServer.
|
SoapyRemote allows the usage of remote SDR devices over the network using SoapySDRServer.
|
||||||
|
|
||||||
You can get the code and find additional information [here](https://github.com/pothosware/SoapyRemote/wiki).
|
You can get the code and find additional information [here](https://github.com/pothosware/SoapyRemote/wiki).
|
||||||
|
|
||||||
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-remote` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("remote")
|
return self._has_soapy_driver("remote")
|
||||||
|
|
||||||
def has_soapy_uhd(self):
|
def has_soapy_uhd(self):
|
||||||
"""
|
"""
|
||||||
The SoapyUHD module allows using UHD / USRP devices with SoapySDR.
|
The [SoapyUHD](https://github.com/pothosware/SoapyUHD/wiki) module allows using UHD / USRP devices with
|
||||||
|
SoapySDR.
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyUHD/wiki).
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-uhd` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("uhd")
|
return self._has_soapy_driver("uhd")
|
||||||
|
|
||||||
|
|
@ -393,60 +399,63 @@ class FeatureDetector(object):
|
||||||
The Radioberry is a SDR hat for the Raspberry Pi.
|
The Radioberry is a SDR hat for the Raspberry Pi.
|
||||||
|
|
||||||
You can find more information, along with its SoapySDR module [here](https://github.com/pa3gsb/Radioberry-2.x).
|
You can find more information, along with its SoapySDR module [here](https://github.com/pa3gsb/Radioberry-2.x).
|
||||||
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`soapysdr-module-radioberry`.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("radioberry")
|
return self._has_soapy_driver("radioberry")
|
||||||
|
|
||||||
def has_soapy_hackrf(self):
|
def has_soapy_hackrf(self):
|
||||||
"""
|
"""
|
||||||
The SoapyHackRF allows HackRF to be used with SoapySDR.
|
[SoapyHackRF](https://github.com/pothosware/SoapyHackRF/wiki) allows HackRF devices to be used with SoapySDR.
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyHackRF/wiki).
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-hackrf` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("hackrf")
|
return self._has_soapy_driver("hackrf")
|
||||||
|
|
||||||
def has_soapy_fcdpp(self):
|
def has_soapy_fcdpp(self):
|
||||||
"""
|
"""
|
||||||
The SoapyFCDPP module allows the use of the Funcube Dongle Pro+.
|
The [SoapyFCDPP](https://github.com/pothosware/SoapyFCDPP) module allows the use of the Funcube Dongle Pro+.
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyFCDPP).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`soapysdr-module-fcdpp`.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("fcdpp")
|
return self._has_soapy_driver("fcdpp")
|
||||||
|
|
||||||
def has_soapy_bladerf(self):
|
def has_soapy_bladerf(self):
|
||||||
"""
|
"""
|
||||||
The SoapyBladeRF module allows the use of Blade RF devices.
|
The [SoapyBladeRF](https://github.com/pothosware/SoapyBladeRF) module allows the use of Blade RF devices.
|
||||||
|
|
||||||
You can get it [here](https://github.com/pothosware/SoapyBladeRF).
|
Debian and Ubuntu users should be able to install the package `soapysdr-module-bladerf` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self._has_soapy_driver("bladerf")
|
return self._has_soapy_driver("bladerf")
|
||||||
|
|
||||||
def has_m17_demod(self):
|
def has_m17_demod(self):
|
||||||
"""
|
"""
|
||||||
The `m17-demod` tool is used to demodulate M17 digital voice signals.
|
OpenWebRX uses the [M17 Demodulator](https://github.com/mobilinkd/m17-cxx-demod) to demodulate M17 digital
|
||||||
|
voice signals.
|
||||||
|
|
||||||
You can find more information [here](https://github.com/mobilinkd/m17-cxx-demod)
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`m17-demod`.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("m17-demod", 0)
|
return self.command_is_runnable("m17-demod", 0)
|
||||||
|
|
||||||
def has_direwolf(self):
|
def has_direwolf(self):
|
||||||
"""
|
"""
|
||||||
OpenWebRX uses the [direwolf](https://github.com/wb2osz/direwolf) software modem to decode Packet Radio and
|
OpenWebRX uses the [direwolf](https://github.com/wb2osz/direwolf) software modem to decode Packet Radio and
|
||||||
report data back to APRS-IS. Direwolf is available from the package manager on many distributions, or you can
|
report data back to APRS-IS.
|
||||||
compile it from source.
|
|
||||||
|
Debian and Ubuntu users should be able to install the package `direwolf` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("direwolf --help")
|
return self.command_is_runnable("direwolf --help")
|
||||||
|
|
||||||
def has_airspy_rx(self):
|
|
||||||
"""
|
|
||||||
In order to use an Airspy Receiver, you need to install the airspy_rx receiver software.
|
|
||||||
"""
|
|
||||||
return self.command_is_runnable("airspy_rx --help")
|
|
||||||
|
|
||||||
def has_wsjtx(self):
|
def has_wsjtx(self):
|
||||||
"""
|
"""
|
||||||
To decode FT8 and other digimodes, you need to install the WSJT-X software suite. Please check the
|
To decode FT8 and other digimodes, you need to install the WSJT-X software suite. Please check the
|
||||||
[WSJT-X homepage](https://wsjt.sourceforge.io/) for ready-made packages or instructions
|
[WSJT-X homepage](https://wsjt.sourceforge.io/) for ready-made packages or instructions
|
||||||
on how to build from source.
|
on how to build from source.
|
||||||
|
|
||||||
|
Debian and Ubuntu users can also install the `wsjtx` package provided by the distribution.
|
||||||
"""
|
"""
|
||||||
return reduce(and_, map(self.command_is_runnable, ["jt9", "wsprd"]), True)
|
return reduce(and_, map(self.command_is_runnable, ["jt9", "wsprd"]), True)
|
||||||
|
|
||||||
|
|
@ -478,25 +487,28 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_msk144decoder(self):
|
def has_msk144decoder(self):
|
||||||
"""
|
"""
|
||||||
To decode the MSK144 digimode please install the "msk144decoder". See the
|
To decode the MSK144 digimode please install
|
||||||
[project page](https://github.com/alexander-sholohov/msk144decoder) for more details.
|
[msk144decoder](https://github.com/alexander-sholohov/msk144decoder).
|
||||||
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`msk144decoder`.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("msk144decoder")
|
return self.command_is_runnable("msk144decoder")
|
||||||
|
|
||||||
def has_js8(self):
|
def has_js8(self):
|
||||||
"""
|
"""
|
||||||
To decode JS8, you will need to install [JS8Call](http://js8call.com/)
|
To decode JS8, you will need to install [JS8Call](http://js8call.com/).
|
||||||
|
|
||||||
Please note that the `js8` command line decoder is not made available on $PATH by some JS8Call package builds.
|
Debian and Ubuntu users should be able to install the package `js8call` from their distribution.
|
||||||
You will need to manually make it available by either linking it to `/usr/bin` or by adding its location to
|
|
||||||
$PATH.
|
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("js8")
|
return self.command_is_runnable("js8")
|
||||||
|
|
||||||
def has_js8py(self):
|
def has_js8py(self):
|
||||||
"""
|
"""
|
||||||
The js8py library is used to decode binary JS8 messages into readable text. More information is available on
|
OpenWebRX uses [js8py](https://github.com/jketterl/js8py) to decode binary JS8 messages into readable text.
|
||||||
[its github page](https://github.com/jketterl/js8py).
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`python3-js8py`.
|
||||||
"""
|
"""
|
||||||
required_version = StrictVersion("0.2")
|
required_version = StrictVersion("0.2")
|
||||||
try:
|
try:
|
||||||
|
|
@ -509,13 +521,15 @@ class FeatureDetector(object):
|
||||||
def has_alsa(self):
|
def has_alsa(self):
|
||||||
"""
|
"""
|
||||||
Some SDR receivers are identifying themselves as a soundcard. In order to read their data, OpenWebRX relies
|
Some SDR receivers are identifying themselves as a soundcard. In order to read their data, OpenWebRX relies
|
||||||
on the Alsa library. It is available as a package for most Linux distributions.
|
on the Alsa library.
|
||||||
|
|
||||||
|
Debian and Ubuntu users should be able to install the package `alsa-utils` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("arecord --help")
|
return self.command_is_runnable("arecord --help")
|
||||||
|
|
||||||
def has_rockprog(self):
|
def has_rockprog(self):
|
||||||
"""
|
"""
|
||||||
The "rockprog" executable is required to send commands to your FiFiSDR. It needs to be installed separately.
|
The `rockprog` executable is required to send commands to your FiFiSDR. It needs to be installed separately.
|
||||||
|
|
||||||
You can find instructions and downloads [here](https://o28.sischa.net/fifisdr/trac/wiki/De%3Arockprog).
|
You can find instructions and downloads [here](https://o28.sischa.net/fifisdr/trac/wiki/De%3Arockprog).
|
||||||
"""
|
"""
|
||||||
|
|
@ -523,12 +537,15 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_freedv_rx(self):
|
def has_freedv_rx(self):
|
||||||
"""
|
"""
|
||||||
The "freedv\\_rx" executable is required to demodulate FreeDV digital transmissions. It comes together with the
|
The `freedv_rx` executable is required to demodulate FreeDV digital transmissions. It comes together with the
|
||||||
codec2 library, but it's only a supplemental part and not installed by default or contained in its packages.
|
codec2 library, but it's only a supplemental part and not installed by default or contained in its packages.
|
||||||
To install it, you will need to compile codec2 from source and manually install freedv\\_rx.
|
To install it, you will need to compile codec2 from source and manually install freedv\_rx.
|
||||||
|
|
||||||
Detailed installation instructions are available on the
|
Detailed installation instructions are available on the
|
||||||
[OpenWebRX wiki](https://github.com/jketterl/openwebrx/wiki/FreeDV-demodulator-notes).
|
[OpenWebRX wiki](https://github.com/jketterl/openwebrx/wiki/FreeDV-demodulator-notes).
|
||||||
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`codec2`.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("freedv_rx")
|
return self.command_is_runnable("freedv_rx")
|
||||||
|
|
||||||
|
|
@ -536,9 +553,11 @@ class FeatureDetector(object):
|
||||||
"""
|
"""
|
||||||
In order to be able to decode DRM broadcasts, OpenWebRX needs the "dream" DRM decoder.
|
In order to be able to decode DRM broadcasts, OpenWebRX needs the "dream" DRM decoder.
|
||||||
|
|
||||||
The version supplied by most distributions will not work properly on the command line, so compiling from source
|
A custom set of commands is recommended when compiling from source. Detailed installation instructions are
|
||||||
with a custom set of commands is recommended. Detailed installation instructions are available on the
|
available on the [OpenWebRX wiki](https://github.com/jketterl/openwebrx/wiki/DRM-demodulator-notes).
|
||||||
[OpenWebRX wiki](https://github.com/jketterl/openwebrx/wiki/DRM-demodulator-notes).
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`dream-headless`.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("dream --help", 0)
|
return self.command_is_runnable("dream --help", 0)
|
||||||
|
|
||||||
|
|
@ -552,27 +571,33 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_hpsdr_connector(self):
|
def has_hpsdr_connector(self):
|
||||||
"""
|
"""
|
||||||
In order to use the HPSDR connector, you will need to install [hpsdrconnector]
|
The [HPSDR Connector](https://github.com/jancona/hpsdrconnector) is required to interface OpenWebRX with
|
||||||
(https://github.com/jancona/hpsdrconnector).
|
Hermes Lite 2, Red Pitaya, and similar networked SDR devices.
|
||||||
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`hpsdrconnector`.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("hpsdrconnector -h")
|
return self.command_is_runnable("hpsdrconnector -h")
|
||||||
|
|
||||||
def has_runds_connector(self):
|
def has_runds_connector(self):
|
||||||
"""
|
"""
|
||||||
To use radios supporting R&S radios via EB200 or Ammos, you need to install the runds_connector.
|
To use radios supporting R&S radios via EB200 or Ammos, you need to install
|
||||||
|
[runds_connector](https://github.com/jketterl/runds_connector).
|
||||||
|
|
||||||
You can find more information [here](https://github.com/jketterl/runds_connector).
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`runds-connector`.
|
||||||
"""
|
"""
|
||||||
return self._check_connector("runds_connector", LooseVersion("0.2"))
|
return self._check_connector("runds_connector", LooseVersion("0.2"))
|
||||||
|
|
||||||
def has_codecserver_ambe(self):
|
def has_codecserver_ambe(self):
|
||||||
"""
|
"""
|
||||||
Codecserver is used to decode audio data from digital voice modes using the AMBE codec.
|
[Codecserver](https://github.com/jketterl/codecserver) is used to decode audio data from digital voice modes using the AMBE codec.
|
||||||
|
|
||||||
You can find more information [here](https://github.com/jketterl/codecserver).
|
|
||||||
|
|
||||||
NOTE: this feature flag checks both the availability of codecserver as well as the availability of the AMBE
|
NOTE: this feature flag checks both the availability of codecserver as well as the availability of the AMBE
|
||||||
codec in the configured codecserer instance.
|
codec in the configured codecserer instance.
|
||||||
|
|
||||||
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
|
`codecserver`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
config = Config.get()
|
config = Config.get()
|
||||||
|
|
@ -610,19 +635,17 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_rtl_433(self):
|
def has_rtl_433(self):
|
||||||
"""
|
"""
|
||||||
OpenWebRX can make use of the `rtl_433` software to decode various signals in the ISM bands.
|
OpenWebRX can make use of [`rtl_433`](https://github.com/merbanan/rtl_433) to decode various signals in the
|
||||||
|
ISM bands.
|
||||||
|
|
||||||
You can find more information [here](https://github.com/merbanan/rtl_433).
|
Debian and Ubuntu users should be able to install the package `rtl-433` from their distribution.
|
||||||
|
|
||||||
Debian and Ubuntu based systems should be able to install the package `rtl-433` from the package manager.
|
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("rtl_433 -h")
|
return self.command_is_runnable("rtl_433 -h")
|
||||||
|
|
||||||
def has_dumphfdl(self):
|
def has_dumphfdl(self):
|
||||||
"""
|
"""
|
||||||
OpenWebRX supports decoding HFDL airplane communications using the `dumphfdl` decoder.
|
OpenWebRX supports decoding HFDL airplane communications using
|
||||||
|
[`dumphfdl`](https://github.com/szpajder/dumphfdl).
|
||||||
You can find more information [here](https://github.com/szpajder/dumphfdl)
|
|
||||||
|
|
||||||
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
`dumphfdl`.
|
`dumphfdl`.
|
||||||
|
|
@ -631,9 +654,8 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_dumpvdl2(self):
|
def has_dumpvdl2(self):
|
||||||
"""
|
"""
|
||||||
OpenWebRX supports decoding VDL Mode 2 airplane communications using the `dumpvdl2` decoder.
|
OpenWebRX supports decoding VDL Mode 2 airplane communications using
|
||||||
|
[`dumpvdl2`](https://github.com/szpajder/dumpvdl2).
|
||||||
You can find more information [here](https://github.com/szpajder/dumpvdl2)
|
|
||||||
|
|
||||||
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
`dumpvdl2`.
|
`dumpvdl2`.
|
||||||
|
|
@ -642,9 +664,8 @@ class FeatureDetector(object):
|
||||||
|
|
||||||
def has_redsea(self):
|
def has_redsea(self):
|
||||||
"""
|
"""
|
||||||
OpenWebRX can decode RDS data on WFM broadcast station if the `redsea` decoder is available.
|
OpenWebRX can decode RDS data on WFM broadcast station if the [`redsea`](https://github.com/windytan/redsea)
|
||||||
|
decoder is available.
|
||||||
You can find more information [here](https://github.com/windytan/redsea)
|
|
||||||
|
|
||||||
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
`redsea`.
|
`redsea`.
|
||||||
|
|
@ -657,8 +678,8 @@ class FeatureDetector(object):
|
||||||
[`csdr-eti`](https://github.com/jketterl/csdr-eti) project, together with the
|
[`csdr-eti`](https://github.com/jketterl/csdr-eti) project, together with the
|
||||||
associated python bindings from [`pycsdr-eti`](https://github.com/jketterl/pycsdr-eti).
|
associated python bindings from [`pycsdr-eti`](https://github.com/jketterl/pycsdr-eti).
|
||||||
|
|
||||||
If you are using the OpenWebRX Debian or Ubuntu repository, the `python3-csdr-eti` package should be all you
|
If you are using the OpenWebRX Debian or Ubuntu repository, you should be able to install the package
|
||||||
need.
|
`python3-csdr-eti`.
|
||||||
"""
|
"""
|
||||||
required_version = LooseVersion("0.1")
|
required_version = LooseVersion("0.1")
|
||||||
|
|
||||||
|
|
@ -678,7 +699,7 @@ class FeatureDetector(object):
|
||||||
To decode DAB broadcast signals, OpenWebRX needs the [`dablin`](https://github.com/Opendigitalradio/dablin)
|
To decode DAB broadcast signals, OpenWebRX needs the [`dablin`](https://github.com/Opendigitalradio/dablin)
|
||||||
decoding software.
|
decoding software.
|
||||||
|
|
||||||
Dablin comes packaged with Debian and Ubuntu, so installing the `dablin` package should get you going.
|
Debian and Ubuntu users should be able to install the package `dablin` from their distribution.
|
||||||
"""
|
"""
|
||||||
return self.command_is_runnable("dablin -h")
|
return self.command_is_runnable("dablin -h")
|
||||||
|
|
||||||
|
|
@ -687,7 +708,7 @@ class FeatureDetector(object):
|
||||||
OpenWebRX can pass decoded signal data to an MQTT broker for processing in third-party applications. To be able
|
OpenWebRX can pass decoded signal data to an MQTT broker for processing in third-party applications. To be able
|
||||||
to do this, the [paho-mqtt](https://pypi.org/project/paho-mqtt/) library is required.
|
to do this, the [paho-mqtt](https://pypi.org/project/paho-mqtt/) library is required.
|
||||||
|
|
||||||
If you are using Debian or Ubuntu, you can install the `python3-paho-mqtt` package.
|
Debian and Ubuntu users should be able to install the package `python3-paho-mqtt` from their distribution.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
from paho.mqtt import __version__
|
from paho.mqtt import __version__
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue