For data transfer i use a communiction over UDP. Inside these frames a handshake protocol are used. After start frames with 60 bytes length (payload 14 Byte) transmitted. If the real data transfer started my pc sends packages with 1060 byte length(payload 1031 Byte). Many of these packages are lost. If the target don't receive a package after 400ms, it called the tester to transmit again.
In a previous question i have asked for detailed RTCS Memory configuration. My configuration:
_RTCSPCB_init = 10;
_RTCSPCB_grow = 2;
_RTCSPCB_max = 80;
_RTCS_msgpool_init = 4;
_RTCS_msgpool_grow = 2;
_RTCS_msgpool_max = 80;
_RTCS_socket_part_init = 4;
_RTCS_socket_part_grow = 2;
_RTCS_socket_part_max = 8;
_UDP_max_queue_size = 10;
_RTCSTASK_priority = 6;
The reception of frames called in a separted task: (Priority 10)
u16Len = recvfrom(eth_u32SocketHandle, ð_u8Buffer[0], eth_RX_BUFF_SIZE, 0, ð_SockAddrClient....)
if ( (u16Len != RTCS_ERROR)
&& (u16Len > 0)
)
{
// read message successful
if (u16Len > 32)
{
mqxutils_tracing_trace_timestamp("ETH rx data %d Bytes\n",u16Len);
}
}
With wireshark i can see, that the pc send the packages really fast.