Project

General

Profile

Actions

New Model #10692

open

Wouxun KG-Q10H New Model Support

Added by Mel Terechenok 10 months ago. Updated about 1 month ago.

Status:
In Progress
Priority:
Normal
Category:
-
Target version:
Start date:
11/02/2023
Due date:
% Done:

90%

Estimated time:
Equipment Loan/Gift Offered:
I read the instructions above:
Yes

Description

Add support for the new Wouxun KG-Q10H Quad Band Ham handheld radio


Files

clipboard-202307161325-ficx4.png (94.2 KB) clipboard-202307161325-ficx4.png Mel Terechenok, 07/16/2023 10:26 AM
q10h settings.jpg (248 KB) q10h settings.jpg Mel Terechenok, 09/08/2023 05:27 PM
q10h chan mem.jpg (271 KB) q10h chan mem.jpg Mel Terechenok, 09/08/2023 05:44 PM
q10h oem.jpg (496 KB) q10h oem.jpg Mel Terechenok, 09/08/2023 05:44 PM
clipboard-202309121816-qkq47.png (22.8 KB) clipboard-202309121816-qkq47.png Mel Terechenok, 09/12/2023 03:16 PM
clipboard-202309261735-nlagt.png (29.9 KB) clipboard-202309261735-nlagt.png Channel Memory Extra Settings Mel Terechenok, 09/26/2023 02:35 PM
clipboard-202309302351-exeki.png (63.1 KB) clipboard-202309302351-exeki.png Mel Terechenok, 09/30/2023 08:51 PM
chirp_debug-vg2ax0gl.txt (592 KB) chirp_debug-vg2ax0gl.txt Kevin S, 09/30/2023 09:21 PM
clipboard-202310092155-zst03.png (68.8 KB) clipboard-202310092155-zst03.png Mel Terechenok, 10/09/2023 06:56 PM
clipboard-202310092200-sjkev.png (34.8 KB) clipboard-202310092200-sjkev.png Mel Terechenok, 10/09/2023 07:00 PM
clipboard-202310092209-rsya8.png (123 KB) clipboard-202310092209-rsya8.png Mel Terechenok, 10/09/2023 07:09 PM
clipboard-202310092215-2nts0.png (14.1 KB) clipboard-202310092215-2nts0.png Mel Terechenok, 10/09/2023 07:15 PM
kgq10h b2p6.py (158 KB) kgq10h b2p6.py KG-Q10H - KG-Q10G --- Beta 2.6 Mel Terechenok, 01/08/2024 03:17 PM
Screenshot 2024-01-08 181419.png (138 KB) Screenshot 2024-01-08 181419.png Memories view with Show Extra Fields enabled Mel Terechenok, 01/08/2024 03:20 PM

Related issues

Has duplicate New Model #11313: Wouxun KG-Q10H Quad BandRejected04/21/2024

Actions
Actions #1

Updated by Mel Terechenok 10 months ago

Development work to begin as soon as the radio is received from BuyTwoWayRadios.com.

Actions #2

Updated by Wade Wouldn'tyouliketoknow 10 months ago

Mel Terechenok wrote in #note-1:

Development work to begin as soon as the radio is received from BuyTwoWayRadios.com.

Good luck, mine came yesterday and although the new programming software is better than what came before from Wouxun it's still a far cry from CHIRP or RT Systems Inc's tools.

Actions #3

Updated by Mel Terechenok 10 months ago

Baby Steps -
Start Byte, command structure and encryption byte are known.
I can send a proper command and get the radio to respond with expected data.
Comm decryption appears to be working.
Decrypted data conversion shows reasonable values like WOUXUN, KG-Q10H, KG-Q332 for model info and 2021-12-24, VC1.00 which match the firmware version of the radio.

Still having trouble with proper checksum calculation though.

Actions #4

Updated by Mel Terechenok 10 months ago

  • Target version set to chirp-py3
  • % Done changed from 0 to 10

Full download of radio memory is working.

Mapping of memory and settings has begun.

Actions #5

Updated by Mel Terechenok 10 months ago

progress on Settings Tab UI

Actions #6

Updated by Mel Terechenok 9 months ago

1 step forward--- 10 steps back
The radio is not reporting memory contents at a given address consistently. This has stalled development as the downloaded memory contents can not be trusted.

Actions #7

Updated by Mel Terechenok 9 months ago

After studying the CPS packet transfers,I think I know what needs to be done to unobfuscate the data transfer. Gonna get back at it. Stay tuned.

Actions #8

Updated by Mel Terechenok 9 months ago

I have most of the radio settings mapped. Still working on Channel memories due to Wouxun memory layout choices.

Actions #9

Updated by Pat Colagreco 9 months ago

Mel Terechenok wrote in #note-8:

I have most of the radio settings mapped. Still working on Channel memories due to Wouxun memory layout choices.

Watching this closely - The Wouxun software is 'workable.' But I'm not having a fun time importing larger lists of stations for places that I travel. Thanks for your efforts!

Actions #10

Updated by Evan Pearson 9 months ago

I check this update log daily hoping that Mel will have cracked the code for this HT. The Wouxun CPS is atrocious at best. What is it about OEM CPS software that doesn't allow you to copy/paste large groups of frequencies in your list at one time? Such a simple, yet rare feature in anything except Chirp.

Regardless, here's hoping the KG-Q10H gets full Chrip support ASAP! :) Thanks for your efforts so far, Mel!

Actions #11

Updated by Mel Terechenok 9 months ago

Still developing the driver. Channel memories are currently still a problem due to Wouxun attempts at preventing 3rd party programmers.

Actions #12

Updated by Pat Colagreco 8 months ago

Mel Terechenok wrote in #note-11:

Still developing the driver. Channel memories are currently still a problem due to Wouxun attempts at preventing 3rd party programmers.

Just dropping by to see if there is any new news on this one
Hope y'all have a good weekend!

Actions #13

Updated by Mel Terechenok 8 months ago

A bit of success in getting the Download from radio channel memory into the format that Chirp can correctly decipher.
Radio settings tab is building nicely.
Quite a bit of work still needed to be able to modify the values in Chirp and get them to upload to the radio in the correct memory locations.

Still not able to confirm ability to extend Tx Range.

Actions #14

Updated by Mel Terechenok 8 months ago

  • File deleted (q10h chan mem.jpg)
Actions #16

Updated by Mel Terechenok 8 months ago

Started testing writes to the radio.
I can complete a write but the data is not 100% correct yet - likely due to Chirp to Radio memory location manipulation issues.

Working on debugging but I can change some settings and channel memories and the radio accepts them from Chirp.

Actions #18

Updated by Mel Terechenok 8 months ago

Upload to Radio is working - All 999 Channel memories can be modified using Chirp.
Settings are also working, but the mapping of all available settings is still not complete.

This is all good news as the Wouxun obfuscation attempts has been remediated and Chirp can now fully communicate and handle the radio programming.

Actions #19

Updated by Kevin Logan 8 months ago

Mel Terechenok wrote in #note-18:

Upload to Radio is working - All 999 Channel memories can be modified using Chirp.
Settings are also working, but the mapping of all available settings is still not complete.

This is all good news as the Wouxun obfuscation attempts has been remediated and Chirp can now fully communicate and handle the radio programming.

I just wanted to take a second to thank you for all of the work you have put into this. I use chirp for all my other radios and appreciate you working to make the new Wouxun supportable.

Actions #20

Updated by Tony Politi 7 months ago

Mel Terechenok wrote in #note-18:

Upload to Radio is working - All 999 Channel memories can be modified using Chirp.
Settings are also working, but the mapping of all available settings is still not complete.

This is all good news as the Wouxun obfuscation attempts has been remediated and Chirp can now fully communicate and handle the radio programming.

I have the radio arriving tomorrow and I would be willing to Beta test.

Actions #21

Updated by Kevin S 7 months ago

I'll be receiving a Q336 next week. I'd gladly beta-test it with the 336 to see if it works. It appears to be the exact same radio as the Q10H with regional differences.

Actions #22

