diff --git a/src/core/temperature.h b/src/core/temperature.h --- a/src/core/temperature.h +++ b/src/core/temperature.h @@ -35,10 +35,12 @@ class ATCORE_EXPORT Temperature : public QObject { Q_OBJECT - Q_PROPERTY(float bedTemperature READ bedTemperature WRITE setBedTemperature NOTIFY bedTemperatureChanged) - Q_PROPERTY(float bedTargetTemperature READ bedTargetTemperature WRITE setBedTargetTemperature NOTIFY bedTargetTemperatureChanged) - Q_PROPERTY(float extruderTemperature READ extruderTemperature WRITE setExtruderTemperature NOTIFY extruderTemperatureChanged) - Q_PROPERTY(float extruderTargetTemperature READ extruderTargetTemperature WRITE setExtruderTargetTemperature NOTIFY extruderTargetTemperatureChanged) + Q_PROPERTY(float bedTemperature READ bedTemperature NOTIFY bedTemperatureChanged) + Q_PROPERTY(float bedTargetTemperature READ bedTargetTemperature NOTIFY bedTargetTemperatureChanged) + Q_PROPERTY(float extruderTemperature READ extruderTemperature NOTIFY extruderTemperatureChanged) + Q_PROPERTY(float extruderTargetTemperature READ extruderTargetTemperature NOTIFY extruderTargetTemperatureChanged) + + friend class TemperatureTests; public: /** @@ -57,46 +59,21 @@ */ float bedTargetTemperature() const; - /** - * @brief Get extruder temperature - */ - float extruderTemperature() const; - - /** - * @brief Get extruder target temperature - */ - float extruderTargetTemperature() const; - /** * @brief decode Temp values from string \p msg * @param msg: string to read vaules from */ void decodeTemp(const QByteArray &msg); -public slots: /** - * @brief Set bed temperature - * @param temp: bed temperature - */ - void setBedTemperature(float temp); - - /** - * @brief Set bed target temperature - * @param temp: bed target temperature + * @brief Get extruder temperature */ - void setBedTargetTemperature(float temp); + float extruderTemperature() const; /** - * @brief Set exturder temperature - * @param temp: bed temperature + * @brief Get extruder target temperature */ - void setExtruderTemperature(float temp); - - /** - * @brief Set extruder target temperature - * @param temp: extruder target temperature - */ - void setExtruderTargetTemperature(float temp); + float extruderTargetTemperature() const; signals: /** @@ -123,6 +100,11 @@ */ void extruderTargetTemperatureChanged(float temp); +protected: + /** + * @brief Reset internal temperature data, For Tests-Only + */ + void resetData(); private: struct TemperaturePrivate; TemperaturePrivate *d; diff --git a/src/core/temperature.cpp b/src/core/temperature.cpp --- a/src/core/temperature.cpp +++ b/src/core/temperature.cpp @@ -82,54 +82,42 @@ return d->extruderTemp; } -void Temperature::setBedTargetTemperature(float temp) -{ - d->bedTargetTemp = temp; - emit bedTargetTemperatureChanged(temp); -} - -void Temperature::setBedTemperature(float temp) -{ - d->bedTemp = temp; - emit bedTemperatureChanged(temp); -} - -void Temperature::setExtruderTargetTemperature(float temp) -{ - d->extruderTargetTemp = temp; - emit extruderTargetTemperatureChanged(temp); -} - -void Temperature::setExtruderTemperature(float temp) -{ - d->extruderTemp = temp; - emit extruderTemperatureChanged(temp); -} - void Temperature::decodeTemp(const QByteArray &msg) { QString msgString = QString::fromLatin1(msg); QRegularExpressionMatch tempCheck = d->tempRegEx.match(msgString); QRegularExpressionMatch targetTempCheck = d->targetTempRegEx.match(msgString); if (tempCheck.hasMatch()) { - setExtruderTemperature(tempCheck.captured(QStringLiteral("extruder")).toFloat()); + d->extruderTemp = tempCheck.captured(QStringLiteral("extruder")).toFloat(); + emit extruderTemperatureChanged(d->extruderTemp); } if (targetTempCheck.hasMatch()) { - setExtruderTargetTemperature(targetTempCheck.captured(QStringLiteral("extruderTarget")).toFloat()); + d->extruderTargetTemp = targetTempCheck.captured(QStringLiteral("extruderTarget")).toFloat(); + emit extruderTemperatureChanged(d->extruderTargetTemp); } if (msg.indexOf(QStringLiteral("B:")) != -1) { QRegularExpressionMatch bedCheck = d->bedRegEx.match(msgString); QRegularExpressionMatch targetBedCheck = d->targetBedRegEx.match(msgString); if (bedCheck.hasMatch()) { - setBedTemperature(bedCheck.captured(QStringLiteral("bed")).toFloat()); + d->bedTemp = bedCheck.captured(QStringLiteral("bed")).toFloat(); + emit bedTemperatureChanged(d->bedTemp); } if (targetBedCheck.hasMatch()) { - setBedTargetTemperature(targetBedCheck.captured(QStringLiteral("bedTarget")).toFloat()); + d->bedTargetTemp = targetBedCheck.captured(QStringLiteral("bedTarget")).toFloat(); + emit bedTargetTemperatureChanged(d->bedTargetTemp); } } } + +void Temperature::resetData() +{ + d->extruderTemp = 0.0; + d->extruderTargetTemp = 0.0; + d->bedTemp = 0.0; + d->bedTargetTemp = 0.0; +} diff --git a/unittests/temperaturetests.h b/unittests/temperaturetests.h --- a/unittests/temperaturetests.h +++ b/unittests/temperaturetests.h @@ -26,10 +26,6 @@ private slots: void initTestCase(); void cleanup(); - void setExtruderTemperature(); - void setExtruderTargetTemperature(); - void setBedTemperature(); - void setBedTargetTemperature(); void testDecodeAprinter(); void testDecodeMarlin(); void testDecodeMarlinCreality(); diff --git a/unittests/temperaturetests.cpp b/unittests/temperaturetests.cpp --- a/unittests/temperaturetests.cpp +++ b/unittests/temperaturetests.cpp @@ -29,46 +29,7 @@ void TemperatureTests::cleanup() { - temperature->setBedTemperature(0); - temperature->setBedTargetTemperature(0); - temperature->setExtruderTemperature(0); - temperature->setExtruderTargetTemperature(0); -} - -void TemperatureTests::setExtruderTemperature() -{ - temperature->setExtruderTemperature(20); - QVERIFY(temperature->extruderTemperature() == 20); - - temperature->setExtruderTemperature(20.25); - QVERIFY(temperature->extruderTemperature() == 20.25); -} - -void TemperatureTests::setExtruderTargetTemperature() -{ - temperature->setExtruderTargetTemperature(20); - QVERIFY(temperature->extruderTargetTemperature() == 20); - - temperature->setExtruderTargetTemperature(20.25); - QVERIFY(temperature->extruderTargetTemperature() == 20.25); -} - -void TemperatureTests::setBedTemperature() -{ - temperature->setBedTemperature(20); - QVERIFY(temperature->bedTemperature() == 20); - - temperature->setBedTemperature(20.25); - QVERIFY(temperature->bedTemperature() == 20.25); -} - -void TemperatureTests::setBedTargetTemperature() -{ - temperature->setBedTargetTemperature(20); - QVERIFY(temperature->bedTargetTemperature() == 20); - - temperature->setBedTargetTemperature(20.25); - QVERIFY(temperature->bedTargetTemperature() == 20.25); + temperature->resetData(); } void TemperatureTests::testDecodeAprinter()