We have an application that requires sweeping both the Rx and Tx LOs from about 80MHz to 6GHz in 20MHz steps. We're using the C# binding code, but it doesn't look like the bottleneck is there. When we make the interop call to iio_channel_attr_write(chn, "frequency", str) to set the LO frequencies, it takes 40-60ms for the function to return. In other forum posts, it looks like the time to step the LOs is about 200us in the worst case. So, why is it taking so long for the libiio function to set the LO frequency? Are there ways to optimize the setting of the LO? BTW, we know about Fastlock and, no, it will not work for us. I would expect setting the LO should be less than 1ms in the worse case.
Thanks,
Tom