<div dir="ltr">Hey Declan,<div><br></div><div>Since the memory map is just a big string, you can format it before parsing. For example:</div><div><br></div><div>#############################</div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">MEM_FORMAT = &quot;&quot;&quot;</font></div><div><font face="monospace, monospace">#seekto 0x%(memstart_address)x</font></div><div><font face="monospace, monospace">struct { ...</font></div><div><font face="monospace, monospace">&quot;&quot;&quot;</font></div><div><font face="monospace, monospace">_myclass_mem_formatter = { &#39;memstart_address&#39;: 0xffff }</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">self._memobj = bitwise.parse( MEM_FORMAT % _myclass_mem_formatter, self._mmap )</font></div><div><br></div><div>#################################</div><div><br></div><div>Now each of your classes can define their own mem_formatter values, but keep the same MEM_FORMAT. This is used in the leixen.py driver for reference, and probably a few others by now.</div><div><br></div><div>--</div><div>Brian AF7MD</div><div><br></div></div><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 8, 2018 at 5:09 PM NNN Wx 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Sorry to bother all developers, but I’ve a question about mechanism (maybe it’s Python, probably it’s CHIRP):</div><div><br></div>I’ve another FT2D patch in mind: Chirp doesn’t correctly handle DTMF definitions for this radio.<div>I’ve tracked it down to the memory location defined in the FT1D driver (which FT2D inherits.) </div><div>Does the FT1D correctly display and modify the DTMF definitions (perhaps the address is incorrect in the FT1D as well)???</div><div><br></div><div>What is the correct way to change a memory definition in a child driver?</div><div><br></div><div>- I can change the parent driver’s seekto address to be a variable. But then I’ll need to change the parent and EVERY child driver to include its variable definition. My present candidate driver does it this way (mods to Yaesu ft1d, ft2d, and ftm3000). If I use my changes, the driver correctly  displays and allows changes to DTMF definitions.</div><div>- Is there a better way to override part of the parent’s memory map? I’d think it’d be a smaller change if I could simply modify the ft2d.py driver.</div><div><br></div><div>ft1d: _____________</div><div><span style="color:rgb(195,55,32);font-family:Menlo;font-size:11px;background-color:rgb(255,255,255)">#seekto 0x</span><span style="color:rgb(195,55,32);font-family:Menlo;font-size:11px;background-color:rgb(255,255,255)">0e4a  #&lt;- see the address change</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">struct {</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">  u8 memory[16];</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">} dtmf[10];</span></div><div><br></div><div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-family:Helvetica;font-size:12px">ft2d: _____________</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">#seekto 0x094a<span class="m_-8071176158011732675Apple-tab-span" style="white-space:pre-wrap">        </span>#&lt;-</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">struct {</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">  u8 memory[16];</span></div><div style="margin:0px;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(195,55,32);background-color:rgb(255,255,255)"><span style="font-variant-ligatures:no-common-ligatures">} dtmf[10];</span></div></div><div>_______________</div><div>
<div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">Declan Rieb WD5EQY<div><a href="mailto:wd5eqy@arrl.net" target="_blank">wd5eqy@arrl.net</a></div><div><br></div><div><br></div></div><br class="m_-8071176158011732675Apple-interchange-newline"><br class="m_-8071176158011732675Apple-interchange-newline">

</div>
<br></div>_______________________________________________<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></blockquote></div>