Bug #10790
closedRetevis RB15/RB615 not possible to create new channels without CTS/DTCS
100%
Description
When no CTS/DTCS is chosen CHIRP sets the values "decQT" and "encQT" to "0000". When this is uploaded to the Radio the Radio has selected "Ct05" as CTS? Tone. The RB615 couldn't hear the quansheng without any tones set on the same channel.
When I deactivate the CTS/DTCS Tones in the RB615 on a channel and re-download the memory into chirp, then the "decQT" and "encQT" values turn out to be "C000".
This equals no user-selectable setting in CHIRP. So its actually impossible to create new channels without CTS/DTCS.
Images and img attached.
98 is chirp default new channel setting, 99 is after deselecting CTS/DTCS on the radio an re-downloading memory.
The QT in the radio display indicates CTS/CTCS tones (sQuelch Tones?) set.
Files
Updated by M B about 1 year ago
- File tonemapping_Retevis_RB15_20230815.img tonemapping_Retevis_RB15_20230815.img added
- File Screenshot 2023-08-15 at 22.43.40.png Screenshot 2023-08-15 at 22.43.40.png added
Maybe the mapping of the values is incorrect. To help you with checking that I created a img. with the tones selected on the radio and then downloaded to chirp. So you can check it with the hex values and the values in chirp. It is the first and last selectable number of each tone type in the radio. Names and numbers are as shown on the radio display.
Channel; Tone; Number
1; none; none
2; ct; 1
3; ct; 50
4; dn; 1
5; dn; 105
6; di; 1
7; di; 105
From what I can tell, does the driver offer more tones than the radio supports, and the modes are not all mapped correctly.
Updated by M B about 1 year ago
And the same Settings read with the official retevis software.
Besides the "no tone" not equaling "no tone", in "rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]" I guess either "Tone" or "TSQL" is falsely supported. And for those modes the "56.0" to "64.0" Tones are probably falsely supported.
Updated by M B about 1 year ago
M B wrote in #note-2:
Besides the "no tone" not equaling "no tone", in "rf.valid_tmodes = ["", "Tone", "TSQL", "DTCS", "Cross"]" I guess either "Tone" or "TSQL" is falsely supported.
I cross checked with the Quancheng and Channels 2 and 3 to receive/transmit from/to the quansheng with "Tone" as well as with the "TSQL" set on it.
When selecting "Tone" in CHIRP and uploading to the RB615 it shows to be on "ct05" again, which appears to be the default read out if something is invalid. So rf.valid_tmodes = "Tone" has to go I guess. As well as the Range from "56.0" to "64.0" in "TSQL" mode.
Updated by M B about 1 year ago
I tinkered a bit on the "no tone" not equaling "no tone" part.
Setting "rxtone = txtone = 0xC000 " changes the default setting to DTCS, 000, NN, which equals no tone on the rb615.
"RB15_DTCS = tuple(sorted(chirp_common.DTCS_CODES + (645, 000 )))" adds Tone "000" as valid setting in CHIRP. Otherwise channels with "000" cant be edited
In "rf.valid_tmodes = [ "TSQL", "DTCS", "Cross"]" "" , has to go, since it does not translate in a valid setting.
(This leads to no new channels can be created)
So the Module attached works somehow. But the GUI is still messed up. It would be best when selecting actual tmode = "" would lead to "decQT" and "encQT" values beeing "C000". And reading "decQT" and "encQT" values beeing "C000" would lead to the GUI show no tone mode, no tone, no tone squelch, not dtcs, no polarity. But I dont know how to hack that together.
Updated by Jim Unroe about 1 year ago
- File retevis_rb15_ctcss.py retevis_rb15_ctcss.py added
M B wrote in #note-4:
I tinkered a bit on the "no tone" not equaling "no tone" part.
Setting "rxtone = txtone = 0xC000 " changes the default setting to DTCS, 000, NN, which equals no tone on the rb615.
"RB15_DTCS = tuple(sorted(chirp_common.DTCS_CODES + (645, 000 )))" adds Tone "000" as valid setting in CHIRP. Otherwise channels with "000" cant be edited
In "rf.valid_tmodes = [ "TSQL", "DTCS", "Cross"]" "" , has to go, since it does not translate in a valid setting.
(This leads to no new channels can be created)So the Module attached works somehow. But the GUI is still messed up. It would be best when selecting actual tmode = "" would lead to "decQT" and "encQT" values beeing "C000". And reading "decQT" and "encQT" values beeing "C000" would lead to the GUI show no tone mode, no tone, no tone squelch, not dtcs, no polarity. But I dont know how to hack that together.
Amazing. I believe that I just figured it out and I come here to get the ticket number for the commit message and I see that you figured out half of it!
If you are still awake, I have attached a test driver with the other half of the fix.
Updated by Jim Unroe about 1 year ago
- Status changed from New to In Progress
- Assignee set to Jim Unroe
- Target version set to chirp-py3
Updated by Anonymous about 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
Applied in changeset github|fa43f8f62a6328a7f64fd3b876c2dbb14a4d1699.
Updated by M B about 1 year ago
Jim Unroe wrote in #note-5:
Amazing. I believe that I just figured it out and I come here to get the ticket number for the commit message and I see that you figured out half of it!
if tone == 0xC000 or tone == 0xffff:
Nice. That makes sense and works perfectly!
Thank you!
An update regarding the supported modes/supported tones:
Cross in "Tone" mode; 67.0; 254,1 (and quansheng vice versa) - results in the radio indicating tones are on (I was missing the cross mode setting yesterday), and the quansheng reveiving and transmitting to the RB615 both with same settings. Without tones set in the quansheng it receives from the rb615 but the rb615 does not receive from the quansheng, which is how it is supposed to be I guess. So selecting "tone" seems to translate into a valid setting, that is correctly shown by the radio after all, even in the settings (ct50/ct1).
Regarding the "56.0" to "64.0" Tones/TSQL, I cannot select those tones on the quansheng to cross test. But testing it with the other RB615 show the following.
- When selecting 56.0 as TX tone. Radio indicates tone in display (even though it only shows "ctn5" in settings again). But the Radio only transmits half of the time alternating on and of twice a second, evectively rendering the tx useless, this is only heard when monitoring though, since the rx radio doesnt recognise the 56.0 tone at all.
- 57.0 works fine with rx and tx. (Radio indicates tone, but only ctn5 in settings)
- 64.0 works fine with rx and tx. (Radio indicates tone, but only ctn5 in settings)
So it seems only the 56.0 Tone is unsupported in the end. I cannot find anything in the documentation how to limit the squelch tones range. So I guess, if you dont have a quick fix at hand, we might consider it a hardware/software bug in the radio itself (maybe the reason the official software doesnt support this tone set/range after all) and leave everything as it is, since it is really not that much of an issue tbh.
Last but not least, a huge thank you from my side for all your help, work and tinkering on this!
The Driver was hardly usable two days ago and now works perfectly fine and that painful stock software has never to be used again by nobody.
Updated by Jim Unroe about 1 year ago
M B wrote in #note-8:
Jim Unroe wrote in #note-5:
Amazing. I believe that I just figured it out and I come here to get the ticket number for the commit message and I see that you figured out half of it!
if tone == 0xC000 or tone == 0xffff:
Nice. That makes sense and works perfectly!
Thank you!
An update regarding the supported modes/supported tones:
Cross in "Tone" mode; 67.0; 254,1 (and quansheng vice versa) - results in the radio indicating tones are on (I was missing the cross mode setting yesterday), and the quansheng reveiving and transmitting to the RB615 both with same settings. Without tones set in the quansheng it receives from the rb615 but the rb615 does not receive from the quansheng, which is how it is supposed to be I guess. So selecting "tone" seems to translate into a valid setting, that is correctly shown by the radio after all, even in the settings (ct50/ct1).Regarding the "56.0" to "64.0" Tones/TSQL, I cannot select those tones on the quansheng to cross test. But testing it with the other RB615 show the following.
- When selecting 56.0 as TX tone. Radio indicates tone in display (even though it only shows "ctn5" in settings again). But the Radio only transmits half of the time alternating on and of twice a second, evectively rendering the tx useless, this is only heard when monitoring though, since the rx radio doesnt recognise the 56.0 tone at all.
- 57.0 works fine with rx and tx. (Radio indicates tone, but only ctn5 in settings)
- 64.0 works fine with rx and tx. (Radio indicates tone, but only ctn5 in settings)
So it seems only the 56.0 Tone is unsupported in the end. I cannot find anything in the documentation how to limit the squelch tones range. So I guess, if you dont have a quick fix at hand, we might consider it a hardware/software bug in the radio itself (maybe the reason the official software doesnt support this tone set/range after all) and leave everything as it is, since it is really not that much of an issue tbh.
Last but not least, a huge thank you from my side for all your help, work and tinkering on this!
The Driver was hardly usable two days ago and now works perfectly fine and that painful stock software has never to be used again by nobody.
This driver is fine. These "extra tones" are showing up for many CHIRP supported radios. I have located the root cause and will be working on a fix. Once the fix has been developed and implemented, these extra tones will only show up in the tone lists for the radios that they were intended to be added to.
Thanks for discovering this and letting me know about it.