[chirp_devel] [PATCH 1 of 3] [id31] Backport ID-51 mode logic to ID-31. Related to #553
Dean Gibson AE7Q
Thu Feb 21 18:20:04 PST 2013
On 2013-02-21 17:40, Tom Hayward wrote:
> One issue I see with your ID-31 code is that you never clear the bits
> for AM. These should never be set, but if we're going to attempt
> setting the mode we need to set all the relevant bits, even if some of
> them are zeros. Dean's indexed method does this best, so I backported
> the concept to ID-31 (but changed the implementation).
>
> If we need to hide AM on ID-31, maybe both radios need to be based on
> an IDx1Radio so that each can have independent mode lists.
If you are going to be working more on id31.py, one of the changes I had
made and was going to test, once I got a .ICF file for the ID-31, is
that the mycall structure in id31.py should be the same as that in
id51.py. Apparently no one ever tested the radio with a callsign tag
(or for that matter, with multiple myCall values from the radio).
There are other differences as well, like the number of repeaters (700
vs 750), and if you ever implement "groups" (20 vs 25).
After I made the changes for the ID-51 to Chirp, I created corresponding
C++ source files for DStarCom for both radios. I created a class for
each radio, and an abstract "IdX1a" class as well, for both to inherit
from, most of which was lifted from the ID-880H code. I may go back and
see if the ID-880 can inherit from that abstract class as well, so that
the radios supporting "DR" mode have a common base, which may be where
Icom/Japan firmware development is going). The format (including the
your/rpt1/rpt2 callsign packing) of a "channel" is identical among the
three radios (and presumably the IC-80AD as well), except for the length
of the "label" (8 chars in the ID-880H, 16 in the ID31/51A).
I don't know how your ID-51 changes are going to handle the different
memory locations in the ID-51 vs the ID-31, given the apparently fact
that the id31.py code which is being inherited, has different addresses
for everything except the channel memories. Channels will work the same,
but what about other stuff (eg, the other callsign tables)???
-- Dean
More information about the chirp_devel
mailing list