Project

General

Profile

Actions

Feature #4051

closed

Add full support for KT-8900R

Added by Michael Wagner over 7 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
09/22/2016
Due date:
% Done:

0%

Estimated time:
Chirp Version:
daily
Model affected:
QYT KT-8900R
I read the instructions above:

Description

HI,

I wanted to add full support of the QYT KT-8900R to chirp (DTMF, 2-Tone, 5-Tone, FM-presets). Therefore I started by reverse-engineering the memory-image of those features when configured with the OEM software . For most parts I think its complete, except for the encoding of the frequencies in the 2-Tone - Tab. When changing those settings, the software encodes the configured frequencies as little endian dword, but also changes 2 other bytes, where I cant figure out how they correlate with the frequencies. Maybe some user that uses 2-tone could help me in interpreting that values.

For the FM-presets I also started adding the UI, but as I am completely new to Python, I would need some support.
Some open questions are:

  • can a validator be changed to trigger only when the User finishes editing (and not after each character)?
  • how can the Memory-table be extended for special features (e.g. sigcode, scrambler, ...)?
  • could somebody test whether the memory-format is valid also for other Radios that are supported by this driver? (I have only the KT-8900R)

How to test: enable developer options, load the attached module btech.py, download the image from Radio and inspect it with the bitwise browser, whether it shows the values configured with the OEM software.

Br,
Michael


Files

btech.py (62 KB) btech.py Michael Wagner, 09/22/2016 02:33 PM
Actions #1

Updated by Leo Bärring over 7 years ago

For the second of the open questions I should be able to provide an answer, I think:
You can't have those radio-specific features represented in the table layout, but you
can provide means for editing them by adding them to mem.extra, if you grep the sources
of the other radios for that field and check out the classes available in settings.py
you should be able to figure it out.
For features that are common to the whole radio, rather than each individual channel,
you can also add similar settings, and implement get_settings() and set_settings() in
much the same way you implement get/set_memory().

Actions #2

Updated by Michael Wagner over 7 years ago

Thanks for the hint regarding mem.extra - with that I figured out that most "per channel"-settings are already implemented in the btech-driver.
BTW: is it intended that those extra-settings are displayed in "Properties" -> "Other", altough theire SettingGroup is called "Extra"?
RadioSettingGroup("extra", "Extra")

Actions #3

Updated by Jim Unroe over 7 years ago

Usually the first thing that I do (as I have here) is figure out and program all of the per-channel settings.

I would recommend that you take this discussion to the chirp_devel mailing list. More CHIRP developers will see your questions and be able to provide answers and/or advice.

Jim KC9HI

Actions #4

Updated by Jim Unroe over 7 years ago

Also realize that most everything that you do for the KT-8900R will also support the many other variants that this driver supports. In some cases there are differences between the various brands/models and you can look at the btech.py to see how I have handled some of these differences.

Jim

Actions #5

Updated by Bernhard Hailer almost 4 years ago

  • Status changed from New to Closed
  • Model affected changed from (All models) to QYT KT-8900R

This appears to be complete.

Actions

Also available in: Atom PDF