add more device-specific options
This commit is contained in:
parent
8b24eff72e
commit
361ed55b93
@ -1,4 +1,4 @@
|
|||||||
from owrx.form import Input, CheckboxInput, DropdownInput, DropdownEnum
|
from owrx.form import Input, CheckboxInput, DropdownInput, DropdownEnum, TextInput
|
||||||
from owrx.form.converter import OptionalConverter, EnumConverter
|
from owrx.form.converter import OptionalConverter, EnumConverter
|
||||||
from owrx.soapy import SoapySettings
|
from owrx.soapy import SoapySettings
|
||||||
|
|
||||||
@ -155,3 +155,10 @@ class DirectSamplingInput(DropdownInput):
|
|||||||
defaultFormValue=DirectSamplingOptions.DIRECT_SAMPLING_OFF.name,
|
defaultFormValue=DirectSamplingOptions.DIRECT_SAMPLING_OFF.name,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class RemoteInput(TextInput):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(
|
||||||
|
"remote", "Remote IP and Port", infotext="Remote hostname or IP and port to connect to. Format = IP:Port"
|
||||||
|
)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
||||||
from owrx.form import Input
|
from owrx.form import Input, CheckboxInput
|
||||||
from owrx.form.device import BiasTeeInput
|
from owrx.form.device import BiasTeeInput
|
||||||
|
from owrx.form.converter import OptionalConverter
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
@ -21,4 +22,17 @@ class AirspySource(SoapyConnectorSource):
|
|||||||
|
|
||||||
class AirspyDeviceDescription(SoapyConnectorDeviceDescription):
|
class AirspyDeviceDescription(SoapyConnectorDeviceDescription):
|
||||||
def getInputs(self) -> List[Input]:
|
def getInputs(self) -> List[Input]:
|
||||||
return self.mergeInputs(super().getInputs(), [BiasTeeInput()])
|
return self.mergeInputs(
|
||||||
|
super().getInputs(),
|
||||||
|
[
|
||||||
|
BiasTeeInput(),
|
||||||
|
CheckboxInput(
|
||||||
|
"bitpack",
|
||||||
|
"",
|
||||||
|
checkboxText="Enable bit-packing",
|
||||||
|
infotext="Packs two 12-bit samples into 3 bytes."
|
||||||
|
+ " Lowers USB bandwidth consumption, increases CPU load",
|
||||||
|
converter=OptionalConverter(defaultFormValue=False),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
from owrx.source.connector import ConnectorSource, ConnectorDeviceDescription
|
from owrx.source.connector import ConnectorSource, ConnectorDeviceDescription
|
||||||
from owrx.command import Flag, Option, Argument
|
from owrx.command import Flag, Option, Argument
|
||||||
|
from owrx.form import Input
|
||||||
|
from owrx.form.device import RemoteInput
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class RtlTcpSource(ConnectorSource):
|
class RtlTcpSource(ConnectorSource):
|
||||||
@ -19,4 +22,5 @@ class RtlTcpSource(ConnectorSource):
|
|||||||
|
|
||||||
|
|
||||||
class RtlTcpDeviceDescription(ConnectorDeviceDescription):
|
class RtlTcpDeviceDescription(ConnectorDeviceDescription):
|
||||||
pass
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(super().getInputs(), [RemoteInput()])
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
from owrx.source.connector import ConnectorSource, ConnectorDeviceDescription
|
from owrx.source.connector import ConnectorSource, ConnectorDeviceDescription
|
||||||
from owrx.command import Argument, Flag, Option
|
from owrx.command import Argument, Flag, Option
|
||||||
|
from owrx.form import Input, DropdownInput, DropdownEnum, CheckboxInput
|
||||||
|
from owrx.form.device import RemoteInput
|
||||||
|
from owrx.form.converter import OptionalConverter
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class RundsSource(ConnectorSource):
|
class RundsSource(ConnectorSource):
|
||||||
@ -18,5 +22,30 @@ class RundsSource(ConnectorSource):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ProtocolOptions(DropdownEnum):
|
||||||
|
PROTOCOL_EB200 = ("eb200", "EB200 protocol")
|
||||||
|
PROTOCOL_AMMOS = ("ammos", "Ammos protocol")
|
||||||
|
|
||||||
|
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 RundsDeviceDescription(ConnectorDeviceDescription):
|
class RundsDeviceDescription(ConnectorDeviceDescription):
|
||||||
pass
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(
|
||||||
|
super().getInputs(),
|
||||||
|
[
|
||||||
|
RemoteInput(),
|
||||||
|
DropdownInput("protocol", "Protocol", ProtocolOptions),
|
||||||
|
CheckboxInput(
|
||||||
|
"long", "", "Use 32-bit sample size (LONG)", converter=OptionalConverter(defaultFormValue=False)
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
from owrx.source.soapy import SoapyConnectorSource, SoapyConnectorDeviceDescription
|
||||||
|
from owrx.form import Input, TextInput
|
||||||
|
from owrx.form.device import RemoteInput
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
class SoapyRemoteSource(SoapyConnectorSource):
|
class SoapyRemoteSource(SoapyConnectorSource):
|
||||||
@ -18,4 +21,13 @@ class SoapyRemoteSource(SoapyConnectorSource):
|
|||||||
|
|
||||||
|
|
||||||
class SoapyRemoteDeviceDescription(SoapyConnectorDeviceDescription):
|
class SoapyRemoteDeviceDescription(SoapyConnectorDeviceDescription):
|
||||||
pass
|
def getInputs(self) -> List[Input]:
|
||||||
|
return self.mergeInputs(
|
||||||
|
super().getInputs(),
|
||||||
|
[
|
||||||
|
RemoteInput(),
|
||||||
|
TextInput(
|
||||||
|
"remote_driver", "Remote driver", infotext="SoapySDR driver to be used on the remote SoapySDRServer"
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user