[chirp_devel] [PATCH] [KG-UV8D] DTCS Bug in Wouxun KG-UV8D Driver
Jim Unroe
Wed Mar 8 17:06:07 PST 2017
# HG changeset patch
# User Jim Unroe <rock.unroe at gmail.com>
# Date 1489021560 18000
# Node ID 4272a99f8376000aa4791aa6bb0be117740bb547
# Parent 75eea458e10dc98f6876a1d8ff60ad2228702f08
[KG-UV8D] DTCS Bug in Wouxun KG-UV8D 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 75eea458e10d -r 4272a99f8376 chirp/drivers/kguv8d.py
--- a/chirp/drivers/kguv8d.py Wed Mar 08 19:43:33 2017 -0500
+++ b/chirp/drivers/kguv8d.py Wed Mar 08 20:06:00 2017 -0500
@@ -589,34 +589,33 @@
val += 0x8000
return val
- if mem.tmode == "Cross":
+ rx_mode = tx_mode = None
+ rxtone = txtone = 0xFFFF
+
+ if mem.tmode == "Tone":
+ tx_mode = "Tone"
+ rx_mode = None
+ txtone = int(mem.rtone * 10)
+ elif mem.tmode == "TSQL":
+ rx_mode = tx_mode = "Tone"
+ rxtone = txtone = int(mem.ctone * 10)
+ elif mem.tmode == "DTCS":
+ tx_mode = rx_mode = "DTCS"
+ txtone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0])
+ rxtone = _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":
+ txtone = _set_dcs(mem.dtcs, mem.dtcs_polarity[0])
+ elif tx_mode == "Tone":
+ txtone = int(mem.rtone * 10)
+ if rx_mode == "DTCS":
+ rxtone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1])
+ elif rx_mode == "Tone":
+ rxtone = int(mem.ctone * 10)
- if tx_mode == "DTCS":
- _mem.txtone = mem.tmode != "DTCS" and \
- _set_dcs(mem.dtcs, mem.dtcs_polarity[0]) or \
- _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[0])
- _mem.txtone += 0x4000
- elif tx_mode:
- _mem.txtone = tx_mode == "Tone" and \
- int(mem.rtone * 10) or int(mem.ctone * 10)
- _mem.txtone += 0x8000
- else:
- _mem.txtone = 0
-
- if rx_mode == "DTCS":
- _mem.rxtone = _set_dcs(mem.rx_dtcs, mem.dtcs_polarity[1])
- _mem.rxtone += 0x4000
- elif rx_mode:
- _mem.rxtone = int(mem.ctone * 10)
- _mem.rxtone += 0x8000
- else:
- _mem.rxtone = 0
+ _mem.rxtone = rxtone
+ _mem.txtone = txtone
LOG.debug("Set TX %s (%i) RX %s (%i)" %
(tx_mode, _mem.txtone, rx_mode, _mem.rxtone))
More information about the chirp_devel
mailing list