[chirp_users] Would like to add to project.

Tom Hayward esarfl at gmail.com
Mon Nov 5 11:33:49 PST 2012


On Mon, Nov 5, 2012 at 12:14 PM, Jon Jenkins <urbanconfederate at gmail.com> wrote:
> I'm not sure how
> Chirp's structure is set up, but I assume there is some sort of modular API
> to add new radio implementations quickly.

Yes, this is what makes Chirp so great. Take a look at this file for example:

http://chirp.danplanet.com/projects/chirp/repository/entry/chirp/ic2200.py

It starts out with a memory definition, which you'll find familiar to c structs.

Later you'll see @directory.register. This tells Chirp that the
following class is a new radio to support.

class IC2200Radio(icf.IcomCloneModeRadio, chirp_common.IcomDstarSupport)

This is the basic class definition for a radio. In here you will write
all the code specific to this model. Notice that no code here writes
to the serial port. This is because the IC2200 shares a clone protocol
with most (all?) other Icoms. These features are provided by
IcomCloneModeRadio, and you don't need to rewrite them (unless your
model uses a different protocol).

The important methods you will need to write for your radio are
get_features(), get_memory(), and set_memory(). Here you translate the
radio-specific data into something Chirp's GUI can understand.

> Also, it looks like the project uses Subversion. Would I be correct in that
> assumption?

No, Mercurial. More information here:
http://chirp.danplanet.com/projects/chirp/wiki/Developers Please join
the devel mailing list for development discussions like this.

Tom KD7LXL


More information about the chirp_users mailing list