mirror of
https://github.com/kk7ds/chirp
synced 2026-08-13 17:51:36 -04:00
Fixes and testing: wouxun.py, wouxun_common.py & update matrix
This commit is contained in:
parent
e39251508c
commit
154b47f2ac
4 changed files with 24 additions and 19 deletions
|
|
@ -60,9 +60,10 @@ class KGUVD1PRadio(chirp_common.CloneModeRadio,
|
|||
"""Wouxun KG-UVD1P,UV2,UV3"""
|
||||
VENDOR = "Wouxun"
|
||||
MODEL = "KG-UVD1P"
|
||||
_model = "KG669V"
|
||||
_model = b"KG669V"
|
||||
NEEDS_COMPAT_SERIAL = False
|
||||
|
||||
_querymodel = ("HiWOUXUN\x02", "PROGUV6X\x02")
|
||||
_querymodel = (b"HiWOUXUN\x02", b"PROGUV6X\x02")
|
||||
|
||||
CHARSET = list("0123456789") + \
|
||||
[chr(x + ord("A")) for x in range(0, 26)] + list("?+-")
|
||||
|
|
@ -260,10 +261,10 @@ class KGUVD1PRadio(chirp_common.CloneModeRadio,
|
|||
|
||||
def _start_transfer(self):
|
||||
"""Tell the radio to go into transfer mode"""
|
||||
self.pipe.write("\x02\x06")
|
||||
self.pipe.write(b"\x02\x06")
|
||||
time.sleep(0.05)
|
||||
ack = self.pipe.read(1)
|
||||
if ack != "\x06":
|
||||
if ack != b"\x06":
|
||||
raise Exception("Radio refused transfer mode")
|
||||
|
||||
def _download(self):
|
||||
|
|
@ -910,7 +911,7 @@ class KGUV6DRadio(KGUVD1PRadio):
|
|||
"""Wouxun KG-UV6 (D and X variants)"""
|
||||
MODEL = "KG-UV6"
|
||||
|
||||
_querymodel = ("HiWXUVD1\x02", "HiKGUVD1\x02")
|
||||
_querymodel = (b"HiWXUVD1\x02", b"HiKGUVD1\x02")
|
||||
|
||||
_MEM_FORMAT = """
|
||||
#seekto 0x0010;
|
||||
|
|
@ -1437,7 +1438,7 @@ class KG816Radio(KGUVD1PRadio, chirp_common.ExperimentalRadio):
|
|||
"""Wouxun KG-816"""
|
||||
MODEL = "KG-816"
|
||||
|
||||
_querymodel = "HiWOUXUN\x02"
|
||||
_querymodel = b"HiWOUXUN\x02"
|
||||
|
||||
_MEM_FORMAT = """
|
||||
#seekto 0x0010;
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ def wipe_memory(_mem, byte):
|
|||
|
||||
def do_download(radio, start, end, blocksize):
|
||||
"""Initiate a download of @radio between @start and @end"""
|
||||
image = ""
|
||||
image = b""
|
||||
for i in range(start, end, blocksize):
|
||||
cmd = struct.pack(">cHb", b"R", i, blocksize)
|
||||
LOG.debug(util.hexprint(cmd))
|
||||
radio.pipe.write(bitwise.string_straight_decode(cmd))
|
||||
radio.pipe.write(cmd)
|
||||
length = len(cmd) + blocksize
|
||||
resp = radio.pipe.read(length)
|
||||
if len(resp) != (len(cmd) + blocksize):
|
||||
|
|
@ -43,7 +43,7 @@ def do_download(radio, start, end, blocksize):
|
|||
raise Exception("Failed to read full block (%i!=%i)" %
|
||||
(len(resp), len(cmd) + blocksize))
|
||||
|
||||
radio.pipe.write("\x06")
|
||||
radio.pipe.write(b"\x06")
|
||||
radio.pipe.read(1)
|
||||
image += resp[4:]
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ def do_download(radio, start, end, blocksize):
|
|||
status.msg = "Cloning from radio"
|
||||
radio.status_fn(status)
|
||||
|
||||
return memmap.MemoryMap(image)
|
||||
return memmap.MemoryMapBytes(image)
|
||||
|
||||
|
||||
def do_upload(radio, start, end, blocksize):
|
||||
|
|
@ -62,13 +62,13 @@ def do_upload(radio, start, end, blocksize):
|
|||
ptr = start
|
||||
for i in range(start, end, blocksize):
|
||||
cmd = struct.pack(">cHb", b"W", i, blocksize)
|
||||
chunk = radio.get_mmap().get_byte_compatible()[ptr:ptr+blocksize]
|
||||
chunk = radio.get_mmap()[ptr:ptr+blocksize]
|
||||
ptr += blocksize
|
||||
radio.pipe.write(bitwise.string_straight_decode(cmd + chunk))
|
||||
radio.pipe.write(cmd + chunk)
|
||||
LOG.debug(util.hexprint(cmd + chunk))
|
||||
|
||||
ack = radio.pipe.read(1)
|
||||
if not ack == "\x06":
|
||||
if not ack == b"\x06":
|
||||
raise Exception("Radio did not ack block %i" % ptr)
|
||||
# radio.pipe.write(ack)
|
||||
|
||||
|
|
|
|||
|
|
@ -300,16 +300,16 @@
|
|||
| <a name="Vertex_Standard_VXA-700"></a> Vertex_Standard_VXA-700 | | | | 0.02% |
|
||||
| <a name="WACCOM_MINI-8900"></a> WACCOM_MINI-8900 | [@KC9HI](https://github.com/KC9HI) | 11-Nov-2022 | Yes | 0.12% |
|
||||
| <a name="WLN_KD-C1"></a> WLN_KD-C1 | [Implied by Retevis_RT22](#user-content-Retevis_RT22) | 9-Dec-2022 | Yes | **1.73%** |
|
||||
| <a name="Wouxun_KG-816"></a> Wouxun_KG-816 | | | | 0.07% |
|
||||
| <a name="Wouxun_KG-818"></a> Wouxun_KG-818 | | | | 0.04% |
|
||||
| <a name="Wouxun_KG-816"></a> Wouxun_KG-816 | [Implied by Wouxun_KG-UV6](#user-content-Wouxun_KG-UV6) | 11-Dec-2022 | Yes | 0.07% |
|
||||
| <a name="Wouxun_KG-818"></a> Wouxun_KG-818 | [Implied by Wouxun_KG-UV6](#user-content-Wouxun_KG-UV6) | 11-Dec-2022 | Yes | 0.04% |
|
||||
| <a name="Wouxun_KG-935G"></a> Wouxun_KG-935G | | | | 0.05% |
|
||||
| <a name="Wouxun_KG-UV6"></a> Wouxun_KG-UV6 | | | | 0.19% |
|
||||
| <a name="Wouxun_KG-UV6"></a> Wouxun_KG-UV6 | [@KC9HI](https://github.com/KC9HI) | 11-Dec-2022 | Yes | 0.19% |
|
||||
| <a name="Wouxun_KG-UV8D"></a> Wouxun_KG-UV8D | | | | 0.24% |
|
||||
| <a name="Wouxun_KG-UV8D_Plus"></a> Wouxun_KG-UV8D_Plus | | | | 0.08% |
|
||||
| <a name="Wouxun_KG-UV8E"></a> Wouxun_KG-UV8E | | | | 0.05% |
|
||||
| <a name="Wouxun_KG-UV920P-A"></a> Wouxun_KG-UV920P-A | | | | 0.04% |
|
||||
| <a name="Wouxun_KG-UV9D_Plus"></a> Wouxun_KG-UV9D_Plus | | | | 0.39% |
|
||||
| <a name="Wouxun_KG-UVD1P"></a> Wouxun_KG-UVD1P | | | | 0.35% |
|
||||
| <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% |
|
||||
| <a name="Yaesu_FT-1802M"></a> Yaesu_FT-1802M | | | Yes | 0.02% |
|
||||
| <a name="Yaesu_FT-1D_R"></a> Yaesu_FT-1D_R | | | Yes | 0.03% |
|
||||
|
|
@ -360,9 +360,9 @@
|
|||
|
||||
**Drivers:** 355
|
||||
|
||||
**Tested:** 57% (205/150) (86% of usage stats)
|
||||
**Tested:** 58% (209/146) (86% of usage stats)
|
||||
|
||||
**Byte clean:** 73% (262/93)
|
||||
**Byte clean:** 74% (266/89)
|
||||
|
||||
## Minimal test prodecure
|
||||
For the purposes of the Python 3 effort, a "tested" radio means
|
||||
|
|
|
|||
|
|
@ -189,6 +189,10 @@ TYT_TH9000_220,+Retevis_RT9000D_220-260,8-Dec-2022
|
|||
TYT_TH9000_440,+Retevis_RT9000D_400-490,8-Dec-2022
|
||||
WACCOM_MINI-8900,@KC9HI,11-Nov-2022
|
||||
WLN_KD-C1,+Retevis_RT22,9-Dec-2022
|
||||
Wouxun_KG-816,+Wouxun_KG-UV6,11-Dec-2022
|
||||
Wouxun_KG-818,+Wouxun_KG-UV6,11-Dec-2022
|
||||
Wouxun_KG-UV6,@KC9HI,11-Dec-2022
|
||||
Wouxun_KG-UVD1P,+Wouxun_KG-UV6,11-Dec-2022
|
||||
Yaesu_FT-1500M,@f3sty,05-Dec-2022
|
||||
Yaesu_FT-70D,@n8sqt,05-Dec-2022
|
||||
Yaesu_FT-7800_7900,@kk7ds,24-Oct-2022
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue