mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-26 04:47:35 +00:00
Snap frequency to FM step on spectrum/waterfall click when Step is enabled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -4659,7 +4659,10 @@ var
|
|||||||
BandIdx: Integer;
|
BandIdx: Integer;
|
||||||
begin
|
begin
|
||||||
if PanelWidth <= 0 then Exit;
|
if PanelWidth <= 0 then Exit;
|
||||||
StepHz := 100;
|
if (FMode = MODE_FM) and FFMStepOn then
|
||||||
|
StepHz := FM_STEP_HZ[FFMStepIdx]
|
||||||
|
else
|
||||||
|
StepHz := 100;
|
||||||
ClickFreq := Round(FCenterFreq + (PixelX / PanelWidth - 0.5) * FSpanHz);
|
ClickFreq := Round(FCenterFreq + (PixelX / PanelWidth - 0.5) * FSpanHz);
|
||||||
ClickFreq := (ClickFreq div StepHz) * StepHz;
|
ClickFreq := (ClickFreq div StepHz) * StepHz;
|
||||||
if FActiveVfo = 0 then
|
if FActiveVfo = 0 then
|
||||||
|
|||||||
+2
-1
@@ -768,7 +768,8 @@ begin
|
|||||||
'if(dragging&&Math.abs(e.offsetX-dragX0)<4){' +
|
'if(dragging&&Math.abs(e.offsetX-dragX0)<4){' +
|
||||||
// клик — не трогаем localCenter: фильтр встаёт точно туда куда кликнули.
|
// клик — не трогаем localCenter: фильтр встаёт точно туда куда кликнули.
|
||||||
// Спектр остаётся на месте, сервер пришлёт center_hz через ~200ms и всё перецентрируется.
|
// Спектр остаётся на месте, сервер пришлёт center_hz через ~200ms и всё перецентрируется.
|
||||||
'const nf=cl(Math.round(xToHz(e.offsetX,cv.clientWidth)/100)*100,vfoMin(),vfoMax());' +
|
'const snap=(cur.mode===5&&inFMStep)?FM_STEP_HZ[fmStepIdx]:100;' +
|
||||||
|
'const nf=cl(Math.round(xToHz(e.offsetX,cv.clientWidth)/snap)*snap,vfoMin(),vfoMax());' +
|
||||||
'setActiveVfoHz(nf);' +
|
'setActiveVfoHz(nf);' +
|
||||||
'if(activeVfo==="A")cur.vfo_a_hz=nf;else cur.vfo_b_hz=nf;' +
|
'if(activeVfo==="A")cur.vfo_a_hz=nf;else cur.vfo_b_hz=nf;' +
|
||||||
'renderVfos();pend("freq");ws2({cmd:"freq",hz:nf});' +
|
'renderVfos();pend("freq");ws2({cmd:"freq",hz:nf});' +
|
||||||
|
|||||||
Reference in New Issue
Block a user