Tone Mode = DTCS Bug in Several Radio Drivers
It was pointed out in the CHIRP mailing list that CHIRP would not the DTCS code of the WLN KD-C1 radio (a variant of the Retevis RT22) when Tone Mode is set to DTCS. It was confirmed that when setting Tone Mode to DTCS, the DTCS Code would be set to 023 (the default) as expected. When changing the code to a different value, as soon as the memory editor was refreshed, the value would return to 023.
Also when reading from the radio, any factory programmed DTCS codes were properly read in by CHIRP. However, when the value was edited, it would revert back to the previous value when the memory editor was refreshed.
Currently the only way to program a channel with Tone Mode set to DTCS is to use set Tone Mode = Cross and Cross Mode = DTCS->DTCS and then set both the DTCS Code and DTCS Rx Code to the desired value. Then when the memory editor is refreshed, CHIRP will update to show the desired Tone Mode and DTCS Code value.
As part of the investigation, it was noticed that the "_set_tone" procedure that is used in the retevis_rt22.py driver is used in several other drivers. It was tested and confirmed that the following drivers also have the same issue when programming Tone Mode = DTCS:
Updated by Stephen Cavilia over 5 years ago
Fix for this caused a regression breaking CTCSS for KG-UV8D: the 0x8000 bit must be set on txtone and rxtone to enable tone transmit/receive. Attached patch fixes setting tone modes.