Open
Conversation
- Created rig-config.json.example as tracked template - Added rig-config.json to .gitignore to prevent tracking user customizations - Updated update.sh to backup and restore rig-config.json during updates - Updated rig-daemon.js to auto-create config from example on first run - Updated README.md and UserGuide.md to document the new system User customizations to rig-config.json will now be preserved across updates.
- Refactored POTAPanel to use callback pattern instead of direct useRig hook - Added rig control to WWFFPanel (new feature) - Updated PotaSotaPanel to pass onSpotClick callbacks to child panels - Added handleParkSpotClick functions to ModernLayout and ClassicLayout - Updated DockableApp to pass onSpotClick to POTA and WWFF panels All panels now use consistent callback pattern for better maintainability and separation of concerns. Layouts handle frequency conversion and mode detection centrally.
All park panels (POTA, WWFF, SOTA) now format frequencies consistently with DX Cluster using .toFixed(3) for 3 decimal places. This ensures frequencies like 144.3 MHz display as 144.300 for consistency.
Fixed bug where high frequencies (>100 MHz) were incorrectly converted in handleParkSpotClick. The manual conversion logic was flawed - it treated values like 144.300 MHz as kHz, resulting in 144300 Hz instead of 144300000 Hz. Solution: Pass the spot object directly to tuneTo() which already has robust frequency conversion logic that handles all formats correctly. This matches how DX Cluster handles spot clicks. Also removed unused detectMode import since tuneTo handles mode detection.
11 tasks
- Created RIG_CONTROL_COMPARISON.md comparing all three rig control solutions - Includes quick decision guide based on use case - Documents USB port exclusivity limitation for direct USB solutions - Added Mixed Content (HTTPS/HTTP) troubleshooting to rig-control README - Highlights Safari's strict blocking vs Chrome/Firefox workarounds - Recommends internal proxy solution for HTTPS deployments
WSJT-X decodes contain two frequency values: - dialFrequency: Radio VFO frequency in Hz (e.g., 14074000) - freq: Audio delta frequency in Hz (e.g., 1234) The delta frequency is just the audio offset within the passband where the signal was decoded. When tuning the rig, we should use only the dial frequency, not dial + delta. Fixed by using dialFrequency directly for WSJT-X decodes while preserving original behavior for other spot types (DX Cluster, POTA, WWFF, SOTA). Changes: - DockableApp.jsx: Use dialFrequency only for WSJT-X spots - RigContext.jsx: Use dialFrequency only in tuneTo function This fix applies to all layouts (Modern, Classic, Dockable) as they all use the tuneTo function from RigContext. UI display unchanged - still shows delta frequency as expected.
b831868 to
8c34983
Compare
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.
This PR contains a comprehensive set of fixes and improvements for rig control functionality across all panels and layouts, plus documentation for HTTPS deployment scenarios.
Summary
Bug Fixes
WSJT-X Frequency Calculation
Problem: WSJT-X decodes were sending delta frequency (audio offset, e.g., 1234 Hz) to rig control instead of actual operating frequency.
Solution: Calculate actual operating frequency as
dialFrequencyfor WSJT-X decodes while preserving original behavior for other spot types.Impact: All layouts (Modern, Classic, Dockable) now correctly tune to WSJT-X decodes.
Files Changed:
src/DockableApp.jsx- Added WSJT-X frequency calculation in handleSpotClicksrc/contexts/RigContext.jsx- Added WSJT-X handling in tuneTo functionPOTA/WWFF VHF/UHF Frequency Handling
Problem: High frequencies (>100 MHz) were incorrectly converted in park panels. Values like 144.300 MHz were treated as kHz, resulting in 144300 Hz instead of 144300000 Hz.
Solution:
tuneTo()which has robust frequency conversion logic.toFixed(3)for consistencyFiles Changed:
src/layouts/ModernLayout.jsxsrc/layouts/ClassicLayout.jsxsrc/hooks/usePOTASpots.jssrc/hooks/useWWFFSpots.jssrc/components/POTAPanel.jsxsrc/components/WWFFPanel.jsxsrc/components/SOTAPanel.jsxRig Config Preservation During Updates
Problem: User customizations to
rig-config.jsonwere lost during updates.Solution:
rig-config.json.exampleas tracked templaterig-config.jsonto.gitignoreupdate.shto backup and restore config during updatesFiles Changed:
rig-control/rig-config.json.example(new)rig-control/.gitignoreupdate.shrig-control/rig-daemon.jsrig-control/README.mdUserGuide.mdRefactoring
Standardized Rig Control Pattern
Refactored all panels to use consistent callback pattern for better maintainability:
useRighook to callback patternBenefits:
Documentation
Rig Control Comparison Guide
Created comprehensive
RIG_CONTROL_COMPARISON.mdcomparing all three rig control solutions:Includes:
HTTPS Mixed Content Documentation
Added troubleshooting section to
rig-control/README.md:Testing
All changes have been tested with:
WSJT-X decodes on HF bands (FT8) need testing like I have currently no working setup to test that.
Breaking Changes
None. All changes are backward compatible.
Related Issues
Fixes frequency tuning issues reported in user testing.