From a4beb0e0d50eb383978069cc53d624b88f53d57d Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 6 Jan 2023 09:18:02 +0000 Subject: [PATCH] Fix #1559. Update protocol before calling setAzimuthElevation --- .../gs232controller/gs232controllerworker.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/plugins/feature/gs232controller/gs232controllerworker.cpp b/plugins/feature/gs232controller/gs232controllerworker.cpp index a3b3d8b78..1b18b705b 100644 --- a/plugins/feature/gs232controller/gs232controllerworker.cpp +++ b/plugins/feature/gs232controller/gs232controllerworker.cpp @@ -139,6 +139,13 @@ void GS232ControllerWorker::applySettings(const GS232ControllerSettings& setting } } + // Must update m_settings before calling setAzimuthElevation, so m_settings.m_protocol is correct + if (force) { + m_settings = settings; + } else { + m_settings.applySettings(settingsKeys, settings); + } + if (m_device != nullptr) { // Apply offset then clamp @@ -159,12 +166,6 @@ void GS232ControllerWorker::applySettings(const GS232ControllerSettings& setting setAzimuth(azimuth); } } - - if (force) { - m_settings = settings; - } else { - m_settings.applySettings(settingsKeys, settings); - } } QIODevice *GS232ControllerWorker::openSerialPort(const GS232ControllerSettings& settings) @@ -271,7 +272,9 @@ void GS232ControllerWorker::setAzimuthElevation(float azimuth, float elevation) qDebug() << "GS232ControllerWorker::setAzimuthElevation: Not sent, waiting for status reply"; m_spidSetOutstanding = true; } - } else { + } + else + { QString cmd = QString("P %1 %2\n").arg(azimuth).arg(elevation); QByteArray data = cmd.toLatin1(); m_device->write(data);