Because no one answered the questions in my previous post, I opened another one. I used LWIP to send data successfully, but only 1446 data were sent at a time. I captured 16384 data at a time, so I needed to send 16K data in a cycle. What can I do to achieve it?
If I send only 1446 data at a time, the efficiency will be slow and it will take many cycles to send the captured data at a time.
A development branch of how to use lwip with ad9361 you can find here: https://github.com/analogdevicesinc/no-OS/tree/ad9361_remove_blocking_read, that is working with iio-oscilloscope: https://github.com/analogdevicesinc/iio-oscilloscope, as a client.
Have a look in: https://github.com/analogdevicesinc/no-OS/blob/ad9361_remove_blocking_read/projects/drivers/network/network.c
to checkout how we use lwip. We use tcp, probably if you configure lwip to use UDP instead you can hope for better results. We use tcp to be compatible to iio-oscilloscope. If you configure lwip to use UDP protocol, you will need a client application, since you can't use iio-oscilloscope.
Using tcp protocol, with 1446 bytes of util data, we managed to reach over 30Mbit/s .
I haven't touched iio-oscilloscope before. How should I learn? IIO oscilloscopes seem to be able to receive and display zedboard signals through LWIP.
There is a wiki page here: