[fix](trx-frontend-http): fix jog multiplier reset and rename unit label

Fix updateJogStepSupport to snap jogUnit (not jogStep) to nearest
supported unit, then recompute jogStep = jogUnit * jogMult so the
multiplier is preserved across rig connect/reconnect.

Rename "Mult" label to "Unit Multiplier" for clarity.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-02-28 02:37:16 +01:00
parent 4f8658b773
commit 7fa4f5d133
2 changed files with 6 additions and 4 deletions
@@ -985,15 +985,17 @@ function updateJogStepSupport(cap) {
.filter((s) => Number.isFinite(s) && s > 0); .filter((s) => Number.isFinite(s) && s > 0);
if (steps.length === 0) return; if (steps.length === 0) return;
const current = Number(jogStep); const current = Number(jogUnit);
const desired = const desired =
Number.isFinite(current) && current >= minFreqStepHz ? current : Math.max(steps[0], minFreqStepHz); Number.isFinite(current) && current >= minFreqStepHz ? current : Math.max(steps[0], minFreqStepHz);
jogStep = steps.reduce((best, s) => (Math.abs(s - desired) < Math.abs(best - desired) ? s : best), steps[0]); jogUnit = steps.reduce((best, s) => (Math.abs(s - desired) < Math.abs(best - desired) ? s : best), steps[0]);
jogStep = Math.max(jogUnit * jogMult, minFreqStepHz);
saveSetting("jogUnit", jogUnit);
saveSetting("jogStep", jogStep); saveSetting("jogStep", jogStep);
buttons.forEach((btn) => { buttons.forEach((btn) => {
btn.classList.toggle("active", Number(btn.dataset.step) === jogStep); btn.classList.toggle("active", Number(btn.dataset.step) === jogUnit);
}); });
refreshFreqDisplay(); refreshFreqDisplay();
@@ -126,7 +126,7 @@
<button type="button" data-mult="10">10×</button> <button type="button" data-mult="10">10×</button>
<button type="button" data-mult="100">100×</button> <button type="button" data-mult="100">100×</button>
</div> </div>
<div class="label"><span>Mult</span></div> <div class="label"><span>Unit Multiplier</span></div>
</div> </div>
</div> </div>
</div> </div>