Repository navigation
Add Yaesu FT-857D / FT-897 support (#145) - #153
Merged
Merged
Conversation
One driver for both radios: they share one clone protocol and one memory map (CHIRP drives them from a single class). Measured on an FT-897 (US); the FT-857D on hand has a dead CAT TXD line. - Whole-image clone over the CAT/LINEAR jack, started from the radio's front panel. Reads resync past line junk before block 0; US vs export is decided by the radio sending the 60 m block or not. - New shared operator steps (radios/operator.rs, OperatorStepBox): a session can tell the operator to press SEND, and wait for Continue before a write, since a radio waiting in RCV is silent. - 200 memories with FM/NFM/AM/USB/LSB/CW, shifts, tones and DCS. The encoder patches the slot's existing record, so a radio's own memories re-encode byte-identically. - 46 menu settings across 40 menus, generated with their schema from one measurement sheet. CHIRP's map was corrected where the radio disagreed (EXT MENU bit, CW QSK list, DISP CONTRAST offset). - channel_fit now asks each driver which analog modes its encoder writes, so USB/LSB/CW/AM channels are excluded with a reason instead of being programmed as dead FM memories; missing modes load as FM. Hardware ladder 1-5 passed on the FT-897 (identity, one-name, full codeplug, band probe 0.1-470 MHz, settings write through the app). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Windows test binary died at load with STATUS_ENTRYPOINT_NOT_FOUND. restore_image_from took an Option<AppHandle> so tests could call it with None, but naming AppHandle from a test links Tauri's window runtime into the test binary, and on Windows that runtime imports functions that resolve only under the app's manifest, which a test executable lacks. The body now takes a sink factory; the command passes one that builds the operator sink from its AppHandle, and tests pass a typed None that never names Tauri. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #145.
What
One driver (
yaesu_ft857d) for the FT-857D and FT-897. The two radios share one clone protocol and one memory map; CHIRP drives both from a single class. Both models are seeded.radios/operator.rsandOperatorStepBoxlet a radio session tell the operator what to press. A write waits for Continue, because a radio sitting in RCV is silent. They're used in the Program dialog and in both profile-editor radio bars. Any future front-panel-clone radio can reuse them.channel_fitnow asks each driver which analog modes its encoder writes (RadioDriver::analog_modes). USB/LSB/CW channels, and AM on radios whose encoder can't write it, are excluded with a reason instead of being programmed as dead FM memories. NFM is excluded on the FT5D, whose encoder has no narrow bit. A channel with no mode loads as FM, so the TD-H3 no longer writes it narrow. The CHIRP CSV writer now passes USB/LSB/CW through.Hardware
All five ladder steps passed on an FT-897 (US) through a Digirig:
LADDER2on the screen. That proves there's no checksum beyond the per-block sums.The FT-857D on hand has a dead CAT TXD line and couldn't be read. It programs identically to the FT-897.
Review notes
hw_ladder.rsis the#[ignore]d hardware harness, kept like the BT-9000's.🤖 Generated with Claude Code