<div dir="ltr"><div>There are only the two lists so far and  there may never be another, so I suppose we could. However, it&#39;s not the same</div><div>for all radio variants. I wanted to make this explicit, so I built the &quot;legal&quot; list on a radio-by-radio basis to make it clear</div><div>that each new variant will need to decide on its own list. the It&#39;s a stylistic choice, but I thought the &quot;remove&quot; construct</div><div>was better as a self-documenting way to make it clear that the legal list must be a subset of the coded list.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 28, 2019 at 6:52 AM Dan Smith via chirp_devel &lt;<a href="mailto:chirp_devel@intrepid.danplanet.com">chirp_devel@intrepid.danplanet.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; @@ -1023,7 +1018,22 @@<br>
&gt;     Pkeys = 2     # number of programmable keys on the FT-4<br>
&gt;     namelen = 6   # length of the mem name display on the FT-4 front-panel<br>
&gt;     id_str = b&#39;IFT-35R\x00\x00V100\x00\x00&#39;<br>
&gt; -<br>
&gt; +    # names for the setmode function for the programmable keys. Mode zero means<br>
&gt; +    # that the key is programmed for a memory not a setmode.<br>
&gt; +    SETMODES = [<br>
&gt; +        &quot;mem&quot;, &quot;apo&quot;, &quot;ar bep&quot;, &quot;ar int&quot;, &quot;beclo&quot;,              #00-04<br>
&gt; +        &quot;beep&quot;, &quot;bell&quot;, &quot;cw id&quot;, &quot;cw wrt&quot;, &quot;dc vlt&quot;,            #05-09<br>
&gt; +        &quot;dcs cod&quot;, &quot;dt dly&quot;, &quot;dt set&quot;, &quot;dtc spd&quot;, &quot;edg.bep&quot;,    #10-14<br>
&gt; +        &quot;lamp&quot;, &quot;led.bsy&quot;, &quot;led.tx&quot;, &quot;lock&quot;, &quot;m/t-cl&quot;,          #15-19<br>
&gt; +        &quot;mem.del&quot;, &quot;mem.tag&quot;, &quot;pag.abk&quot;, &quot;pag.cdr&quot;, &quot;pag.cdt&quot;,  #20-24<br>
&gt; +        &quot;pri.rvt&quot;, &quot;pswd&quot;, &quot;pswdwt&quot;, &quot;rf sql&quot;, &quot;rpt.ars&quot;,       #25-29<br>
&gt; +        &quot;rpt.frq&quot;, &quot;rpt.sft&quot;, &quot;rxsave&quot;, &quot;scn.lmp&quot;, &quot;scn.rsm&quot;,   #30-34<br>
&gt; +        &quot;skip&quot;, &quot;sql.typ&quot;, &quot;step&quot;, &quot;tn frq&quot;, &quot;tot&quot;,             #35-39<br>
&gt; +        &quot;tx pwr&quot;, &quot;tx save&quot;, &quot;vfo.spl&quot;, &quot;vox&quot;, &quot;wfm.rcv&quot;,       #40-44<br>
&gt; +        &quot;w/n.dev&quot;, &quot;wx.alert&quot;                                   #45-46<br>
&gt; +        ]<br>
&gt; +    legal_steps = list(STEP_CODE)<br>
&gt; +    legal_steps.remove(6.25)       #should not remove if euro version<br>
&gt; <br>
&gt; # don&#39;t register the FT-65 in the production version until it is tested<br>
&gt; # @directory.register<br>
&gt; @@ -1038,7 +1048,6 @@<br>
&gt;                                    # VHF, RX (136000000, 174000000)<br>
&gt;                                    # UHF, RX (400000000, 480000000)<br>
&gt;         ]<br>
&gt; -    valid_bands = [(108000000, 520000000), (700000000, 999990000)]<br>
&gt;     _valid_chars = chirp_common.CHARSET_ASCII<br>
&gt;     numblocks = 0x215      # number of 16-byte blocks in the radio<br>
&gt;     _memsize = 16 * numblocks   # used by CHIRP file loader to guess radio type<br>
&gt; @@ -1046,4 +1055,20 @@<br>
&gt;     Pkeys = 4     # number of programmable keys on the FT-65<br>
&gt;     namelen = 8   # length of the mem name display on the FT-65 front panel<br>
&gt;     id_str=b&#39;IH-420\x00\x00\x00V100\x00\x00&#39;<br>
&gt; +    # names for the setmode function for the programmable keys. Mode zero means<br>
&gt; +    # that the key is programmed for a memory not a setmode.<br>
&gt; +    SETMODES = [<br>
&gt; +        &quot;mem&quot;, &quot;apo&quot;, &quot;arts&quot;, &quot;battsave&quot;, &quot;b-ch.l/o&quot;,              # 00-04<br>
&gt; +        &quot;beep&quot;, &quot;bell&quot;, &quot;compander&quot;, &quot;ctcss&quot;, &quot;cw id&quot;,             # 05-09<br>
&gt; +        &quot;dc volt&quot;, &quot;dcs code&quot;, &quot;dtmf set&quot;, &quot;dtmf wrt&quot;, &quot;edg bep&quot;,  # 10-14<br>
&gt; +        &quot;key lock&quot;, &quot;lamp&quot;, &quot;ledbsy&quot;, &quot;mem del&quot;, &quot;mon/t-cl&quot;,       # 15-19<br>
&gt; +        &quot;name tag&quot;, &quot;pager&quot;, &quot;password&quot;, &quot;pri.rvt&quot;, &quot;repeater&quot;,    # 20-24<br>
&gt; +        &quot;resume&quot;, &quot;rf.sql&quot;, &quot;scn.lamp&quot;, &quot;skip&quot;, &quot;sql type&quot;,        # 25-29 <br>
&gt; +        &quot;step&quot;, &quot;tot&quot;, &quot;tx pwr&quot;, &quot;tx save&quot;, &quot;vfo.spl&quot;,             # 30-34<br>
&gt; +        &quot;vox&quot;, &quot;wfm.rcv&quot;, &quot;wide/nar&quot;, &quot;wx alert&quot;, &quot;scramble&quot;       # 35-39<br>
&gt; +        ]<br>
<br>
This list is the same as the one above, right? Can we define that in one place and use it in both?<br>
<br>
--Dan<br>
<br>
_______________________________________________<br>
chirp_devel mailing list<br>
<a href="mailto:chirp_devel@intrepid.danplanet.com" target="_blank">chirp_devel@intrepid.danplanet.com</a><br>
<a href="http://intrepid.danplanet.com/mailman/listinfo/chirp_devel" rel="noreferrer" target="_blank">http://intrepid.danplanet.com/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/projects/chirp/wiki/Developers</a><br>
</blockquote></div>