diff --git a/SoapySDDC/Settings.cpp b/SoapySDDC/Settings.cpp index 7fe8ae67..e34c52b1 100644 --- a/SoapySDDC/Settings.cpp +++ b/SoapySDDC/Settings.cpp @@ -132,12 +132,10 @@ void SoapySDDC::setAntenna(const int direction, const size_t, const std::string if (name == "HF") { RadioHandler.UpdatemodeRF(HFMODE); - RadioHandler.UpdBiasT_HF(true); } else if (name == "VHF") { RadioHandler.UpdatemodeRF(VHFMODE); - RadioHandler.UpdBiasT_VHF(true); } else { @@ -368,6 +366,45 @@ std::vector SoapySDDC::listSampleRates(const int, const size_t) const return results; } +SoapySDR::ArgInfoList SoapySDDC::getSettingInfo(void) const +{ + SoapySDR::ArgInfoList setArgs; + + SoapySDR::ArgInfo BiasTHFArg; + BiasTHFArg.key = "UpdBiasT_HF"; + BiasTHFArg.value = "false"; + BiasTHFArg.name = "HF Bias Tee enable"; + BiasTHFArg.description = "Enabe Bias Tee on HF antenna port"; + BiasTHFArg.type = SoapySDR::ArgInfo::BOOL; + setArgs.push_back(BiasTHFArg); + + SoapySDR::ArgInfo BiasTVHFArg; + BiasTVHFArg.key = "UpdBiasT_VHF"; + BiasTVHFArg.value = "false"; + BiasTVHFArg.name = "VHF Bias Tee enable"; + BiasTVHFArg.description = "Enabe Bias Tee on VHF antenna port"; + BiasTVHFArg.type = SoapySDR::ArgInfo::BOOL; + setArgs.push_back(BiasTVHFArg); + + return setArgs; +} + +void SoapySDDC::writeSetting(const std::string &key, const std::string &value) +{ + bool biasTee; + if (key == "UpdBiasT_HF") + { + biasTee = (value == "true") ? true: false; + RadioHandler.UpdBiasT_HF(biasTee); + } + else if (key == "UpdBiasT_VHF") + { + biasTee = (value == "true") ? true: false; + RadioHandler.UpdBiasT_VHF(biasTee); + } +} + + // void SoapySDDC::setMasterClockRate(const double rate) // { // DbgPrintf("SoapySDDC::setMasterClockRate %f\n", rate); @@ -410,4 +447,4 @@ std::vector SoapySDDC::listSampleRates(const int, const size_t) const // { // DbgPrintf("SoapySDDC::setHardwareTime\n"); // ticks = SoapySDR::timeNsToTicks(timeNs, sampleRate); -// } \ No newline at end of file +// } diff --git a/SoapySDDC/SoapySDDC.hpp b/SoapySDDC/SoapySDDC.hpp index a67fff6c..e813421d 100644 --- a/SoapySDDC/SoapySDDC.hpp +++ b/SoapySDDC/SoapySDDC.hpp @@ -107,6 +107,10 @@ class SoapySDDC : public SoapySDR::Device std::vector listSampleRates(const int direction, const size_t channel) const; + SoapySDR::ArgInfoList getSettingInfo(void) const; + + void writeSetting(const std::string &key, const std::string &value); + // void setMasterClockRate(const double rate); // double getMasterClockRate(void) const; @@ -152,4 +156,4 @@ class SoapySDDC : public SoapySDR::Device int samplerateidx; double masterClockRate; -}; \ No newline at end of file +};