kopia lustrzana https://github.com/botheredbybees/kilnController
basic runtime handling
rodzic
3eb85e890e
commit
8da3cc90c2
14
oven.py
14
oven.py
|
@ -13,6 +13,7 @@ class Oven (threading.Thread):
|
||||||
self.daemon = True
|
self.daemon = True
|
||||||
self.profile = None
|
self.profile = None
|
||||||
self.start_time = 0
|
self.start_time = 0
|
||||||
|
self.runtime = 0
|
||||||
self.power = 0.0
|
self.power = 0.0
|
||||||
self.state = Oven.STATE_IDLE
|
self.state = Oven.STATE_IDLE
|
||||||
self.temp_sensor = TempSensor(self)
|
self.temp_sensor = TempSensor(self)
|
||||||
|
@ -30,11 +31,15 @@ class Oven (threading.Thread):
|
||||||
def run(self):
|
def run(self):
|
||||||
while True:
|
while True:
|
||||||
if self.state == Oven.STATE_RUNNING:
|
if self.state == Oven.STATE_RUNNING:
|
||||||
log.info("running at %f deg C, power %f"%(self.temp_sensor.temperature,self.power))
|
self.runtime = (datetime.datetime.now() - self.start_time).total_seconds()
|
||||||
|
log.info("running at %.1f deg C, power %.2f (%.1fs/%.0f)"%(self.temp_sensor.temperature,self.power,self.runtime,300.0))
|
||||||
if self.temp_sensor.temperature < 250:
|
if self.temp_sensor.temperature < 250:
|
||||||
self.power = 1.0
|
self.power = 1.0
|
||||||
else:
|
else:
|
||||||
self.power = 0.0
|
self.power = 0.0
|
||||||
|
if self.runtime > 300:
|
||||||
|
self.power = 0.0
|
||||||
|
self.state = Oven.STATE_IDLE
|
||||||
elif self.state == Oven.STATE_ABORT:
|
elif self.state == Oven.STATE_ABORT:
|
||||||
self.power = 0.0
|
self.power = 0.0
|
||||||
self.state = Oven.STATE_IDLE
|
self.state = Oven.STATE_IDLE
|
||||||
|
@ -42,12 +47,9 @@ class Oven (threading.Thread):
|
||||||
|
|
||||||
|
|
||||||
def get_state(self):
|
def get_state(self):
|
||||||
if self.state == Oven.STATE_RUNNING:
|
|
||||||
runtime = (datetime.datetime.now() - self.start_time).total_seconds()
|
|
||||||
else:
|
|
||||||
runtime = 0
|
|
||||||
state = {
|
state = {
|
||||||
'runtime': runtime,
|
'runtime': self.runtime,
|
||||||
'temperature': self.temp_sensor.temperature,
|
'temperature': self.temp_sensor.temperature,
|
||||||
'state': self.state,
|
'state': self.state,
|
||||||
'power': self.power,
|
'power': self.power,
|
||||||
|
|
|
@ -73,7 +73,6 @@ def handle_control():
|
||||||
try:
|
try:
|
||||||
message = wsock.receive()
|
message = wsock.receive()
|
||||||
wsock.send("Your message was: %r" % message)
|
wsock.send("Your message was: %r" % message)
|
||||||
print message
|
|
||||||
if message == "start":
|
if message == "start":
|
||||||
log.info("Start command received")
|
log.info("Start command received")
|
||||||
oven.run_profile("abc")
|
oven.run_profile("abc")
|
||||||
|
|
Ładowanie…
Reference in New Issue