Files
HendiControlFirmware/Control/brewpi/stirrer.py
T
jens 786da2bb05 - improved logging
git-svn-id: http://moon:8086/svn/projects/HendiControl@117 fda53097-d464-4ada-af97-ba876c37ca34
2019-03-21 19:11:59 +00:00

53 lines
1.1 KiB
Python

from astirrer import AStirrer
class Stirrer(AStirrer):
def __init__(self, params):
self.params = params
self.rpm = 0
self.cycleTime = 1
self.dutyCycle = 1
self.cycleCounter = 0
self.isOn = 0
self.isMasterOn = 0
def process(self):
dt = self.params["dt"]
self.cycleCounter -= dt
if self.cycleCounter <= 0:
self.cycleCounter = self.cycleTime
if self.cycleCounter <= (self.cycleTime * self.dutyCycle):
if not self.isOn:
self.log ("Stirrer: On")
self.isOn = 1
else:
if self.isOn:
self.log ("Stirrer: Off")
self.isOn = 0
def setRpm(self, rpm):
self.log ("Stirrer: Set RPM to {} rpm".format(rpm))
self.rpm = rpm
def setCycleTime(self, time):
self.log ("Stirrer: Set cycle time to {} s".format(time))
self.cycleTime = time
def setDutyCycle(self, dutyCycle):
self.log ("Stirrer: Set duty cycle to {} %".format(100*dutyCycle))
self.dutyCycle = dutyCycle
def getRpm(self):
if self.isOn and self.isMasterOn:
return self.rpm
return 0
def start(self):
self.isMasterOn = 1
self.log("Stirrer: switched On")
def stop(self):
self.isMasterOn = 0
self.log("Stirrer: switched Off")