mirror of
https://github.com/jketterl/openwebrx.git
synced 2025-12-06 07:12:09 +01:00
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
|
from owrx.form.input import Input, TextInput
|
|
from owrx.form.input.validator import Range
|
|
from typing import List
|
|
|
|
|
|
class PlutoSdrSource(SoapyConnectorSource):
|
|
def getDriver(self):
|
|
return "plutosdr"
|
|
|
|
def getEventNames(self):
|
|
return super().getEventNames() + ["hostname"]
|
|
|
|
def buildSoapyDeviceParameters(self, parsed, values):
|
|
params = super().buildSoapyDeviceParameters(parsed, values)
|
|
if "hostname" in values:
|
|
params = [p for p in params if "hostname" not in p]
|
|
params += [{"hostname": values["hostname"]}]
|
|
return params
|
|
|
|
|
|
class PlutoSdrDeviceDescription(SoapyConnectorDeviceDescription):
|
|
def getName(self):
|
|
return "PlutoSDR"
|
|
|
|
def getInputs(self) -> List[Input]:
|
|
return super().getInputs() + [
|
|
TextInput(
|
|
"hostname",
|
|
"Hostname",
|
|
infotext="Use this for PlutoSDR devices attached to the network"
|
|
)
|
|
]
|
|
|
|
def getDeviceOptionalKeys(self):
|
|
return super().getDeviceOptionalKeys() + ["hostname"]
|
|
|
|
def getSampleRateRanges(self) -> List[Range]:
|
|
return [Range(520833, 61440000)]
|