[chirp_devel] [PATCH] [UV-25X2] Add Support for new BTech Color Display Mobile Radios
# HG changeset patch # User Jim Unroe rock.unroe@gmail.com # Date 1489785081 14400 # Node ID 6a37192481c837ea49a60d121dde3de3ec8fc521 # Parent e1113c7da2f3eb00a5b1585ea92a8d164df0d60b [UV-25X2] Add Support for new BTech Color Display Mobile Radios
This patch modifies the btech.py driver to support additional mobile radios that have an OLED color display.
Additional radio models supported: BTech UV-25X4 (quad band) BTech UV-25X2 (dual band) BTech UV-50X2 (dual band)
New Model #4269
diff -r e1113c7da2f3 -r 6a37192481c8 chirp/drivers/btech.py --- a/chirp/drivers/btech.py Wed Mar 08 15:05:23 2017 -0800 +++ b/chirp/drivers/btech.py Fri Mar 17 17:11:21 2017 -0400 @@ -167,6 +167,15 @@ # B-TECH UV-5001 third generation (3G) UV5001G3_fp = "BTG304"
+# B-TECH UV-25X2 +UV25X2_fp = "UC2012" + +# B-TECH UV-25X4 +UV25X4_fp = "UC4014" + +# B-TECH UV-50X2 +UV50X2_fp = "UC2M12" + # special var to know when we found a BTECH Gen 3 BTECH3 = [UV2501G3_fp, UV2501_220G3_fp, UV5001G3_fp]
@@ -226,6 +235,10 @@ MSTRING = "\x55\x20\x15\x09\x20\x45\x4d\x02" # for the QYT KT7900D & KT8900D MSTRING_KT8900D = "\x55\x20\x16\x08\x01\xFF\xDC\x02" +# for the BTECH UV-25X2 and UV-50X2 +MSTRING_UV25X2 = "\x55\x20\x16\x12\x28\xFF\xDC\x02" +# for the BTECH UV-25X4 +MSTRING_UV25X4 = "\x55\x20\x16\x11\x18\xFF\xDC\x02"
def _clean_buffer(radio): @@ -852,10 +865,12 @@ # Extra mem.extra = RadioSettingGroup("extra", "Extra")
- scramble = RadioSetting("scramble", "Scramble", - RadioSettingValueBoolean(bool( - _mem.scramble))) - mem.extra.append(scramble) + if not self.COLOR_LCD or \ + (self.COLOR_LCD and not self.VENDOR == "BTECH"): + scramble = RadioSetting("scramble", "Scramble", + RadioSettingValueBoolean(bool( + _mem.scramble))) + mem.extra.append(scramble)
bcl = RadioSetting("bcl", "Busy channel lockout", RadioSettingValueBoolean(bool(_mem.bcl))) @@ -1061,11 +1076,18 @@ _mem.settings.pttlt)) basic.append(pttlt)
- emctp = RadioSetting("settings.emctp", "Alarm mode", - RadioSettingValueList( - LIST_EMCTP, - LIST_EMCTP[_mem.settings.emctp])) - basic.append(emctp) + if self.VENDOR == "BTECH" and self.COLOR_LCD: + emctp = RadioSetting("settings.emctp", "Alarm mode", + RadioSettingValueList( + LIST_EMCTPX, + LIST_EMCTPX[_mem.settings.emctp])) + basic.append(emctp) + else: + emctp = RadioSetting("settings.emctp", "Alarm mode", + RadioSettingValueList( + LIST_EMCTP, + LIST_EMCTP[_mem.settings.emctp])) + basic.append(emctp)
emcch = RadioSetting("settings.emcch", "Alarm channel", RadioSettingValueInteger(0, 199, @@ -1119,10 +1141,17 @@ basic.append(langua)
if self.VENDOR == "BTECH": - sync = RadioSetting("settings.sync", "A/B channel sync", - RadioSettingValueBoolean( - _mem.settings.sync)) - basic.append(sync) + if self.COLOR_LCD: + sync = RadioSetting("settings.sync", "Channel display sync", + RadioSettingValueList( + LIST_SYNC, + LIST_SYNC[_mem.settings.sync])) + basic.append(sync) + else: + sync = RadioSetting("settings.sync", "A/B channel sync", + RadioSettingValueBoolean( + _mem.settings.sync)) + basic.append(sync) else: autolk = RadioSetting("settings.sync", "Auto keylock", RadioSettingValueBoolean( @@ -1289,6 +1318,24 @@ _mem.settings.dtmfg)) basic.append(dtmfg)
+ if self.VENDOR == "BTECH" and self.COLOR_LCD: + mgain = RadioSetting("settings.mgain", "Mic gain", + RadioSettingValueInteger(0, 120, + _mem.settings.mgain)) + basic.append(mgain) + + skiptx = RadioSetting("settings.skiptx", "Skip TX", + RadioSettingValueList( + LIST_SKIPTX, + LIST_SKIPTX[_mem.settings.skiptx])) + basic.append(skiptx) + + scmode = RadioSetting("settings.scmode", "Scan mode", + RadioSettingValueList( + LIST_SCMODE, + LIST_SCMODE[_mem.settings.scmode])) + basic.append(scmode) + # Advanced def _filter(name): filtered = "" @@ -1802,17 +1849,19 @@ SPMUTE_LIST[_mem.vfo.d.spmute])) work.append(vfodspmute)
- vfoascr = RadioSetting("vfo.a.scramble", "VFO A scramble", - RadioSettingValueBoolean( - _mem.vfo.a.scramble)) - work.append(vfoascr) - - vfobscr = RadioSetting("vfo.b.scramble", "VFO B scramble", - RadioSettingValueBoolean( - _mem.vfo.b.scramble)) - work.append(vfobscr) - - if self.COLOR_LCD: + if not self.COLOR_LCD or \ + (self.COLOR_LCD and not self.VENDOR == "BTECH"): + vfoascr = RadioSetting("vfo.a.scramble", "VFO A scramble", + RadioSettingValueBoolean( + _mem.vfo.a.scramble)) + work.append(vfoascr) + + vfobscr = RadioSetting("vfo.b.scramble", "VFO B scramble", + RadioSettingValueBoolean( + _mem.vfo.b.scramble)) + work.append(vfobscr) + + if self.COLOR_LCD and not self.VENDOR == "BTECH": vfocscr = RadioSetting("vfo.c.scramble", "VFO C scramble", RadioSettingValueBoolean( _mem.vfo.c.scramble)) @@ -3537,7 +3586,7 @@ LOG.info("Radio ranges: UHF %d to %d" % uhf)
# the additional bands - if self.MODEL in ["KT7900D", ]: + if self.MODEL in ["UV-25X4", "KT7900D"]: # 200Mhz band vhf2 = _decode_ranges(ranges.vhf2_low, ranges.vhf2_high) LOG.info("Radio ranges: VHF(220) %d to %d" % vhf2) @@ -3554,6 +3603,43 @@
@directory.register +class UV25X2(BTechColor): + """Baofeng Tech UV25X2""" + MODEL = "UV-25X2" + BANDS = 2 + _vhf_range = (130000000, 180000000) + _uhf_range = (400000000, 521000000) + _magic = MSTRING_UV25X2 + _fileid = [UV25X2_fp, ] + + +@directory.register +class UV25X4(BTechColor): + """Baofeng Tech UV25X4""" + MODEL = "UV-25X4" + BANDS = 4 + _vhf_range = (130000000, 180000000) + _220_range = (200000000, 271000000) + _uhf_range = (400000000, 521000000) + _350_range = (350000000, 391000000) + _magic = MSTRING_UV25X4 + _fileid = [UV25X4_fp, ] + + +@directory.register +class UV50X2(BTechColor): + """Baofeng Tech UV50X2""" + MODEL = "UV-50X2" + BANDS = 2 + _vhf_range = (130000000, 180000000) + _uhf_range = (400000000, 521000000) + _magic = MSTRING_UV25X2 + _fileid = [UV50X2_fp, ] + _power_levels = [chirp_common.PowerLevel("High", watts=50), + chirp_common.PowerLevel("Low", watts=10)] + + +@directory.register class KT7900D(BTechColor): """QYT KT7900D""" VENDOR = "QYT"
Apparently I forget to supply these "images" when I submitted the patch. Better late than never.
Jim
Dan,
I still do see these in the repository. When it is convenient, would you add them?
Thanks, Jim
---------- Forwarded message ---------- From: Jim Unroe rock.unroe@gmail.com Date: Wed, Mar 29, 2017 at 7:23 PM Subject: Re: [PATCH] [UV-25X2] Add Support for new BTech Color Display Mobile Radios To: chirp-devel chirp_devel@intrepid.danplanet.com
Apparently I forget to supply these "images" when I submitted the patch. Better late than never.
Jim
participants (1)
-
Jim Unroe