class Control(object): "Control class for doser and logger" def __init__(self): self.g = GlobalVars() self.ik = None def initializeComponents(self): logFileName = datetime.datetime.fromtimestamp(int(Utility.currentTimeSeconds())).strftime('%Y%m%d:%H:%M:%S') + ".csv" self.logger = PhLogger(os.path.join(os.path.dirname(__file__), logFileName)) self.loggerThread = LoggerThread(self.logger, threading.Event(), self.g) self.setupInterfaceKit() def setupInterfaceKit(self): try: interfaceKit = InterfaceKit() except RuntimeError as e: print("Runtime Exception: %s" % e.details) print("Exiting....") exit(1) self.ik = InterfaceKitPhidget(interfaceKit, False, self) self.ik.startupPhidget() self.ik.openPhidget() self.ik.waitForAttach() def updateGlobalVars(self, currentPh, currentTemp): self.g.currentPh = currentPh self.g.currentTemp = currentTemp self.g.currentTimeMillis = Utility.currentTimeMillis self.updateLoggerVars(self.g) def updateLoggerVars(self, updateVars): self.loggerThread.updateVars(self.g) def startLogging(self): self.loggerThread.name = "Logger" self.loggerThread.start() return self.loggerThread # def updateLoggerThread(self): def stopLogging(self): self.loggerThread.stop() def startLoggingLoop(self): self.ik.start() thread = self.startLogging() while(g.shutdown is not True): time.sleep(1)
def setupInterfaceKit(self): try: interfaceKit = InterfaceKit() except RuntimeError as e: print("Runtime Exception: %s" % e.details) print("Exiting....") exit(1) self.ik = InterfaceKitPhidget(interfaceKit, False, self) self.ik.startupPhidget() self.ik.openPhidget() self.ik.waitForAttach()