Project

General

Profile

Actions

New Model #4851

open

TYT TH-8600

Added by John Richardson almost 7 years ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
05/30/2017
Due date:
% Done:

0%

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

Description

Request supporting the TYT TH-8600.
Thank you


Files

th8600.py (40.6 KB) th8600.py Andy Knitt, 08/04/2023 06:04 PM
Security Risk.png (4.01 KB) Security Risk.png Jim Unroe, 08/05/2023 06:48 PM
th8600.py (40.6 KB) th8600.py Andy Knitt, 08/07/2023 06:58 PM
TH-8600_CHIRP.png (54.3 KB) TH-8600_CHIRP.png Jim Unroe, 08/07/2023 07:57 PM
TH-8600_TYT_CPS.png (45.6 KB) TH-8600_TYT_CPS.png Jim Unroe, 08/07/2023 07:57 PM
th8600.py (40.6 KB) th8600.py Bug fixes Andy Knitt, 08/09/2023 06:55 PM
TYT_TH-8600_20230805(factory #1).img (9.18 KB) TYT_TH-8600_20230805(factory #1).img Jim Unroe, 08/09/2023 07:25 PM
th8600.py (40.7 KB) th8600.py Andy Knitt, 10/02/2023 07:07 PM
th8600.py (40.4 KB) th8600.py Andy Knitt, 10/04/2023 06:40 PM
Error communicating with radio.png (2.59 KB) Error communicating with radio.png Jim Unroe, 11/25/2023 11:21 AM
TYT_TH-8600_20231125.img (9.18 KB) TYT_TH-8600_20231125.img Jim Unroe, 11/25/2023 11:22 AM
WinMerge - [th8600_20231004.py - th8600_20231125.py].png (63.8 KB) WinMerge - [th8600_20231004.py - th8600_20231125.py].png Jim Unroe, 11/26/2023 04:59 AM
th8600.py (40.4 KB) th8600.py Andy Knitt, 11/30/2023 06:42 PM

Related issues

Related to New Model #8113: TYT TH8600WPClosed07/19/2020

Actions
Has duplicate New Model #6479: TYT 8600Rejected02/20/2019

Actions
Has duplicate New Model #6347: TYT TH-8600Rejected01/03/2019

Actions
Has duplicate New Model #6161: Tyt TH-8600Rejected10/12/2018

Actions
Has duplicate New Model #6159: TYT TH-8600 SupportRejected10/12/2018

Actions
Has duplicate New Model #6015: TYT TH-8600Rejected06/05/2018

Actions
Has duplicate New Model #5861: TYT TH-8600Rejected06/05/2018

Actions
Has duplicate New Model #5115: TYT TH-8600Rejected08/29/2017

Actions
Has duplicate New Model #5015: TYT TH-8600Rejected07/16/2017

Actions
Has duplicate New Model #6775: offer of radio for chirp supportClosed05/08/2019

Actions
Has duplicate Feature #7149: new radio modelClosed10/11/201910/15/2019

Actions
Has duplicate New Model #7151: TYT TH8600Closed10/11/2019

Actions
Has duplicate New Model #9171: TYT TH-8600Closed06/29/2021

Actions
Actions #1

Updated by Dan Smith about 5 years ago

  • Chirp Version changed from 0.4.0 to daily

FYI I just closed all the duplicate requests for this radio. Duplicate requests make this bug tracking system unusable for developers and it makes it very hard to actually tell the status of things. Please just pile on to existing issues if you feel the need to express your support.

Thanks!

Actions #2

Updated by William Ruehl about 5 years ago

Offer still stands, I will order a brand new one and have it delivered to the developer!

Actions #3

Updated by Gavin McKain almost 4 years ago

I will gladly send my radio in or buy a brand new one and have it shipped with programming cable software and all if we can get this radio added to chirp. I can be reached at gmckain1s@gmail.com or 573-421-5550.

Actions #4

Updated by Bernhard Hailer almost 4 years ago

  • Equipment Loan/Gift Offered changed from No to Yes

Radio loan offered in previous comments.

Actions #5

Updated by Doug Rehman over 1 year ago

Any chance this might get added? Due to it's IP67 rating (TH-8600WP version), this is a very popular radio in the side by side/atv/utv community.

Actions #6

Updated by Andy Knitt 10 months ago

I just got one of these radios, so I'll try to work on getting it added to CHIRP. It looks like the .icf files used by the factory programming software are a form of an ASCII HEX file that I should be able to use to help sort our the memory map. It appears to be have some similarities with the TH-9800. So between the existing TH-9800 code and doing a bunch of changes/saves of .icf files with the factory software, I think I should be able to sort it out when I get some time to play with it. I'll just need to do a few reads/writes to see if there's any offset and/or additional info going across the wire.

May be a few weeks before I can dedicate the time to sit down and get it all reversed. I'll post updates as I make progress.

Actions #7

Updated by Jim Unroe 10 months ago

Andy Knitt wrote in #note-6:

I just got one of these radios, so I'll try to work on getting it added to CHIRP. It looks like the .icf files used by the factory programming software are a form of an ASCII HEX file that I should be able to use to help sort our the memory map. It appears to be have some similarities with the TH-9800. So between the existing TH-9800 code and doing a bunch of changes/saves of .icf files with the factory software, I think I should be able to sort it out when I get some time to play with it. I'll just need to do a few reads/writes to see if there's any offset and/or additional info going across the wire.

May be a few weeks before I can dedicate the time to sit down and get it all reversed. I'll post updates as I make progress.

Andy, thank you. I have the TYT TH-8600 and the Radioddy and Retevis variants (all still factory) if you need help with testing.

Jim KC9HI

Actions #8

Updated by Andy Knitt 9 months ago

There is now a driver for this radio available for beta testing here:

https://github.com/aaknitt/chirp/tree/th8600

specifically:

https://github.com/aaknitt/chirp/blob/th8600/chirp/drivers/th8600.py

Once it's been more thoroughly tested I'll submit a pull request to get it into the main CHIRP codebase.

Actions #9

Updated by Dan Smith 9 months ago

Andy can you attach the file here? If so, people can use LoadingTestModules to test it and give you feedback. Once you do, you might want to send a mail to the mailing list asking for testers as that's a much wider net than this bug with 6 watchers. Just attach the module here and point people at this ticket.

Actions #10

Updated by Andy Knitt 9 months ago

Actions #11

Updated by Dan Smith 9 months ago

Users. Lots of people there compared to dev, and the dev people already know you're looking for testers :)

Actions #12

Updated by Jim Unroe 9 months ago

I finally got a chance to hook up my TH-8600 and do some really quick tests. The following is the results from my first, and very short, testing session.

The first issue is that when using the "Load module from issue..." feature of CHIRP-next, that is a popup Security Risk notification (Screen capture attached). The workaround for now is to simply click the [OK] button to Proceed anyway?

Since my radio was still in its 'factory' state, I downloaded 2 CHIRP Radio Images (*.img) files and compared them. As expected, they were identical.

Next I upload a 'factory' tab back to the radio and immediately download from the radio. Comparing this 3rd tab to a 'factory' tab shows a difference at byte 0x114A. The 'factory' image has 0x05 and the 'up/down' image has 0x01. I don't know if this difference is important or not, but I thought that I should report it.

Actions #13

Updated by Andy Knitt 9 months ago

That's strange. I don't think 0x114A is in a range that should be touched or even looked at.

Actions #14

Updated by Dan Smith 9 months ago

The first issue is that when using the "Load module from issue..." feature of CHIRP-next, that is a popup Security Risk notification (Screen capture attached). The workaround for now is to simply click the [OK] button to Proceed anyway?

Jim, this is just CHIRP warning the user that the file it's about to load was uploaded to the issue tracker from an unknown author. That's just because Andy isn't in the developer group here. It does that to help warn people against being tricked into loading and running code from someone just because they attach it here.

Actions #15

Updated by Jim Unroe 9 months ago

Andy Knitt wrote in #note-13:

That's strange. I don't think 0x114A is in a range that should be touched or even looked at.

I'm not saying that it is a problem. Just pointing out the unexpected change. Most radios don't do this, but I've seen the Radtel RT-470 type radios have substantial changes in memory as its settings are updated. I wish I had my serial monitor on to capture what was actually sent to the radio. I'll see if I can test that out later today.

Thanks again for your work on this driver.

Jim

Actions #16

Updated by Andy Knitt 9 months ago

I could be totally wrong, but I wonder if it may be related to the baud rate. The TYT .icf files seem to indicate a baud rate of 34800 and I've gotten that rate to work once or twice with the factory software but usually it only works at 9600. I haven't yet sorted out what's going on there so I've left the CHIRP driver at 9600 for now. I'm away from the radio for another day before I can play with it more.

Actions #17

Updated by Andy Knitt 9 months ago

Well I was wrong about the baud rate guess, but in any case I've been able to reproduce this same 0x114A behavior using the factory programming software so I'm going to assume for now that it's not a problem.

Actions #18

Updated by Andy Knitt 9 months ago

Bug Fix

Actions #19

Updated by Jim Unroe 9 months ago

I had time to do more testing today. All of the issues that I have found today are related to the Memories editor. I will try to explain how I tested and what I found below.

What I did was...

  • load my factory image into CHIRP-next. The radio comes programmed with a channel 1 (in the radio it is channel 0 -- more on that later).
  • added 3 simplex channels in memory locations 2, 3 and 4 only by keying in the frequency.
  • added three channels in memory locations 11, 12 and 13 and only changed their Mode to WFM, FM and NFM respectively.
  • uploaded what I had to the radio (see TH-8600_CHIRP.png).
  • downloaded from the radio to the TYT CPS (see TH-8600_TYT_CPS.png).

Issues

  1. The channel numbers in CHIRP are off by 1. Channel 1 CHIRP is channel 0 in the radio.

  2. Channel 2 in CHIRP (channel 1 in the radio) is overwritten and becomes a duplicate of channel 1 in CHIRP (channel 0 in the radio).

  3. Channel 4 in CHIRP has Signal set to 5TONE.

  4. Channels 11, 12 and 13 in CHIRP are programmed with WFM, FM and NFM (channels 10, 11 and 12 in the radio) are Wid, Wid, Mid in the radio.

  5. Channel 11 (146.520000) in CHIRP (channel 10 in the radio) is 420.000 in the radio and 480.00024 in the TYT CPS.

  6. Channel 11 in CHIRP (channel 10 in the radio) has a Chinese channel name in the TYT CPS.

  7. Channel 11 in CHIRP (channel 10 in the radio) has an RX CTCSS tone and a TX DTCS code in the TYT CPS.

  8. Even with Display Mode and Subscreen Mode set to Frequency, channels with VHF frequencies display with channel numbers (MEM-nnn). UHF frequencies (even if they are the wrong frequency) displays the frequency.

This is it for today. I hope this helps. Note: Some of this could be due to bugs in the TYT CPS.

Actions #20

Updated by Andy Knitt 9 months ago

Thanks Jim. I discovered an "off by one" bug earlier tonight and posted an updated .py file to this issue and to my github just an hour or so ago that I think may resolve some or much of what you found. I'll digest all of this further to try to sort out what may still be remaining bugs, but if you can retry with the latest I'd appreciate it.

Actions #21

Updated by Jim Unroe 9 months ago

Andy Knitt wrote in #note-20:

Thanks Jim. I discovered an "off by one" bug earlier tonight and posted an updated .py file to this issue and to my github just an hour or so ago that I think may resolve some or much of what you found. I'll digest all of this further to try to sort out what may still be remaining bugs, but if you can retry with the latest I'd appreciate it.

Yeah. I saw that that a post that was made during the time I was composing mine had attached a new version. It was too late for me to tryout. Hopefully I can get a chance to take it for a spin later today. Thanks.

Actions #22

Updated by Jim Unroe 9 months ago

Andy Knitt wrote in #note-20:

Thanks Jim. I discovered an "off by one" bug earlier tonight and posted an updated .py file to this issue and to my github just an hour or so ago that I think may resolve some or much of what you found. I'll digest all of this further to try to sort out what may still be remaining bugs, but if you can retry with the latest I'd appreciate it.

The 2023-08-07 test driver does indeed take care of most of the issues that I mentioned yesterday.

Actions #23

Updated by Jim Unroe 9 months ago

Andy, here is what I have been able to test today.

When editing my 'factory' image, memories 3, 4 & 5 are still picking up 5TONE, 2TONE, 5TONE respectively for the Optional Signaling setting. It would seem that when an empty channel is programmed, CHIRP isn't setting the memory to defaults first. Any stray data in the memory is being picked up.

I made a mistake yesterday thinking that VHF frequencies were set to displaying names and UHF channels were frequency. I now know it is actually new channels programmed with CHIRP or existing channels edited by CHIRP with no names always display channel numbers. It is channels that were programmed at the factory of by the TYT CPS that will show the frequency.

This is because whenever a memory is edited with CHIRP, "display" is always set to "True" which tells the radio to display names. When there is no name programmed in the memory, the radio defaults to displaying the channel number instead.

I was trying to determine what was causing this to happen but ran out of time for today. I may try to look at it again tomorrow.

Actions #24

Updated by Andy Knitt 9 months ago

bug fixes for RX checksum, memory name/frequency auto-select

Actions #25

Updated by Andy Knitt 9 months ago

Jim Unroe wrote in #note-23:

Andy, here is what I have been able to test today.

When editing my 'factory' image, memories 3, 4 & 5 are still picking up 5TONE, 2TONE, 5TONE respectively for the Optional Signaling setting. It would seem that when an empty channel is programmed, CHIRP isn't setting the memory to defaults first. Any stray data in the memory is being picked up.

I made a mistake yesterday thinking that VHF frequencies were set to displaying names and UHF channels were frequency. I now know it is actually new channels programmed with CHIRP or existing channels edited by CHIRP with no names always display channel numbers. It is channels that were programmed at the factory of by the TYT CPS that will show the frequency.

This is because whenever a memory is edited with CHIRP, "display" is always set to "True" which tells the radio to display names. When there is no name programmed in the memory, the radio defaults to displaying the channel number instead.

I was trying to determine what was causing this to happen but ran out of time for today. I may try to look at it again tomorrow.

Jim,

I found and fixed a bug related to Name vs. Frequency display.

I'm not sure I understand the issue you're seeing with Optional Signaling though. I'm not seeing anything except "OFF" in CHIRP after doing a factory reset and downloading. Even after editing, uploading, and re-downloading I'm still seeing "OFF" for all channels that I've added.

Can you describe the exact sequence (from a factory reset) that reproduces the bad behavior?

Actions #26

Updated by Jim Unroe 9 months ago

Andy Knitt wrote in #note-24:

bug fixes for RX checksum, memory name/frequency auto-select

Andy, thank you for the update. I can confirm that the memory name/frequency auto-select has been fixed.

I did get a chance to run through the Basic Settings. Programmed each at their highest and lowest values and they all matched up with the TYT CPS.

Actions #27

Updated by Jim Unroe 9 months ago

Andy Knitt wrote in #note-25:

Jim,

I found and fixed a bug related to Name vs. Frequency display.

I'm not sure I understand the issue you're seeing with Optional Signaling though. I'm not seeing anything except "OFF" in CHIRP after doing a factory reset and downloading. Even after editing, uploading, and re-downloading I'm still seeing "OFF" for all channels that I've added.

Can you describe the exact sequence (from a factory reset) that reproduces the bad behavior?

Apparently when a channel is erased in the radio, all they do is remove the bit from the chan_avail bitmap. So when using my factory image (attached) as a starting point, if you enter a frequency into channels 3, 4 and 5 the Optional Signaling field will be 5TONE , 2TONE and 5TONE respectively because the previously deleted channels that were their must have contained those values. This seems to happen to (only) the mem.extra settings. If I create a channel and program all fields starting with Duplex with non-default values, erase it and then program it again with the same or different frequency, the B Lock , Optional Signaling , DTMF PTT ID and 5TONE PTT ID fields will contain the value that was programmed into the previously erased channel.

So the steps would be...

  1. program a channel with B Lock = Sub, Optional Signaling = DTMF, DTMF PTT ID = Both and 5TONE PTT ID = Both
  2. delete the channel that was programmed in step 1
  3. program the channel that deleted in step 2 again

After step 3 the B Lock, Optional Signaling, DTMF PTT ID and 5TONE PTT ID fields of this newly programmed channel should all be set to OFF but they remain as Sub , DTMF , Both and Both from the values that were set to in step 1.

Actions #28

Updated by Gary P 7 months ago

Andy Knitt wrote in #note-24:

bug fixes for RX checksum, memory name/frequency auto-select

Just downloaded driver. What bugs remain? Need any help troubleshooting, testing or debugging? Will try to load my 200 channel CHIRP file, see how it goes...

Actions #29

Updated by Andy Knitt 7 months ago

Jim please try this. I think this may address the issue you identified. If not, please let me know.

Sorry for the delay on working on this. I had the radio in my boat the last half of the summer but have it out for the winter now so can hopefully get this finished up.

Actions #30

Updated by Jim Unroe 7 months ago

Andy Knitt wrote in #note-29:

Jim please try this. I think this may address the issue you identified. If not, please let me know.

Sorry for the delay on working on this. I had the radio in my boat the last half of the summer but have it out for the winter now so can hopefully get this finished up.

Issues (see note-19 above)

  1. Resolved
  2. Not an issue. I had apparently copied ch 0 to ch 1 at the radio (didn't know I could do that)
  3. Still an issue
  4. Resolved
  5. Resolved
  6. Resolved
  7. Resolved
  8. Resolved
Actions #31

Updated by Andy Knitt 7 months ago

Thanks Jim. I think this version should address your number three above

Actions #32

Updated by Jim Unroe 5 months ago

Andy Knitt wrote in #note-31:

Thanks Jim. I think this version should address your number three above

Sorry for the late reply. I have been involved in other projects that kept me away from this.

I tried to give the module a try but immediately after the download completed, a message popped up proclaiming that there was a syntax error. I download the file, addressed the syntax errors and then loaded the file locally. I agree that you have taken care of bullet point number 3. Thanks.

Actions #33

Updated by Andy Knitt 5 months ago

Jim Unroe wrote in #note-32:

I tried to give the module a try but immediately after the download completed, a message popped up proclaiming that there was a syntax error. I download the file, addressed the syntax errors and then loaded the file locally. I agree that you have taken care of bullet point number 3. Thanks.

Jim, can you provide any more detail about the syntax error and the fix that you applied to address it? I haven't run into that here.

Actions #34

Updated by Jim Unroe 5 months ago

Andy Knitt wrote in #note-33:

Jim Unroe wrote in #note-32:

I tried to give the module a try but immediately after the download completed, a message popped up proclaiming that there was a syntax error. I download the file, addressed the syntax errors and then loaded the file locally. I agree that you have taken care of bullet point number 3. Thanks.

Jim, can you provide any more detail about the syntax error and the fix that you applied to address it? I haven't run into that here.

Sure. Three of the bytes in the 'chns' structure that are separated into bits are missing several of their trailing commas.

Actions #35

Updated by Andy Knitt 5 months ago

Ok thanks Jim. Strange that I wasn't seeing that syntax error, and that it was present in all of the prior versions in this issue. Were you using a different OS or environment this time? In any case, I made those corrections and submitted a PR (824) to get this driver added.

Actions #36

Updated by Jim Unroe 5 months ago

What I did this time was to use the new "Load module from issue..." feature of CHIRP-next. I most likely downloaded the file and loaded it locally for the earlier testing. What I could have done was to add it to my build system to see what the test suite says, but I figured that you would be doing that. ;)

Actions #37

Updated by Dan Smith 5 months ago

Andy, the syntax error came from a fix in CHIRP's parser that wasn't catching that error before. I found it while doing some maintenance on the parser and I fixed all the code in the tree. So you're probably just running older code that is running the buggy parser.

Actions #38

Updated by Andy Knitt 5 months ago

Attached version with syntax error fixed.

Actions #39

Updated by Troy Conrad 4 months ago

I did a test with this today and it worked without any issues. I was able to download from the radio, add and delete some channels and then upload to the radio. Thank you for working on this.

Actions #40

Updated by Gary P about 2 months ago

Finally tested this driver today. Working mostly okay on my unlocked 8600. A few issues.

  1. Need to change max channel length from 6 to 16. The display can show 8 characters at once, but you can program up to 16 characters in the factory software. If over 8, the display will scroll the label. I verified all US keyboard characters were programmable and displayable from factory SW. (The full 16-char long channels show up in Chirp if I read from the radio. If immediately re-write to radio, only 8 get loaded into radio.)

  2. When copy/pasting channels from another radio plan, power settings do not transfer into 8600 page (they all go Low). Same for pasting from 8600 to another radio file, power is ignored.

  3. When reading/writing, the radio "cloning" display increments only up to channel 104, but all 200 channels DO get read and written. Maybe put a note on driver intro screen warning about this.

  4. Factory SW allows two 16-char lines for startup message as well. (Although that setting and others in factory SW's Basic tab don't work for me!) Any plans to add this?

  5. CHIRP driver reads memories much slower than factory software, so room to speed up. But, fast enough to leave as-is, it's not excruciatingly slow.

(Just an FYI, driver throws an error when (accidentally) loaded into old chirp. No big deal or any need to fix it.)

-g

Actions

Also available in: Atom PDF