chirp/tests/Python3_Driver_Testing.md
Dan Smith 8a34bf5f9c Fix TK-760G for python3
This also rewrites the cloning routines to be less fragile and less
dependent on timing. I have never been able to get this driver to
work on any platform, and with this change it works on all platforms
for me.

Spelling and grammar is also tweaked for correctness while I'm here.
2022-12-06 14:19:40 -08:00

30 KiB

Status

Driver Tester Tested Byte Clean
ARRL_Travel_Plus
Abbree_AR-518
Abbree_AR-63 @KC9HI 30-Nov-2022 Yes
Alinco_DJ-G7EG
Alinco_DJ175
Alinco_DJ596
Alinco_DR03T
Alinco_DR06T
Alinco_DR135T
Alinco_DR235T
Alinco_DR435T
AnyTone_5888UV
AnyTone_5888UVIII
AnyTone_778UV Implied by Retevis_RT95 13-Nov-2022 Yes
AnyTone_778UV_VOX Implied by Retevis_RT95 13-Nov-2022 Yes
AnyTone_OBLTR-8R
AnyTone_TERMN-8R
Anysecu_WP-9900 @KC9HI 11-Nov-2022 Yes
BTECH_FRS-A1 @KC9HI 30-Nov-2022 Yes
BTECH_FRS-B1 @KC9HI 28-Nov-2022 Yes
BTECH_GMRS-20V2 @KC9HI 13-Nov-2022 Yes
BTECH_GMRS-50X1 @KC9HI 13-Nov-2022 Yes
BTECH_GMRS-V1
BTECH_GMRS-V2
BTECH_MURS-V1
BTECH_UV-2501 @KC9HI 11-Nov-2022 Yes
BTECH_UV-2501+220 @KC9HI 11-Nov-2022 Yes
BTECH_UV-25X2 @KC9HI 11-Nov-2022 Yes
BTECH_UV-25X4 @KC9HI 10-Nov-2022 Yes
BTECH_UV-5001 @KC9HI 11-Nov-2022 Yes
BTECH_UV-50X2 @KC9HI 11-Nov-2022 Yes
BTECH_UV-50X2_G2 @KC9HI 30-Nov-2022 Yes
BTECH_UV-50X3
BTECH_UV-5X3
Baofeng_BF-888 @kk7ds 13-Feb-2019 Yes
Baofeng_BF-A58 @KC9HI 3-Dec-2022 Yes
Baofeng_BF-A58S @KC9HI 3-Dec-2022 Yes
Baofeng_BF-F8HP @KC9HI 18-Nov-2022 Yes
Baofeng_BF-T1
Baofeng_BF-T8 @KC9HI 30-Nov-2022 Yes
Baofeng_BF-V8A @KC9HI 28-Nov-2022 Yes
Baofeng_F-11 Implied by Baofeng_UV-5R 18-Nov-2022 Yes
Baofeng_GT-3WP @KC9HI 3-Dec-2022 Yes
Baofeng_GT-5R @KC9HI 18-Nov-2022 Yes
Baofeng_UV-3R @yarda 26-Sep-2022
Baofeng_UV-5R @lekv 23-Oct-2022 Yes
Baofeng_UV-6 Implied by Baofeng_UV-5R 18-Nov-2022 Yes
Baofeng_UV-6R
Baofeng_UV-82 @KC9HI 18-Nov-2022 Yes
Baofeng_UV-82HP @KC9HI 18-Nov-2022 Yes
Baofeng_UV-82WP @KC9HI 3-Dec-2022 Yes
Baofeng_UV-9G @KC9HI 3-Dec-2022 Yes
Baofeng_UV-9R @KC9HI 3-Dec-2022 Yes
Baofeng_UV-B5 @KC9HI 18-Nov-2022 Yes
Baojie_BJ-218
Baojie_BJ-318
Baojie_BJ-9900
Baojie_BJ-UV55 Yes
Boblov_X3Plus
CRT_Micron_UV Implied by Retevis_RT95 13-Nov-2022 Yes
CRT_Micron_UV_V2 Implied by Retevis_RT95 13-Nov-2022 Yes
Commander_KG-UV
Explorer_QRZ-1 Implied by TYT_TH-UV88 5-Dec-2022 Yes
Feidaxin_FD-150A
Feidaxin_FD-160A
Feidaxin_FD-268A
Feidaxin_FD-268B
Feidaxin_FD-288A
Feidaxin_FD-288B
Feidaxin_FD-450A
Feidaxin_FD-460A
Feidaxin_FD-460UH
Generic_CSV @kk7ds 4-Dec-2022
HobbyPCB_RS-UV3
Icom_746 Yes
Icom_IC-208H Yes
Icom_IC-2100H Yes
Icom_IC-2200H @kk7ds 24-Oct-2022 Yes
Icom_IC-2300H Yes
Icom_IC-2720H Yes
Icom_IC-2730A Yes
Icom_IC-2820H @kk7ds 22-Oct-2022 Yes
Icom_IC-7000 Yes
Icom_IC-7100 Yes
Icom_IC-7200 @kk7ds 22-Oct-2022 Yes
Icom_IC-7300 @kk7ds 22-Oct-2022 Yes
Icom_IC-7610 @kk7ds 24-Oct-2022 Yes
Icom_IC-910 @mfncooper 1-Oct-2021 Yes
Icom_IC-91_92AD @kk7ds 23-Nov-2022 Yes
Icom_IC-E90 Yes
Icom_IC-P7 Yes
Icom_IC-Q7A @KC9HI 20-Nov-2022 Yes
Icom_IC-T70 Yes
Icom_IC-T7H Yes
Icom_IC-T8A Yes
Icom_IC-V82_U82
Icom_IC-V86 Yes
Icom_IC-W32A Yes
Icom_IC-W32E Yes
Icom_ID-31A @kk7ds 1-Dec-2022 Yes
Icom_ID-4100 @kk7ds 1-Dec-2022 Yes
Icom_ID-51 Implied by Icom_ID-31A 1-Dec-2022 Yes
Icom_ID-5100 @kk7ds 1-Dec-2022 Yes
Icom_ID-51_Plus Implied by Icom_ID-31A 1-Dec-2022 Yes
Icom_ID-51_Plus2 Yes
Icom_ID-800H_v2 @kk7ds 22-Oct-2022 Yes
Icom_ID-80H Yes
Icom_ID-880H @kk7ds 22-Oct-2022 Yes
Intek_HR-2040
Intek_KT-980HP Implied by Baofeng_BF-F8HP 18-Nov-2022 Yes
Jetstream_JT220M
Jetstream_JT270M
Jetstream_JT270MH
KYD_IP-620
KYD_NC-630A
Kenwood_HMK Implied by Generic_CSV 4-Dec-2022
Kenwood_ITM
Kenwood_TH-D7 Yes
Kenwood_TH-D72_clone_mode @kk7ds 28-Nov-2022 Yes
Kenwood_TH-D72_live_mode @kk7ds 21-Oct-2022 Yes
Kenwood_TH-D74_clone_mode @kk7ds 30-Nov-2022 Yes
Kenwood_TH-D74_live_mode @kk7ds 20-Oct-2022 Yes
Kenwood_TH-D7G Yes
Kenwood_TH-F6 @KC9HI 30-Nov-2022 Yes
Kenwood_TH-F7 @sv1 19-Oct-2022 Yes
Kenwood_TH-G71 Yes
Kenwood_TH-K2 Yes
Kenwood_TK-2180 @kk7ds 4-Dec-2022 Yes
Kenwood_TK-260
Kenwood_TK-260G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-270
Kenwood_TK-270G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-272
Kenwood_TK-272G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-278
Kenwood_TK-278G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-3180K @kk7ds 4-Dec-2022 Yes
Kenwood_TK-3180K2 Implied by Kenwood_TK-3180K 4-Dec-2022 Yes
Kenwood_TK-360
Kenwood_TK-360G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-370
Kenwood_TK-370G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-372
Kenwood_TK-372G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-378
Kenwood_TK-378G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-388G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-7102 @kk7ds 15-Feb-2019 Yes
Kenwood_TK-7108 @kk7ds 15-Feb-2019 Yes
Kenwood_TK-7180 @kk7ds 18-Oct-2022 Yes
Kenwood_TK-7180E Yes
Kenwood_TK-760
Kenwood_TK-760G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-762
Kenwood_TK-762G @kk7ds 5-Dec-2022 Yes
Kenwood_TK-768
Kenwood_TK-768G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-8102 @kk7ds 15-Feb-2019 Yes
Kenwood_TK-8108 @kk7ds 15-Feb-2019 Yes
Kenwood_TK-8180 @kk7ds 18-Oct-2022 Yes
Kenwood_TK-8180E Yes
Kenwood_TK-860
Kenwood_TK-860G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-862
Kenwood_TK-862G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TK-868
Kenwood_TK-868G Implied by Kenwood_TK-762G 5-Dec-2022 Yes
Kenwood_TM-271 Implied by Kenwood_TM-281 23-Oct-2022 Yes
Kenwood_TM-281 @kk7ds 23-Oct-2022 Yes
Kenwood_TM-471 Yes
Kenwood_TM-D700 @kk7ds 20-Oct-2022 Yes
Kenwood_TM-D710 Yes
Kenwood_TM-D710G @kk7ds 22-Oct-2022 Yes
Kenwood_TM-D710G_CloneMode @kk7ds 22-Oct-2022 Yes
Kenwood_TM-D710_CloneMode Yes
Kenwood_TM-G707 Yes
Kenwood_TM-V7 Yes
Kenwood_TM-V71 @kk7ds 21-Oct-2022 Yes
Kenwood_TS-2000 Yes
Kenwood_TS-480_CloneMode
Kenwood_TS-480_LiveMode Yes
Kenwood_TS-590SG_CloneMode
Kenwood_TS-590S_CloneMode
Kenwood_TS-590S_SG_LiveMode Yes
Kenwood_TS-850 Yes
LUITON_LT-316
LUITON_LT-580_UHF
LUITON_LT-580_VHF
LUITON_LT-588UV @KC9HI 11-Nov-2022 Yes
LUITON_LT-725UV
Lanchonlh_HG-UV98 Yes
Leixen_VV-898
Leixen_VV-898S
MTC_UV-5R-3
Midland_DBR2500 Implied by Retevis_RT95 13-Nov-2022 Yes
Polmar_DB-50M
Powerwerx_DB-750X
Puxing_PX-2R
Puxing_PX-777
Puxing_PX-888K
QYT_KT-8R @KC9HI 11-Nov-2022 Yes
QYT_KT-UV980 Implied by WACCOM_MINI-8900 11-Nov-2022 Yes
QYT_KT-WP12 Implied by Anysecu_WP-9900 11-Nov-2022 Yes
QYT_KT5800 Implied by BTECH_UV-25X2 11-Nov-2022 Yes
QYT_KT7900D Implied by BTECH_UV-25X4 11-Nov-2022 Yes
QYT_KT8900 Implied by LUITON_LT-588UV 11-Nov-2022 Yes
QYT_KT8900D Implied by BTECH_UV-25X2 11-Nov-2022 Yes
QYT_KT8900R Implied by BTECH_UV-2501+220 11-Nov-2022 Yes
QYT_KT980PLUS Implied by BTECH_UV-25X2 11-Nov-2022 Yes
Quansheng_TG-UV2+
RT_Systems_CSV
Radioddity_DB25-G @KC9HI 11-Nov-2022 Yes
Radioddity_GA-2S @KC9HI 4-Dec-2022 Yes
Radioddity_GA-510 @kk7ds 21-Oct-2022 Yes
Radioddity_R2
Radioddity_UV-5G @KC9HI 18-Nov-2022 Yes
Radioddity_UV-5RX3 @KC9HI 18-Nov-2022 Yes
Radioddity_UV-82X3 @KC9HI 18-Nov-2022 Yes
Radtel_T18 @KC9HI 28-Nov-2022 Yes
Retevis_H777_Plus @KC9HI 4-Dec-2022 Yes
Retevis_RA685 @KC9HI 19-Nov-2022 Yes
Retevis_RA85 @KC9HI 19-Nov-2022 Yes
Retevis_RB15
Retevis_RB17 @KC9HI 28-Nov-2022 Yes
Retevis_RB17A @KC9HI 30-Nov-2022 Yes
Retevis_RB17P
Retevis_RB17V @KC9HI 28-Nov-2022 Yes
Retevis_RB18 @KC9HI 28-Nov-2022 Yes
Retevis_RB19 @KC9HI 28-Nov-2022 Yes
Retevis_RB19P @KC9HI 28-Nov-2022 Yes
Retevis_RB23 @KC9HI 30-Nov-2022 Yes
Retevis_RB26 @KC9HI 30-Nov-2022 Yes
Retevis_RB27 @KC9HI 30-Nov-2022 Yes
Retevis_RB27B @KC9HI 30-Nov-2022 Yes
Retevis_RB27V @KC9HI 30-Nov-2022 Yes
Retevis_RB615
Retevis_RB617 @KC9HI 28-Nov-2022 Yes
Retevis_RB618 @KC9HI 28-Nov-2022 Yes
Retevis_RB619 @KC9HI 28-Nov-2022 Yes
Retevis_RB627B @KC9HI 30-Nov-2022 Yes
Retevis_RB75 @KC9HI 28-Nov-2022 Yes
Retevis_RB85 @KC9HI 28-Nov-2022 Yes
Retevis_RT1
Retevis_RT16 @KC9HI 30-Nov-2022 Yes
Retevis_RT19 @KC9HI 30-Nov-2022 Yes
Retevis_RT21 @KC9HI 30-Nov-2022 Yes
Retevis_RT22
Retevis_RT22FRS
Retevis_RT22S @KC9HI 28-Nov-2022 Yes
Retevis_RT23
Retevis_RT26
Retevis_RT29_UHF @KC9HI 30-Nov-2022 Yes
Retevis_RT29_VHF @KC9HI 30-Nov-2022 Yes
Retevis_RT40B @KC9HI 30-Nov-2022 Yes
Retevis_RT47 @KC9HI 28-Nov-2022 Yes
Retevis_RT47V @KC9HI 28-Nov-2022 Yes
Retevis_RT6 @KC9HI 3-Dec-2022 Yes
Retevis_RT619 @KC9HI 30-Nov-2022 Yes
Retevis_RT622
Retevis_RT647 @KC9HI 28-Nov-2022 Yes
Retevis_RT668 @KC9HI 28-Nov-2022 Yes
Retevis_RT68 @KC9HI 28-Nov-2022 Yes
Retevis_RT76 @KC9HI 30-Nov-2022 Yes
Retevis_RT76P
Retevis_RT85 @KC9HI 5-Dec-2022 Yes
Retevis_RT87
Retevis_RT9000D_136-174
Retevis_RT9000D_220-260
Retevis_RT9000D_400-490
Retevis_RT9000D_66-88
Retevis_RT95 @KC9HI 13-Nov-2022 Yes
Retevis_RT95_VOX Implied by Retevis_RT95 13-Nov-2022 Yes
Retevis_RT98
Rugged_RH5R-V2
Sainsonic_AP510
TDXone_TD-Q8A
TIDRADIO_TD-H6 @kk7ds 21-Oct-2022 Yes
TID_TD-M8
TYT_TH-350 Yes
TYT_TH-7800
TYT_TH-7800_File
TYT_TH-9800
TYT_TH-9800_File
TYT_TH-UV3R
TYT_TH-UV3R-25
TYT_TH-UV8000
TYT_TH-UV88 @KC9HI 5-Dec-2022 Yes
TYT_TH-UVF1
TYT_TH-UVF8D
TYT_TH9000_144
TYT_TH9000_220
TYT_TH9000_440
Vertex_Standard_FTL-1011
Vertex_Standard_FTL-2011
Vertex_Standard_FTL-7011
Vertex_Standard_FTL-8011
Vertex_Standard_VXA-700
WACCOM_MINI-8900 @KC9HI 11-Nov-2022 Yes
WLN_KD-C1
Wouxun_KG-816
Wouxun_KG-818
Wouxun_KG-935G
Wouxun_KG-UV6
Wouxun_KG-UV8D
Wouxun_KG-UV8D_Plus
Wouxun_KG-UV8E
Wouxun_KG-UV920P-A
Wouxun_KG-UV9D_Plus
Wouxun_KG-UVD1P
Yaesu_FT-1500M @f3sty 05-Dec-2022 Yes
Yaesu_FT-1802M Yes
Yaesu_FT-1D_R Yes
Yaesu_FT-25R Yes
Yaesu_FT-2800M Yes
Yaesu_FT-2900R_1900R Yes
Yaesu_FT-2900R_1900RTXMod_Opened_Xmit Yes
Yaesu_FT-450D Yes
Yaesu_FT-4VR Yes
Yaesu_FT-4XE Yes
Yaesu_FT-4XR Yes
Yaesu_FT-50 Yes
Yaesu_FT-60 Yes
Yaesu_FT-65E Yes
Yaesu_FT-65R Yes
Yaesu_FT-70D @n8sqt 05-Dec-2022 Yes
Yaesu_FT-7100M Yes
Yaesu_FT-7800_7900 @kk7ds 24-Oct-2022 Yes
Yaesu_FT-8100 Yes
Yaesu_FT-817 @kk7ds 14-Feb-2019 Yes
Yaesu_FT-817ND Yes
Yaesu_FT-817ND_US @kk7ds 14-Feb-2019 Yes
Yaesu_FT-818 Implied by Yaesu_FT-817 14-Feb-2019 Yes
Yaesu_FT-818ND_US Implied by Yaesu_FT-817 14-Feb-2019 Yes
Yaesu_FT-857_897 Implied by Yaesu_FT-817 14-Feb-2019 Yes
Yaesu_FT-857_897_US Implied by Yaesu_FT-817 14-Feb-2019 Yes
Yaesu_FT-8800 @kk7ds 24-Oct-2022 Yes
Yaesu_FT-8900 Implied by Yaesu_FT-8800 24-Oct-2022 Yes
Yaesu_FT-90 Yes
Yaesu_FT2D_R Yes
Yaesu_FT2D_Rv2 Yes
Yaesu_FT3D_R Yes
Yaesu_FTM-3200D_R Yes
Yaesu_FTM-350 @kk7ds 4-Dec-2022 Yes
Yaesu_FTM-7250D_R Yes
Yaesu_VX-170 Yes
Yaesu_VX-2 Yes
Yaesu_VX-3 @kk7ds 15-Feb-2019 Yes
Yaesu_VX-5 Yes
Yaesu_VX-6 Yes
Yaesu_VX-7 @kk7ds 15-Feb-2019 Yes
Yaesu_VX-8DR @kk7ds 15-Feb-2019 Yes
Yaesu_VX-8GE Implied by Yaesu_VX-8DR 15-Feb-2019 Yes
Yaesu_VX-8R Implied by Yaesu_VX-8DR 15-Feb-2019 Yes
Yedro_YC-M04VUS Implied by Retevis_RT95 13-Nov-2022 Yes
Zastone_ZT-X6

Stats

Drivers: 355

Tested: 47% (167/188)

Byte clean: 63% (227/128)

Minimal test prodecure

For the purposes of the Python 3 effort, a "tested" radio means at least the following procedure was followed:

  1. Download from the radio
  2. Make some change to a memory
  3. If the radio has settings support, make sure settings load and tweak one setting
  4. Upload to the radio
  5. Confirm that the changes stick and look correct, or at least are not a regression from the master py2 branch.

The drivers are all passing the automated tests, but tests with real hardware and serial ports is important, especially around bytes-vs-string safety.

To update this document, add/edit entries in tests/py3_driver_testers.txt and then run tox -e makesupported. Commit the result (including the changes to this .md file) and submit a PR.