[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