- added stirrer and hendi

- refactored
This commit is contained in:
jens
2020-12-16 16:52:32 +01:00
parent b216498c5b
commit 0cb958938f
11 changed files with 80 additions and 18 deletions
+11
View File
@@ -0,0 +1,11 @@
class StirrerFactory:
@staticmethod
def create(name, dt):
if "sim" in name:
from components.actor.stirrer_sim import Stirrer_sim
return Stirrer_sim(dt)
elif "1376" in name:
from components.actor.stirrer_pololu1376 import Stirrer_pololu1376
return Stirrer_pololu1376(dt, '/dev/ttyUSB0', 115200)
+1
View File
@@ -0,0 +1 @@
from components.actor.heaterFactory import HeaterFactory
+11
View File
@@ -0,0 +1,11 @@
class HeaterFactory:
@staticmethod
def create(name):
if "sim" in name:
from components.actor.heater_sim import HeaterSim
return HeaterSim()
elif "Hendi" in name:
from components.actor.heater_hendi import HeaterHendi
return HeaterHendi('/dev/ttyUSB0', 115200)
+41
View File
@@ -0,0 +1,41 @@
from components.aheater import AHeater
from hendiCtrl import HendiCtrl
class HeaterHendi(AHeater):
def __init__(self, port, baudrate):
AHeater.__init__(self)
self.power_set = self.get_power_min()
self.is_active = False
self.power_eff = 0
self.hendi = HendiCtrl(port, baudrate)
def get_power_min(self):
caps = self.hendi.getCapabilties()
return caps['pwr_watts_min']
def get_power_max(self):
caps = self.hendi.getCapabilties()
return caps['pwr_watts_max']
def activate(self, enable):
self.is_active = enable
if enable:
self.hendi.setSwitch(1)
else:
self.hendi.setSwitch(0)
def is_activated(self):
s = self.hendi.getSwitch()
return '1' in s
def process(self):
power_eff = self.power_set if self.is_active else 0
self.hendi.setPowerWatts(power_eff)
def setPower(self, power):
self.power_set = max(self.get_power_min(), min(self.get_power_max(), power))
def getPower(self):
result = self.hendi.getPowerWatts()
return result
@@ -1,7 +1,7 @@
from components.aheater import AHeater
class Heater(AHeater):
class HeaterSim(AHeater):
def __init__(self):
AHeater.__init__(self)
self.power_set = self.get_power_min()
@@ -28,5 +28,3 @@ class Heater(AHeater):
def getPower(self):
return self.power_eff
View File