From f08319b994d67019d0c875efc19aa63a921eb386 Mon Sep 17 00:00:00 2001 From: Jim Unroe Date: Fri, 14 Jun 2024 19:12:18 -0400 Subject: [PATCH] mml_jc8810.py: Add Radtel RT-630 - fixes #11220 --- chirp/drivers/mml_jc8810.py | 47 ++++++++++++++++++++++++++++++-- tests/Python3_Driver_Testing.md | 7 +++-- tests/images/Radtel_RT-630.img | Bin 0 -> 47097 bytes tests/py3_driver_testers.txt | 1 + 4 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 tests/images/Radtel_RT-630.img diff --git a/chirp/drivers/mml_jc8810.py b/chirp/drivers/mml_jc8810.py index 65ee537f..ced74595 100644 --- a/chirp/drivers/mml_jc8810.py +++ b/chirp/drivers/mml_jc8810.py @@ -847,6 +847,8 @@ class JC8810base(chirp_common.CloneModeRadio): unwanted = [0, 5, 7, 9, 10, 11, 12] elif self.MODEL in ["A36plus", "A36plus_8w"]: unwanted = [0, 5, 7, 9, 10, 11] + elif self.MODEL in ["RT-630"]: + unwanted = [5, 9, 10, 11, 12] else: unwanted = [] SKEY2S_CHOICES = ALL_SKEY_CHOICES.copy() @@ -878,6 +880,8 @@ class JC8810base(chirp_common.CloneModeRadio): unwanted = [0, 5, 7, 8, 10, 11, 12] elif self.MODEL in ["A36plus", "A36plus_8w"]: unwanted = [0, 5, 7, 8, 11, 12] + elif self.MODEL in ["RT-630"]: + unwanted = [5, 9, 10, 11, 12] else: unwanted = [] SKEY2L_CHOICES = ALL_SKEY_CHOICES.copy() @@ -909,6 +913,8 @@ class JC8810base(chirp_common.CloneModeRadio): unwanted = [0, 5, 7, 8, 9, 10, 11, 12] elif self.MODEL in ["A36plus", "A36plus_8w"]: unwanted = [0, 5, 7, 8, 11] + elif self.MODEL in ["RT-630"]: + unwanted = [5, 9, 10, 11, 12] else: unwanted = [] SKEY3S_CHOICES = ALL_SKEY_CHOICES.copy() @@ -926,7 +932,7 @@ class JC8810base(chirp_common.CloneModeRadio): rset.set_apply_callback(apply_skey3s_listvalue, _settings.skey3_sp) basic.append(rset) - if self.MODEL in ["HI-8811", "RT-470L", "RT-470X", "RT-470"]: + if self.MODEL in ["HI-8811", "RT-470L", "RT-470X", "RT-470", "RT-630"]: # Menu 24: PF3 LONG PRESS (RT-470L) def apply_skey3l_listvalue(setting, obj): LOG.debug("Setting value: " + str(setting.value) + @@ -938,6 +944,8 @@ class JC8810base(chirp_common.CloneModeRadio): if self.MODEL in ["HI-8811", "RT-470L", "RT-470X", "RT-470"]: unwanted = [8, 9, 10, 11, 12] + elif self.MODEL in ["RT-630"]: + unwanted = [5, 9, 10, 11, 12] else: unwanted = [] SKEY3L_CHOICES = ALL_SKEY_CHOICES.copy() @@ -999,7 +1007,7 @@ class JC8810base(chirp_common.CloneModeRadio): rset = RadioSetting("ponmsg", "Power On Message", rs) basic.append(rset) - if self.MODEL in ["HI-8811", "RT-470L", "RT-470X"]: + if self.MODEL in ["HI-8811", "RT-470L", "RT-470X", "RT-630"]: rs = RadioSettingValueList(TAILCODE_LIST, TAILCODE_LIST[_settings.tailcode]) rset = RadioSetting("tailcode", "Tail Code", rs) @@ -1496,3 +1504,38 @@ class AR730Radio(UVA37Radio): (200000000, 260000000), (350000000, 390000000), (400000000, 520000000)] + + +@directory.register +class RT630Radio(JC8810base): + """Radtel RT-630""" + VENDOR = "Radtel" + MODEL = "RT-630" + + # ========== + # Notice to developers: + # The RT-630 support in this driver is currently based upon v0.07 firmware. + # ========== + + _fingerprint = [b"\x00\x00\x00\x32\x00\x20\xD8\x04", # fw 0.07 + ] + + POWER_LEVELS = [chirp_common.PowerLevel("H", watts=5.00), + chirp_common.PowerLevel("M", watts=4.00), + chirp_common.PowerLevel("L", watts=2.00)] + + VALID_BANDS = [(18000000, 108000000), + (108000000, 136000000), + (136000000, 300000000), + (300000000, 660000000), + (840000000, 1000000000)] + + _ranges = [ + (0x0000, 0x2000), + (0x8000, 0x8040), + (0x9000, 0x9040), + (0xA000, 0xA140), + (0xB000, 0xB2C0), + (0xB500, 0xB740) + ] + _memsize = 0xB740 diff --git a/tests/Python3_Driver_Testing.md b/tests/Python3_Driver_Testing.md index c22e65d6..8d636bd6 100644 --- a/tests/Python3_Driver_Testing.md +++ b/tests/Python3_Driver_Testing.md @@ -282,6 +282,7 @@ | Radtel_RT-470L | [@KC9HI](https://github.com/KC9HI) | 5-May-2023 | Yes | | | Radtel_RT-470X | [@KC9HI](https://github.com/KC9HI) | 10-Aug-2023 | Yes | | | Radtel_RT-490 | [@KC9HI](https://github.com/KC9HI) | 11-Nov-2023 | Yes | 0.08% | +| Radtel_RT-630 | [@KC9HI](https://github.com/KC9HI) | 14-Jun-2024 | Yes | | | Radtel_RT-730 | [@KC9HI](https://github.com/KC9HI) | 11-May-2024 | Yes | | | Radtel_T18 | [@KC9HI](https://github.com/KC9HI) | 28-Nov-2022 | Yes | 0.07% | | Retevis_H777S | [@KC9HI](https://github.com/KC9HI) | 22-Dec-2022 | Yes | | @@ -462,11 +463,11 @@ | Zastone_ZT-X6 | [Implied by Retevis_RT22](#user-content-Retevis_RT22) | 9-Dec-2022 | Yes | 0.11% | ## Stats -**Drivers:** 459 +**Drivers:** 460 -**Tested:** 87% (402/57) (93% of usage stats) +**Tested:** 87% (403/57) (93% of usage stats) -**Byte clean:** 91% (420/39) +**Byte clean:** 91% (421/39) ## Meaning of this testing diff --git a/tests/images/Radtel_RT-630.img b/tests/images/Radtel_RT-630.img new file mode 100644 index 0000000000000000000000000000000000000000..695b7c132f285371aa5517dc42082a6d5456ff45 GIT binary patch literal 47097 zcmeI*!A=`j6b9gXX6}q_DN;9Vv*TtN8JHnu7iwx`t0pEEV7$X_iJjV%vIG9v#`&Kj-@R!$cb62;+|HCa=qjoq89Oy{XSi z%iTBVM`?L>f_{{iyHoU|v^+aQKT6BpIr>pro_&jcl$N{i(2vsc?0fX1wA{T#KT6B9 zAJC7|a`z+pQCgn8LqAH(-B0L8X?gZD`cYc$o-dfZv^-m1FnMXYtDzsI<=F=MQCjZm z=tpUJwuyd}mb(V}QCi+^FPOZv{O$IF$xF>U$WdDEcJTNpEzfo_KT6A87yT$L&-T%e z(sFlzew3DHee|QW+&y2!_kU5%+v|%aFSWmhew3DH8;kh<>$$6=AEowhq93K@u7Q4( zmbcrOAEo8lHuguUc?UU4%iRthAEo8lF8Wbg?z-qlX?eDfew3EG1N5V`JnN$$rR3f} z_gqqd0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZK!FD@V6BOR=<<(4Pp4*T%+y}}t>~FeSSepEk<4;4m-}D8{O4^uinY;) z9`W68x9$+drT0VKG}F@IZ9CldtbTv<;9nR7pa2CZKmiI+fC3bt00k&OfqNwoh9;0e z#27Kr>`IIT0Zy-RmkFlj{AzajsPy>JBXjvy!8O7A^lsO`?Ek&TyW8%@{Mym>$FssF z+Vi>V{*Rw%`+wN$uKWN0=f8es@D>FqKmiI+fC3bt00k&O0Sf$=1SAMCjuBCY%FmmN zSzvG!zBV*C3Tumx2iU?o!aD|0VI3PBg>}i`D6Go{M`2wtI0|dLR}mEFkq}2Qw_@kk zkwkOrSmL>LNlL|aVJqIG00k&O0SZun0u-PC1t>rP3fvn3oZSmP0boKgHva^GiN%z} z;Me{Y1d?Cy>3~phR*e&BoIB%mS;`_63Gg`qgg74$C9o1i62uaeBq&Qzku-v1PFpiA?@bQ6Nz$k(CIi@UcWCiOLdH zB%b?a`qobC>B`deU9W)@$?Yr0T7``4Vrw#G5bi=1aW! z5^ui5n=kR^OT76~Z@$!4zqn+{g$=2)E*;UVQFc}Z~N87V(cHd;{tAlRyth>@15018u`^(8J>rZx*&ui85 Q)<&b++Ss{hb((8`0Ut0>B>(^b literal 0 HcmV?d00001 diff --git a/tests/py3_driver_testers.txt b/tests/py3_driver_testers.txt index 4ffe8e69..0b13dc60 100644 --- a/tests/py3_driver_testers.txt +++ b/tests/py3_driver_testers.txt @@ -249,6 +249,7 @@ Radtel_RT-470,@KC9HI,2-Apr-2023 Radtel_RT-470L,@KC9HI,5-May-2023 Radtel_RT-470X,@KC9HI,10-Aug-2023 Radtel_RT-490,@KC9HI,11-Nov-2023 +Radtel_RT-630,@KC9HI,14-Jun-2024 Radtel_RT-730,@KC9HI,11-May-2024 Radtel_T18,@KC9HI,28-Nov-2022 Retevis_H777S,@KC9HI,22-Dec-2022