Repository navigation
Write a radio's settings on their own, from every place, on every radio - #137
Merged
Merged
Conversation
Consistency pass (Tim): any radio that can program settings separately from channels now offers it in the same two places. - Program dialog: the generic dialog gets the AnyTone's Channel set | Profile cards whenever the driver writes settings on its own (MD-380, TH-D72, TM-D710, BT-9000, UV-5R, ID-5100). Profile writes the saved profile's settings with the channels untouched, guarded like the profile page. - UV-5R and ID-5100 gain a settings-only SettingsWriter. The UV-5R sends only the 16-byte blocks that changed; the ID-5100 runs the factory-reset guard (check_image) and shows its press-POWER instruction. Both share their upload-and-verify with the codeplug program. - Profile page: Write to radio on every cable radio with a writer (the AnyTone and TD-H3 were hidden behind a generic-dialog-only gate). For the AnyTone it points at Verify (the commit reboots the radio) and rescans ports. - Card radios (FT5D, ID-52, TH-D75): "Write settings to card" — the profile's settings patched into the radio's own file, memories untouched, by a new CardSettingsWriter capability and write_card_settings command that follow each format's export file rules (shared per format). Proven at the desk on the real card files (radios/card_settings_write.rs): a file's own settings change 0 bytes; one flipped setting changes 1 byte; the FT5D checksum validates. - One profileWriteBlocked guard for every settings-write affordance. Not run on a radio: the UV-5R and ID-5100 settings-only writes, and a radio loading a settings-only card file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Consistency pass: any radio that can program settings separately from channels now offers it in the same places — the Program dialog and the radio profile page.
Program dialog
UV-5R and ID-5100: settings-only writes
changed_runs), never the channel block.check_image) before cloning, and shows its press-POWER instruction in the dialog and on the profile page.Profile page
CardSettingsWritercapability +write_card_settingscommand, following each format's export file rules (now shared per format).profileWriteBlockedguard for every settings-write affordance.Verification
radios/card_settings_write.rs, ignored in CI): a file's own settings written back change 0 bytes; one flipped setting changes 1 byte; the FT5D checksum validates; the TH-D75 writes a new file and never touches the radio's save. The card formats' own export tests re-run after the refactor./code-review(8 findings, all fixed) and/security-review(no findings).🤖 Generated with Claude Code