Changeset View
Changeset View
Standalone View
Standalone View
src/widgets/atcoreinstancewidget.cpp
Show First 20 Lines • Show All 247 Lines • ▼ Show 20 Line(s) | |||||
248 | 248 | | |||
249 | void AtCoreInstanceWidget::initConnectsToAtCore() | 249 | void AtCoreInstanceWidget::initConnectsToAtCore() | ||
250 | { | 250 | { | ||
251 | //connect log to atcoreMessages | 251 | //connect log to atcoreMessages | ||
252 | connect(&m_core, &AtCore::atcoreMessage, m_logWidget, &LogWidget::appendLog); | 252 | connect(&m_core, &AtCore::atcoreMessage, m_logWidget, &LogWidget::appendLog); | ||
253 | m_core.setSerialTimerInterval(100); | 253 | m_core.setSerialTimerInterval(100); | ||
254 | // Handle device changes | 254 | // Handle device changes | ||
255 | connect(&m_core, &AtCore::portsChanged, this, &AtCoreInstanceWidget::updateSerialPort); | 255 | connect(&m_core, &AtCore::portsChanged, this, &AtCoreInstanceWidget::updateSerialPort); | ||
256 | | ||||
257 | connect(&m_core, &AtCore::autoTemperatureReportChanged, this, [this](const bool autoReport) { | ||||
258 | if (m_profileData["autoReportTemp"].toBool() != autoReport) { | ||||
259 | m_profileData["autoReportTemp"] = autoReport; | ||||
260 | saveProfile(); | ||||
261 | } | ||||
262 | }); | ||||
256 | // Handle AtCore status change | 263 | // Handle AtCore status change | ||
257 | connect(&m_core, &AtCore::stateChanged, this, &AtCoreInstanceWidget::handlePrinterStatusChanged); | 264 | connect(&m_core, &AtCore::stateChanged, this, &AtCoreInstanceWidget::handlePrinterStatusChanged); | ||
258 | // If the number of extruders from the printer change, we need to update the radiobuttons on the widget | 265 | // If the number of extruders from the printer change, we need to update the radiobuttons on the widget | ||
259 | connect(this, &AtCoreInstanceWidget::extruderCountChanged, m_bedExtWidget, &BedExtruderWidget::setExtruderCount); | 266 | connect(this, &AtCoreInstanceWidget::extruderCountChanged, m_bedExtWidget, &BedExtruderWidget::setExtruderCount); | ||
260 | // Bed and Extruder temperatures management | 267 | // Bed and Extruder temperatures management | ||
261 | connect(m_bedExtWidget, &BedExtruderWidget::bedTemperatureChanged, &m_core, &AtCore::setBedTemp); | 268 | connect(m_bedExtWidget, &BedExtruderWidget::bedTemperatureChanged, &m_core, &AtCore::setBedTemp); | ||
262 | connect(m_bedExtWidget, &BedExtruderWidget::extTemperatureChanged, &m_core, &AtCore::setExtruderTemp); | 269 | connect(m_bedExtWidget, &BedExtruderWidget::extTemperatureChanged, &m_core, &AtCore::setExtruderTemp); | ||
263 | //command Widget | 270 | //command Widget | ||
▲ Show 20 Lines • Show All 121 Lines • ▼ Show 20 Line(s) | 386 | case AtCore::CONNECTING: { | |||
385 | m_toolBar->setHidden(false); | 392 | m_toolBar->setHidden(false); | ||
386 | stateString = i18n("Connecting..."); | 393 | stateString = i18n("Connecting..."); | ||
387 | m_logWidget->appendLog(i18n("Attempting to Connect")); | 394 | m_logWidget->appendLog(i18n("Attempting to Connect")); | ||
388 | connect(&m_core, &AtCore::receivedMessage, m_logWidget, &LogWidget::appendRLog); | 395 | connect(&m_core, &AtCore::receivedMessage, m_logWidget, &LogWidget::appendRLog); | ||
389 | connect(&m_core, &AtCore::pushedCommand, m_logWidget, &LogWidget::appendSLog); | 396 | connect(&m_core, &AtCore::pushedCommand, m_logWidget, &LogWidget::appendSLog); | ||
390 | } break; | 397 | } break; | ||
391 | case AtCore::IDLE: { | 398 | case AtCore::IDLE: { | ||
392 | if (m_connectionTimer->isActive()) { | 399 | if (m_connectionTimer->isActive()) { | ||
400 | m_core.setAutoTemperatureReport(m_profileData["autoReportTemp"].toBool()); | ||||
393 | m_connectionTimer->stop(); | 401 | m_connectionTimer->stop(); | ||
394 | } | 402 | } | ||
395 | stateString = i18n("Connected to %1", m_core.connectedPort()); | 403 | stateString = i18n("Connected to %1", m_core.connectedPort()); | ||
396 | emit extruderCountChanged(m_core.extruderCount()); | 404 | emit extruderCountChanged(m_core.extruderCount()); | ||
397 | m_logWidget->appendLog(stateString); | 405 | m_logWidget->appendLog(stateString); | ||
398 | emit disableDisconnect(false); | 406 | emit disableDisconnect(false); | ||
399 | enableControls(true); | 407 | enableControls(true); | ||
400 | connectExtruderTemperatureData(true); | 408 | connectExtruderTemperatureData(true); | ||
▲ Show 20 Lines • Show All 182 Lines • ▼ Show 20 Line(s) | 585 | QMap<QString, QVariant> data{ | |||
583 | , {"heatedBed", m_settings.value(QStringLiteral("heatedBed"), true)} | 591 | , {"heatedBed", m_settings.value(QStringLiteral("heatedBed"), true)} | ||
584 | , {"name", profile} | 592 | , {"name", profile} | ||
585 | , {"isCartesian", m_settings.value(QStringLiteral("isCartesian"), true)} | 593 | , {"isCartesian", m_settings.value(QStringLiteral("isCartesian"), true)} | ||
586 | , {"dimensionX", m_settings.value(QStringLiteral("dimensionX"), QStringLiteral("200"))} | 594 | , {"dimensionX", m_settings.value(QStringLiteral("dimensionX"), QStringLiteral("200"))} | ||
587 | , {"dimensionY", m_settings.value(QStringLiteral("dimensionY"), QStringLiteral("200"))} | 595 | , {"dimensionY", m_settings.value(QStringLiteral("dimensionY"), QStringLiteral("200"))} | ||
588 | , {"dimensionZ", m_settings.value(QStringLiteral("dimensionZ"), QStringLiteral("180"))} | 596 | , {"dimensionZ", m_settings.value(QStringLiteral("dimensionZ"), QStringLiteral("180"))} | ||
589 | , {"radius", m_settings.value(QStringLiteral("radius"), QStringLiteral("200"))} | 597 | , {"radius", m_settings.value(QStringLiteral("radius"), QStringLiteral("200"))} | ||
590 | , {"z_delta_dimension", m_settings.value(QStringLiteral("z_delta_dimension"), QStringLiteral("180"))} | 598 | , {"z_delta_dimension", m_settings.value(QStringLiteral("z_delta_dimension"), QStringLiteral("180"))} | ||
599 | , {"autoReportTemp", m_settings.value(QStringLiteral("autoReportTemp"), false)} | ||||
591 | }; | 600 | }; | ||
592 | m_settings.endGroup(); | 601 | m_settings.endGroup(); | ||
593 | m_settings.endGroup(); | 602 | m_settings.endGroup(); | ||
594 | return data; | 603 | return data; | ||
595 | } | 604 | } | ||
596 | 605 | | |||
597 | void AtCoreInstanceWidget::saveProfile() | 606 | void AtCoreInstanceWidget::saveProfile() | ||
598 | { | 607 | { | ||
599 | QString profile = m_comboProfile->currentText(); | 608 | QString profile = m_comboProfile->currentText(); | ||
600 | m_settings.beginGroup("Profiles"); | 609 | m_settings.beginGroup("Profiles"); | ||
601 | m_settings.beginGroup(m_profileData["name"].toString()); | 610 | m_settings.beginGroup(m_profileData["name"].toString()); | ||
602 | m_settings.setValue(QStringLiteral("firmware"), m_profileData["firmware"]); | 611 | m_settings.setValue(QStringLiteral("firmware"), m_profileData["firmware"]); | ||
612 | m_settings.setValue(QStringLiteral("autoReportTemp"), m_profileData["autoReportTemp"]); | ||||
603 | m_settings.endGroup(); | 613 | m_settings.endGroup(); | ||
604 | m_settings.endGroup(); | 614 | m_settings.endGroup(); | ||
605 | } | 615 | } | ||
606 | 616 | | |||
607 | void AtCoreInstanceWidget::connectBedTemperatureData(bool connected) | 617 | void AtCoreInstanceWidget::connectBedTemperatureData(bool connected) | ||
608 | { | 618 | { | ||
609 | if (connected) { | 619 | if (connected) { | ||
610 | if (m_plotWidget->plots().contains((i18n("Actual Bed")))) { | 620 | if (m_plotWidget->plots().contains((i18n("Actual Bed")))) { | ||
▲ Show 20 Lines • Show All 61 Lines • Show Last 20 Lines |