[chirp_devel] [PATCH] [thd72] Add live driver for Kenwood TH-D72 and disable broken clone driver.
Tom Hayward
Wed Mar 14 16:16:10 PDT 2012
# HG changeset patch
# User Tom Hayward <tom at tomh.us>
# Date 1331766827 21600
# Node ID 6a44e4de4ec4775744f9d469cb8505e51448a81b
# Parent 02e3e9f109445789e64b2f974b203833a9dfbba7
[thd72] Add live driver for Kenwood TH-D72 and disabled broken clone driver.
diff -r 02e3e9f10944 -r 6a44e4de4ec4 chirp/kenwood_live.py
--- a/chirp/kenwood_live.py Wed Mar 14 17:04:55 2012 -0600
+++ b/chirp/kenwood_live.py Wed Mar 14 17:13:47 2012 -0600
@@ -544,7 +544,7 @@
rf.valid_modes = D710_MODES
rf.valid_duplexes = D710_DUPLEX
rf.valid_tuning_steps = D710_STEPS
- rf.valid_characters = chirp_common.CHARSET_ALPHANUMERIC
+ rf.valid_characters = chirp_common.CHARSET_ASCII.replace(',','')
rf.valid_name_length = 8
rf.memory_bounds = (0, 999)
return rf
@@ -612,6 +612,62 @@
return spec
@directory.register
+class THD72Radio(TMD710Radio):
+ MODEL = "TH-D72"
+
+ def _parse_mem_spec(self, spec):
+ mem = chirp_common.Memory()
+
+ mem.number = int(spec[0])
+ mem.freq = int(spec[1])
+ mem.tuning_step = D710_STEPS[int(spec[2], 16)]
+ mem.duplex = D710_DUPLEX[int(spec[3])]
+ # Reverse
+ if int(spec[5]):
+ mem.tmode = "Tone"
+ elif int(spec[6]):
+ mem.tmode = "TSQL"
+ elif int(spec[7]):
+ mem.tmode = "DTCS"
+ mem.rtone = chirp_common.TONES[int(spec[9])]
+ mem.ctone = chirp_common.TONES[int(spec[10])]
+ mem.dtcs = chirp_common.DTCS_CODES[int(spec[11])]
+ mem.offset = int(spec[13])
+ mem.mode = D710_MODES[int(spec[14])]
+ # TX Frequency
+ if int(spec[15]):
+ mem.duplex = "split"
+ mem.offset = int(spec[15])
+ # Lockout
+ mem.skip = D710_SKIP[int(spec[17])] # Memory Lockout
+
+ return mem
+
+ def _make_mem_spec(self, mem):
+ print "Index %i for step %.2f" %
(chirp_common.TUNING_STEPS.index(mem.tuning_step), mem.tuning_step)
+ spec = ( \
+ "%010i" % mem.freq,
+ "%X" % D710_STEPS.index(mem.tuning_step),
+ "%i" % (0 if mem.duplex == "split" else
D710_DUPLEX.index(mem.duplex)),
+ "0", # Reverse
+ "%i" % (mem.tmode == "Tone" and 1 or 0),
+ "%i" % (mem.tmode == "TSQL" and 1 or 0),
+ "%i" % (mem.tmode == "DTCS" and 1 or 0),
+ "0",
+ "%02i" % (chirp_common.TONES.index(mem.rtone)),
+ "%02i" % (chirp_common.TONES.index(mem.ctone)),
+ "%03i" % (chirp_common.DTCS_CODES.index(mem.dtcs)),
+ "0",
+ "%08i" % (0 if mem.duplex == "split" else mem.offset), # Offset
+ "%i" % D710_MODES.index(mem.mode),
+ "%010i" % (mem.offset if mem.duplex == "split" else 0), #
TX Frequency
+ "0", # Unknown
+ "%i" % D710_SKIP.index(mem.skip), # Memory Lockout
+ )
+
+ return spec
+
+ at directory.register
class TMV71Radio(TMD710Radio):
MODEL = "TM-V71"
diff -r 02e3e9f10944 -r 6a44e4de4ec4 chirp/thd72.py
--- a/chirp/thd72.py Wed Mar 14 17:04:55 2012 -0600
+++ b/chirp/thd72.py Wed Mar 14 17:13:47 2012 -0600
@@ -160,7 +160,7 @@
EXCH_W = "W\x00\x00\x00\x00"
- at directory.register
+#@directory.register
class THD72Radio(chirp_common.CloneModeRadio):
BAUD_RATE = 9600
VENDOR = "Kenwood"
More information about the chirp_devel
mailing list