[etherlab-dev] ECAT Mailbox Repeat Request
Gavin Lambert
gavinl at compacsort.com
Thu Jul 7 02:03:33 CEST 2016
On Thursday, 7 July 2016 02:15, quoth Christoph Schroeder:
> EtherCAT slaves support a repeat request for mailbox protocolls which is
> initiated by toggling bit 1 in the 'Activate SyncManager Register'
> (0x0806+y*8 where y = number of SyncManager). Is this actually supported by
> the master especially for VoE? I already looked up the master code and couldn't
> find any reg write to these registers.
Currently no, it has no facility to trigger that. Most of the mailbox handling is fairly crude at present and relies on being able to retry sending the original request to get the same (or equivalent more recent) answer.
The stable and default branches don't really have good support for mixing multiple mailbox types on a single slave either, though there are some patches floating around the dev list that improve on this. None of them add repeat support, however. But they might resolve the issue that prompted you to ask about it. :)
I suspect that supporting repeat requests would also require making the master properly support mailbox service counting, which is not currently the case either.
(In principle, repeat requests are only useful for the case when the mailbox fetch datagram from the master successfully reaches the slave but is then lost on the way back to the master -- at this point the slave thinks it has successfully delivered the mailbox content and will clear it, but the master does not receive it, and will typically then either retry the original request after a timeout or fail the request and let higher-level code decide whether to retry or not. So one alternate goal is to improve your network robustness so that datagrams don't get lost in the first place.)
More information about the Etherlab-dev
mailing list