[chirp_users] Would like to add to project.
Tom Hayward
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