Merge pull request #11 from sbman/emergencystop

Emergencystop
pull/1/head
chrono 2015-07-06 11:52:02 +00:00
commit af3a27b51e
2 zmienionych plików z 28 dodań i 1 usunięć

Wyświetl plik

@ -86,6 +86,8 @@ class Oven (threading.Thread):
self.reset()
def run(self):
temperature_count = 0
last_temp = 0
while True:
self.door = self.get_door_state()
@ -102,8 +104,24 @@ class Oven (threading.Thread):
log.info("pid: %.3f" % pid)
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)
#if self.profile.is_rising(self.runtime):
# self.set_cool(False)
# self.set_heat(self.temp_sensor.temperature < self.target)
@ -119,6 +137,9 @@ class Oven (threading.Thread):
if self.runtime >= self.totaltime:
self.reset()
#Capture the last temperature value
last_temp = self.temp_sensor.temperature
time.sleep(self.time_step)
def set_heat(self, value):

Wyświetl plik

@ -426,6 +426,12 @@ $(document).ready(function()
if (x.profile)
{
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) {