Added per-profile tuning step, made receiver follow tuning step, made mouse wheel tune frequency (button+wheel to zoom).

This commit is contained in:
Marat Fayzullin
2022-07-24 18:12:48 -04:00
parent 6192978f2f
commit f60a9b1551
4 changed files with 71 additions and 25 deletions

View File

@ -33,6 +33,7 @@ defaultConfig = PropertyLayer(
samp_rate=2400000,
start_freq=439275000,
start_mod="nfm",
tuning_step="1000",
),
"2m": PropertyLayer(
name="2m",
@ -41,6 +42,7 @@ defaultConfig = PropertyLayer(
samp_rate=2048000,
start_freq=145725000,
start_mod="nfm",
tuning_step="1000",
),
}
),
@ -57,6 +59,7 @@ defaultConfig = PropertyLayer(
samp_rate=384000,
start_freq=14070000,
start_mod="usb",
tuning_step="500",
),
"30m": PropertyLayer(
name="30m",
@ -64,6 +67,7 @@ defaultConfig = PropertyLayer(
samp_rate=192000,
start_freq=10142000,
start_mod="usb",
tuning_step="500",
),
"40m": PropertyLayer(
name="40m",
@ -71,6 +75,7 @@ defaultConfig = PropertyLayer(
samp_rate=256000,
start_freq=7070000,
start_mod="lsb",
tuning_step="500",
),
"80m": PropertyLayer(
name="80m",
@ -78,6 +83,7 @@ defaultConfig = PropertyLayer(
samp_rate=384000,
start_freq=3570000,
start_mod="lsb",
tuning_step="500",
),
"49m": PropertyLayer(
name="49m Broadcast",
@ -85,6 +91,7 @@ defaultConfig = PropertyLayer(
samp_rate=384000,
start_freq=6070000,
start_mod="am",
tuning_step="1000",
),
}
),
@ -102,6 +109,7 @@ defaultConfig = PropertyLayer(
samp_rate=500000,
start_freq=14070000,
start_mod="usb",
tuning_step="500",
),
"30m": PropertyLayer(
name="30m",
@ -110,6 +118,7 @@ defaultConfig = PropertyLayer(
samp_rate=250000,
start_freq=10142000,
start_mod="usb",
tuning_step="500",
),
"40m": PropertyLayer(
name="40m",
@ -118,6 +127,7 @@ defaultConfig = PropertyLayer(
samp_rate=500000,
start_freq=7070000,
start_mod="lsb",
tuning_step="500",
),
"80m": PropertyLayer(
name="80m",
@ -126,6 +136,7 @@ defaultConfig = PropertyLayer(
samp_rate=500000,
start_freq=3570000,
start_mod="lsb",
tuning_step="500",
),
"49m": PropertyLayer(
name="49m Broadcast",
@ -134,6 +145,7 @@ defaultConfig = PropertyLayer(
samp_rate=500000,
start_freq=6070000,
start_mod="am",
tuning_step="1000",
),
}
),

View File

@ -120,6 +120,7 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
"start_mod",
"start_freq",
"center_freq",
"tuning_step",
"initial_squelch_level",
"sdr_id",
"profile_id",

View File

@ -12,8 +12,8 @@ from owrx.command import CommandMapper
from owrx.socket import getAvailablePort
from owrx.property import PropertyStack, PropertyLayer, PropertyFilter, PropertyCarousel, PropertyDeleted
from owrx.property.filter import ByLambda
from owrx.form.input import Input, TextInput, NumberInput, CheckboxInput, ModesInput, ExponentialInput
from owrx.form.input.converter import OptionalConverter
from owrx.form.input import Input, TextInput, NumberInput, CheckboxInput, ModesInput, ExponentialInput, DropdownInput, Option
from owrx.form.input.converter import OptionalConverter, IntConverter
from owrx.form.input.device import GainInput, SchedulerInput, WaterfallLevelsInput
from owrx.form.input.validator import RequiredValidator
from owrx.form.section import OptionalSection
@ -565,6 +565,12 @@ class SdrDeviceDescription(object):
ExponentialInput("samp_rate", "Sample rate", "S/s"),
ExponentialInput("start_freq", "Initial frequency", "Hz"),
ModesInput("start_mod", "Initial modulation"),
DropdownInput(
"tuning_step",
"Tuning step",
options=[Option(str(i), "{} Hz".format(i)) for i in [1, 100, 500, 1000, 2500, 3000, 5000, 6000, 10000, 12000, 50000]],
converter=IntConverter(),
),
NumberInput("initial_squelch_level", "Initial squelch level", append="dBFS"),
]
@ -589,7 +595,7 @@ class SdrDeviceDescription(object):
return keys
def getProfileMandatoryKeys(self):
return ["name", "center_freq", "samp_rate", "start_freq", "start_mod"]
return ["name", "center_freq", "samp_rate", "start_freq", "start_mod", "tuning_step"]
def getProfileOptionalKeys(self):
return ["initial_squelch_level", "rf_gain", "lfo_offset", "waterfall_levels"]