Prevent SoapySDR and/or LMS7 drivers from printing anything on stdout/stderr


sorry if this is obivious, but is there some simple way to prevent SoapySDR library and/or LMS7 drivers from printing anything on stdout/stderr? It gets a little bit messy when combined with other informations being displayed in my custom c++ application. I mean these commands which show up when creating new device (LimeSDR support via SoapySDR) or for example changing the master clock rate, like this one:

CGEN: Freq=100 MHz, VCO=2.4 GHz, INT=77, FRAC=131072, DIV_OUTCH_CGEN=11

Thank you in advance for your help!

or maybe there is a way to register some handler in order to catch such messages? That would be even better!

Have you set the SOAPY_SDR_LOG_LEVEL environment variable ?

Thank you for hint, unfortunately it does not help with the previously mentioned messages. I think that they are coming from LMS7 driver.

@IgnasJ any ideas?

There is no way to disable all messages from LimeSuite library. However, the message that you mentioned should not show up in ‘Release’ configuration of LimeSuite. You can try building LimeSuite from source (Release configurations should be default), it may reduce number of messages.

I see. Thank you for a quick response. Going to try that later, so far I can live with those lines :wink:

In the master branch, there are some fairly recent hardcoded print statements added by Lime engineers (GetTemperature comes to mind, added 7 months ago by rjonaitis). You do have to remove them from source and rebuild. Prints from calibration are the only ones I have left in for the moment.
Contact me directly and I can tell you what classes and line numbers I removed. There may be more as I’m not calling every function available.