Skip to content

feature/BMSAutoTests#8

Merged
ilang-flytrex merged 11 commits into
masterfrom
feature/BMSAutoTests
Apr 29, 2026
Merged

feature/BMSAutoTests#8
ilang-flytrex merged 11 commits into
masterfrom
feature/BMSAutoTests

Conversation

@ilang-flytrex

Copy link
Copy Markdown

No description provided.

ilang-flytrex and others added 8 commits January 22, 2026 10:52
2. Increase the timeout of the 'firmware update test'
3. Add a context menu to run a single test
4. Add firmware_update_test.py file
…for FW update

2. Refactor the comments in the code
3. When performing more than 1 FW update, check that both files are set
… to check if the FW update actually worked

2. Change the FW update behavior so it will repeat N times for file1 if it exists or file2 if it exists. If both files exist then 1 attempt wraps both updates
3. Fix the 'cancel' operation when FW update starts
4. Implement the shift from file 1 FW update to file 2 FW update
5. Add BMS auto-node selection in case a test begin and no node was manually selected
6. Add adjustable timeout for FW update as a function of the retries
2. Create a dialog box with a report on all the FW updates that occurred when a failure is detected
3. Add a check for not finishing the update process ?(due to reboot)
2. Add a deploy script and "Deploy DroneCAN GUI Tool" task
3. Change the deploy script so it will create a file name with 'flytrex' version as well
4. Fix some errors in the msi file creation process
5.  Add a 'check for updates'  topic inside 'help' menu
6. Add a functionality to check for newer SW version or newer DSDL file both on startup and when 'check for updates' is pressed

Co-authored-by: Copilot <copilot@github.com>
@ilang-flytrex ilang-flytrex requested a review from Copilot April 28, 2026 13:21
@ilang-flytrex ilang-flytrex self-assigned this Apr 28, 2026
@ilang-flytrex ilang-flytrex added the enhancement New feature or request label Apr 28, 2026
Co-authored-by: Copilot <copilot@github.com>

Copilot AI left a comment

Copy link
Copy Markdown

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 Flytrex-specific “BMS Auto Check” workflow to the DroneCAN GUI Tool, adds firmware update automation utilities, and updates Windows build/packaging to bundle/update DSDL specs and support Flytrex MSI versioning and deployments.

Changes:

  • Add new BMS Auto Check panel with a threaded test-runner and manual/firmware-update test hooks.
  • Add firmware update test dialog + firmware binary version parser; extend file server widget to support removing/purging served firmware paths.
  • Update Windows build/packaging: pin build tool versions, stage/bundle DSDL specs, embed Flytrex sub-version in MSI name, and add update/DSDL update checks plus VS Code build/deploy configs.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
winbuild.bat Pins cx_Freeze/setuptools; installs submodule first; uses --no-build-isolation.
setup.py Adds Flytrex MSI naming and stages/bundles DSDL specs + marker file.
dronecan_gui_tool/widgets/file_server.py Adds cache purge and remove_path() to support firmware test cleanup.
dronecan_gui_tool/panels/init.py Registers the new BMS panel.
dronecan_gui_tool/panels/BMS_panel.py New BMS Auto Check panel + runner/test suite and firmware update integration.
dronecan_gui_tool/main.py Adds “Check for Updates” and DSDL updater logic + startup auto-check.
dronecan_gui_tool/AutoTests/firmware_update_test.py New firmware update test dialog and logic.
dronecan_gui_tool/AutoTests/firmware_binary_parser.py New parser for extracting version strings from firmware binaries.
.vscode/tasks.json Adds run/build/clean/deploy tasks.
.vscode/settings.json Adds workspace Python editor settings.
.vscode/launch.json Adds debug configurations.
.vscode/deploy.ps1 Adds a deploy script to build MSI and copy to a shared drive.
.gitignore Tracks shared VS Code configs while ignoring per-user state.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread setup.py
Comment thread dronecan_gui_tool/main.py Outdated
Comment thread dronecan_gui_tool/main.py
Comment thread dronecan_gui_tool/panels/BMS_panel.py Outdated
Comment thread dronecan_gui_tool/panels/BMS_panel.py Outdated
Comment thread dronecan_gui_tool/main.py Outdated
Comment thread dronecan_gui_tool/main.py
Comment thread dronecan_gui_tool/panels/BMS_panel.py Outdated
Comment thread dronecan_gui_tool/panels/BMS_panel.py Outdated
Comment thread dronecan_gui_tool/panels/BMS_panel.py Outdated
ilang-flytrex and others added 2 commits April 29, 2026 13:29
…ecan

2. Remove unused imports
3. Move the software/DSDL update check to a separate  thread
4. Fix an exception message that is caused by None name USB devices
5. Add __init__.py file to AutoTests folder to let find_packages() include the files in this folder
6. Add Optional[str] return type to functions full_match(), hardware_type(), version(), rc() and sub_rc()
7. Increase the update timeout from 500 to 600 seconds
8. Return false for all the tests other than FW update
9. Fix a potential bug in _run_single_test
10. Wait for graceful threads ending in BMS_panel
11. Fix a typo

Co-authored-by: Copilot <copilot@github.com>
@ilang-flytrex ilang-flytrex merged commit eaed413 into master Apr 29, 2026
4 checks passed
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.

2 participants