We are trying to write our own phase calibration code by using available iio-oscillloscope code (fmcomms2_adv.c methods). Actually we do not need GUI (gtkwidget or oscplot) features in our embedded program. We want to break those kind of dependencies as far as possible.
However while doing that, we could not understand some calibration functions purposes or what is exactly happenning inside. Could you please give some detail explanation/purpose about following functions:
- "get_markers()" method purpose explanation need. Does Oscplot markers used to compute phase differences between TX and RX channels.
- Inside the "tune_trx_phase_offset (...) function "get_markers()" called twice. Does it necessary to call twice this function?
- plugin_data_capture_of_plot(....) method purpose explanation need. Does calibration received data captured from device and plotted on GUI in this methods. How "cooked data" used for xcorr computation? What are purpose of "markers_cp" or "markers_copy" and how they are used?
- AFAIK, we should cross correlate RX and reference TX data to find phase differences between RX channels in the order of as TX1B_B (HPC) -> RX1C_B / TX1B_B -> RX1C_A / TX1B_A -> RX1C_A . In which part of the code, this cross correlation performed?