Skip to content

Add safe Xiegu G106/DE-19 support and fixed receive timing - #922

Open
jedisdead666 wants to merge 2 commits into
patrickrb:devfrom
jedisdead666:codex/g106-support
Open

jedisdead666 wants to merge 2 commits into
patrickrb:devfrom
jedisdead666:codex/g106-support

Conversation

@jedisdead666

@jedisdead666 jedisdead666 commented Oct 10, 2026 •

Copy link
Copy Markdown

Summary

  • add Android G106/G106C profiles with CI-V address 0x70, 19,200 baud, and the required CAT PTT keepalive
  • add a focused desktop G106 direct-CI-V backend and a pinned rig-picker option
  • prevent DE-19 hardware PTT assertion by requesting DTR low on open and explicitly clearing both DTR and RTS before CAT initialization and on close
  • fail the connection unless CAT PTT-off succeeds before mode/frequency setup
  • label generic ALSA C-Media devices as DE-19 audio choices and document Linux dependencies/setup
  • disable the unsafe desktop receive DT auto-calibration introduced before 0.1.2
  • clear legacy rx_offset_ms values at startup and anchor decode/waterfall windows to UTC slots

Field bugs fixed

  • Linux serial open could assert a DE-19 hardware PTT line and key the G106 immediately
  • rx_offset_ms=-4000 could prevent every decode after restart
  • a successful cycle at DT +0.7 to +1.0 could save approximately +528 ms, chop the next slot leading sync block, and prevent later decodes

Safety and timing regression coverage

  • verifies G106 CAT PTT on/off frame polarity
  • verifies both DTR and RTS are released, including when the first release fails
  • verifies PTT-off happens before data-mode initialization and failure rejects the connection
  • verifies the 1 Hz keepalive is limited to keyed radios that require it
  • verifies legacy -4000 and +528 RX offsets reset to zero on restart
  • verifies a decoded batch at DT +0.7 through +1.0 cannot move future receive windows

Verification

  • frontend: 33 tests passed; production TypeScript/Vite build passed
  • Rust: 135 tests passed (124 library, 9 binary, 2 integration)
  • version 0.1.2 AppImage built, extracted, and launched from an isolated empty profile
  • packaged runtime reset a deliberately seeded rx_offset_ms=-4000 to zero on restart
  • Android unit tests are included; local execution is unavailable because this Linux host has no Android SDK configured

@jedisdead666 jedisdead666 changed the title Add safe Xiegu G106 and DE-19 support Add safe Xiegu G106/DE-19 support and fixed receive timing Oct 10, 2026
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