Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Z-Bolt/OctoScreen.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'utils/UpdateTemperaturesBackgroundTask.go')
-rwxr-xr-xutils/UpdateTemperaturesBackgroundTask.go38
1 files changed, 27 insertions, 11 deletions
diff --git a/utils/UpdateTemperaturesBackgroundTask.go b/utils/UpdateTemperaturesBackgroundTask.go
index e5ad09c..35ea979 100755
--- a/utils/UpdateTemperaturesBackgroundTask.go
+++ b/utils/UpdateTemperaturesBackgroundTask.go
@@ -3,19 +3,25 @@ package utils
import (
"time"
- "github.com/mcuadros/go-octoprint"
"github.com/Z-Bolt/OctoScreen/interfaces"
+ "github.com/Z-Bolt/OctoScreen/logger"
+ "github.com/Z-Bolt/OctoScreen/octoprintApis"
+ // "github.com/Z-Bolt/OctoScreen/octoprintApis/dataModels"
)
-// TODO: convert this into a singleton class
+
+// TODO: convert this into a singleton
var UpdateTemperaturesBackgroundTask *BackgroundTask = nil
var temperatureDataDisplays []interfaces.ITemperatureDataDisplay
-var registeredClient *octoprint.Client = nil
+var registeredClient *octoprintApis.Client = nil
-func CreateUpdateTemperaturesBackgroundTask(temperatureDataDisplay interfaces.ITemperatureDataDisplay, client *octoprint.Client) {
+func CreateUpdateTemperaturesBackgroundTask(
+ temperatureDataDisplay interfaces.ITemperatureDataDisplay,
+ client *octoprintApis.Client,
+) {
if UpdateTemperaturesBackgroundTask != nil {
- Logger.Error("UpdateTemperaturesBackgroundTask.CreateUpdateTemperaturesBackgroundTask() - updateTemperaturesBackgroundTask has already been set")
+ logger.Error("UpdateTemperaturesBackgroundTask.CreateUpdateTemperaturesBackgroundTask() - updateTemperaturesBackgroundTask has already been set")
return
}
@@ -24,19 +30,29 @@ func CreateUpdateTemperaturesBackgroundTask(temperatureDataDisplay interfaces.IT
UpdateTemperaturesBackgroundTask.Start()
}
-func RegisterTemperatureStatusBox(temperatureDataDisplay interfaces.ITemperatureDataDisplay, client *octoprint.Client) {
+func RegisterTemperatureStatusBox(temperatureDataDisplay interfaces.ITemperatureDataDisplay, client *octoprintApis.Client) {
temperatureDataDisplays = append(temperatureDataDisplays, temperatureDataDisplay)
registeredClient = client
}
func updateTemperaturesCallback() {
+ logger.TraceEnter("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()")
+
+ // TODO: add guard if printer isn't connected
+ // can't do right now due to circular dependency:
+ // TemperatureStatusBox creates the background task...
+ // background task needs UI.UIState or UIState.connectionAttempts
+ // UI has panel
+ // panel has TemperatureStatusBox
+
currentTemperatureData, err := GetCurrentTemperatureData(registeredClient)
if err != nil {
- LogError("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()", "GetCurrentTemperatureData(client)", err)
- return
+ logger.LogError("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()", "GetCurrentTemperatureData(client)", err)
+ } else {
+ for _, temperatureDataDisplay := range temperatureDataDisplays {
+ temperatureDataDisplay.UpdateTemperatureData(currentTemperatureData)
+ }
}
- for _, temperatureDataDisplay := range temperatureDataDisplays {
- temperatureDataDisplay.UpdateTemperatureData(currentTemperatureData)
- }
+ logger.TraceLeave("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()")
}