Skip to content

Conversation

@tjh590
Copy link
Contributor

@tjh590 tjh590 commented May 25, 2025

No description provided.

@github-actions
Copy link

github-actions bot commented May 25, 2025

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  src/pyefis
  gui.py 17-28, 149-220
  main.py 215-260
  src/pyefis/hmi
  menu.py 48-53, 117-121, 124-126, 130-139, 142, 207-213
  src/pyefis/instruments/gauges
  __init__.py
  abstract.py 239-248, 251
  egt.py 89-109
  horizontalBar.py 78-83, 147-152
  horizontalBarImproved.py 25, 29-42, 46-168
  horizontalBarSimple.py 32-35, 39-41, 48-67, 71-179
  verticalBarImproved.py 36-37, 47-66, 70-383
  verticalBarSimple.py 32-35, 39-41, 48-67, 71-190
  src/pyefis/instruments/weston
  __init__.py 61-78
  src/pyefis/screens
  screenbuilder.py 104-117, 427-436, 514-528, 541-546
Project Total  

This report was generated by python-coverage-comment-action

tjh590 added 15 commits November 3, 2025 22:09
…nings)

- main.py: replace infinite ZZLOADER wait with configurable readiness (loaderKey, waitForLoader, loaderTimeout); throttle logs; warn then continue

- gui.py: remove blocking sleep; quit via short QTimer; unify cleanup for keyboard “X” and window close; stop all QTimers; stop scheduler; call fix.stop()

- hmi/menu.py: replace thread-based auto-hide with GUI-thread QTimer; stop timer in closeEvent

- instruments/weston/init.py: correct super().closeEvent; shorten QProcess waits; terminate→kill fallback

- instruments/gauges/abstract.py: parent blink QTimer to widget; stop in closeEvent; fix indentation regression

- screens/screenbuilder.py: stop encoder timer in closeEvent

- .gitignore: update ignores

result: no false “ZZLOADER missing” loop; faster exit; reduced “QObject::killTimer” warnings; avoid exit-time crashes
- Added configurable ZZLOADER wait with timeout to prevent infinite startup loop
- Fixed cross-thread QTimer warnings during application exit
- Implemented proper scheduler thread shutdown sequence using QMetaObject.invokeMethod
- Queue timer stops in scheduler thread with non-blocking QueuedConnection to avoid deadlocks
- Split exit sequence into doExit() and _finishExit() for proper async cleanup
- Fixed Weston closeEvent super() call syntax error
- Added closeEvent handlers to menu, abstract gauges, and screenbuilder to stop timers
- Ensured FIX client threads stop before Qt cleanup
- Reduced exit delays and eliminated blocking waits during shutdown
- All exit methods (keyboard 'X' and window close) now exit cleanly without warnings
@tjh590 tjh590 closed this Nov 9, 2025
@e100
Copy link
Collaborator

e100 commented Nov 11, 2025

@tjh590

I see you closed this, do you still want to get it merged?
I've been super busy lately and have just not had time to look this over in detail.

I've only briefly looked at this in my browser. My only concern so far is a lack of unit tests. If you need help with adding tests let me know.
Your documentation looks good.

Feel free to reopen this and we can work together to get this merged.

@tjh590
Copy link
Contributor Author

tjh590 commented Nov 11, 2025

@e100
Hi Eric, Nice to hear from you. I've recently got back into some pyEfis work and I forgot that my open PR from earlier was still triggering the CI when I pushed to my same forked repo branch, so i closed the PR for now (still a work in progress...will add the proper unit tests in time. Thanks for the collab offer...I may need it).

I've made some further mods to both the fixGw (my repo: master) and pyEfis (my repo: new_ems_gauges) projects, some files attached. I re-worked the fixGwClient GUI app and made some improvements to the pyEfis gauges (input throttling added) and pyEfis button logic (kudos to you for that and the awesome screenbuilder). Truth be told, Github Copilot is helping - after 40+ years in the real-time software development world the modern day capability of LLMs is truly remarkable. A critical eye on the output is still required...but happy to let the younger kids/agents do the heavy lifting :-)
Terry
fixGwClient-Data
fixGwClient-Status
profile-beforeButtonImprovments
profile-afterButtonImprovements
improved-button-logic.md

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.

2 participants