<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div lang="EN-NZ" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I’m not sure how the former would help you, since you’re still constrained by the wire delays of the large data block.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u></span></p></div></div></blockquote><div><br></div><div>I could, in the slower thread, upload the SDO in smaller parts (e.g. 64 bytes each) and use linear addressing for that.<br>
</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="EN-NZ" link="blue" vlink="purple">
<div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">And the second just sounds like “I want non-standard CoE”... so why not just use CoE?  It uses zero extra FPGA resources (assuming you already have a general-purpose CPU) and not all that much software – probably little more than you’d need to write something custom.  (Though if you want something even more slimmed down, you can use VoE – but then it might be more of a hassle to use from the master side.)</span></p>
</div></div></blockquote><div><br></div><div>The issue is: I don't have a CPU. And the mailbox protocol (whatever oE) is fairly complicated to implement in hardware. It is best to use a softcore CPU in that case, bur I'm lacking the memory resources for that.</div>
<div><br></div><div>I did find two solutions:</div><div><br></div><div>1) In the application</div><div><br></div><div>Before activation of the master:</div><div>   domain1_reg = ecrt_slave_config_create_reg_request(sc, 64);<br>
</div><div><br></div><div>Then, in the cyclic task:</div><div>   if (ecrt_reg_request_state(domain1_reg) != EC_REQUEST_BUSY) {</div><div>      memcpy(ecrt_reg_request_data(domain1_reg), Some_uint32_t_Array, 64); /* Write a full array ... */</div>
<div>      EC_WRITE_U32(ecrt_reg_request_data(domain1_reg), Some_uint32_t_Data); /* ... or do individual writes */</div><div>      ecrt_reg_request_write(domain1_reg, 0x2000, 64); /* Schedule the write */</div><div>   }</div>
<div><br></div><div>which is very similar to an SDO request.</div><div><br></div><div><br></div><div>2) From the command line</div><div><br></div><div>   ethercat reg_write 0x2000 File_with_Array</div><div><br></div><div>
<br></div><div>Of course, the SM has to be set as well. In our case, the PDI does this and we don't even mention the SM nor the PDO to the master.</div><div><br></div><div>Currently I'm testing this config.</div><div>
<br></div><div><br></div><div>J.</div></div></div></div>