Skip to content

Conversation

@semuadmin
Copy link
Contributor

PyGPSClient Pull Request Template

Description

FIXES:

  1. Fix Load Configuration error AttributeError on Loading Configuration from menu #232 AttributeError: 'tuple' object has no attribute 'upper'.

ENHANCEMENTS:

  1. Add user-selectable Signals widget, displaying individual GNSS PRN / Signal ID levels and (where applicable) correction sources (receiver must support UBX NAV-SIG messages). Provides greater granularity than the existing Levels widget for UBX devices. Signal IDs are shown in RINEX format e.g. "L1_C/A", "E5_aQ", etc.
  2. Add user-defined preset import facility to Configuration Load/Save/Record panel (accessed via Menu..Options..Configuration Command Recorder). This allows user to record a sequence of UBX, NMEA or TTY commands as they are sent to the receiver and to import this sequence as a user-defined preset in the PyGPSClient json configuration file. This obviates the need to edit the configuration file manually. Remember to re-save the configuration file to persist the changes.
  3. Add Undock/Dock Settings panel facility, via Menu..View..Undock/Dock Settings. Settings panel can now be undocked from the main application window and displayed as a separate Toplevel dialog. If (and only if) non-transient (transient_dialog_b: 0), the settings panel can be minimized independently of the main window.
  4. NTRIP Caster / Socket Server Configuration is now a separate Toplevel dialog panel, accessed through Server Config button on Settings panel or via Menu..Options..Server Configuration. Number of connected clients is now displayed in topmost banner panel.
  5. Show "C/No = 0 dbHz" option ("unused satellites") is now accessible through double-right-click on LevelsView and SignalsView widgets; option removed from main Settings panel.
  6. Minor cosmetic updates to various panels to improve navigation on smaller / lower resolution screens.

Fixes #232

Testing

Please test all changes, however trivial, against the supplied pytest suite tests/test_*.py. Please describe any test cases you have amended or added to this suite to maintain >= 99% code coverage.

Checklist:

  • I agree to abide by the code of conduct (see CODE_OF_CONDUCT.md).
  • My code follows the style guidelines of this project (see CONTRIBUTING.MD).
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • (if appropriate) I have added test cases to the tests/test_*.py unittest suite to maintain test coverage.
  • I have tested my code against the full tests/test_*.py unittest suite.
  • My changes generate no new warnings.
  • Any dependent changes have been merged and published in downstream modules.
  • I have signed my commits.
  • I understand and acknowledge that the code will be published under a BSD 3-Clause license.

@semuadmin semuadmin added this to the RC 1.6.0 milestone Jan 17, 2026
@semuadmin semuadmin requested a review from a team January 17, 2026 20:00
@semuadmin semuadmin self-assigned this Jan 17, 2026
@semuadmin semuadmin added bug Something isn't working enhancement New feature or request labels Jan 17, 2026
@semuadmin semuadmin merged commit 7d267fb into master Jan 17, 2026
5 checks passed
@semuadmin semuadmin deleted the make_settings_dockable branch January 17, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AttributeError on Loading Configuration from menu

3 participants