change few little things

This commit is contained in:
pique_n 2022-12-22 16:39:18 +01:00
parent f92e61c467
commit 1979761793
2 changed files with 35 additions and 19 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.pyc

View File

@ -1,6 +1,5 @@
from paho.mqtt import client as mqtt_client from paho.mqtt import client as mqtt_client
import time from time import sleep, time
from time import sleep
class Tessie: class Tessie:
@ -96,9 +95,9 @@ class Tessie:
@staticmethod @staticmethod
def _wait_for_var(var): def _wait_for_var(var):
timeout = 5 timeout = 5
start_time = time.time() start_time = time()
while True: while True:
if time.time() - start_time > timeout: if time() - start_time > timeout:
# timeout reached, exit the loop # timeout reached, exit the loop
break break
for msg in Tessie.found: for msg in Tessie.found:
@ -188,13 +187,19 @@ class ConfTEC:
self._tessie = tessie self._tessie = tessie
self.name = " tec " + str(i) self.name = " tec " + str(i)
def _single(self, data):
if self.single:
return data
else:
return [float(x) for x in data.split(",")]
def saveToFlash(self): def saveToFlash(self):
return self._tessie.cmd("SaveVariables", self.name, True) return self._tessie.cmd("SaveVariables", self.name, True)
def getPID(self): def getPID(self):
return [[float(x) for x in self._tessie.get("PID_kp", self.name).split(",")], return [self._single(self._tessie.get("PID_kp", self.name)),
[float(x) for x in self._tessie.get("PID_ki", self.name).split(",")], self._single(self._tessie.get("PID_ki", self.name)),
[float(x) for x in self._tessie.get("PID_kd", self.name).split(",")]] self._single(self._tessie.get("PID_kd", self.name))]
def setPID(self, kp: float, ki: float, kd: float): def setPID(self, kp: float, ki: float, kd: float):
self._tessie.set("PID_kp", str(kp), self.name) self._tessie.set("PID_kp", str(kp), self.name)
@ -202,8 +207,8 @@ class ConfTEC:
self._tessie.set("PID_kd", str(kd), self.name) self._tessie.set("PID_kd", str(kd), self.name)
def getPIDMinMax(self): def getPIDMinMax(self):
return [[float(x) for x in self._tessie.get("PID_Min", self.name).split(",")], return [self._single(self._tessie.get("PID_Min", self.name)),
[float(x) for x in self._tessie.get("PID_Max", self.name).split(",")]] self._single(self._tessie.get("PID_Max", self.name))]
def setPIDMinMax(self, pidmin, pidmax): def setPIDMinMax(self, pidmin, pidmax):
self._tessie.set("PID_Min", str(round(pidmin, 1)), self.name) self._tessie.set("PID_Min", str(round(pidmin, 1)), self.name)
@ -213,19 +218,19 @@ class ConfTEC:
self._tessie.set("Ref_U", str(round(ref, 3)), self.name) self._tessie.set("Ref_U", str(round(ref, 3)), self.name)
def getRef(self): def getRef(self):
return [float(x) for x in self._tessie.get("Ref_U", self.name).split(",")] return self._single(self._tessie.get("Ref_U", self.name))
def setMode(self, mode: int): def setMode(self, mode: int):
self._tessie.set("Mode", str(mode), self.name) self._tessie.set("Mode", str(mode), self.name)
def getMode(self): def getMode(self):
return [int(x) for x in self._tessie.get("Mode", self.name).split(",")] return self._single(self._tessie.get("Mode", self.name))
def clearError(self): def clearError(self):
self._tessie.cmd("clearError", self.name) self._tessie.cmd("clearError", self.name)
def getError(self): def getError(self):
return [hex(x) for x in self._tessie.get("Error", self.name).split(",")] return self._single(self._tessie.get("Error", self.name))
class TEC: class TEC:
@ -233,6 +238,13 @@ class TEC:
self._tessie = tessie self._tessie = tessie
self.conf = ConfTEC(tessie, i) self.conf = ConfTEC(tessie, i)
self.name = " tec " + str(i) self.name = " tec " + str(i)
self.single = True if i != 0 else False
def _single(self, data):
if self.single:
return data
else:
return [float(x) for x in data.split(",")]
def pon(self): def pon(self):
self._tessie.cmd("Power_On", self.name) self._tessie.cmd("Power_On", self.name)
@ -241,16 +253,16 @@ class TEC:
self._tessie.cmd("Power_Off", self.name) self._tessie.cmd("Power_Off", self.name)
def getState(self): def getState(self):
return [bool(x) for x in self._tessie.get("PowerState", self.name).split(",")] return self._single(self._tessie.get("PowerState", self.name))
def getTemp(self): def getTemp(self):
return [float(x) for x in self._tessie.get("Temp_M", self.name).split(",")] return self._single(self._tessie.get("Temp_M", self.name))
def getUI(self): def getUI(self):
return [[float(x) for x in self._tessie.get("Supply_U", self.name).split(",")], return [self._single(self._tessie.get("Supply_U", self.name)),
[float(x) for x in self._tessie.get("Supply_I", self.name).split(",")], self._single(self._tessie.get("Supply_I", self.name)),
[float(x) for x in self._tessie.get("Peltier_U", self.name).split(",")], self._single(self._tessie.get("Peltier_U", self.name)),
[float(x) for x in self._tessie.get("Peltier_I", self.name).split(",")]] self._single(self._tessie.get("Peltier_I", self.name))]
def setTemp(self, temp: float): def setTemp(self, temp: float):
self._tessie.set("Temp_Set", str(round(temp)), self.name) self._tessie.set("Temp_Set", str(round(temp)), self.name)
@ -259,7 +271,7 @@ class TEC:
self._tessie.set("ControlVoltage_Set", str(round(u, 2)), self.name) self._tessie.set("ControlVoltage_Set", str(round(u, 2)), self.name)
def getVoltage(self): def getVoltage(self):
return [float(x) for x in self._tessie.get("ControlVoltage_Set", self.name).split(",")] return self._single(self._tessie.get("ControlVoltage_Set", self.name))
def reset(self): def reset(self):
return self._tessie.cmd("Reboot", self.name, True) return self._tessie.cmd("Reboot", self.name, True)
@ -287,6 +299,8 @@ class Coldbox:
self.tec8 = TEC(self._tessie, 8) self.tec8 = TEC(self._tessie, 8)
self.env = Env(self._tessie) self.env = Env(self._tessie)
self.tecs = [self.tec1, self.tec2, self.tec3, self.tec4, self.tec5, self.tec6, self.tec7, self.tec8]
def help(self): def help(self):
self._tessie.help() self._tessie.help()