Updated by Mel Terechenok 7 months ago

Completed mapping the settings for Mute Mode, Scrambler, Compander, Favorite, Send Location and Call Groups on a per channel basis.
They will be available for configuration on a per channel basis using the Channel Properties feature.
Still working on confirming completeness and correctness of Download and Upload routines and mapping of all the other settings.

Channel Memory Extra Settings

Actions #23

Updated by Tony Politi 7 months ago

Mel Terechenok wrote in #note-22:

Completed mapping the settings for Mute Mode, Scrambler, Compander, Favorite, Send Location and Call Groups on a per channel basis.
They will be available for configuration on a per channel basis using the Channel Properties feature.
Still working on confirming completeness and correctness of Download and Upload routines and mapping of all the other settings.

Channel Memory Extra Settings

Any lock on the channel unlocking?

Actions #24

Updated by Mel Terechenok 7 months ago

  • File kgq10h_beta1.py added

Q10H Beta Driver 1.0

PLEASE SAVE THE FIRST DOWNLOAD FROM YOUR RADIO TO A SAFE PLACE BEFORE MODIFYING ANYTHING.

Channel Memories, Config settings, FM radio presets, Top and Area Message settings are implemented.
Other settings to come soon.

NOTE: To Change Mode from FM to AM - Do not use the main Mode column interface.

For now - Select the Channel(s) -- Right Click - then select Properties, then on the Edit Details Popup select Extra tab and then change the AM Mode.

To Unlock Tx Range go to Settings Tab - OEM Info and uncheck the Tx Range locked to Factory Setting checkbox.

After you upload the range will be expanded.

How to load test drivers
Enter Issue #10692

Report any issues to me here. This is a Beta release so I do expect to find some issues.

Please be understanding and thanks for your patience.

Actions #25

Updated by Justin Overfelt 7 months ago

Hi Mel,

Just gave it a go - looks great! Thanks so much for doing this especially given how annoying they made it and how awful the OEM software is. Couple minor issues:

  1. Looks like setting the channel Mode doesn't work at all - not just for AM. I had a few channels set to NFM accidentally and I couldn't get it to set them to FM using either the channel memory or the Properties window. It would let me select FM then just put the channel back to NFM. Once I set them to FM manually on the radio though, chirp read it back correctly.

  2. CHIRP cuts off channel names too early. Looks like it only allows 8 chars where the radio can do more. Weirdly, the manual says it's limited to 8 chars, but it comes with channels labeled "2m Calling" and "440 Calling" so it must support at least 11...

Actions #26

Updated by Tony Politi 7 months ago

Mel you are a god. As a mac user I haven't been able to program anything.

Where can I send a donation.

That said I can verify Justin's #1

to his #2 I will add that that centering items is not possible as it will not accept spaces as a character.

Actions #27

Updated by Dan Smith 7 months ago

Tony, if you want to send something to Mel, do it directly. The donate button on the download page goes to me for running the project, but for something directed like this you should make arrangements with Mel directly to make sure the goodness goes to the proper greatness :)

Actions #28

Updated by Tony Politi 7 months ago

Tony Politi wrote in #note-26:

Mel you are a god. As a mac user I haven't been able to program anything.

Where can I send a donation.

That said I can verify Justin's #1

to his #2 I will add that that centering items is not possible as it will not accept spaces as a character.

I can also confirm that my cheap Amazon bought Baofeng cable is able to program the radio.

Actions #29

Updated by Mel Terechenok 7 months ago

Thanks guys. I will be working on the Mode column. Since the radio has 2 AM modes (Rx and RxTx), I will have to add some conditional logic to handle all the various modes correctly.

I will have to look into the names again....the names are able to be up to 12 characters and I have been able to use spaces and see all 12 in my testing. Not sure what you are seeing. Maybe make the columns wider to confirm they are not just being hidden by short width columns?

Either way. I will be verifying everything I can and making fixes as quickly as I can.

Actions #30

Updated by Kevin S 7 months ago

Mel Terechenok wrote in #note-29:

