Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RC 1.5.1 #170

Merged
merged 1 commit into from
Dec 6, 2024
Merged

RC 1.5.1 #170

merged 1 commit into from
Dec 6, 2024

Conversation

semuadmin
Copy link
Contributor

@semuadmin semuadmin commented Nov 30, 2024

PyGPSClient Pull Request Template

Description

  1. Add new user-selectable and configurable "Chart" widget:

    Chart Widget

    • The Chart widget broadly emulates a multi-channel "oscilloscope", allowing the user to plot designated numeric data attribute values over time. By default, the number of channels is set to 4, but this can be manually edited by the user via the json configuration file setting chartsettings_d["numchn_n"].
    • Any numeric attribute from any incoming NMEA, UBX, RTCM or SPARTN message can be plotted.
    • For each channel, user must specify the parsed data attribute name e.g. "hAcc" or "numSV".
    • User can optionally specify a message identity e.g. "GNGGA" or "NAV-PVT", in which case only the attribute from that message identity will be plotted.
    • Nested group attributes must include the full group index e.g. "cno_04". Alternatively, one of three wildcard characters '*', '+' or '-' can be appended, representing the average, minimum or maximum of the nested group values e.g. "cno*" = (cno_01 + cno_02 + ... + cno_0n) / n ; "cno+" = max(cno_01, cno_02, ..., cno_0n).
    • X (time) and Y (value) axes are fully configurable.
    • Double-Left-click clears plot.
    • Double-Right-click copies chart data to clipboard in CSV format (can be imported directly into Excel, Numbers, LibreOffice Calc spreadsheet).
    • The maximum number of datapoints per channel is configurable, though NB the practical maximum will be dependent on available platform memory and performance. 100,000 datapoints per channel is roughly equivalent to 3 MB in-memory data.
    • Chart settings will be saved to the json configuration file when "Save Configuration" is invoked.
    • Principally intended to provide a real-time view of incoming data trends over relatively short periods (minutes or hours). Analyses of much long time-series data (days or weeks) can probably be done more efficiently by saving a binary log of the incoming data and processing the data offline through a standard Python graphing tool like matplotlib.
  2. Add Check (for updates) on startup option to About dialog (NB: check requires internet connectivity).

  3. Minor UI enhancements to improve clarity at lower screen resolutions.

Fixes # (issue)

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.

  • New helper method tests

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 the enhancement New feature or request label Nov 30, 2024
@semuadmin semuadmin added this to the RC 1.5.1 milestone Nov 30, 2024
@semuadmin semuadmin self-assigned this Nov 30, 2024
@semuadmin semuadmin requested a review from a team November 30, 2024 07:36
@semuadmin semuadmin marked this pull request as draft November 30, 2024 07:36
@semuadmin semuadmin force-pushed the RC-1.5.1 branch 5 times, most recently from c43098e to 72fcdce Compare December 4, 2024 08:31
@semuadmin semuadmin marked this pull request as ready for review December 5, 2024 09:20
@semuadmin semuadmin merged commit 3b7c3f6 into master Dec 6, 2024
@semuadmin semuadmin deleted the RC-1.5.1 branch December 6, 2024 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant