mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
refactoring SettingsForm
This commit is contained in:
+25
-15
@@ -49,7 +49,7 @@ type
|
||||
WindowWidth: Integer;
|
||||
WindowHeight: Integer;
|
||||
// --- Display settings ---
|
||||
FFTSize: Integer; // 1024,2048,4096,8192,16384
|
||||
FFTSize: Integer; // 4096..262144
|
||||
WindowType: Integer; // 0=Rect,1=BH4,2=Hann,3=FlatTop,4=Hamming,5=Kaiser,6=BH7
|
||||
SpecDetector: Integer; // 0=Peak,1=Rosenfell,2=Average,3=Sample,4=RMS
|
||||
SpecAvgMode: Integer; // 0=None,1=Recursive,2=TimeWindow,3=LogRecursive
|
||||
@@ -171,7 +171,7 @@ begin
|
||||
G.PAMaxPower := 100.0;
|
||||
for i := 0 to CFG_BAND_COUNT-1 do G.PABandCal[i] := 100.0;
|
||||
// Display defaults
|
||||
G.FFTSize := 4096;
|
||||
G.FFTSize := 131072;
|
||||
G.WindowType := 2; // Hann
|
||||
G.SpecDetector := 0; // Peak
|
||||
G.SpecAvgMode := 3; // Log Recursive
|
||||
@@ -190,7 +190,7 @@ begin
|
||||
G.AudioInDevice := '';
|
||||
G.ShowSpectrum := True;
|
||||
G.ShowWaterfall := True;
|
||||
G.DisplayFPS := 20;
|
||||
G.DisplayFPS := 60;
|
||||
end;
|
||||
|
||||
constructor TSettingsManager.Create(const FilePath: string);
|
||||
@@ -336,30 +336,40 @@ begin
|
||||
G.LastBand := JI(GObj,'last_band',5);
|
||||
G.SampleRate := JI(GObj,'sample_rate',192000);
|
||||
// Display settings
|
||||
G.FFTSize := JI(GObj,'fft_size',4096);
|
||||
G.WindowType := JI(GObj,'win_type',5);
|
||||
G.FFTSize := JI(GObj,'fft_size',131072);
|
||||
G.WindowType := JI(GObj,'win_type',2);
|
||||
G.SpecDetector := JI(GObj,'spec_detector',0);
|
||||
G.SpecAvgMode := JI(GObj,'spec_avg_mode',0);
|
||||
G.SpecAvgMode := JI(GObj,'spec_avg_mode',3);
|
||||
if GObj.Find('spec_avg_time_ms') <> nil then
|
||||
G.SpecAvgTimeMS := JD(GObj,'spec_avg_time_ms',120.0)
|
||||
else
|
||||
G.SpecAvgTimeMS := JD(GObj,'spec_avg_time_ms',30.0)
|
||||
else if (GObj.Find('spec_avg_count') <> nil) or
|
||||
(GObj.Find('spec_backmult') <> nil) then
|
||||
begin
|
||||
G.SpecAvgTimeMS := LegacyAverageTimeMS(
|
||||
JI(GObj,'display_fps',20),
|
||||
JI(GObj,'display_fps',60),
|
||||
G.SpecAvgMode,
|
||||
JI(GObj,'spec_avg_count',1),
|
||||
JD(GObj,'spec_backmult',0.0),
|
||||
120.0);
|
||||
G.WfDetector := JI(GObj,'wf_detector',2);
|
||||
G.WfAvgMode := JI(GObj,'wf_avg_mode',1);
|
||||
30.0);
|
||||
end
|
||||
else
|
||||
G.SpecAvgTimeMS := 30.0;
|
||||
G.WfDetector := JI(GObj,'wf_detector',0);
|
||||
G.WfAvgMode := JI(GObj,'wf_avg_mode',3);
|
||||
if GObj.Find('wf_avg_time_ms') <> nil then
|
||||
G.WfAvgTimeMS := JD(GObj,'wf_avg_time_ms',120.0)
|
||||
else
|
||||
else if (GObj.Find('wf_avg_count') <> nil) or
|
||||
(GObj.Find('wf_backmult') <> nil) then
|
||||
begin
|
||||
G.WfAvgTimeMS := LegacyAverageTimeMS(
|
||||
JI(GObj,'display_fps',20),
|
||||
JI(GObj,'display_fps',60),
|
||||
G.WfAvgMode,
|
||||
JI(GObj,'wf_avg_count',2),
|
||||
JD(GObj,'wf_backmult',0.25),
|
||||
120.0);
|
||||
end
|
||||
else
|
||||
G.WfAvgTimeMS := 120.0;
|
||||
G.WfManualHigh := JD(GObj,'wf_manual_high',-80.0);
|
||||
G.WfManualLow := JD(GObj,'wf_manual_low',-130.0);
|
||||
G.WfAGCOffset := JD(GObj,'wf_agc_offset',0.0);
|
||||
@@ -373,7 +383,7 @@ begin
|
||||
// Visibility settings
|
||||
G.ShowSpectrum := JB(GObj,'show_spectrum',True);
|
||||
G.ShowWaterfall := JB(GObj,'show_waterfall',True);
|
||||
G.DisplayFPS := JI(GObj,'display_fps',20);
|
||||
G.DisplayFPS := JI(GObj,'display_fps',60);
|
||||
// PA settings
|
||||
G.PAMaxPower := JD(GObj,'pa_max_power',100.0);
|
||||
for i := 0 to CFG_BAND_COUNT-1 do
|
||||
|
||||
Reference in New Issue
Block a user