-
Notifications
You must be signed in to change notification settings - Fork 23
Description
This function is made for get the overall gain, but this is not what I get here.
The overall gain for the SDRPlay is:
RFGR in db (calculated and based with the Gain Reduction Tables from the SDRPlay API Specification) + IFGR = overall gain.
What you have here implemented instead is SoapySDRDevice_getGainElement(), but that's not the overall gain.
In other words, this function doesn't do what it's supposed to. But we need the "real" current Gain value in db through the whole chain.
https://github.com/pothosware/SoapySDR/blob/master/include/SoapySDR/Device.h
/*!
* Get the overall value of the gain elements in a chain.
* \param device a pointer to a device instance
* \param direction the channel direction RX or TX
* \param channel an available channel on the device
* \return the value of the gain in dB
*/
SOAPY_SDR_API double SoapySDRDevice_getGain(const SoapySDRDevice *device, const int direction, const size_t channel);
If I use the function from the SOAPY_SDR_API, I get only as return value the RFGR step in the case of SDRPlay device, but never a "overall" value in db (means RFGR in db(!) + IFGR). But that's what I expect.
The question for me is, where is the issue ??? Here in the Soapy-SDRPlay-Modul or in the central Soapy-API or better in the SDRPlay modul implemenation inside of the Soapy-API ??!?
Note: I use the C-Wrapper, because my app is a pure C app which use the Soapy-API.
Heiko