tempstore get the max length configured in moonraker
This commit is contained in:
parent
f52b52f76a
commit
904dd24c10
@ -24,6 +24,7 @@ class Printer:
|
|||||||
self.tempstore = {}
|
self.tempstore = {}
|
||||||
self.busy_cb = None
|
self.busy_cb = None
|
||||||
self.busy = None
|
self.busy = None
|
||||||
|
self.temperature_store_size = None
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
self.config = None
|
self.config = None
|
||||||
@ -42,6 +43,7 @@ class Printer:
|
|||||||
self.tempstore = None
|
self.tempstore = None
|
||||||
self.busy_cb = None
|
self.busy_cb = None
|
||||||
self.busy = None
|
self.busy = None
|
||||||
|
self.temperature_store_size = None
|
||||||
|
|
||||||
def reinit(self, printer_info, data):
|
def reinit(self, printer_info, data):
|
||||||
self.config = data['configfile']['config']
|
self.config = data['configfile']['config']
|
||||||
@ -56,6 +58,7 @@ class Printer:
|
|||||||
self.busy = False
|
self.busy = False
|
||||||
if not self.store_timeout:
|
if not self.store_timeout:
|
||||||
self.store_timeout = GLib.timeout_add_seconds(1, self._update_temp_store)
|
self.store_timeout = GLib.timeout_add_seconds(1, self._update_temp_store)
|
||||||
|
self.tempstore_size = 1200
|
||||||
|
|
||||||
for x in self.config.keys():
|
for x in self.config.keys():
|
||||||
if x[:8] == "extruder":
|
if x[:8] == "extruder":
|
||||||
@ -320,6 +323,12 @@ class Printer:
|
|||||||
self.change_state(self.state)
|
self.change_state(self.state)
|
||||||
else:
|
else:
|
||||||
self.tempstore = tempstore['result']
|
self.tempstore = tempstore['result']
|
||||||
|
for device in self.tempstore:
|
||||||
|
for x in self.tempstore[device]:
|
||||||
|
length = len(self.tempstore[device][x])
|
||||||
|
if length < self.tempstore_size:
|
||||||
|
for i in range(1, self.tempstore_size - length):
|
||||||
|
self.tempstore[device][x].insert(0, 0)
|
||||||
logging.info(f"Temp store: {list(self.tempstore)}")
|
logging.info(f"Temp store: {list(self.tempstore)}")
|
||||||
|
|
||||||
def config_section_exists(self, section):
|
def config_section_exists(self, section):
|
||||||
@ -336,10 +345,9 @@ class Printer:
|
|||||||
return False
|
return False
|
||||||
for device in self.tempstore:
|
for device in self.tempstore:
|
||||||
for x in self.tempstore[device]:
|
for x in self.tempstore[device]:
|
||||||
if len(self.tempstore[device][x]) >= 1200:
|
self.tempstore[device][x].pop(0)
|
||||||
self.tempstore[device][x].pop(0)
|
|
||||||
temp = self.get_dev_stat(device, x[:-1])
|
temp = self.get_dev_stat(device, x[:-1])
|
||||||
if temp is None:
|
if temp is None:
|
||||||
temp = 0
|
temp = 0
|
||||||
self.tempstore[device][x].append(round(temp, 2))
|
self.tempstore[device][x].append(temp)
|
||||||
return True
|
return True
|
||||||
|
@ -886,6 +886,13 @@ class KlipperScreen(Gtk.Window):
|
|||||||
|
|
||||||
def init_tempstore(self):
|
def init_tempstore(self):
|
||||||
self.printer.init_temp_store(self.apiclient.send_request("server/temperature_store"))
|
self.printer.init_temp_store(self.apiclient.send_request("server/temperature_store"))
|
||||||
|
server_config = self.apiclient.send_request("server/config")
|
||||||
|
if server_config:
|
||||||
|
try:
|
||||||
|
self.printer.tempstore_size = server_config["result"]["config"]["data_store"]["temperature_store_size"]
|
||||||
|
logging.info(f"Temperature store size: {self.printer.tempstore_size}")
|
||||||
|
except KeyError:
|
||||||
|
logging.error("Couldn't get the temperature store size")
|
||||||
|
|
||||||
def base_panel_show_all(self):
|
def base_panel_show_all(self):
|
||||||
self.base_panel.show_macro_shortcut(self._config.get_main_config().getboolean('side_macro_shortcut', True))
|
self.base_panel.show_macro_shortcut(self._config.get_main_config().getboolean('side_macro_shortcut', True))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user