<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Dear Gavin,</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think a more robust solution would be to always scan for and fetch data<br>

out of the slave->master mailbox, and then queue these to the appropriate<br>
protocol-specific FSM to handle as they arrive, according to the type<br>
specified in the data itself (so that while FoE was waiting for a response<br>
it could successfully process a CoE or EoE response, for example).<br>
<br></blockquote><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Does that make sense, or have I missed something?<br>
<br></blockquote><div><br></div><div>I think it does. Incidentally, the Ethercat standard specifies to use the Sync Manager (SM) write flag (SM offset 0x5 bit 0) for precisely that (or try to read the buffer and observe the WKC).</div>
<div><br></div><div>But I also think that any protocol available in slaves (...oE) does not post into the mailbox on its own initiative. Therefore, if the master does not initiate any EoE, it should not fear encountering EoE traffic. Keeps things simple, especially at the slave side.</div>
<div><br></div><div>To make matters more complicated, I have long lived in the belief that a mailbox (sync manager) pair was needed per type of mailbox. The standard is inconveniently unclear about that kind of details. But I found not a single example of a multi-mailbox configuration.<br>
</div><div><br></div><div><br></div><div>J.</div><div><br></div></div></div></div>