pothosware / SoapyUHD

Soapy SDR plugins for UHD supported SDR devices
https://github.com/pothosware/SoapyUHD/wiki
GNU General Public License v3.0
55 stars 29 forks source link

SoapyUHDDevice: implemented DC offset and IQ Balance APIs #25

Closed ncorgan closed 4 years ago

ncorgan commented 4 years ago

With how recent the IQBalanceMode changes are, I haven't included it here, but it's trivial to implement, depending on how you want to deal with compatibility.

ncorgan commented 4 years ago

With https://github.com/pothosware/SoapySDR/commit/349296050fc2d0d40e86b7834e9273599bfa387f commited, I'll implement those functions here tonight or tomorrow. I don't have access to the USRP I used to test previous pull requests, so I'll need you to test it.

How do you want to deal with SoapySDR compatibility? Should I surround them with the new compatibility #define? In theory, I should be able to unconditionally compile the functions, since it's an API addition and not a breakage. Older versions won't have a SoapySDR function to call into it, but since SoapyUHDDevice doesn't declare functions with override, the compiler wouldn't complain about an older version's SoapySDR device class not having the function.

guruofquality commented 4 years ago

The ifdefs are useful for UHDSoapyDevice.cpp when you have to call into a SoapySDR::Device inside of bound uhd functions.

You dont really need them in SoapyUHDDevice.cpp unless you have override. I say just do the simple thing and skip override and ifdef here.

ncorgan commented 4 years ago

As I said this morning, I don't have access to hardware to test this, so you'll have to verify.