I have a project running on the TM4C129X Eval kit that uses lwIP UDP to transfer large amounts of data. Everything essentially works, with one caveat. I have to add a time delay between the calls to udp_sendto( ). I need about 45 microseconds for a 1022 byte packet.
From what I can tell, udp_sendto( ) queues the data to be sent but does not wait for the transmission to complete before returning. This is substantiated by this statement from http://lwip.wikia.com/wiki/Maximizing_throughput : "ATTENTION: keep in mind that for DMA-enabled MACs, the packet may not have been sent when udp_send returns!".
Is there a way to determine when the packet has been sent instead of using a blind delay?
Thanks,
Jeff