From 29b89fb87dfa5b3c283c592979196307011c27de Mon Sep 17 00:00:00 2001 From: Arksine Date: Sun, 14 Feb 2021 17:46:05 -0500 Subject: [PATCH] data_store: make the temperature and gcode store sizes configurable Signed-off-by: Eric Callahan --- moonraker/plugins/data_store.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/moonraker/plugins/data_store.py b/moonraker/plugins/data_store.py index 09d1022..5f5be5a 100644 --- a/moonraker/plugins/data_store.py +++ b/moonraker/plugins/data_store.py @@ -9,17 +9,16 @@ from collections import deque from tornado.ioloop import IOLoop, PeriodicCallback TEMPERATURE_UPDATE_MS = 1000 -TEMPERATURE_STORE_SIZE = 20 * 60 - -MAX_GCODE_LINES = 1000 class DataStore: def __init__(self, config): self.server = config.get_server() + self.temp_store_size = config.getint('temperature_store_size', 1200) + self.gcode_store_size = config.getint('gcode_store_size', 1000) # Temperature Store Tracking self.last_temps = {} - self.gcode_queue = deque(maxlen=MAX_GCODE_LINES) + self.gcode_queue = deque(maxlen=self.gcode_store_size) self.temperature_store = {} self.temp_update_cb = PeriodicCallback( self._update_temperature_store, TEMPERATURE_UPDATE_MS) @@ -66,11 +65,11 @@ class DataStore: new_store[sensor] = self.temperature_store[sensor] else: new_store[sensor] = { - 'temperatures': deque(maxlen=TEMPERATURE_STORE_SIZE)} + 'temperatures': deque(maxlen=self.temp_store_size)} for item in ["target", "power", "speed"]: if item in fields: new_store[sensor][f"{item}s"] = deque( - maxlen=TEMPERATURE_STORE_SIZE) + maxlen=self.temp_store_size) if sensor not in self.last_temps: self.last_temps[sensor] = (0., 0., 0., 0.) self.temperature_store = new_store