add preliminary support for netsdr devices

This commit is contained in:
Jakob Ketterl 2024-01-14 17:51:09 +01:00
parent 32aeebd7a3
commit 44ca186c80
2 changed files with 39 additions and 0 deletions

View file

@ -70,6 +70,7 @@ class FeatureDetector(object):
"radioberry": ["soapy_connector", "soapy_radioberry"],
"fcdpp": ["soapy_connector", "soapy_fcdpp"],
"bladerf": ["soapy_connector", "soapy_bladerf"],
"netsdr": ["soapy_connector", "soapy_netsdr"],
"sddc": ["sddc_connector"],
"hpsdr": ["hpsdr_connector"],
"runds": ["runds_connector"],
@ -417,6 +418,14 @@ class FeatureDetector(object):
"""
return self._has_soapy_driver("bladerf")
def has_soapy_netsdr(self):
"""
The SoapyNetSDR module allows the use of devices using the NetSDR protocol.
You can get it [here](https://github.com/pothosware/SoapyNetSDR)
"""
return self._has_soapy_driver("netsdr")
def has_m17_demod(self):
"""
The `m17-demod` tool is used to demodulate M17 digital voice signals.

30
owrx/source/netsdr.py Normal file
View file

@ -0,0 +1,30 @@
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
from owrx.form.input import Input
from owrx.form.input.device import RemoteInput
from typing import List
class NetsdrSource(SoapyConnectorSource):
def getEventNames(self):
return super().getEventNames() + ["remote"]
def buildSoapyDeviceParameters(self, parsed, values):
params = super().buildSoapyDeviceParameters(parsed, values)
params += [{"netsdr": values["remote"]}]
return params
def getDriver(self):
return "netsdr"
class NetsdrDeviceDescription(SoapyConnectorDeviceDescription):
def getName(self):
return "NetSDR device"
def getInputs(self) -> List[Input]:
return super().getInputs() + [
RemoteInput()
]
def getDeviceMandatoryKeys(self):
return super().getDeviceMandatoryKeys() + ["remote"]