-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
feat: improve flashing speed #88
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #88 +/- ##
==========================================
- Coverage 39.54% 39.53% -0.01%
==========================================
Files 103 103
Lines 12006 12009 +3
Branches 645 645
==========================================
Hits 4748 4748
- Misses 7251 7254 +3
Partials 7 7 ☔ View full report in Codecov by Sentry. |
EdgeTX Buddy has been automatically deployed to Cloudflare. |
Writing EdgeTX 2.10.3 to TX16S on Windows: With https://6c6314e7.buddy-7a6.pages.dev With buddy.edgetx.org Taking into account rounding error, and observer error/lag, basically no difference here atm yet.
For a while now on Linux, I have been using pyfu-usb do DFU tx flashing, and that took exactly 52.74sec to DFU erase and flash... (so lets just call it 55s also... )... So is the problem actually just dfu-util, and all the other tools don't have the arbitrary delay? Please join me in saying "WTAF" when you read the table of results... and see how blindingly fast dfu-util 0.11 is vs STM32CubeProgrammer or dfu-util preview with fast option i.e. |
733d525
to
ff7e92e
Compare
Ok, that was more like it... Buddy now took about 24s to erase, 2m37s to write, for a total of 3m01s (on Linux) vs the (still) 55s overall with the preview build... T12MAX was ~18-19 seconds to erase and flash... at these speeds... I'll be DFU flashing instead of uploading to SD and bootloader flashing from now on 🤣 |
Nice! Not sure what configuration has been made for the pages to deploy to production 🤔 |
That was probably me in #83 - the |
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.
Given I have been flashing with pyfu-usb in this way for over a year now for all the various targets... I consider this DFU timing change (from dumb timeout to polling) stable/reliable for production... I have had no issues to date arising from it ;)
edit: further, and more relevantly, I have now been using the preview version of this for flashing various handsets and have had no issues at all.
This PR improves the flashing speed by ignoring the
pollTimeout
returned by ST's DFU bootloader, which is way too long and just polls the status continuously.