add bias_tee and direct_sampling options
This commit is contained in:
parent
0ab6729fcc
commit
18e8ca5e43
@ -1,4 +1,5 @@
|
|||||||
from owrx.form import Input
|
from owrx.form import Input, CheckboxInput, DropdownInput, DropdownEnum
|
||||||
|
from owrx.form.converter import OptionalConverter, EnumConverter
|
||||||
from owrx.soapy import SoapySettings
|
from owrx.soapy import SoapySettings
|
||||||
|
|
||||||
|
|
||||||
@ -118,3 +119,39 @@ class GainInput(Input):
|
|||||||
return {self.id: SoapySettings.encode(settings_dict)}
|
return {self.id: SoapySettings.encode(settings_dict)}
|
||||||
|
|
||||||
return {self.id: None}
|
return {self.id: None}
|
||||||
|
|
||||||
|
|
||||||
|
class BiasTeeInput(CheckboxInput):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(
|
||||||
|
"bias_tee", "", "Enable Bias-Tee power supply", converter=OptionalConverter(defaultFormValue=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DirectSamplingOptions(DropdownEnum):
|
||||||
|
DIRECT_SAMPLING_OFF = (0, "Off")
|
||||||
|
DIRECT_SAMPLING_I = (1, "Direct Sampling (I branch)")
|
||||||
|
DIRECT_SAMPLING_Q = (2, "Direct Sampling (Q branch)")
|
||||||
|
|
||||||
|
def __new__(cls, *args, **kwargs):
|
||||||
|
value, description = args
|
||||||
|
obj = object.__new__(cls)
|
||||||
|
obj._value_ = value
|
||||||
|
obj.description = description
|
||||||
|
return obj
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.description
|
||||||
|
|
||||||
|
|
||||||
|
class DirectSamplingInput(DropdownInput):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(
|
||||||
|
"direct_sampling",
|
||||||
|
"Direct Sampling",
|
||||||
|
DirectSamplingOptions,
|
||||||
|
converter=OptionalConverter(
|
||||||
|
EnumConverter(DirectSamplingOptions),
|
||||||
|
defaultFormValue=DirectSamplingOptions.DIRECT_SAMPLING_OFF.name,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
||||||
|
from owrx.form import Input
|
||||||
|
from owrx.form.device import BiasTeeInput
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class AirspySource(SoapyConnectorSource):
|
class AirspySource(SoapyConnectorSource):
|
||||||
@ -17,4 +20,5 @@ class AirspySource(SoapyConnectorSource):
|
|||||||
|
|
||||||
|
|
||||||
class AirspyDeviceDescription(SoapyConnectorDeviceDescription):
|
class AirspyDeviceDescription(SoapyConnectorDeviceDescription):
|
||||||
pass
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(super().getInputs(), [BiasTeeInput()])
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
from .soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
||||||
|
from owrx.form import Input
|
||||||
|
from owrx.form.device import BiasTeeInput
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class HackrfSource(SoapyConnectorSource):
|
class HackrfSource(SoapyConnectorSource):
|
||||||
@ -12,4 +15,5 @@ class HackrfSource(SoapyConnectorSource):
|
|||||||
|
|
||||||
|
|
||||||
class HackrfDeviceDescription(SoapyConnectorDeviceDescription):
|
class HackrfDeviceDescription(SoapyConnectorDeviceDescription):
|
||||||
pass
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(super().getInputs(), [BiasTeeInput])
|
||||||
|
@ -3,6 +3,7 @@ from owrx.command import Flag, Option
|
|||||||
from typing import List
|
from typing import List
|
||||||
from owrx.form import Input, TextInput
|
from owrx.form import Input, TextInput
|
||||||
from owrx.form.converter import OptionalConverter
|
from owrx.form.converter import OptionalConverter
|
||||||
|
from owrx.form.device import BiasTeeInput, DirectSamplingInput
|
||||||
|
|
||||||
|
|
||||||
class RtlSdrSource(ConnectorSource):
|
class RtlSdrSource(ConnectorSource):
|
||||||
@ -26,5 +27,7 @@ class RtlSdrDeviceDescription(ConnectorDeviceDescription):
|
|||||||
infotext="Device serial number or index",
|
infotext="Device serial number or index",
|
||||||
converter=OptionalConverter(),
|
converter=OptionalConverter(),
|
||||||
),
|
),
|
||||||
|
BiasTeeInput(),
|
||||||
|
DirectSamplingInput()
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
||||||
|
from owrx.form import Input
|
||||||
|
from owrx.form.device import BiasTeeInput, DirectSamplingInput
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class RtlSdrSoapySource(SoapyConnectorSource):
|
class RtlSdrSoapySource(SoapyConnectorSource):
|
||||||
@ -12,4 +15,5 @@ class RtlSdrSoapySource(SoapyConnectorSource):
|
|||||||
|
|
||||||
|
|
||||||
class RtlSdrSoapyDeviceDescription(SoapyConnectorDeviceDescription):
|
class RtlSdrSoapyDeviceDescription(SoapyConnectorDeviceDescription):
|
||||||
pass
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(super().getInputs(), [BiasTeeInput(), DirectSamplingInput()])
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
||||||
|
from owrx.form import Input
|
||||||
|
from owrx.form.device import BiasTeeInput
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class SdrplaySource(SoapyConnectorSource):
|
class SdrplaySource(SoapyConnectorSource):
|
||||||
@ -22,3 +25,6 @@ class SdrplaySource(SoapyConnectorSource):
|
|||||||
class SdrplayDeviceDescription(SoapyConnectorDeviceDescription):
|
class SdrplayDeviceDescription(SoapyConnectorDeviceDescription):
|
||||||
def getGainStages(self):
|
def getGainStages(self):
|
||||||
return ["RFGR", "IFGR"]
|
return ["RFGR", "IFGR"]
|
||||||
|
|
||||||
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(super().getInputs(), [BiasTeeInput()])
|
||||||
|
Loading…
Reference in New Issue
Block a user