Bug #9845

Driver Maintenance: btech.py - Improve driver for downloading and uploading.

Added by Jim Unroe 5 months ago. Updated 3 months ago.

Status:Closed Start date:04/26/2022
Priority:Normal Due date:
Assignee:Jim Unroe % Done:

100%

Category:-
Target version:chirp-daily
Chirp Version:daily Platform:All
Model affected:listed in issue

Description

Recently I have been focused on improving the speed and reliably of the btech.py driver module. Bug #9818 was a first round attempt to bring about some improvements. This round, V2 if you will, has basically scrapped much of the original download/upload routines and has rebuilt them from the ground up to more closely match how the OEM programming software works.

During this process, I have been doing a lot of testing with the collection of the btech.py driver supported radios that I have here. I have also been testing with various CHIRP supported operating systems (Windows 7, Windows 10, Linux Mint 20.3, Raspberry Pi OS (64-bit) Bullseye and macOS Catalina). A limited number of testers have also been working with me to support this project with testing. So far, I am very happy with the results.

But before I submit the changes to be included into CHIRP, I want to reach out to a larger group of testers to validate this new code. Anyone with one of more of the following listed radios (and any additional models that are close variants of those listed) is encouraged to participate.

BTech
  • UV-2501, UV-2501+220, UV-5001, UV-25X2, UV-25X4, UV-50X2, GMRS-50X1
Jetstream
  • JT2705M
Juentai
  • JT-6188 Mini, JT-6188 Plus
LUITON
  • LT-588UV
OTGSTUFF
  • OTG Radio v1
QYT
  • KT-UV980, KT8900, KT8900R, KT7900D, KT8900D, KT5800, KT980PLUS, KT-8R
Radioddity
  • QB25, DB25-G
Sainsonic
  • GT-890
Surecom
  • S-KT8900D
WACCOM
  • MINI-8900
Zastone
  • MP-300

I will soon be posting an update to this issue that will include the test driver module and instructions for how to use it. Standby.

Jim KC9HI

btech_v2.0.py (154.5 kB) Jim Unroe, 04/26/2022 09:51 pm

Associated revisions

Revision 3685:7dd57c17fb8a
Added by Jim Unroe 4 months ago

Driver Maintenance (V2): btech.py related to #9845

Recently I have been focused on improving the speed and reliably of the
btech.py driver module. Bug # 9818 was a first round attempt to bring about
some improvements. This round, V2 if you will, has basically scrapped much of
the original download/upload routines and has rebuilt them to more closely
match how the OEM programming software works. The initialization of the
cloning process is so reliable now that the code that tried 3 times before
giving up was also removed.

Before I submited these changes to be included into CHIRP, I wanted to reach
out to a larger group of testers to validate this new code. Requests for
external participation were made to some Facebook groups and the [chirp_users]
mailing list. Unfortunately, there was vitrually no response from these
requests for participation (and one post was removed as a violation of the
group's rules).

Despite the lack of external volunteers, I have been doing a broad range of
testing to ensure that the changes provided in this patch will successfylly
work with the broad range for radios that are supported by this driver module.

The local testing was done on 5 different computers utilizing a variety of
operating systems:

- Windows 7 32-bit desktip
- Windows 10 64-bit laptop
- Linux Mint 20.3 desktop
- Raspberry Pi OS (64-bit) Bullseye Raspberry Pi 3 Model B
- macOS Catalina laptop

There were 12 different radios used for these tests.

- Anyseco WP-9900
- BTech UV-2501, UV-2501+220, UV-5001, UV-25X2, UV-25X4, UV-50X2, GMRS-X1,
and 1 additional pre-release model.
- Luiton LT-588UV
- QYT KT-8R (handheld)
- WACCOM MINI-8900 Plus

And finally there were programming cables available from the 4 most common
USB-to-UART chip vendors (PC03 style for the handheld radio and PC04 style for
the mobile radios).

- Future Technology Devices International (FTDI)
- Prolific
- Silicon Labs
- WinChipHead (WCH)

Each operating system/radio/programming cable combination was tried a minimun
of 2 times (1 download/1 upload) for a minimum total of 480 tests. All were
100% successful. I am very pleased with the results.

This patch adds support for this "V2" method of cloning to the btech.py
driver module.

History

Updated by Jim Unroe 5 months ago

I have attached the first driver module for testing. Follow the instructions below to test and use the driver module with your CHIRP installation. Using an externally loaded driver module does not permanently change your CHIRP installation in any way. Once you close CHIRP after using the test driver module, you will have to load it again to do any additional testing.

Here are the instructions for how you use the test driver.

  1. save the test driver (btech_v2.0.py) to a convenient location on your computer. Note: Do not right-click the test driver link to download. You must left-click the link and then choose the download link near the top of the page that loads.
  2. load CHIRP
  3. click Help in the menu bar and then enable the Enable Developer Functions setting
  4. click File in the menu bar and then select Load Module in the list that appears
  5. locate and load the driver module that was saved in step #1

At this point CHIRP should have a red background to let you know that it is running with an externally loaded driver module.

Now you can test this test driver module with your radio(s), computer(s) and operating system(s). Test both downloading and uploading. Test with as many radios, computers, operating systems as you are willing to test.

Leave a comment noting the radio vendor/model tested, which operations system and version that CHIRP was running under and the approximate download/upload time for a successful test. If there is a problem, attach a debug.log file. Visit the How to report issues page for instructions on how to find the debug.log for the various supported operating systems.

Once you no longer want/need to do any more testing you can disable the Enable Developer Functions setting. But leaving it enabled does not hurt anything.

Thank you in advance for your testing,
Jim KC9HI

Updated by Jim Unroe 4 months ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

A patch has been submitted. Support will be in the next CHIRP daily build following acceptance.

Jim KC9HI

Updated by Jim Unroe 4 months ago

  • Status changed from Resolved to Closed

Today's build, CHIRP daily-20220531, now has this support.

Jim KC9HI

Updated by rick moc 3 months ago

does not work for me

Also available in: Atom PDF