Project opens websocket and reconnects if ping replies from the printer stop
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
//
|
||||
// PrinterStats.swift
|
||||
// KlipperMon
|
||||
//
|
||||
// Created by maddiefuzz on 2/9/23.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
class PrinterStats: ObservableObject {
|
||||
@Published var state: String
|
||||
@Published var progress: Double
|
||||
@Published var extruderTemperature: Double
|
||||
@Published var bedTemperature: Double
|
||||
|
||||
init(response: jsonRpcResponse) {
|
||||
state = response.result.status.print_stats?.state ?? ""
|
||||
progress = response.result.status.virtual_sdcard?.progress ?? 0.0
|
||||
extruderTemperature = response.result.status.extruder?.temperature ?? 0.0
|
||||
bedTemperature = response.result.status.heater_bed?.temperature ?? 0.0
|
||||
|
||||
print(response)
|
||||
}
|
||||
|
||||
func update(update: jsonRpcUpdate) {
|
||||
// print(update)
|
||||
if let newState = update.params.status?.print_stats?.state {
|
||||
//state = update.params[0].print_stats?.state
|
||||
state = newState
|
||||
}
|
||||
if let newProgress = update.params.status?.virtual_sdcard?.progress {
|
||||
print("Update progress")
|
||||
progress = newProgress
|
||||
}
|
||||
if let newExtruderTemp = update.params.status?.extruder?.temperature {
|
||||
print("Update extruder temp \(newExtruderTemp)")
|
||||
extruderTemperature = newExtruderTemp
|
||||
}
|
||||
if let newBedTemp = update.params.status?.heater_bed?.temperature {
|
||||
print("Update heated bed \(newBedTemp)")
|
||||
bedTemperature = newBedTemp
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user