I'm writing the KG-UV9D Plus driver. I've got the memory channel and basic settings under control but there are a few radio features that need UI support. I've been looking at various other drivers and the settings.py (and friends) and haven't found what I'm looking for.
There are a few settings that are really tables, similar but much simpler than the memory tab. For example, there are scan groups which have a name, a starting memory channel and and ending channel. They are described in the following memory template frag:
#seekto 0x940;
struct {
struct {
i16 scan_st;
i16 scan_end;
} addrs[10];
u8 x0968[8];
struct {
char name[8];
} names[10];
} scn_grps;
Yea, it is clumsy and indicates that the firmware coders were sleeping in Data Structures class but in the end, it should map to a 3x10 table with header, something on the order of:
name | start | end
===========
airport | 108 | 136 |
....
===========
This would be a RadioSettingGroup or ??? under the settings tab.
I have another which is the caller id table. In this case, it is a 2x20 table with the first col being a 6 char name and the second, a DTMF 6 digit code:
#seekto 0x940;
struct {
struct {
i16 scan_st;
i16 scan_end;
} addrs[10];
u8 x0968[8];
struct {
char name[8];
} names[10];
} scn_grps;
Again, this would be a table in a RadioSettingGroup.
I really want to keep this within the driver ATM and not go off hacking settings.py and the GTK stuff (yet) but sticking to the (as I understand) the derived classes in settings.py gives me little more than lists of simple labeled item widgets.
Ideas, pointers?
Jim KB6QT
--
Jim Lieb
Mobile: 831-295-9317
GPG Key: 79BB52C7BD0530F5
"If ease of use was the only requirement, we would all be riding tricycles"
- Douglas Engelbart 1925–2013