I'm not sure if I should be posting this to the HW device side or this linux device driver side, but here seems a good place.
I have posted prior questions about the (qty 1) TX LO / (qty 2) RX LO set up and RX data retrieval time in a sweep fashion from 70MHz to 6GHz prior to this one.
I am using and modifying the AD9361-iiostream example at the higher level O-scope interface.
I have tried the suggestions of narrators but seem to be missing something.
1) 70MHz-6GHz sweep (say a total of 10000 points making the frequency step ~593kHz between frequency points)
2) Set up the TX LO at each frequency point, then reading the both RX channel data (2 channels enabled) in under 1mSec. This means the time it takes to issue the TX frequency set up command and subsequently read the data should be < 1mSec.
Currently, I have stripped my small program to just setting the one TX LO and omitting any RX configuration or data retrieval. The frequency span I am limiting to in the program is 1GHz-1.1GHz so incremental changes in frequency should not require another tx quad cal.
The calibration has changed from auto to manual.
I am also attempting to use the Fastlock profiles but they seem to have no impact on the overall set up/data measurement time.
The fastest I can step frequency point to frequency point is about 1.2mSec.
Attached is the program and source code. I was hoping someone might have a quick look and see what is not right or missing to speed up the frequency stepping. I have used rgetz as a resource in the past...
If nothing, can someone then let me know where the bottleneck might be? Would it be in the higher level command string parsing to the IIO driver or something else?
Again, any assistance would be greatly appreciated!