Thanks guys. I will be working on the Mode column. Since the radio has 2 AM modes (Rx and RxTx), I will have to add some conditional logic to handle all the various modes correctly.

I will have to look into the names again....the names are able to be up to 12 characters and I have been able to use spaces and see all 12 in my testing. Not sure what you are seeing. Maybe make the columns wider to confirm they are not just being hidden by short width columns?

Either way. I will be verifying everything I can and making fixes as quickly as I can.

Thanks for the beta!! I can read and write to my Q336. It saves all the pertinent info (confirmed with the stock programming software).

However, I get a " 'NoneType' object is not iterable" error going into the settings tab

Actions #31

Updated by Mel Terechenok 7 months ago

Kevin S wrote in #note-30:

Thanks for the beta!! I can read and write to my Q336. It saves all the pertinent info (confirmed with the stock programming software).

However, I get a " 'NoneType' object is not iterable" error going into the settings tab

That means some settings are out of range. Most likely because the 336 and Q10H have different options or the data is in a slightly different memory location.
The Debug.log will tell you what the issue is. If you post it I can give it a quick look. Right now I am focusing on the Q10H but it is good to know the base comms and Ch memories seem the same. That means a 336 driver would not be hard to make at some point.

Actions #32

Updated by Mel Terechenok 7 months ago

Beta 1p1 - Fixes Channel Name entry limit of 8 Characters - New limit is 12 which is the max of the radio.

Actions #33

Updated by Mel Terechenok 7 months ago

  • File deleted (kgq10h_beta1.py)
Actions #34

Updated by Kevin S 7 months ago

Mel Terechenok wrote in #note-32:

Beta 1p1 - Fixes Channel Name entry limit of 8 Characters - New limit is 12 which is the max of the radio.

Mel Terechenok wrote in #note-31:

Kevin S wrote in #note-30:

Thanks for the beta!! I can read and write to my Q336. It saves all the pertinent info (confirmed with the stock programming software).

However, I get a " 'NoneType' object is not iterable" error going into the settings tab

That means some settings are out of range. Most likely because the 336 and Q10H have different options or the data is in a slightly different memory location.
The Debug.log will tell you what the issue is. If you post it I can give it a quick look. Right now I am focusing on the Q10H but it is good to know the base comms and Ch memories seem the same. That means a 336 driver would not be hard to make at some point.

Here you are! Thanks

Actions #35

Updated by Tony Politi 7 months ago

Kevin S wrote in #note-34:

Mel Terechenok wrote in #note-32:

Beta 1p1 - Fixes Channel Name entry limit of 8 Characters - New limit is 12 which is the max of the radio.

I am able to type more than 8 characters but when I change to the next line it drops everything 8.

To my issue of adding spaces that was not the issue. THere were spaces on the end of my string of characters once I removed them I was able to upload.

Actions #36

Updated by Justin Overfelt 7 months ago

Mel,

12 character names are looking good! Thanks!

Actions #37

Updated by Tony Politi 7 months ago

Disregard my issue had to close and reload Chirp now I can make 12 character names

Actions #38

Updated by Mel Terechenok 7 months ago

  • File kgq10h_beta1p2.py added
  • % Done changed from 10 to 60

Beta 1p2
Fixes FM and NFM mode selection on main memories MODE column. AM must still be turned ON/OFF in channel properties-->extra-->AM Mode. MODE Column shows correct current mode.
Fixes Tx Freq for Duplex = OFF -- Tx disable - Rx only channel
Add Channel Scan Groups Settings tab
--Add Channel Group Names 1-10
--Add Channel Group Start / Stop settings

Actions #39

Updated by Mel Terechenok 7 months ago

  • File deleted (kgq10h_beta1p1.py)
Actions #40

Updated by Mel Terechenok 7 months ago

Kevin S wrote in #note-34:

Thanks for the beta!! I can read and write to my Q336. It saves all the pertinent info (confirmed with the stock programming software).

However, I get a " 'NoneType' object is not iterable" error going into the settings tab

Here you are! Thanks

