-
Notifications
You must be signed in to change notification settings - Fork 39
Motor test frontend #865
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
Motor test frontend #865
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a comprehensive motor test frontend for the ArduPilot Methodic Configurator project. The implementation provides a complete GUI solution for testing motor functionality, validating motor order and direction, and managing critical safety parameters.
Key changes:
- Complete motor test data model with 30+ methods and comprehensive exception handling using custom exception classes
- Full Tkinter GUI implementation with real-time feedback, safety warnings, and keyboard shortcuts
- Enhanced motor diagram download and conversion scripts with improved error handling and automatic PNG conversion
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
tests/test_data_model_motor_test.py |
Updated tests to handle new exception-based API with proper exception assertions and improved error handling |
scripts/download_motor_diagrams.py |
Enhanced with automatic PNG conversion integration and improved logging/error handling |
scripts/batch_convert_motor_diagrams.py |
Improved Firefox service setup with Windows path handling and enhanced debugging |
ardupilot_methodic_configurator/frontend_tkinter_motor_test.py |
New comprehensive motor test GUI with safety features, real-time feedback, and keyboard shortcuts |
ardupilot_methodic_configurator/data_model_motor_test.py |
Complete data model implementation with exception-based API and comprehensive parameter validation |
ardupilot_methodic_configurator/backend_flightcontroller.py |
Added fetch_param method for real-time parameter verification |
ardupilot_methodic_configurator/backend_filesystem_program_settings.py |
Updated to support PNG diagrams and hierarchical motor test settings |
ARCHITECTURE_motor_test.md |
Comprehensive documentation update reflecting implemented features and architecture decisions |
.vscode/launch.json |
Added debug configuration for motor test frontend development |
if os.name == "nt": # Windows | ||
# Replace backslashes with forward slashes and handle drive letter | ||
svg_abs_path = svg_abs_path.replace("\\", "/") | ||
svg_abs_path = f"file:///{svg_abs_path}" if svg_abs_path[1] == ":" else f"file://{svg_abs_path}" |
Copilot
AI
Sep 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code assumes Windows paths have a drive letter at position 1, but this could cause an IndexError if svg_abs_path
is less than 2 characters long. Add a length check: if len(svg_abs_path) > 1 and svg_abs_path[1] == \":\":
svg_abs_path = f"file:///{svg_abs_path}" if svg_abs_path[1] == ":" else f"file://{svg_abs_path}" | |
svg_abs_path = f"file:///{svg_abs_path}" if len(svg_abs_path) > 1 and svg_abs_path[1] == ":" else f"file://{svg_abs_path}" |
Copilot uses AI. Check for mistakes.
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
Test Results 2 files 2 suites 1m 42s ⏱️ Results for commit 636d61f. ♻️ This comment has been updated with latest results. |
ff28f44
to
b7ccbe2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.
f0f8ba3
to
a003944
Compare
A comprehensive motor test frontend for the ArduPilot Methodic Configurator project. The implementation provides a complete GUI solution for testing motor functionality, validating motor order and direction, and managing critical safety parameters. - Complete motor test data model with 30+ methods and comprehensive exception handling using custom exception classes - Full Tkinter GUI implementation with real-time feedback, safety warnings, and keyboard shortcuts currently excluded from coverage tests until it is feature complete and integrated in the main application
a003944
to
636d61f
Compare
A comprehensive motor test frontend for the ArduPilot Methodic Configurator project. The implementation provides a complete GUI solution for testing motor functionality, validating motor order and direction, and managing critical safety parameters.