MCPcopy Create free account
hub / github.com/AstroPrint/AstroBox / StateMonitor

Class StateMonitor

src/astroprint/printer/__init__.py:900–1015  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

898 pass
899
900class StateMonitor(object):
901 def __init__(self, ratelimit, updateCallback, addTemperatureCallback, addLogCallback, addMessageCallback):
902 self._ratelimit = ratelimit
903 self._updateCallback = updateCallback
904 self._addTemperatureCallback = addTemperatureCallback
905 self._addLogCallback = addLogCallback
906 self._addMessageCallback = addMessageCallback
907
908 self._state = None
909 self._jobData = None
910 self._gcodeData = None
911 self._sdUploadData = None
912 self._currentZ = None # This should probably be deprecated
913 self._progress = None
914 self._stop = False
915 self._currentTool = 0
916 self._printingSpeed = 100
917 self._printingFlow = 100
918 self._offsets = {}
919
920 self._changeEvent = threading.Event()
921
922 self._lastUpdate = time.time()
923 self._worker = threading.Thread(target=self._work)
924 self._worker.daemon = True
925 self._worker.start()
926
927 def reset(self, state=None, jobData=None, progress=None, currentZ=None):
928 self.setState(state)
929 self.setJobData(jobData)
930 self.setProgress(progress)
931 self.setCurrentZ(currentZ)
932
933 def stop(self):
934 self._stop = True
935 self._changeEvent.set()
936
937 def addTemperature(self, temperature):
938 self._addTemperatureCallback(temperature)
939 self._changeEvent.set()
940
941 def addLog(self, log):
942 self._addLogCallback(log)
943 self._changeEvent.set()
944
945 def addMessage(self, message):
946 self._addMessageCallback(message)
947 self._changeEvent.set()
948
949 #This should probably be deprecated
950 def setCurrentZ(self, currentZ):
951 self._currentZ = currentZ
952 self._changeEvent.set()
953
954 def setState(self, state):
955 self._state = state
956 self._changeEvent.set()
957

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected