mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
fix(settings): preserve DMR mode on reload
This commit is contained in:
+3
-2
@@ -12,6 +12,7 @@ uses
|
||||
|
||||
const
|
||||
CHANNELS_FILE = 'channels.json';
|
||||
CHANNEL_MODE_MAX = 11; // LSB..DMR
|
||||
|
||||
type
|
||||
TChannel = record
|
||||
@@ -19,7 +20,7 @@ type
|
||||
Name: string;
|
||||
RXFreq: Double; // Hz
|
||||
TXFreq: Double; // Hz
|
||||
Mode: Integer; // 0=LSB 1=USB 2=DSB 3=CWL 4=CWU 5=FM 6=AM 7=SAM
|
||||
Mode: Integer; // 0=LSB ... 10=WFM 11=DMR
|
||||
RptDir: Integer; // 0=none 1=minus 2=plus
|
||||
RptOffsetHz: Double; // Hz
|
||||
CTCSSOn: Boolean;
|
||||
@@ -206,7 +207,7 @@ begin
|
||||
Ch.Name := JS(O, 'name', 'Channel');
|
||||
Ch.RXFreq := JD(O, 'rx_freq', 145500000.0);
|
||||
Ch.TXFreq := JD(O, 'tx_freq', 145500000.0);
|
||||
Ch.Mode := EnsureRange(JI(O, 'mode', 5), 0, 7);
|
||||
Ch.Mode := EnsureRange(JI(O, 'mode', 5), 0, CHANNEL_MODE_MAX);
|
||||
Ch.RptDir := EnsureRange(JI(O, 'rpt_dir', 0), 0, 2);
|
||||
Ch.RptOffsetHz:= JD(O, 'rpt_offset', 600000.0);
|
||||
Ch.CTCSSOn := JB(O, 'ctcss_on', False);
|
||||
|
||||
+2
-1
@@ -12,6 +12,7 @@ const
|
||||
SETTINGS_FILE = 'hpsdr_settings.json';
|
||||
CFG_BAND_COUNT = 12;
|
||||
CFG_XVTR_COUNT = 8; // количество XVTR-слотов (трансверторов)
|
||||
CFG_MODE_MAX = 11; // LSB..DMR; keep persisted-mode validation current
|
||||
CFG_PANS_MAX = 4; // потолок панадаптеров (пан 0 + доп.) — = WDSPEngine.MAX_PANS
|
||||
QO100_SLOT = CFG_XVTR_COUNT - 1; // последний слот зарезервирован под QO-100
|
||||
// (split-LO транспондер; настраивается на
|
||||
@@ -1518,7 +1519,7 @@ begin
|
||||
X.Entries[i].RXAntenna := EnsureRange(JI(EObj, 'rx_ant', X.Entries[i].RXAntenna), 0, 3);
|
||||
X.Entries[i].LastFreq := JD(EObj, 'last_freq', X.Entries[i].LastFreq);
|
||||
X.Entries[i].LastFreqB := JD(EObj, 'last_freq_b', X.Entries[i].LastFreqB);
|
||||
X.Entries[i].LastMode := EnsureRange(JI(EObj, 'last_mode', X.Entries[i].LastMode), 0, 7);
|
||||
X.Entries[i].LastMode := EnsureRange(JI(EObj, 'last_mode', X.Entries[i].LastMode), 0, CFG_MODE_MAX);
|
||||
X.Entries[i].LastFilterIdx := EnsureRange(JI(EObj, 'last_filt', X.Entries[i].LastFilterIdx), 0, 9);
|
||||
X.Entries[i].LastFMSQOn := JB(EObj, 'last_fmsq_on', X.Entries[i].LastFMSQOn);
|
||||
X.Entries[i].LastFMSQLevel := EnsureRange(JI(EObj, 'last_fmsq_lvl', X.Entries[i].LastFMSQLevel), 0, 100);
|
||||
|
||||
Reference in New Issue
Block a user