Re: [chirp_devel] General inquiry on adding "settings"
As Tom requested, I'm moving this discussion here from chirp_users. I've registered to receive mail (digest form) on this list.
Thanks for the response, it was what I was hoping for. I've looked over the FT-60 MEM_FORMAT structure you pointed me at, and it looks like something I can definitely handle, maybe with a little experimentation and poking around the code to resolve things like bit ordering etc.
I've seen the chirp developers tools option to view and diff the raw data. I think I'm probably self-contained as far as what I need to know to do this, but I'll ask if I get stumped.
I don't want to set expectations that I'm committing to do this until I get into it and size up just how much work is involved, but my sense is it's a reasonably finite task for one radio, and I'll get started on it for the FT-60. Don't open a feature bug on this, plenty of time to do that when I have an extended MEM_FORMAT struct ready to merge. A couple of months?
My only request now is that if someone is already working on adding FT-60 settings, stop me now so I don't waste my time.
However, I do have one issue that needs to be corrected that I noticed in looking over the referenced ft60.py The power levels described in lines 154-156 are incorrect. The FT-60 is 5w2w/0.5w, not 5w/2.5w/1w. See user's manual pages 15 and 79.
I haven't looked to see what the values are used for, if anything, but they're currently wrong except for high.
Thanks,
-dan
Date: Sun, 2 Feb 2014 15:20:00 -0800 From: Tom Hayward esarfl@gmail.com Subject: Re: [chirp_users] General inquiry on adding "settings"
On Feb 2, 2014 1:05 PM, chirp.cordless@xoxy.net wrote:
I haven't seen this kind of development meta-discussion, so here goes:
This kind of discussion usually happens on the chirp_devel mailling list: http://intrepid.danplanet.com/mailman/listinfo/chirp_devel
I guess the process would be to change a setting via the radio's buttons, read into chirp. and record what changed in the data stream. Rinse and repeat. If someone (me, for example) were to do that and provide the map, would that likely be enough to have someone else pick it up and code it
into Chirp?
Yep, you've got the process figured out.
And if so, what form should the 'map' take? Several hundred complete radio images seems less than optimal to me, for several reasons, most obviously that it still needs interpretation to code from. I could probably do a Python const data structure or equivalent if pointed to an example.
I think the best option would be for you to learn the syntax for the Chirp bitwise memory format. It takes its inspiration from c structs, so it should be very familiar to you. It is not Python, but a syntax Dan created to represent radio memory structures. It suits Chirp very well. You can find examples in every radio driver, usually at the top of the file in a string called MEM_FORMAT: http://chirp.danplanet.com/projects/chirp/repository/entry/chirp/ft60.py#L10...
If you can define the radio's memory layout in that format, and document the associated values (e.g., APO: 0: off, 1: 30m, 2: 1h, 3: 2h, etc.), then another Chirp dev should be able to pick up your work and add the GUI elements.
Please send your reply to the chirp_devel list so the right audience sees it.
Tom KD7LXL
On Tue, Feb 4, 2014 at 9:40 AM, chirp.cordless@xoxy.net wrote:
As Tom requested, I'm moving this discussion here from chirp_users. I've registered to receive mail (digest form) on this list.
Great!
You may find that digest mode delays discussion. This list is low-traffic enough that there's not much benefit to digest (I don't use digest even on high traffic lists, but that's a personal decision).
Thanks for the response, it was what I was hoping for. I've looked over the FT-60 MEM_FORMAT structure you pointed me at, and it looks like something I can definitely handle, maybe with a little experimentation and poking around the code to resolve things like bit ordering etc.
I've seen the chirp developers tools option to view and diff the raw data. I think I'm probably self-contained as far as what I need to know to do this, but I'll ask if I get stumped.
The developer tool that will really help you here is the Browser tab (on the left). It breaks the MEM_FORMAT into a tree you can browse, so you can confirm Chirp is parsing your struct correctly and the bit ordering is correct. Thanks to Dan for this very useful tool.
I don't want to set expectations that I'm committing to do this until I get into it and size up just how much work is involved, but my sense is it's a reasonably finite task for one radio, and I'll get started on it for the FT-60. Don't open a feature bug on this, plenty of time to do that when I have an extended MEM_FORMAT struct ready to merge. A couple of months?
My only request now is that if someone is already working on adding FT-60 settings, stop me now so I don't waste my time.
Starting a feature request, assigning it to yourself, and setting "In Progress" would prevent anyone else from unknowingly working on this task.
However, I do have one issue that needs to be corrected that I noticed in looking over the referenced ft60.py The power levels described in lines 154-156 are incorrect. The FT-60 is 5w2w/0.5w, not 5w/2.5w/1w. See user's manual pages 15 and 79.
I haven't looked to see what the values are used for, if anything, but they're currently wrong except for high.
Having the values slightly off isn't going to break anything, but that's no excuse for keeping wrong data in Chirp! We'd love to see a patch from you that fixes it. This will be a nice way to ease you into Chirp's patch submission policy.
http://chirp.danplanet.com/projects/chirp/wiki/DevelopersProcess
Tom KD7LXL
Welcome Dan!
The developer tool that will really help you here is the Browser tab (on the left). It breaks the MEM_FORMAT into a tree you can browse, so you can confirm Chirp is parsing your struct correctly and the bit ordering is correct. Thanks to Dan for this very useful tool.
I agree, the browser tab is you friend ;) Let me add that you can make changes and try them with out the need of a full development environment using File - Load module which load a py radio module at runtime.
My only request now is that if someone is already working on adding FT-60 settings, stop me now so I don't waste my time.
Starting a feature request, assigning it to yourself, and setting "In Progress" would prevent anyone else from unknowingly working on this task.
I had my ft60 back after long time, here I am if you need a some help or perhaps a beta tester.
73 de IZ3GME Marco
You may also want to take a look at tools/bitdiff.py which i created to help you "diff" two radio images, to attempt to make the process of 1. download an image 2. change one setting 3. redownload image 4. compare images for what changed
a tad bit easier (hopefully)...
-Jens
________________________________ From: Marco IZ3GME iz3gme.marco@gmail.com To: chirp_devel@intrepid.danplanet.com Sent: Tuesday, February 4, 2014 1:29 PM Subject: Re: [chirp_devel] General inquiry on adding "settings"
Welcome Dan!
The developer tool that will really help you here is the Browser tab (on the left). It breaks the MEM_FORMAT into a tree you can browse, so you can confirm Chirp is parsing your struct correctly and the bit ordering is correct. Thanks to Dan for this very useful tool.
I agree, the browser tab is you friend ;) Let me add that you can make changes and try them with out the need of a full development environment using File - Load module which load a py radio module at runtime.
My only request now is that if someone is already working on adding FT-60 settings, stop me now so I don't waste my time.
Starting a feature request, assigning it to yourself, and setting "In Progress" would prevent anyone else from unknowingly working on this task.
I had my ft60 back after long time, here I am if you need a some help or perhaps a beta tester.
73 de IZ3GME Marco
_______________________________________________ chirp_devel mailing list chirp_devel@intrepid.danplanet.com http://intrepid.danplanet.com/mailman/listinfo/chirp_devel Developer docs: http://chirp.danplanet.com/projects/chirp/wiki/Developers
participants (4)
-
chirp.cordless@xoxy.net
-
Jens J.
-
Marco IZ3GME
-
Tom Hayward