Skip to content

feat(syntonia): BF-F8HP + UV-5RM Plus variant support#19

Merged
forkwright merged 1 commit intomainfrom
p1-04/baofeng-variants
Mar 15, 2026
Merged

feat(syntonia): BF-F8HP + UV-5RM Plus variant support#19
forkwright merged 1 commit intomainfrom
p1-04/baofeng-variants

Conversation

@forkwright
Copy link
Owner

Summary

  • RadioVariant enum with per-variant config (magic bytes, power mapping, aux flags)
  • Firmware prefix matching for variant identification (UV-5R, BF-F8HP, UV-5RM Plus)
  • Tri-power support for BF-F8HP (8W/4W/1W) and UV-5RM Plus (assumed 10W/5W/1W)
  • Variant-aware codec and protocol (aux warm-up, dropped-byte workaround at 0x1FCF)
  • Auto-detect flow trying multiple magic byte sets with graceful failure message
  • UV-5RM Plus: suggests UV17Pro protocol investigation if UV-5R family detection fails

Test plan

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace — 84 tests pass (47 baofeng-specific)
  • Variant identification from known firmware prefixes (BFB→UV-5R, BFP3V3→F8HP)
  • Power level round-trip per variant (2-level UV-5R, 3-level F8HP)
  • UV-5R Mid bits treated as High (cross-radio import safety)
  • Auto-detect with mock serial (success + failure paths)
  • F8HP download plan includes aux warm-up and dropped-byte split
  • UV-5R download plan skips aux region

🤖 Generated with Claude Code

@github-actions
Copy link
Contributor

⚠️ Large PR detected — 15 files, 2592 lines changed.

Consider splitting into smaller PRs for easier review. Not a blocker, just a signal.

Add variant-aware radio identification and configuration for the UV-5R
family. RadioVariant enum with per-variant config (magic bytes, power
mapping, aux flags). Firmware prefix matching identifies UV-5R, BF-F8HP,
and UV-5RM Plus. Tri-power codec support, variant-aware protocol with
aux warm-up and dropped-byte workaround, auto-detect flow trying
multiple magic byte sets with graceful UV17Pro fallback message.

47 baofeng-specific tests, 84 total.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@forkwright forkwright force-pushed the p1-04/baofeng-variants branch from a344ff1 to 892c6d2 Compare March 15, 2026 15:26
@forkwright forkwright merged commit 4d44e09 into main Mar 15, 2026
13 checks passed
@forkwright forkwright deleted the p1-04/baofeng-variants branch March 15, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant