<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
> Unfortunately Baofeng didn't just tack new settings on the end. They<br>
> inserted 20.0K in between 12.5K and 25.0K. I can easily change it by<br>
> adding the 2 additional selections, but I'm afraid someone selecting<br>
> 20.0K on an older firmware will actually get 25.0K. I would need help<br>
> knowing how to make two lists and then selecting the correct one based<br>
> on the firmware version being used.<br>
<br>
</div>Right, so there's a method on the driver called "_is_orig()" that will<br>
return True if it is the "original" style of firmware, or False if it's<br>
the newer kind. So, you can do something like this:<br>
<br>
tuning_steps = list(STEP_LIST) # Make a copy of the main list<br>
if not self._is_orig():<br>
tuning_steps.insert(5, 20.0) # Insert 20.0 at index 5<br>
tuning_steps.insert(...)<br>
<br>
Then just change the initialization of the setting to use the<br>
tuning_steps list instead of the global constant one.<br></blockquote><div><br></div><div>OK. That should work for STEP because it changed with BFB291. But other menus that need attention, like VOICE, changed at BFB251. That will probably require a different type of check. For pre-BFB251 the selection is OFF or ON, which is what CHIRP currently supports. But for BFB251 and later the selection is OFF, ENGlish or CHInese. Fortunately most want OFF or ENG so the existing code probably works fine for most users. I'd still like to see it support the menu fully though.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">> Then what I would like to do is tackle some of the 'per channel'</div><div class="im">
> settings like Busy Channel Lockout, S-CODE, PTT-ID (if that is even<br>
> possible).<br>
<br>
</div>Yep, that's good. Anything that the Memory class has in it should be<br>
supported that way (i.e. the Memory class in chirp_common.py). However,<br>
features not supported there can be added to the "extra" field in<br>
Memory. This field lets you stuff settings (just like you've been doing<br>
for the radio-wide settings) that are specific to a memory channel in<br>
there, which are exposed to the user via the Right-click->Edit dialog<br>
box. See the ft817.py driver for an example. Look in get_memory() and<br>
set_memory() for where mem.extra is manipulated.<br></blockquote><div><br></div><div>I'll study this a bit before I do anything. I'll probably have questions.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks Jim!<br></blockquote><div><br></div><div>Thank you. I appreciate the guidance and the willingness to let me help out.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
--<br>
Dan Smith<br>
<a href="http://www.danplanet.com" target="_blank">www.danplanet.com</a><br>
KK7DS<br>
<br></div></div></blockquote><div>Jim </div></div><br>