mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
feat(waterfall): палитры Inferno/Turbo + gamma, разрешение до 4096, HiDPI
- SPECTRUM_PIXELS 1024→4096 + настройка display_pixels (лимит точек анализатора, SetDisplayResLimit); web-зеркало остаётся 1024 — max-децимация в SnapshotPixels - палитры водопада Classic/Inferno/Turbo + регулятор gamma (в LUT), настройки wf_palette/wf_gamma, страница Waterfall → группа Rendering - GL-водопад переведён на общий LUT/AGC-уровни базового класса (убраны дубли ColorForDB/UpdateLevels) - явные glViewport в GL-вьюхах умножаются на PixelScale (HiDPI), текстура водопада — в физической ширине Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -250,6 +250,9 @@ type
|
||||
WfManualHigh: Double; // manual waterfall high threshold
|
||||
WfManualLow: Double; // manual waterfall low threshold
|
||||
WfAGCOffset: Double; // AGC offset in dB
|
||||
WfPalette: Integer; // 0=Classic, 1=Inferno, 2=Turbo
|
||||
WfGamma: Double; // контраст палитры (0.3..3.0, 1.0 = линейно)
|
||||
DisplayPixels: Integer; // потолок точек анализатора (1024/2048/4096)
|
||||
SpecRefLevel: Double; // dBm reference (top of scale), e.g. -20
|
||||
SpecRange: Double; // dB range, e.g. 110 (bottom = ref - range)
|
||||
SpecGridStep: Double; // grid step in dB, e.g. 10
|
||||
@@ -443,6 +446,9 @@ begin
|
||||
G.WfManualHigh := -80.0;
|
||||
G.WfManualLow := -130.0;
|
||||
G.WfAGCOffset := 0.0;
|
||||
G.WfPalette := 0; // Classic
|
||||
G.WfGamma := 1.0;
|
||||
G.DisplayPixels := 4096; // 1:1 до 4K-ширины
|
||||
G.SpecRefLevel := -20.0;
|
||||
G.SpecRange := 110.0;
|
||||
G.SpecGridStep := 10.0;
|
||||
@@ -666,6 +672,9 @@ begin
|
||||
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);
|
||||
G.WfPalette := JI(GObj,'wf_palette',0);
|
||||
G.WfGamma := JD(GObj,'wf_gamma',1.0);
|
||||
G.DisplayPixels := JI(GObj,'display_pixels',4096);
|
||||
G.SpecRefLevel := JD(GObj,'spec_ref_level',-20.0);
|
||||
G.SpecRange := JD(GObj,'spec_range',110.0);
|
||||
G.SpecGridStep := JD(GObj,'spec_grid_step',10.0);
|
||||
@@ -771,6 +780,9 @@ begin
|
||||
JW(O,'wf_manual_high',G.WfManualHigh);
|
||||
JW(O,'wf_manual_low',G.WfManualLow);
|
||||
JW(O,'wf_agc_offset',G.WfAGCOffset);
|
||||
JW(O,'wf_palette',G.WfPalette);
|
||||
JW(O,'wf_gamma',G.WfGamma);
|
||||
JW(O,'display_pixels',G.DisplayPixels);
|
||||
JW(O,'spec_ref_level',G.SpecRefLevel);
|
||||
JW(O,'spec_range',G.SpecRange);
|
||||
JW(O,'spec_grid_step',G.SpecGridStep);
|
||||
|
||||
Reference in New Issue
Block a user