Closed guruofquality closed 9 years ago
I know it's far from your mind, but keep in mind power consumption when powering down a SISO chain. We'd like to transfer data at half rate rather than just send zeros along one path. Only worry about that if it's not hard to worry about.
Nearly everything can be powered down, but I'm not positive about the DIQ transfers working at half rate and only using with one channel of data. Maybe its related to that magic SISO_ID register that I had to write to get things working. I think that in itself is at least another issue in the tracker.
Here is the call, it seems to be working. I am using the muxing to test individual channels while the stream framer/deframer is really only one channel wide.
/*!
* Set the DIQ mux to control CHA and CHB I and Q ordering.
* \param self an instance of the LMS7002M driver
* \param direction the direction LMS_TX or LMS_RX
* \param positions sample position 0-3 (see LMS7002M_LML_*)
*/
LMS7002M_API void LMS7002M_set_diq_mux(LMS7002M_t *self, const LMS7002M_dir_t direction, const int positions[4]);
We can control the muxing of the AI, AQ, BI, BQ samples in each transfer. Useful for changing formats without additional BBIC logic. The API will probably take a string containing the desired order: "AIAQBIBQ"