Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 30 additions & 32 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,52 +10,50 @@ during the 0.4.0 release, so earlier detail lives in the git history and in the
change ledgers under [`docs/test/test-strategy.md`](docs/test/test-strategy.md)
and [`docs/requirements/system-requirements.md`](docs/requirements/system-requirements.md).

## [Unreleased]

### Fixed

- **Switching DATA sub-mode (and rate) no longer lags.** Tapping DATA A / AFSK A
/ FSK D / PSK D, or a data rate, waited for the radio to echo before the
button lit - the same read-back fight the sliders had. The button now
responds at once and reconciles with the radio.
## [0.8.0] — 2026-07-25

### Added

- **DTMF keypad for FM.** A **DTMF** button on the FM panel opens a keypad
(0-9, A-D, *, #) that sends tones to the radio - for repeater and link
control that is otherwise out of reach over a remote link.
- **A locked VFO refuses tuning.** When you lock a VFO at the radio, the app
shows a **LOCK** badge on it and stops its own digit taps, panadapter clicks
and wheel scrolls from moving it — the badge flashes on a refused gesture, so
it is never a silent no-op. The other VFO still tunes.

### Added
- **DATA rate selector.** In AFSK-A and FSK-D you can pick 45 or 75 baud, and
in PSK-D BPSK31 or BPSK63, from buttons beside the DATA sub-mode strip. The
labels follow the sub-mode; the control is hidden in DATA-A, which has no
rate.

- **Transverter band setup.** The BAND screen now has a setup form for the
transverter bands (XV1-12): pick a band and set its mode, IF band, lower
edge, offset and mW power. Fields load from the radio when you pick a band,
and each is sent to that band. (The mW power scale while operating on a
transverter band is a separate, later addition.)
- **Your antenna names show.** If you have named an antenna on the K4 (`ACN`),
the TX-antenna control shows that name (e.g. `DIPOLE`) instead of `ANT 1`.

### Added

- **On-screen macro buttons.** A new **Fn -> MACROS** tab runs the same macros
as the K-Pod F1-F8 switches, so you get one-tap CAT macros with or without a
- **On-screen macro buttons.** A new **Fn → MACROS** tab runs the same macros
as the K-Pod F1–F8 switches, so you get one-tap CAT macros with or without a
K-Pod. Assign them under Settings; a macro that transmits is arm-gated just
like the physical switch.

### Added
- **DTMF keypad for FM.** A **DTMF** button on the FM panel opens a keypad
(`0`–`9`, `A`–`D`, `*`, `#`) sending tones to the radio — for repeater and
link control that is otherwise out of reach over a remote link.

- **DATA rate selector.** In AFSK-A and FSK-D you can now pick 45 or 75 baud,
and in PSK-D BPSK31 or BPSK63, from buttons beside the DATA sub-mode strip.
The labels follow the sub-mode, and the control is hidden in DATA-A where
there is no rate.
- **Your antenna names now show.** If you have named an antenna on the K4
(ACN), the TX-antenna control shows that name (e.g. `DIPOLE`) instead of
`ANT 1`.
- **Transverter band setup.** The BAND screen has a two-column layout with a
setup form for the transverter bands (XV1–12): pick a band and set its mode,
IF band, lower edge, offset and mW power. Fields load from the radio when you
pick a band, and each is sent to that band.

### Fixed

- **TX TEST now flashes, so you can't mistake it for a real transmit.** In test
mode the radio keys but puts out no power; the transmit indicator used to show
the same steady red `● TX` as a live transmit. It now reads a flashing amber
**TEST**, distinct from the red that means RF is actually leaving the antenna.
mode the radio keys but puts out no power; the transmit indicator used to
show the same steady red `● TX` as a live transmit. It now reads a flashing
amber **TEST**, distinct from the red that means RF is leaving the antenna.

- **Switching DATA sub-mode (and rate) no longer lags.** Tapping DATA A / AFSK A
/ FSK D / PSK D, or a data rate, waited for the radio to echo before the
button lit — the same read-back fight the sliders had in 0.7.0. The button
now responds at once and reconciles with the radio.

[0.8.0]: https://github.com/dc0sk/K4remote/releases/tag/v0.8.0

## [0.7.0] — 2026-07-25

Expand Down
22 changes: 11 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ members = [

[workspace.package]
edition = "2021"
version = "0.7.0"
version = "0.8.0"
authors = ["Simon Keimer (DC0SK)"]
rust-version = "1.90"
license = "GPL-3.0-or-later"
Expand Down
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ stakeholder needs down to individual tests, enforced by a build gate.

![K4 Remote main window](docs/screenshots/main.png)

> **Status:** v0.7.0 — feature-complete; hardware bring-up in progress.
> 314 hardware-free tests pass · clippy/fmt clean · traceability gate green · CI green on Linux/macOS/Windows.
> **Status:** v0.8.0 — feature-complete; hardware bring-up in progress.
> 326 hardware-free tests pass · clippy/fmt clean · traceability gate green · CI green on Linux/macOS/Windows.
> VFO tuning, RIT/XIT, split, band, panadapter click-to-QSY, and the K-Pod (incl. F1–F8 tap/hold macros)
> are validated against a real K4; audio / PTT / waterfall rendering / serial bring-up is ongoing.
> 0.4.0 closed **four transmit-safety faults** found on a live K4 — most seriously, the transmitter
Expand All @@ -26,6 +26,13 @@ stakeholder needs down to individual tests, enforced by a build gate.
> radio — plus **ATU and TUNE control**, an About-box **update check**, and **switchable control
> tooltips**.
>
> **New in 0.8.0:** a **locked VFO** now refuses the app's own tuning (with a LOCK badge),
> a **DATA rate** selector (45/75 baud, PSK31/63), your **antenna names** (`ACN`) on the TX
> antenna control, an **on-screen MACROS** tab reusing the K-Pod macro table, a **DTMF keypad**
> for FM repeater/link control, and **transverter band setup** on the BAND screen. Plus, from
> operating a live K4: **TX TEST** flashes distinctly from a real transmit, and switching DATA
> sub-mode no longer lags.
>
> **New in 0.7.0:** **frequency memories**, an **AF recorder** driving the radio's own 90-second
> receive buffer, and a **TX TEST** indicator. Plus, from operating a live K4: sliders that no
> longer fight the radio's read-back (and an APF button that responds at once), a **lowercase
Expand Down
3 changes: 2 additions & 1 deletion docs/test/test-strategy.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Test Strategy & Traceability"
status: Draft
version: "3.12"
version: "4.0"
updated: 2026-07-22
authors:
- Simon Keimer (DC0SK)
Expand Down Expand Up @@ -433,3 +433,4 @@ FR-SES-MULTI, FR-DIAG-02, etc. — get `TC` IDs when promoted to `Approved`.)*
| 2026-07-25 | 3.10 | DC0SK | **FR-MACRO-01 — on-screen macro buttons**, reusing the K-Pod macro table on a new Fn → MACROS tab. Deliberate reuse: the 16-slot label+CAT table is already in config and not feature-gated, so the buttons work without a K-Pod, and because a press goes through the same `Session::send` seam the physical switch uses, the arm gate and the refusal flash (FR-TX-SAFE-06) — and the lower-case gate (FR-TX-SAFE-03) for hand-typed macros — all apply for free. Verified: the label/assignment logic (`macro_label`) by test, and the MACROS tab on screen in `--demo`, showing the 12 seeded Elecraft sample macros wrapping to a second row at eight. **A backlog finding recorded rather than built:** FR-MTR-05's power/SWR readout is already shipped (FR-MTR-03 draws `nnn W` + SWR on the TX meter), and its V/I half depends on `SI`, whose format D12 leaves 'for a future revision' — so like FR-VFO-STEP-01 it is partly already-met and partly not-yet-buildable. 322 tests. |
| 2026-07-25 | 3.11 | DC0SK | **FR-XVTR-01 — transverter band setup**, the last substantial backlog item. Six `XV*` encoders + per-field read-back parser + a setup form on the BAND screen. Complex and niche but fully documented, so buildable without hardware-guessing (unlike the audio-character and message items, still hardware-blocked). Design point: `XVN` is **stateful** (selects the band the rest target), so each field send is prefixed with `XVN<band>` and the form reloads on band-select keyed on the `XVN` the radio confirms — a stale value can never land in a field. The form clipped the fixed-height config slot at first; compacted to three rows and the BAND screen wrapped in a scrollable. R5 caught three encoders passed as bare `.map()` references with no paren-call site — switched to closures so the capability is genuinely reachable, not just defined. Deferred, and recorded: the mW power scale on XVTR bands (an operating-display concern needing current-band state, separate from setup). Verified: all six encoders and the read-back parse by test; the form on screen in `--demo`. 325 tests. |
| 2026-07-25 | 3.12 | DC0SK | **Transverter setup moved to a second column** after DC0SK found the single stacked column grew a vertical scrollbar in the config slot — an ergonomics problem (scrolling a setup form is worse than the space it saves). The BAND screen is now two columns: HF/6 m band selection left, transverter select + setup form right, with the form's four numeric fields laid two-per-row (`Lower`/`IF`, `Offset`/`Power`) now that the half-width column gives horizontal room. No scrollbar; everything fits the fixed-height slot. Verified on screen in `--demo`. |
| 2026-07-25 | 4.0 | DC0SK | Release **v0.8.0**. Minor: six backlog features and two operating fixes since 0.7.0, nearly all validated on DC0SK's live K4. Added: VFO lock read-back + tuning refusal, DATA rate select, `ACN` antenna names, on-screen macros (Fn → MACROS, reusing the K-Pod table), a DTMF keypad, and transverter band setup (two-column BAND screen). Fixed: TX TEST now flashes distinct from a real transmit (finishing FR-TX-TUNE-01's flashing indication), and DATA sub-mode/rate switching lag — the same read-back fight the sliders had, fixed with the standing optimistic-override pattern. **What is left is now honestly the hard part:** the audio-character (`MX`/`BL`/`FX`/`AL`) and message (`DARM`) items are blocked on two hardware questions only the operator can answer — whether radio-side audio settings reach the remote stream, and whose microphone `DARM` records. Version bumped in Cargo.toml (workspace), lockfile, README, user manual. 326 tests. |
2 changes: 1 addition & 1 deletion docs/user-manual.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "K4 Remote — User Manual"
status: Draft
version: "0.7.0"
version: "0.8.0"
updated: 2026-07-22
updated: 2026-07-21
authors:
Expand Down
Loading