kopia lustrzana https://github.com/botheredbybees/kilnController
commit
af3a27b51e
23
lib/oven.py
23
lib/oven.py
|
@ -86,6 +86,8 @@ class Oven (threading.Thread):
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
temperature_count = 0
|
||||||
|
last_temp = 0
|
||||||
while True:
|
while True:
|
||||||
self.door = self.get_door_state()
|
self.door = self.get_door_state()
|
||||||
|
|
||||||
|
@ -102,8 +104,24 @@ class Oven (threading.Thread):
|
||||||
log.info("pid: %.3f" % pid)
|
log.info("pid: %.3f" % pid)
|
||||||
|
|
||||||
self.set_cool(pid <= -1)
|
self.set_cool(pid <= -1)
|
||||||
|
if(pid > 0):
|
||||||
|
# The temp should be changing with the heat on
|
||||||
|
# Count the number of time_steps encountered with no change and the heat on
|
||||||
|
if last_temp == self.temp_sensor.temperature:
|
||||||
|
temperature_count += 1
|
||||||
|
else:
|
||||||
|
temperature_count = 0
|
||||||
|
# If the heat is on and nothing is changing, reset
|
||||||
|
# The direction or amount of change does not matter
|
||||||
|
# This prevents runaway in the event of a sensor read failure
|
||||||
|
if temperature_count > 20:
|
||||||
|
log.info("Error reading sensor, oven temp not responding to heat.")
|
||||||
|
self.reset()
|
||||||
|
else:
|
||||||
|
temperature_count = 0
|
||||||
|
|
||||||
self.set_heat(pid > 0)
|
self.set_heat(pid > 0)
|
||||||
|
|
||||||
#if self.profile.is_rising(self.runtime):
|
#if self.profile.is_rising(self.runtime):
|
||||||
# self.set_cool(False)
|
# self.set_cool(False)
|
||||||
# self.set_heat(self.temp_sensor.temperature < self.target)
|
# self.set_heat(self.temp_sensor.temperature < self.target)
|
||||||
|
@ -119,6 +137,9 @@ class Oven (threading.Thread):
|
||||||
if self.runtime >= self.totaltime:
|
if self.runtime >= self.totaltime:
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
|
#Capture the last temperature value
|
||||||
|
last_temp = self.temp_sensor.temperature
|
||||||
|
|
||||||
time.sleep(self.time_step)
|
time.sleep(self.time_step)
|
||||||
|
|
||||||
def set_heat(self, value):
|
def set_heat(self, value):
|
||||||
|
|
|
@ -426,6 +426,12 @@ $(document).ready(function()
|
||||||
if (x.profile)
|
if (x.profile)
|
||||||
{
|
{
|
||||||
selected_profile_name = x.profile.name;
|
selected_profile_name = x.profile.name;
|
||||||
|
$.each(profiles, function(i,v) {
|
||||||
|
if(v.name == x.profile.name) {
|
||||||
|
updateProfile(i);
|
||||||
|
$('#e2').select2('val', i);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$.each(x.log, function(i,v) {
|
$.each(x.log, function(i,v) {
|
||||||
|
|
Ładowanie…
Reference in New Issue