Index: src/core/atcore.h =================================================================== --- src/core/atcore.h +++ src/core/atcore.h @@ -68,11 +68,12 @@ Q_PROPERTY(QStringList serialPorts READ serialPorts NOTIFY portsChanged) Q_PROPERTY(float percentagePrinted READ percentagePrinted NOTIFY printProgressChanged) Q_PROPERTY(QStringList portSpeeds READ portSpeeds CONSTANT) - Q_PROPERTY(QString connectedPort READ connectedPort) + Q_PROPERTY(QString connectedPort READ connectedPort CONSTANT) Q_PROPERTY(AtCore::STATES state READ state WRITE setState NOTIFY stateChanged) Q_PROPERTY(bool sdMount READ isSdMounted WRITE setSdMounted NOTIFY sdMountChanged) Q_PROPERTY(QStringList sdFileList READ sdFileList NOTIFY sdCardFileListChanged) Q_PROPERTY(bool autoTemperatureReport READ autoTemperatureReport WRITE setAutoTemperatureReport NOTIFY autoTemperatureReportChanged) + Q_PROPERTY(Temperature* temperature READ temperature CONSTANT) friend class AtCoreTests; //Add friends as Sd Card support is extended to more plugins. @@ -206,7 +207,7 @@ /** * @brief The temperature of the current hotend as told by the Firmware. */ - std::shared_ptr temperature(); + Temperature* temperature(); /** * @brief Return the amount of miliseconds the serialTimer is set to. 0 = Disabled Index: src/core/atcore.cpp =================================================================== --- src/core/atcore.cpp +++ src/core/atcore.cpp @@ -159,9 +159,9 @@ exit(0); } -std::shared_ptr AtCore::temperature() +Temperature* AtCore::temperature() { - return d->temperature; + return d->temperature.get(); } void AtCore::findFirmware(const QByteArray &message) @@ -418,7 +418,7 @@ //Check if have temperature info and decode it if (d->lastMessage.contains("T:") || d->lastMessage.contains("B:")) { - temperature().get()->decodeTemp(d->lastMessage); + temperature()->decodeTemp(d->lastMessage); } emit receivedMessage(d->lastMessage); } Index: testclient/mainwindow.cpp =================================================================== --- testclient/mainwindow.cpp +++ testclient/mainwindow.cpp @@ -189,29 +189,29 @@ plotWidget = new PlotWidget; //make and connect our plots in the widget. plotWidget->addPlot(tr("Actual Bed")); - connect(core->temperature().get(), &Temperature::bedTemperatureChanged, this, [this] { - float temp = core->temperature().get()->bedTemperature(); + connect(core->temperature(), &Temperature::bedTemperatureChanged, this, [this] { + float temp = core->temperature()->bedTemperature(); checkTemperature(0x00, 0, temp); plotWidget->appendPoint(tr("Actual Bed"), temp); }); plotWidget->addPlot(tr("Target Bed")); - connect(core->temperature().get(), &Temperature::bedTargetTemperatureChanged, this, [this] { - float temp = core->temperature().get()->bedTargetTemperature(); + connect(core->temperature(), &Temperature::bedTargetTemperatureChanged, this, [this] { + float temp = core->temperature()->bedTargetTemperature(); checkTemperature(0x01, 0, temp); plotWidget->appendPoint(tr("Target Bed"), temp); }); plotWidget->addPlot(tr("Actual Ext.1")); - connect(core->temperature().get(), &Temperature::extruderTemperatureChanged, this, [this] { - float temp = core->temperature().get()->extruderTemperature(); + connect(core->temperature(), &Temperature::extruderTemperatureChanged, this, [this] { + float temp = core->temperature()->extruderTemperature(); checkTemperature(0x02, 0, temp); plotWidget->appendPoint(tr("Actual Ext.1"), temp); }); plotWidget->addPlot(tr("Target Ext.1")); - connect(core->temperature().get(), &Temperature::extruderTargetTemperatureChanged, this, [this] { - float temp = core->temperature().get()->extruderTargetTemperature(); + connect(core->temperature(), &Temperature::extruderTargetTemperatureChanged, this, [this] { + float temp = core->temperature()->extruderTargetTemperature(); checkTemperature(0x03, 0, temp); plotWidget->appendPoint(tr("Target Ext.1"), temp); });