[fix](trx-frontend-http): fix waterfall freeze, RDS bandwidth, add jog multiplier

Fix waterfall overview freezing at steady state by tracking a monotonic
push counter instead of row array length — the array size stays constant
once the waterfall is full, so the previous row-count comparison never
triggered the incremental draw path.

Fix WFM RDS not decoding when switching to WFM from a narrowband mode:
set_mode now resets audio_bandwidth_hz to the mode-appropriate default
(180 kHz for WFM) before rebuilding the FIR, preventing the 57 kHz RDS
subcarrier from being filtered out.

Add 1×/10×/100× multiplier button group next to the jog unit selector.
jogUnit × jogMult gives the effective jog step; both are persisted to
localStorage independently.

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:25:39 +01:00
parent eb3b45da64
commit 4f8658b773
4 changed files with 124 additions and 28 deletions
@@ -343,6 +343,38 @@ button:disabled { opacity: 0.6; cursor: not-allowed; }
display: flex;
justify-content: flex-end;
}
.mult-col {
flex: 0 0 auto;
}
.mult-col .label {
display: flex;
justify-content: flex-end;
}
.jog-mult {
display: flex;
border: 1px solid var(--border-light);
border-radius: 6px;
overflow: hidden;
height: 3.35rem;
flex-shrink: 0;
}
.jog-mult button {
border: none;
border-right: 1px solid var(--border-light);
border-radius: 0;
height: 100%;
padding: 0 0.5rem;
font-size: 0.85rem;
background: var(--input-bg);
color: var(--text-muted);
cursor: pointer;
}
.jog-mult button:last-child { border-right: none; }
.jog-mult button.active {
background: var(--btn-bg);
color: var(--accent-green);
font-weight: 600;
}
.label-below-row {
display: flex;
flex-direction: column;