mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
Save/restore CTun, AGC, FM step per XVTR slot; add FM step to web
- Add LastCTun, LastAGCMode, LastAGCTop to TXvtrEntry; SaveCurrentBand now captures all three in the XVTR branch; ActivateXvtrBand restores them on slot switch/startup (previously CTun was always reset to False and AGC was never saved/restored for XVTR) - WebServer: expose fmstep_idx in state JSON so web clients sync the FM step from desktop state - WebPageHtml: swap stepSel options to FM steps (6.25k/12.5k/20k/25k) when mode=FM, restore HF steps when leaving FM; syncs fmstep_idx from server on connect and mode change Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+9
-4
@@ -212,6 +212,7 @@ type
|
||||
FFilterIdx: Integer;
|
||||
FVfoB: Double;
|
||||
FActiveVfo: Integer; // 0=A, 1=B
|
||||
FFMStepIdx: Integer;
|
||||
FStateLock: TCriticalSection;
|
||||
|
||||
// ── Callbacks ──
|
||||
@@ -304,6 +305,7 @@ type
|
||||
|
||||
property WebClientActive: Boolean read FWebClientActive;
|
||||
property FreqMhzDigits: Integer read FFreqMhzDigits write FFreqMhzDigits;
|
||||
property FMStepIdx: Integer read FFMStepIdx write FFMStepIdx;
|
||||
|
||||
property OnFreq: TWebCmdFreq read FOnFreq write FOnFreq;
|
||||
property OnMode: TWebCmdMode read FOnMode write FOnMode;
|
||||
@@ -425,8 +427,9 @@ begin
|
||||
FClientLock := TCriticalSection.Create;
|
||||
FStateLock := TCriticalSection.Create;
|
||||
// Начальные значения состояния
|
||||
FFreq := 14200000;
|
||||
FMode := 1;
|
||||
FFreq := 14200000;
|
||||
FMode := 1;
|
||||
FFMStepIdx := 3; // 25 kHz default
|
||||
FFilterBW:= 2700;
|
||||
FAGCMode := 1;
|
||||
FAGCTop := 90;
|
||||
@@ -1296,7 +1299,8 @@ begin
|
||||
'"nr_mode":%d,"nr":%s,"nb_mode":%d,"nb":%s,"snb":%s,"anf":%s,"connected":%s,' +
|
||||
'"transmitting":%s,"drive":%d,"attn_idx":%d,"tuning":%s,"dup":%s,' +
|
||||
'"fwd_w":%.1f,"swr":%.2f,"pa_max_power":%.0f,' +
|
||||
'"xvtr_current":%d,"xvtr_bands":%s,"freq_mhz_digits":%d}',
|
||||
'"xvtr_current":%d,"xvtr_bands":%s,"freq_mhz_digits":%d,' +
|
||||
'"fmstep_idx":%d}',
|
||||
[FFreq, FVfoB, FActiveVfo,
|
||||
FMode, MODE_N[FMode mod 8],
|
||||
FFilterIdx, FFilterBW,
|
||||
@@ -1321,7 +1325,8 @@ begin
|
||||
BoolToStr(FTuning, 'true', 'false'),
|
||||
BoolToStr(FDuplex, 'true', 'false'),
|
||||
FFwdW, FSWR, FPAMaxPower,
|
||||
FCurrentXvtr, XvtrJson, FFreqMhzDigits
|
||||
FCurrentXvtr, XvtrJson, FFreqMhzDigits,
|
||||
FFMStepIdx
|
||||
], FS);
|
||||
finally
|
||||
FStateLock.Leave;
|
||||
|
||||
Reference in New Issue
Block a user