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
import time
from time import sleep
from time import sleep, time
class Tessie:
@ -96,9 +95,9 @@ class Tessie:
@staticmethod
def _wait_for_var(var):
timeout = 5
start_time = time.time()
start_time = time()
while True:
if time.time() - start_time > timeout:
if time() - start_time > timeout:
# timeout reached, exit the loop
break
for msg in Tessie.found:
@ -188,13 +187,19 @@ class ConfTEC:
self._tessie = tessie
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):
return self._tessie.cmd("SaveVariables", self.name, True)
def getPID(self):
return [[float(x) for x in self._tessie.get("PID_kp", self.name).split(",")],
[float(x) for x in self._tessie.get("PID_ki", self.name).split(",")],
[float(x) for x in self._tessie.get("PID_kd", self.name).split(",")]]
return [self._single(self._tessie.get("PID_kp", self.name)),
self._single(self._tessie.get("PID_ki", self.name)),
self._single(self._tessie.get("PID_kd", self.name))]
def setPID(self, kp: float, ki: float, kd: float):
self._tessie.set("PID_kp", str(kp), self.name)
@ -202,8 +207,8 @@ class ConfTEC:
self._tessie.set("PID_kd", str(kd), self.name)
def getPIDMinMax(self):
return [[float(x) for x in self._tessie.get("PID_Min", self.name).split(",")],
[float(x) for x in self._tessie.get("PID_Max", self.name).split(",")]]
return [self._single(self._tessie.get("PID_Min", self.name)),
self._single(self._tessie.get("PID_Max", self.name))]
def setPIDMinMax(self, pidmin, pidmax):
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)
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):
self._tessie.set("Mode", str(mode), self.name)
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):
self._tessie.cmd("clearError", self.name)
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:
@ -233,6 +238,13 @@ class TEC:
self._tessie = tessie
self.conf = ConfTEC(tessie, 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):
self._tessie.cmd("Power_On", self.name)
@ -241,16 +253,16 @@ class TEC:
self._tessie.cmd("Power_Off", self.name)
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):
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):
return [[float(x) for x in self._tessie.get("Supply_U", self.name).split(",")],
[float(x) for x in self._tessie.get("Supply_I", self.name).split(",")],
[float(x) for x in self._tessie.get("Peltier_U", self.name).split(",")],
[float(x) for x in self._tessie.get("Peltier_I", self.name).split(",")]]
return [self._single(self._tessie.get("Supply_U", self.name)),
self._single(self._tessie.get("Supply_I", self.name)),
self._single(self._tessie.get("Peltier_U", self.name)),
self._single(self._tessie.get("Peltier_I", self.name))]
def setTemp(self, temp: float):
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)
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):
return self._tessie.cmd("Reboot", self.name, True)
@ -287,6 +299,8 @@ class Coldbox:
self.tec8 = TEC(self._tessie, 8)
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):
self._tessie.help()