[chirp_users] Would like to add to project.
I believe I can add additional radio compatibilities to this project. I have been tinkering with radio programming for a while now, and I'm excited by what I see in Chirp. I have already completely reverse-engineered a couple of Icom radios and I have been using very crude programs with hard-coded values (written in C nonetheless!) to program my radios thus far. However, I have written extensive documentation about these radios. 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.
Also, it looks like the project uses Subversion. Would I be correct in that assumption?
Thanks, and I look forward to possibly contributing to an OSS project.
On Mon, Nov 5, 2012 at 12:14 PM, Jon Jenkins urbanconfederate@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
would love to have r20 support even though i caved and bought butel arc20 which has some ugly bugs.
/guy (73 de kg5vt | wqpz784)
On Mon, Nov 5, 2012 at 1:33 PM, Tom Hayward esarfl@gmail.com wrote:
On Mon, Nov 5, 2012 at 12:14 PM, Jon Jenkins urbanconfederate@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 _______________________________________________ chirp_users mailing list chirp_users@intrepid.danplanet.com http://intrepid.danplanet.com/mailman/listinfo/chirp_users
participants (3)
-
Guy Teague
-
Jon Jenkins
-
Tom Hayward