Kevin - your issue on the Q336 settings tab is due to a problem with at least the Scan Mode setting - likely due to slight memory map changes.

  • SCANMODE_LIST[_settings. IndexError: list index out of range*

without having a 336 to test with - I won't be able to fix it right now as I would have to mess with radio settings to see what is at the address that Scan Mode is expected to be at.
Maybe after the Q10H driver is complete we can work together on the 336 specific memory map.
You might consider putting in a separate request for new model support for the 336.

Mel

Actions #41

Updated by Justin Overfelt 7 months ago

Hi Mel,

Beta 1p2 fixes all the issues I've found so far! Thanks again!

Actions #42

Updated by Mel Terechenok 7 months ago

Q10H Beta 2.0 Release

NOTE-Previous images from Beta 1.x can not be uploaded to radio with Beta2.x driver.

Please Download from Radio with Beta 2.x driver to get a compatible image.
Beta 1.x images can be opened with the Beta 2.x driver and the channel memories can be copied to a Beta 2.x image if need be.

Sorry for this but as the other settings were being mapped, it became apparent that more memory rearranging was necessary to fully implement all settings due to Wouxun data storage techniques on this radio. This should not be necessary again.

All Wouxun CPS settings are implemented including interfaces to change custom color themes using the integer value of the RGB565 color selection. Google "RGB565 color picker" to help you enter correct values.

Example of Beta Driver Color Selector:

When the official release comes out - it will support direct selection of colors as well as display the current color being used just like the Wouxun CPS. It can not be implemented in the Chirp Driver until the Chirp main program implements some changes to allow this new functionality.
See sample display of future color selector:

The following additional settings have been added to the settings page for user convenience:

To change between FM and NFM mode - Use the Channel Memory Mode selection interface.
To change between FM/NFM and AM modes - You must select the channel(s), right click and select properties, then select the Extra Tab and change the AM mode to OFF (for FM) or one of the AM modes for AM. The Mode on the channel memories tab will show the correct Mode. I will continue to work to see if the selection between AM/FM can be done directly on by Mode setting.

Frequency limit interfaces are not yet implemented - There are currently 72 known interfaces for frequency limits and the functionality of each limit is not yet known. Stay Tuned for updates as I learn more.

How to load test drivers
Enter Issue #10692 and select the Beta 2 driver

Q10H Tx Freq Limits prior to Freq limit modifications

Locked
6m 50.0 - 53.9975
2m 144.0 - 147.9975
1.25m 222.0 - 224.9975
70cm 420.0 - 449.9975

Unlocked
6m 50.0 - 53.9975
2m 136.0 - 174.9975
1.25m 220.0 - 224.9975
70cm 400.0 - 479.9975

Actions #43

Updated by Mel Terechenok 7 months ago

  • File deleted (kgq10h_beta1p2.py)
Actions #44

Updated by Mel Terechenok 7 months ago

  • % Done changed from 60 to 80
Actions #45

Updated by Justin Overfelt 7 months ago

Mel,

I haven't had cause to test the new color settings yet but I can confirm that download, modify, and upload of the beta 2 images work without issue!

Actions #46

Updated by Mel Terechenok 7 months ago

  • File kgq10h b2p1.py added

Beta 2.1

  • Add ability to select 20K step option ONLY for radios that support it .
  • Add communication checksum verification
  • fix Beta 2.0 errant upload to un-mapped memory (prevent and correct data)
  • cleanup of text errors in settings
  • Add corresponding Radio menu # to settings where applicable
  • Add Radio Model check for future blocking of unsupported radios
  • Add end of communication command to close out comm process
  • started to remove unused code / comments
Actions #47

Updated by Mel Terechenok 7 months ago

  • File deleted (kgq10h b2p0.py)
Actions #48

Updated by Mel Terechenok 7 months ago

  • File kgq10h b2p2.py added

Beta 2.2

Prevent Uploads on Radios that don't identify as KG-Q10H, to prevent potential corruption to memory for similar models like the KG-Q332, KG-Q336 which may have different memory usage.

Actions #49

Updated by Mel Terechenok 7 months ago

  • File deleted (kgq10h b2p1.py)
Actions #50

Updated by Justin Overfelt 7 months ago

Looks good Mel! Mine supports 20k steps and I confirmed that option is available in chirp.

Actions #51

Updated by Mel Terechenok 6 months ago

  • Related to New Model #10925: New Model Support for Wouxun KG-Q10G GMRS radio added
Actions #52

Updated by Mel Terechenok 6 months ago

  • Related to deleted (New Model #10925: New Model Support for Wouxun KG-Q10G GMRS radio)
Actions #53

Updated by Tony Politi 6 months ago

@Mel Any chance we will be able to able to expand the 10H to receive the CB bands?

Actions #54

Updated by Mel Terechenok 6 months ago

  • File kgq10h b2p3.py added
  • I read the instructions above set to Yes

Beta 2.3
Limit Area Message and Top Message to 12 characters - Consistent with Wouxun CPS to prevent random dropping of chars 13-15 on radio display
Enable FM/NFM/AM mode selection via the Channel Memory UI -

AM mode options of AM Rx or AM Rx+Tx must be set in the channel properties--Extra tab (AM Mode options only shown when AM Mode is selected)

Various clean up items for Chirp tests

Include support for KG-Q10G GMRS Version.

Actions #55

Updated by Mel Terechenok 6 months ago

  • File deleted (kgq10h b2p2.py)
Actions #56

Updated by Mel Terechenok 6 months ago

Tony Politi wrote in #note-53:

@Mel Any chance we will be able to able to expand the 10H to receive the CB bands?

I don't know yet. Still working on figuring out the Freq Limit values. NO PROMISES.

Actions #57

Updated by Mel Terechenok 6 months ago

  • File kgq10h b2p4.py added

Beta 2.4

Fix extraneous characters stored in Channel Names on some radios from the factory.

Actions #58

Updated by Mel Terechenok 6 months ago

  • File deleted (kgq10h b2p3.py)
Actions #59

Updated by Mel Terechenok 4 months ago

  • File kgq10h b2p5.py added
Actions #60

Updated by Mel Terechenok 4 months ago

  • File deleted (kgq10h b2p4.py)
Actions #61

Updated by Mel Terechenok 4 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 90
Actions #62

Updated by Mel Terechenok 4 months ago

Beta 2.6 -

To see all "Extra" settings in Memories Tab - Click View-->Show Extra Fields

Fix AM Mode column to always show in Memories Tab when Show Extra Fields is enabled regardless of FM or AM mode selection.
Fix Call Group column to show up in the Channel Memories Tab.

Just as when editing Extra Fields via the properties menu, To change between AM/FM/NFM you must first switch the Mode entry. When Mode = AM... Only then will AM Mode changes be accepted.

Still working on getting the color picker palette working as well as other driver cleanups that are required for official inclusion into Chirp.

How to load test drivers
Issue #10692

Actions #63

Updated by Mel Terechenok 4 months ago

  • File deleted (kgq10h b2p5.py)
Actions #64

Updated by JD Hamster 2 months ago

Beta 2.6 (New Model #10692) is working perfectly for me. The only minor glitch I encountered was getting it to recognize presets for FM radio (76-108 MHz), but that's not a feature I use anyway, and it could have been my error. This build allowed me to easily reprogram the top button to a different function than the factory default FM radio selector. Great work Mel!

Actions #65

Updated by Mel Terechenok 2 months ago

JD. Please explain exactly what issue you are having with FM presets. It should be working. I will double check but details of your issue will be helpful.

Actions #66

Updated by Mel Terechenok about 1 month ago

JD Hamster wrote in #note-64:

Beta 2.6 (New Model #10692) is working perfectly for me. The only minor glitch I encountered was getting it to recognize presets for FM radio (76-108 MHz), but that's not a feature I use anyway, and it could have been my error. This build allowed me to easily reprogram the top button to a different function than the factory default FM radio selector. Great work Mel!

I retested the driver and setting of FM presets works just fine. If you have more details on what you are experiencing, let me know.

Actions #67

Updated by Dan Smith 6 days ago

Actions

Also available in: Atom PDF