mirror of
https://github.com/kk7ds/chirp
synced 2026-08-13 17:51:36 -04:00
Add Wouxun KG-UV9K (8.33k step) support
Fixes: #6895 Add support for KG-UV9K with 8.33k step option
This commit is contained in:
parent
5961a4eef4
commit
be74fb163a
4 changed files with 45 additions and 6 deletions
|
|
@ -1004,8 +1004,10 @@ def _hex_print(data, addrfmt=None):
|
|||
|
||||
# Useful UI lists
|
||||
STEPS = [2.5, 5.0, 6.25, 10.0, 12.5, 25.0, 50.0, 100.0]
|
||||
STEPS_9K = [2.5, 5.0, 6.25, 8.33, 10.0, 12.5, 25.0, 50.0, 100.0]
|
||||
S_TONES = [str(x) for x in [1000, 1450, 1750, 2100]]
|
||||
STEP_LIST = [str(x)+"kHz" for x in STEPS]
|
||||
STEP_LIST_9K = [str(x)+"kHz" for x in STEPS_9K]
|
||||
ROGER_LIST = ["Off", "Begin", "End", "Both"]
|
||||
TIMEOUT_LIST = [str(x) + "s" for x in range(15, 601, 15)]
|
||||
TOA_LIST = ["Off"] + ["%ds" % t for t in range(1, 11)]
|
||||
|
|
@ -1078,6 +1080,8 @@ class KGUV9DPlusRadio(chirp_common.CloneModeRadio,
|
|||
POWER_LEVELS = [chirp_common.PowerLevel("L", watts=1),
|
||||
chirp_common.PowerLevel("M", watts=2),
|
||||
chirp_common.PowerLevel("H", watts=5)]
|
||||
_step_list = STEP_LIST
|
||||
_valid_steps = STEPS
|
||||
_mmap = ""
|
||||
|
||||
def _read_record(self):
|
||||
|
|
@ -1346,7 +1350,7 @@ class KGUV9DPlusRadio(chirp_common.CloneModeRadio,
|
|||
(400000000, 520000000), # supports 70cm
|
||||
(700000000, 985000000)]
|
||||
rf.valid_characters = chirp_common.CHARSET_ASCII
|
||||
rf.valid_tuning_steps = STEPS
|
||||
rf.valid_tuning_steps = self._valid_steps
|
||||
rf.memory_bounds = (1, 999) # 999 memories
|
||||
return rf
|
||||
|
||||
|
|
@ -2154,7 +2158,7 @@ class KGUV9DPlusRadio(chirp_common.CloneModeRadio,
|
|||
RadioSetting(prefix + ".step",
|
||||
"Frequency Step (Menu 3)",
|
||||
RadioSettingValueList(
|
||||
STEP_LIST, STEP_LIST[c.step])))
|
||||
self._step_list, self._step_list[c.step])))
|
||||
af.append(
|
||||
RadioSetting(prefix + ".scan_mode",
|
||||
"Scan Mode (Menu 20)",
|
||||
|
|
@ -2445,6 +2449,13 @@ class KGUV9PXRadio(KGUV9DPlusRadio):
|
|||
_rev = b"02" # default rev for the radio I know about...
|
||||
_file_ident = b"kg-uv9px"
|
||||
NEEDS_COMPAT_SERIAL = False
|
||||
_valid_steps = STEPS
|
||||
_step_list = STEP_LIST
|
||||
|
||||
@classmethod
|
||||
def match_model(cls, filedata, filename):
|
||||
# This model is only ever matched via metadata
|
||||
return False
|
||||
|
||||
def process_mmap(self):
|
||||
if self._rev != b"02" and self._rev != b"00":
|
||||
|
|
@ -2600,7 +2611,7 @@ class KGUV9PXRadio(KGUV9DPlusRadio):
|
|||
RadioSetting(prefix + ".step",
|
||||
"Frequency Step (Menu 3)",
|
||||
RadioSettingValueList(
|
||||
STEP_LIST, STEP_LIST[c.step])))
|
||||
self._step_list, self._step_list[c.step])))
|
||||
af.append(
|
||||
RadioSetting(prefix + ".scan_mode",
|
||||
"Scan Mode (Menu 20)",
|
||||
|
|
@ -2882,3 +2893,29 @@ class KGUV9GXRadio(KGUV9PXRadio):
|
|||
_model = b"KG-UV9D"
|
||||
_rev = b"02" # default rev for the radio I know about...
|
||||
NEEDS_COMPAT_SERIAL = False
|
||||
_valid_steps = STEPS
|
||||
_step_list = STEP_LIST
|
||||
|
||||
@classmethod
|
||||
def match_model(cls, filedata, filename):
|
||||
# This model is only ever matched via metadata
|
||||
return False
|
||||
|
||||
|
||||
@directory.register
|
||||
class KGUV9KRadio(KGUV9DPlusRadio):
|
||||
|
||||
"""Wouxun KG-UV9K"""
|
||||
VENDOR = "Wouxun"
|
||||
MODEL = "KG-UV9K"
|
||||
_model = b"KG-UV9D"
|
||||
_file_ident = b"kg-uv9k"
|
||||
_rev = b"02" # default rev for the radio I know about...
|
||||
NEEDS_COMPAT_SERIAL = False
|
||||
_step_list = STEP_LIST_9K
|
||||
_valid_steps = STEPS_9K
|
||||
|
||||
@classmethod
|
||||
def match_model(cls, filedata, filename):
|
||||
# This model is only ever matched via metadata
|
||||
return False
|
||||
|
|
|
|||
|
|
@ -351,6 +351,7 @@
|
|||
| <a name="Wouxun_KG-UV980P"></a> Wouxun_KG-UV980P | [@mrtjr1](https://github.com/mrtjr1) | 23-jan-2023 | Yes | 0.01% |
|
||||
| <a name="Wouxun_KG-UV9D_Plus"></a> Wouxun_KG-UV9D_Plus | [@samwich](https://github.com/samwich) | 10-Jan-2023 | Yes | 0.39% |
|
||||
| <a name="Wouxun_KG-UV9GX"></a> Wouxun_KG-UV9GX | [@mrtjr1](https://github.com/mrtjr1) | 27-Mar-2023 | Yes | |
|
||||
| <a name="Wouxun_KG-UV9K"></a> Wouxun_KG-UV9K | [@mrtjr1](https://github.com/mrtjr1) | 14-Apr-2023 | Yes | |
|
||||
| <a name="Wouxun_KG-UV9PX"></a> Wouxun_KG-UV9PX | [@mrtjr1](https://github.com/mrtjr1) | 20-Jan-2022 | Yes | |
|
||||
| <a name="Wouxun_KG-UVD1P"></a> Wouxun_KG-UVD1P | [Implied by Wouxun_KG-UV6](#user-content-Wouxun_KG-UV6) | 11-Dec-2022 | Yes | 0.35% |
|
||||
| <a name="Yaesu_FT-1500M"></a> Yaesu_FT-1500M | [@f3sty](https://github.com/f3sty) | 05-Dec-2022 | Yes | 0.02% |
|
||||
|
|
@ -401,11 +402,11 @@
|
|||
| <a name="Zastone_ZT-X6"></a> Zastone_ZT-X6 | [Implied by Retevis_RT22](#user-content-Retevis_RT22) | 9-Dec-2022 | Yes | 0.11% |
|
||||
## Stats
|
||||
|
||||
**Drivers:** 398
|
||||
**Drivers:** 399
|
||||
|
||||
**Tested:** 84% (338/60) (93% of usage stats)
|
||||
**Tested:** 84% (339/60) (93% of usage stats)
|
||||
|
||||
**Byte clean:** 89% (356/42)
|
||||
**Byte clean:** 89% (357/42)
|
||||
|
||||
## Meaning of this testing
|
||||
|
||||
|
|
|
|||
BIN
tests/images/Wouxun_KG-UV9K.img
Normal file
BIN
tests/images/Wouxun_KG-UV9K.img
Normal file
Binary file not shown.
|
|
@ -307,6 +307,7 @@ Wouxun_KG-UV920P-A,@KC9HI,22-Dec-2022
|
|||
Wouxun_KG-UV980P,@mrtjr1,23-jan-2023
|
||||
Wouxun_KG-UV9PX,@mrtjr1,20-Jan-2022
|
||||
Wouxun_KG-UV9GX,@mrtjr1,27-Mar-2023
|
||||
Wouxun_KG-UV9K,@mrtjr1,14-Apr-2023
|
||||
Wouxun_KG-935G,@mrtjr1,4-Jan-2022
|
||||
Wouxun_KG-935G_Plus,@mrtjr1,7-Feb-2023
|
||||
Yaesu_FT-1500M,@f3sty,05-Dec-2022
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue