- refactored

This commit is contained in:
jens
2021-10-09 10:52:35 +02:00
parent b83ec71346
commit f6394e9e7a
2 changed files with 18 additions and 12 deletions
+13 -9
View File
@@ -100,21 +100,22 @@ class TempController(APid):
# Process state
state_next = self.state
if self.state == States.IDLE:
self.pid_rate.reset()
if diff > THRESH_IDLE_HEAT:
if diff >= THRESH_IDLE_HEAT:
state_next = States.HEAT
elif diff > -THRESH_IDLE_HOLD:
self.pid_rate.reset()
elif diff >= -THRESH_IDLE_HOLD:
state_next = States.HOLD
self.pid_rate.reset()
elif self.state == States.HOLD:
self.pid_rate.reset()
if diff > THRESH_HOLD_HEAT:
if diff >= THRESH_HOLD_HEAT:
state_next = States.HEAT
elif diff < -THRESH_HOLD_IDLE:
self.pid_rate.reset()
elif diff <= -THRESH_HOLD_IDLE:
state_next = States.IDLE
elif self.state == States.HEAT:
if diff < -THRESH_HEAT_IDLE:
if diff <= -THRESH_HEAT_IDLE:
state_next = States.IDLE
elif diff < THRESH_HEAT_HOLD:
elif diff <= THRESH_HEAT_HOLD:
state_next = States.HOLD
self.pid_hold.reset()
@@ -126,7 +127,10 @@ class TempController(APid):
self.pid_hold.process(theta_err, -self.theta_ist)
self.pid_rate.process(heatrate_err, -self.heatrate_ist)
self.y = self.pid_rate.get_y()
if self.state == States.IDLE:
self.y = 0
else:
self.y = self.pid_rate.get_y()
def get_power(self):
return self.y
+5 -3
View File
@@ -144,12 +144,14 @@ class TempController(APid):
self.pid_hold.process(theta_err, -self.theta_ist)
self.pid_rate.process(heatrate_err, -self.heatrate_ist)
self.y = self.pid_rate.get_y()
if self.state == States.IDLE:
self.y = 0
else:
self.y = self.pid_rate.get_y()
self.model.set_power(max(0, 250 + 3500 * self.y))
self.model.set_power(max(0, 250 + 3500 * self.y))
self.model.process()
def get_power(self):
return self.y