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

Rotator Controller feature: Make settings assignments atomic. Part of #1329

This commit is contained in:
f4exb
2022-11-24 16:40:36 +01:00
parent c4b33d87be
commit 005cee925d
8 changed files with 254 additions and 130 deletions
@@ -38,20 +38,23 @@ public:
public:
const GS232ControllerSettings& getSettings() const { return m_settings; }
const QList<QString>& getSettingsKeys() const { return m_settingsKeys; }
bool getForce() const { return m_force; }
static MsgConfigureGS232ControllerWorker* create(const GS232ControllerSettings& settings, bool force)
static MsgConfigureGS232ControllerWorker* create(const GS232ControllerSettings& settings, const QList<QString>& settingsKeys, bool force)
{
return new MsgConfigureGS232ControllerWorker(settings, force);
return new MsgConfigureGS232ControllerWorker(settings, settingsKeys, force);
}
private:
GS232ControllerSettings m_settings;
QList<QString> m_settingsKeys;
bool m_force;
MsgConfigureGS232ControllerWorker(const GS232ControllerSettings& settings, bool force) :
MsgConfigureGS232ControllerWorker(const GS232ControllerSettings& settings, const QList<QString>& settingsKeys, bool force) :
Message(),
m_settings(settings),
m_settingsKeys(settingsKeys),
m_force(force)
{ }
};
@@ -86,7 +89,7 @@ private:
QString m_rotCtlDAz;
bool handleMessage(const Message& cmd);
void applySettings(const GS232ControllerSettings& settings, bool force = false);
void applySettings(const GS232ControllerSettings& settings, const QList<QString>& settingsKeys, bool force = false);
QIODevice *openSerialPort(const GS232ControllerSettings& settings);
QIODevice *openSocket(const GS232ControllerSettings& settings);
void setAzimuth(float azimuth);