From f02c3de3b7635a026b20e9f470f2f3ffade961fe Mon Sep 17 00:00:00 2001 From: Chrome Legion Date: Wed, 30 May 2018 07:41:24 -0700 Subject: [PATCH] Qrome - added reset to printer Data on failed connection --- printermonitor/OctoPrintClient.cpp | 25 +++++++++++++++++++++++-- printermonitor/OctoPrintClient.h | 1 + 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/printermonitor/OctoPrintClient.cpp b/printermonitor/OctoPrintClient.cpp index 49577cf..205ff2c 100644 --- a/printermonitor/OctoPrintClient.cpp +++ b/printermonitor/OctoPrintClient.cpp @@ -64,16 +64,16 @@ WiFiClient OctoPrintClient::getSubmitRequest(String apiGetData) { if (printClient.println() == 0) { Serial.println("Connection to " + String(myServer) + ":" + String(myPort) + " failed."); Serial.println(); + resetPrintData(); printerData.error = "Connection to " + String(myServer) + ":" + String(myPort) + " failed."; - printerData.state = ""; return printClient; } } else { Serial.println("Connection to OctoPrint failed: " + String(myServer) + ":" + String(myPort)); //error message if no client connect Serial.println(); + resetPrintData(); printerData.error = "Connection to OctoPrint failed: " + String(myServer) + ":" + String(myPort); - printerData.state = ""; return printClient; } @@ -177,6 +177,27 @@ void OctoPrintClient::getPrinterJobResults() { printClient.stop(); //stop client } +// Reset all PrinterData +void OctoPrintClient::resetPrintData() { + printerData.averagePrintTime = ""; + printerData.estimatedPrintTime = ""; + printerData.fileName = ""; + printerData.fileSize = ""; + printerData.lastPrintTime = ""; + printerData.progressCompletion = ""; + printerData.progressFilepos = ""; + printerData.progressPrintTime = ""; + printerData.progressPrintTimeLeft = ""; + printerData.state = ""; + printerData.toolTemp = ""; + printerData.toolTargetTemp = ""; + printerData.filamentLength = ""; + printerData.bedTemp = ""; + printerData.bedTargetTemp = ""; + printerData.isPrinting = false; + printerData.error = ""; +} + String OctoPrintClient::getAveragePrintTime(){ return printerData.averagePrintTime; } diff --git a/printermonitor/OctoPrintClient.h b/printermonitor/OctoPrintClient.h index 8c694e5..b147715 100644 --- a/printermonitor/OctoPrintClient.h +++ b/printermonitor/OctoPrintClient.h @@ -32,6 +32,7 @@ private: int myPort = 80; String myApiKey = ""; + void resetPrintData(); boolean validate(); WiFiClient getSubmitRequest(String apiGetData);