2 receiving eoe datagrams – BECKHOFF ET9300 User Manual
Page 50

48
Application Note ET9300
EOE_SendFrameReq()
SendFragment()
MBX_MailboxSendReq()
Pending frame?
Yes
Full Mbx buffer?
Yes
Frame complete?
No
Store datagram in
„pEoESendStored“
No
No
Clear
„bSendFramePending“ flag
This function is called to send an
ethernet frame.
(Slave -> Master)
If no ethernet frame is currently
pending
(
„bSendFramePending“ is FALSE).
Split the ethernet frame into EoE
datagrams
Generic send mailbox handling
(write mailbox data to Input Mbx
SyncManger (default: SM1))
If MBX_MailboxSendReq() returns
a value unequal 0 the mailbox
buffer is full
If the complete ethernet frame was
splitted into EoE datagrams and at
least enqued for sending
The function
„EOE_SendFrameReq()“
need to be called once
again by the application
If frame was not complete
sended the flag
„bSendFramePending“ is
still set and
„SendFragment()“ is
called by
„EOE_ContinueInd()“
Yes
Figure 5: Send EoE datagram
8.2.1.2
Receiving EoE datagrams
Received EoE datagrams are handled by the function “EOE_ServiceInd()” which is called from the
generic mailbox stack. The program flow is shown in Figure 6.