restructure config
This commit is contained in:
parent
c6962b4f42
commit
170b720e48
@ -33,7 +33,7 @@ config_webrx: configuration options for OpenWebRX
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# configuration version. please only modify if you're able to perform the associated migration steps.
|
# configuration version. please only modify if you're able to perform the associated migration steps.
|
||||||
version = 6
|
version = 7
|
||||||
|
|
||||||
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
|
# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
|
||||||
# https://github.com/jketterl/openwebrx/wiki/Configuration-guide
|
# https://github.com/jketterl/openwebrx/wiki/Configuration-guide
|
||||||
@ -258,16 +258,18 @@ Note: if you experience audio underruns while CPU usage is 100%, you can:
|
|||||||
#waterfall_colors = [0x0000FF, 0x00FF00, 0xFF0000]
|
#waterfall_colors = [0x0000FF, 0x00FF00, 0xFF0000]
|
||||||
|
|
||||||
### Waterfall calibration
|
### Waterfall calibration
|
||||||
#waterfall_levels = {"min": -88, "max": -20} # in dB
|
#waterfall_auto_levels = {"min": -88, "max": -20} # in dB
|
||||||
waterfall_auto_level_margin = {"min": 3, "max": 10, "min_range": 50}
|
|
||||||
|
waterfall_auto_levels = {"min": 3, "max": 10}
|
||||||
|
waterfall_auto_min_range = 50
|
||||||
|
|
||||||
# Note: When the auto waterfall level button is clicked, the following happens:
|
# Note: When the auto waterfall level button is clicked, the following happens:
|
||||||
# [waterfall_levels.min] = [current_min_power_level] - [waterfall_auto_level_margin["min"]]
|
# [waterfall_levels.min] = [current_min_power_level] - [waterfall_auto_levels["min"]]
|
||||||
# [waterfall_levels.max] = [current_max_power_level] + [waterfall_auto_level_margin["max"]]
|
# [waterfall_levels.max] = [current_max_power_level] + [waterfall_auto_levels["max"]]
|
||||||
#
|
#
|
||||||
# ___|________________________________________|____________________________________|________________________________________|___> signal power
|
# ___|__________________________________|____________________________________|__________________________________|___> signal power
|
||||||
# \_waterfall_auto_level_margin["min"]_/ |__ current_min_power_level | \_waterfall_auto_level_margin["max"]_/
|
# \_waterfall_auto_levels["min"]_/ |__ current_min_power_level | \_waterfall_auto_levels["max"]_/
|
||||||
# current_max_power_level __|
|
# current_max_power_level __|
|
||||||
|
|
||||||
# This setting allows you to modify the precision of the frequency displays in OpenWebRX.
|
# This setting allows you to modify the precision of the frequency displays in OpenWebRX.
|
||||||
# Set this to exponent of 10 to select the most precise digit in Hz you'd like to see
|
# Set this to exponent of 10 to select the most precise digit in Hz you'd like to see
|
||||||
|
@ -72,7 +72,8 @@ var waterfall_max_level;
|
|||||||
var waterfall_min_level_default;
|
var waterfall_min_level_default;
|
||||||
var waterfall_max_level_default;
|
var waterfall_max_level_default;
|
||||||
var waterfall_colors = buildWaterfallColors(['#000', '#FFF']);
|
var waterfall_colors = buildWaterfallColors(['#000', '#FFF']);
|
||||||
var waterfall_auto_level_margin;
|
var waterfall_auto_levels;
|
||||||
|
var waterfall_auto_min_range;
|
||||||
|
|
||||||
function buildWaterfallColors(input) {
|
function buildWaterfallColors(input) {
|
||||||
return chroma.scale(input).colors(256, 'rgb')
|
return chroma.scale(input).colors(256, 'rgb')
|
||||||
@ -110,9 +111,9 @@ function waterfallColorsDefault() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function waterfallColorsAuto(levels) {
|
function waterfallColorsAuto(levels) {
|
||||||
var min_level = levels.min - waterfall_auto_level_margin.min;
|
var min_level = levels.min - waterfall_auto_levels.min;
|
||||||
var max_level = levels.max + waterfall_auto_level_margin.max;
|
var max_level = levels.max + waterfall_auto_levels.max;
|
||||||
max_level = Math.max(min_level + (waterfall_auto_level_margin.min_range || 0), max_level);
|
max_level = Math.max(min_level + (waterfall_auto_min_range || 0), max_level);
|
||||||
waterfall_min_level = min_level;
|
waterfall_min_level = min_level;
|
||||||
waterfall_max_level = max_level;
|
waterfall_max_level = max_level;
|
||||||
updateWaterfallSliders();
|
updateWaterfallSliders();
|
||||||
@ -721,8 +722,10 @@ function on_ws_recv(evt) {
|
|||||||
waterfall_min_level_default = config['waterfall_levels']['min'];
|
waterfall_min_level_default = config['waterfall_levels']['min'];
|
||||||
waterfall_max_level_default = config['waterfall_levels']['max'];
|
waterfall_max_level_default = config['waterfall_levels']['max'];
|
||||||
}
|
}
|
||||||
if ('waterfall_auto_level_margin' in config)
|
if ('waterfall_auto_levels' in config)
|
||||||
waterfall_auto_level_margin = config['waterfall_auto_level_margin'];
|
waterfall_auto_levels = config['waterfall_auto_levels'];
|
||||||
|
if ('waterfall_auto_min_range' in config)
|
||||||
|
waterfall_auto_min_range = config['waterfall_auto_min_range'];
|
||||||
waterfallColorsDefault();
|
waterfallColorsDefault();
|
||||||
|
|
||||||
var initial_demodulator_params = {};
|
var initial_demodulator_params = {};
|
||||||
|
@ -2,7 +2,7 @@ from owrx.property import PropertyLayer
|
|||||||
|
|
||||||
|
|
||||||
defaultConfig = PropertyLayer(
|
defaultConfig = PropertyLayer(
|
||||||
version=6,
|
version=7,
|
||||||
max_clients=20,
|
max_clients=20,
|
||||||
receiver_name="[Callsign]",
|
receiver_name="[Callsign]",
|
||||||
receiver_location="Budapest, Hungary",
|
receiver_location="Budapest, Hungary",
|
||||||
@ -142,7 +142,8 @@ defaultConfig = PropertyLayer(
|
|||||||
),
|
),
|
||||||
waterfall_scheme="GoogleTurboWaterfall",
|
waterfall_scheme="GoogleTurboWaterfall",
|
||||||
waterfall_levels=PropertyLayer(min=-88, max=-20),
|
waterfall_levels=PropertyLayer(min=-88, max=-20),
|
||||||
waterfall_auto_level_margin=PropertyLayer(min=3, max=10, min_range=50),
|
waterfall_auto_levels=PropertyLayer(min=3, max=10),
|
||||||
|
waterfall_auto_min_range=50,
|
||||||
tuning_precision=2,
|
tuning_precision=2,
|
||||||
squelch_auto_margin=10,
|
squelch_auto_margin=10,
|
||||||
nmux_memory=50,
|
nmux_memory=50,
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
from owrx.property import PropertyLayer
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
@ -98,14 +99,27 @@ class ConfigMigratorVersion5(ConfigMigrator):
|
|||||||
config["version"] = 6
|
config["version"] = 6
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigMigratorVersion6(ConfigMigrator):
|
||||||
|
def migrate(self, config):
|
||||||
|
if "waterfall_auto_level_margin" in config:
|
||||||
|
walm_config = config["waterfall_auto_level_margin"]
|
||||||
|
if "min_range" in walm_config:
|
||||||
|
config["waterfall_auto_min_range"] = walm_config["min_range"]
|
||||||
|
wal = {k: v for k, v in walm_config.items() if k in ["min", "max"]}
|
||||||
|
config["waterfall_auto_levels"] = PropertyLayer(**wal)
|
||||||
|
del config["waterfall_auto_level_margin"]
|
||||||
|
config["version"] = 7
|
||||||
|
|
||||||
|
|
||||||
class Migrator(object):
|
class Migrator(object):
|
||||||
currentVersion = 6
|
currentVersion = 7
|
||||||
migrators = {
|
migrators = {
|
||||||
1: ConfigMigratorVersion1(),
|
1: ConfigMigratorVersion1(),
|
||||||
2: ConfigMigratorVersion2(),
|
2: ConfigMigratorVersion2(),
|
||||||
3: ConfigMigratorVersion3(),
|
3: ConfigMigratorVersion3(),
|
||||||
4: ConfigMigratorVersion4(),
|
4: ConfigMigratorVersion4(),
|
||||||
5: ConfigMigratorVersion5(),
|
5: ConfigMigratorVersion5(),
|
||||||
|
6: ConfigMigratorVersion6(),
|
||||||
}
|
}
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -127,7 +127,8 @@ class OpenWebRxReceiverClient(OpenWebRxClient, SdrSourceEventClient):
|
|||||||
global_config_keys = [
|
global_config_keys = [
|
||||||
"waterfall_scheme",
|
"waterfall_scheme",
|
||||||
"waterfall_colors",
|
"waterfall_colors",
|
||||||
"waterfall_auto_level_margin",
|
"waterfall_auto_levels",
|
||||||
|
"waterfall_auto_min_range",
|
||||||
"fft_size",
|
"fft_size",
|
||||||
"audio_compression",
|
"audio_compression",
|
||||||
"fft_compression",
|
"fft_compression",
|
||||||
|
Loading…
Reference in New Issue
Block a user