[chirp_devel] [PATCH] [RT-21] DTCS Bug in Retevis RT-21 Driver
# HG changeset patch # User Jim Unroe rock.unroe@gmail.com # Date 1489018575 18000 # Node ID 26f6ee20b94822e7783d5f70f36c82ab03defb46 # Parent e1113c7da2f3eb00a5b1585ea92a8d164df0d60b [RT-21] DTCS Bug in Retevis RT-21 Driver
This patch addresses the bug where the DTCS Tone value can't but updated when Tone Mode is set to DTCS.
Related to #4585
diff -r e1113c7da2f3 -r 26f6ee20b948 chirp/drivers/retevis_rt21.py --- a/chirp/drivers/retevis_rt21.py Wed Mar 08 15:05:23 2017 -0800 +++ b/chirp/drivers/retevis_rt21.py Wed Mar 08 19:16:15 2017 -0500 @@ -386,30 +386,33 @@ val += 0x8000 return val
- if mem.tmode == "Cross": + rx_mode = tx_mode = None + rx_tone = tx_tone = 0xFFFF + + if mem.tmode == "Tone": + tx_mode = "Tone" + rx_mode = None + tx_tone = int(mem.rtone * 10) + elif mem.tmode == "TSQL": + rx_mode = tx_mode = "Tone" + rx_tone = tx_tone = int(mem.ctone * 10) + elif mem.tmode == "DTCS": + tx_mode = rx_mode = "DTCS" + tx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0]) + rx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[1]) + elif mem.tmode == "Cross": tx_mode, rx_mode = mem.cross_mode.split("->") - elif mem.tmode == "Tone": - tx_mode = mem.tmode - rx_mode = None - else: - tx_mode = rx_mode = mem.tmode + if tx_mode == "DTCS": + tx_tone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0]) + elif tx_mode == "Tone": + tx_tone = int(mem.rtone * 10) + if rx_mode == "DTCS": + rx_tone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1]) + elif rx_mode == "Tone": + rx_tone = int(mem.ctone * 10)
- if tx_mode == "DTCS": - _mem.tx_tone = mem.tmode != "DTCS" and \ - _set_dcs(mem.dtcs, mem.dtcs_polarity[0]) or \ - _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[0]) - elif tx_mode: - _mem.tx_tone = tx_mode == "Tone" and \ - int(mem.rtone * 10) or int(mem.ctone * 10) - else: - _mem.tx_tone = 0xFFFF - - if rx_mode == "DTCS": - _mem.rx_tone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1]) - elif rx_mode: - _mem.rx_tone = int(mem.ctone * 10) - else: - _mem.rx_tone = 0xFFFF + _mem.rx_tone = rx_tone + _mem.tx_tone = tx_tone
LOG.debug("Set TX %s (%i) RX %s (%i)" % (tx_mode, _mem.tx_tone, rx_mode, _mem.rx_tone))
participants (1)
-
Jim Unroe