1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-03 06:24:48 -04:00

FCDPro: Make settings assignments atomic. Part of #1329

This commit is contained in:
f4exb
2022-10-23 02:07:59 +02:00
parent 1f7f2085fd
commit c4e963a307
6 changed files with 296 additions and 110 deletions
@@ -154,3 +154,189 @@ bool FCDProSettings::deserialize(const QByteArray& data)
return false;
}
}
void FCDProSettings::applySettings(const QStringList& settingsKeys, const FCDProSettings& settings)
{
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
if (settingsKeys.contains("dcBlock")) {
m_dcBlock = settings.m_dcBlock;
}
if (settingsKeys.contains("iqCorrection")) {
m_iqCorrection = settings.m_iqCorrection;
}
if (settingsKeys.contains("LOppmTenths")) {
m_LOppmTenths = settings.m_LOppmTenths;
}
if (settingsKeys.contains("lnaGainIndex")) {
m_lnaGainIndex = settings.m_lnaGainIndex;
}
if (settingsKeys.contains("rfFilterIndex")) {
m_rfFilterIndex = settings.m_rfFilterIndex;
}
if (settingsKeys.contains("lnaEnhanceIndex")) {
m_lnaEnhanceIndex = settings.m_lnaEnhanceIndex;
}
if (settingsKeys.contains("bandIndex")) {
m_bandIndex = settings.m_bandIndex;
}
if (settingsKeys.contains("mixerGainIndex")) {
m_mixerGainIndex = settings.m_mixerGainIndex;
}
if (settingsKeys.contains("mixerFilterIndex")) {
m_mixerFilterIndex = settings.m_mixerFilterIndex;
}
if (settingsKeys.contains("biasCurrentIndex")) {
m_biasCurrentIndex = settings.m_biasCurrentIndex;
}
if (settingsKeys.contains("modeIndex")) {
m_modeIndex = settings.m_modeIndex;
}
if (settingsKeys.contains("gain1Index")) {
m_gain1Index = settings.m_gain1Index;
}
if (settingsKeys.contains("rcFilterIndex")) {
m_rcFilterIndex = settings.m_rcFilterIndex;
}
if (settingsKeys.contains("gain2Index")) {
m_gain2Index = settings.m_gain2Index;
}
if (settingsKeys.contains("gain3Index")) {
m_gain3Index = settings.m_gain3Index;
}
if (settingsKeys.contains("gain4Index")) {
m_gain4Index = settings.m_gain4Index;
}
if (settingsKeys.contains("ifFilterIndex")) {
m_ifFilterIndex = settings.m_ifFilterIndex;
}
if (settingsKeys.contains("gain5Index")) {
m_gain5Index = settings.m_gain5Index;
}
if (settingsKeys.contains("gain6Index")) {
m_gain6Index = settings.m_gain6Index;
}
if (settingsKeys.contains("log2Decim")) {
m_log2Decim = settings.m_log2Decim;
}
if (settingsKeys.contains("fcPos")) {
m_fcPos = settings.m_fcPos;
}
if (settingsKeys.contains("transverterMode")) {
m_transverterMode = settings.m_transverterMode;
}
if (settingsKeys.contains("transverterDeltaFrequency")) {
m_transverterDeltaFrequency = settings.m_transverterDeltaFrequency;
}
if (settingsKeys.contains("iqOrder")) {
m_iqOrder = settings.m_iqOrder;
}
if (settingsKeys.contains("useReverseAPI")) {
m_useReverseAPI = settings.m_useReverseAPI;
}
if (settingsKeys.contains("reverseAPIAddress")) {
m_reverseAPIAddress = settings.m_reverseAPIAddress;
}
if (settingsKeys.contains("reverseAPIPort")) {
m_reverseAPIPort = settings.m_reverseAPIPort;
}
if (settingsKeys.contains("reverseAPIDeviceIndex")) {
m_reverseAPIDeviceIndex = settings.m_reverseAPIDeviceIndex;
}
}
QString FCDProSettings::getDebugString(const QStringList& settingsKeys, bool force) const
{
std::ostringstream ostr;
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}
if (settingsKeys.contains("dcBlock") || force) {
ostr << " m_dcBlock: " << m_dcBlock;
}
if (settingsKeys.contains("iqCorrection") || force) {
ostr << " m_iqCorrection: " << m_iqCorrection;
}
if (settingsKeys.contains("LOppmTenths") || force) {
ostr << " m_LOppmTenths: " << m_LOppmTenths;
}
if (settingsKeys.contains("lnaGainIndex") || force) {
ostr << " m_lnaGainIndex: " << m_lnaGainIndex;
}
if (settingsKeys.contains("rfFilterIndex") || force) {
ostr << " m_rfFilterIndex: " << m_rfFilterIndex;
}
if (settingsKeys.contains("lnaEnhanceIndex") || force) {
ostr << " m_lnaEnhanceIndex: " << m_lnaEnhanceIndex;
}
if (settingsKeys.contains("bandIndex") || force) {
ostr << " m_bandIndex: " << m_bandIndex;
}
if (settingsKeys.contains("mixerGainIndex") || force) {
ostr << " m_mixerGainIndex: " << m_mixerGainIndex;
}
if (settingsKeys.contains("mixerFilterIndex") || force) {
ostr << " m_mixerFilterIndex: " << m_mixerFilterIndex;
}
if (settingsKeys.contains("biasCurrentIndex") || force) {
ostr << " m_biasCurrentIndex: " << m_biasCurrentIndex;
}
if (settingsKeys.contains("modeIndex") || force) {
ostr << " m_modeIndex: " << m_modeIndex;
}
if (settingsKeys.contains("gain1Index") || force) {
ostr << " m_gain1Index: " << m_gain1Index;
}
if (settingsKeys.contains("rcFilterIndex") || force) {
ostr << " m_rcFilterIndex: " << m_rcFilterIndex;
}
if (settingsKeys.contains("gain2Index") || force) {
ostr << " m_gain2Index: " << m_gain2Index;
}
if (settingsKeys.contains("gain3Index") || force) {
ostr << " m_gain3Index: " << m_gain3Index;
}
if (settingsKeys.contains("gain4Index") || force) {
ostr << " m_gain4Index: " << m_gain4Index;
}
if (settingsKeys.contains("ifFilterIndex") || force) {
ostr << " m_ifFilterIndex: " << m_ifFilterIndex;
}
if (settingsKeys.contains("gain5Index") || force) {
ostr << " m_gain5Index: " << m_gain5Index;
}
if (settingsKeys.contains("gain6Index") || force) {
ostr << " m_gain6Index: " << m_gain6Index;
}
if (settingsKeys.contains("log2Decim") || force) {
ostr << " m_log2Decim: " << m_log2Decim;
}
if (settingsKeys.contains("fcPos") || force) {
ostr << " m_fcPos: " << m_fcPos;
}
if (settingsKeys.contains("transverterMode") || force) {
ostr << " m_transverterMode: " << m_transverterMode;
}
if (settingsKeys.contains("transverterDeltaFrequency") || force) {
ostr << " m_transverterDeltaFrequency: " << m_transverterDeltaFrequency;
}
if (settingsKeys.contains("iqOrder") || force) {
ostr << " m_iqOrder: " << m_iqOrder;
}
if (settingsKeys.contains("useReverseAPI") || force) {
ostr << " m_useReverseAPI: " << m_useReverseAPI;
}
if (settingsKeys.contains("reverseAPIAddress") || force) {
ostr << " m_reverseAPIAddress: " << m_reverseAPIAddress.toStdString();
}
if (settingsKeys.contains("reverseAPIPort") || force) {
ostr << " m_reverseAPIPort: " << m_reverseAPIPort;
}
if (settingsKeys.contains("reverseAPIDeviceIndex") || force) {
ostr << " m_reverseAPIDeviceIndex: " << m_reverseAPIDeviceIndex;
}
return QString(ostr.str().c_str());
}