sjg
75e177a5f4
[fix](trx-core): enable CW decoder by default
...
Set cw_decode_enabled default to true so CW decoding can start
without an unavailable UI toggle.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 23:14:14 +01:00
sjg
9786030f7d
[fix](trx-cw): stabilize auto tone scan window
...
Keep manual CW tone setting range at 100-10000 Hz, but limit auto-tone
scanning to 300-1200 Hz to avoid locking onto high-frequency noise.
Retain Nyquist-safe upper clamping.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 23:09:07 +01:00
sjg
c1f37a320f
[fix](trx-cw): widen tone scan range and clamp by Nyquist
...
Expand CW decoder tone scan/control range to 100-10000 Hz and cap the
upper bound by sample-rate Nyquist to keep detection stable.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 23:05:10 +01:00
sjg
f3f0b1dfd3
[fix](trx-server): accept CW tone range up to 10 kHz
...
Expand server-side CW tone command clamping to 100-10000 Hz to match
frontend controls and picker behavior.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 23:05:03 +01:00
sjg
d8f7ebafa0
[fix](trx-frontend): fix CW picker visibility and widen tone range
...
Fix CW picker redraw when the decoder sub-tab becomes visible to avoid
white/blank canvas rendering.
Widen CW tone picker/input range to 100-10000 Hz and raise CW/CWR
bandwidth max to 9 kHz.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 23:04:56 +01:00
sjg
878b50cad7
[fix](trx-server): gate near-silent audio before decode
...
Apply an RMS gate to near-silent decoder input frames and zero them
before APRS/CW/FT8/WSPR processing to avoid false decodes from
unsquelched/no-signal noise.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:58:02 +01:00
sjg
239857d536
[fix](trx-frontend): restore CW picker rendering across spectrum edges
...
Remove CW tone-window clipping to current spectrum edge coverage so
the picker always renders the audio range and does not blank out.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:53:31 +01:00
sjg
4f01db0801
[fix](trx-frontend): render CW picker as audio spectrum trace
...
Render the CW tone picker as an audio-frequency spectrum trace with grid,
line and filled area instead of a normalized gradient wash.
Keep exact click-to-tone selection and marker behavior.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:49:52 +01:00
sjg
1ebe65e0f2
[fix](trx-frontend): fix CW audio picker and bookmark add button
...
Use an audio-window tone picker for CW with exact click-to-tone mapping.
Make + Add Bookmark inherit the shared button style.
Co-authored-by: Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:46:08 +01:00
sjg
2a9cd5ed0e
[fix](trx-frontend): add decoder pause controls and rename tab
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:37:26 +01:00
sjg
eac5e142db
[fix](trx-frontend): rework cw auto and tone picker behavior
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:31:08 +01:00
sjg
d6ad873bfe
[fix](trx-frontend): retune center after bw edge drag
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:25:39 +01:00
sjg
0175b1c916
[feat](trx-frontend): add map search filter
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 22:17:55 +01:00
sjg
a45979fe9b
[fix](trx-frontend): default map sources to hide bookmarks
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 20:04:39 +01:00
sjg
e91d36775b
[fix](trx-frontend): align band chip colors with locator overlays
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 20:00:33 +01:00
sjg
4b9e84e194
[fix](trx-frontend): refine map locator styling
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:55:37 +01:00
sjg
013667f284
[fix](trx-frontend): align bw resize with one-sided filters
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:49:44 +01:00
sjg
0836091bbc
[fix](trx-client): preserve ft8 history on reload
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:45:17 +01:00
sjg
8b174db04d
[feat](trx-frontend): add map fullscreen toggle
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:37:38 +01:00
sjg
125237f53d
[fix](trx-frontend): tighten map sizing and path theming
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:32:01 +01:00
sjg
fbfff4154f
[fix](trx-frontend): compact map tooltip frequencies
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:26:48 +01:00
sjg
c34ecc493d
[fix](trx-frontend): refine map source and popup states
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:22:32 +01:00
sjg
9e1bdf2435
[fix](trx-frontend): refine map popup rendering
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:17:36 +01:00
sjg
75a74d4063
[fix](trx-frontend): render one-sided bw for ssb modes
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:12:32 +01:00
sjg
283125989b
[fix](trx-frontend): animate selected locator paths
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 19:02:31 +01:00
sjg
d1968bd2ba
[fix](trx-frontend): tighten bookmark and map filter overflow
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-04 18:55:26 +01:00
sjg
046d0a33af
[fix](trx-frontend): gate cw status by rig mode
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:41:39 +01:00
sjg
bd5c909695
[fix](trx-frontend): polish map filter layout
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:37:05 +01:00
sjg
a194043caf
[fix](trx-frontend): unify map source filters
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:31:44 +01:00
sjg
52bf573e4e
[fix](trx-frontend): snap locator bands to nearest ham band
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:24:21 +01:00
sjg
efe9dc346b
[fix](trx-frontend): make locator filters two-phase
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:20:38 +01:00
sjg
df173a3202
[fix](trx-frontend): make locator details click-only
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:17:34 +01:00
sjg
4bdb4937c9
[fix](trx-frontend): replace locator wavelength filters with bands
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:12:27 +01:00
sjg
b9b420fa54
[fix](trx-frontend): add locator source and wavelength filters
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 22:01:32 +01:00
sjg
80de405a03
[fix](trx-frontend): refine locator map controls and tooltips
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 21:53:59 +01:00
sjg
68b6bfa0b7
[fix](trx-frontend): improve bookmark dialog and map tooltips
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 20:29:45 +01:00
sjg
2eb3c4f66f
[fix](trx-vdes): normalize geo boxes for map decoding
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 20:10:02 +01:00
sjg
295a395999
[fix](trx-frontend): balance waveform and waterfall heights
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:49:39 +01:00
sjg
e3a5fee666
[style](trx-backend-soapysdr): format WFM code
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:41:30 +01:00
sjg
087ebb33bb
[style](trx-backend-ft817): format mode setup
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:41:20 +01:00
sjg
8042624c39
[style](trx-server): format audio and startup code
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:41:17 +01:00
sjg
417a86284c
[style](trx-core): format rig trait signatures
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:41:14 +01:00
sjg
da9d762ad2
[style](trx-frontend): format http audio code
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:41:06 +01:00
sjg
d72acf9e90
[style](trx-client): format wrapped lines
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:41:03 +01:00
sjg
d40aa7e614
[style](trx-vdes): format decoder source
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:40:58 +01:00
sjg
5cdcdd3498
[feat](trx-frontend): add bookmark locators for distance tooltips
...
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 19:39:53 +01:00
sjg
1825a0a003
[fix](trx-server): honor CW decode enable flag
...
Gate the CW decoder task on cw_decode_enabled in both startup and state changes.
This restores the UI toggle and prevents decode activity when CW decode is off.
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 02:33:33 +01:00
sjg
004ac19ea6
[fix](trx-cw): emit CW transition events
...
Restore empty events on tone edges so the frontend signal indicator updates again.
Add synthetic-tone tests covering transitions and basic decoding.
Co-authored-by: OpenAI Codex <codex@openai.com >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 02:33:27 +01:00
sjg
6f57813d36
[fix](trx-frontend-http): fix cw.js picker
...
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 02:27:40 +01:00
sjg
9bf579aaa0
[fix](trx-frontend): correct CW tone picker behavior
...
Align the CW tone picker to the actual tone window and stop live CW decode events from overriding manual tone selection.
Co-authored-by: Stan Grams <sjg@haxx.space >
Signed-off-by: Stan Grams <sjg@haxx.space >
2026-03-03 02:23:28 +01:00