<div dir="ltr">OK cool. In that case, I&#39;ll leave the bug fix as is and make that the first patch. The goal<div>of the first patch is simply to ensure that if you download from a VX-8R, you don&#39;t </div><div>generate trace back errors and you don&#39;t get a Settings menu at all. In other words,</div><div>ensure that the correct code gets called for a given variant. </div><div><br></div><div>On an administrative note, should we just reject Issue 4881 and have me create a new</div><div>issue with the scope of work limited to the bug fix?</div><div><br></div><div>-Keith</div><div>KF7DRV</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 5, 2017 at 1:29 PM, Dan Smith via chirp_devel <span dir="ltr">&lt;<a href="mailto:chirp_devel@intrepid.danplanet.com" target="_blank">chirp_devel@intrepid.danplanet.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; Perhaps instead of leading with the refactor of the VX8DRadio class<br>
&gt; functions up to the VX8Radio class, I should first fix the obvious<br>
&gt; bug of the VXDRadio functions getting called for a VX-8R. Next, I<br>
&gt; would propose doing a patch that accommodates the memory layout<br>
&gt; differences between the VX-8R and VX-8DR/VX-8GE. Then I would do a<br>
&gt; patch that moves the common functions up to the base class (but<br>
&gt; don&#39;t yet get called for the VX-8R). The last patch would be to<br>
&gt; enable settings for the VX-8R by setting &quot;has_settings&quot; to True in<br>
&gt; the get_features function and adding the special version of the<br>
&gt; get_aprs_tx setting function in the base class (which would be<br>
&gt; overloaded by the get_aprs_tx function in the VX8DRadio class).<br>
&gt;<br>
&gt; Would this work OK for you?<br>
<br>
</span>Sounds awesome. I like awesome.<br>
<span class=""><br>
&gt; Assuming I would start by fixing the  issue of the bug where the<br>
&gt; VX8DRadio functions are getting called when you download from a<br>
&gt; VX-8R, I am not really happy with my current &quot;fix&quot; anyway. I ended<br>
&gt; up adding separate models (VX-8R, VX-8DR, and VX-8GE) to the Yaesu<br>
&gt; pull-down menu. This works fine but long-time VX-8* users of Chirp<br>
&gt; would potentially not notice this change and select VX-8R when they<br>
&gt; have a VX-8DR. Additionally, the pull down menu is busier since it&#39;s<br>
&gt; now contaminated with variants.<br>
<br>
</span>I don&#39;t really think that&#39;s necessarily a bad thing. It&#39;s nice to be<br>
able to do everything automatically all the time, but Yaesus aren&#39;t very<br>
auto-detect-friendly. I don&#39;t really think it&#39;s a problem to make people<br>
choose the specific model, nor do I really think we&#39;ll see flak from<br>
users about it. Especially if we can point to &quot;things work that didn&#39;t<br>
work before&quot; type issues.<br>
<span class=""><br>
&gt; This problem doesn&#39;t occur when opening any of the VX-8R, VX-8DR, or<br>
&gt; VX-8GE image files. The specific model is apparently correctly<br>
&gt; determined by the ident string at the beginning of the image file.<br>
&gt; However, it definitely occurs when you download from the radio. I<br>
&gt; haven&#39;t yet ferreted out the difference between model detection via<br>
&gt; an image file open and model detection in the context of download<br>
&gt; from a radio. I&#39;ve noticed that in other drivers there are explicit<br>
&gt; functions for identifying the radio. Is this some missing but<br>
&gt; required functionality not in the current VX8 driver?<br>
<br>
</span>Well, those detection routines are to probe for sub-models to do<br>
different things during clone. I&#39;m not sure that&#39;s really necessary<br>
here, unless you want to unify all of the variants into a single class,<br>
and just check properties of the image every time you want to do<br>
something that differs between them. That would be okay if you think<br>
it&#39;s worth it.<br>
<br>
I assume that this is doable at all with Yaesus because they barf their<br>
model number as the first thing when you hit clone on the radio right?<br>
They&#39;re not (AFAIK) interrogate-able for model info like every other<br>
radio on the planet.<br>
<span class=""><br>
&gt; It also seems that Chirp has an Alias construct that seems to have<br>
&gt; replaced the Variant construct. I&#39;m clearly very confused around this<br>
&gt; topic and a few pointers/suggestions would be most helpful!<br>
<br>
</span>Well, the reason we added that is because of all the models coming out<br>
of China that are just re-badged with no other apparent differences.<br>
Variant was added so you could have slight differences between the<br>
European and North American model of a radio. However, if the same radio<br>
is called &quot;Foobar 9000&quot; and &quot;Whizbang 84&quot; the variant isn&#39;t enough to<br>
distinguish them (that, and you don&#39;t actually need a different subclass<br>
for differences since there are none).<br>
<div class="HOEnZb"><div class="h5"><br>
--Dan<br>
______________________________<wbr>_________________<br>
chirp_devel mailing list<br>
<a href="mailto:chirp_devel@intrepid.danplanet.com">chirp_devel@intrepid.<wbr>danplanet.com</a><br>
<a href="http://intrepid.danplanet.com/mailman/listinfo/chirp_devel" rel="noreferrer" target="_blank">http://intrepid.danplanet.com/<wbr>mailman/listinfo/chirp_devel</a><br>
Developer docs: <a href="http://chirp.danplanet.com/projects/chirp/wiki/Developers" rel="noreferrer" target="_blank">http://chirp.danplanet.com/<wbr>projects/chirp/wiki/Developers</a><br>
</div></div></blockquote></div><br></div>