void VESPERSBeamline::temperatureConnected(bool connected) { if (connected) { for (int i = 0; i < temperatureSet_->count(); i++) connect(qobject_cast<AMReadOnlyPVwStatusControl *>(temperatureSet_->at(i)), SIGNAL(movingChanged(bool)), this, SLOT(temperatureError())); temperatureError(); } }
void extruder::waitForTemperature() { byte seconds = 0; bool warming = true; count = 0; newT = 0; oldT = newT; while (true) { manageAllExtruders(); newT += getTemperature(); count++; if(count > 5) { newT = newT/5; if(newT >= target_celsius - HALF_DEAD_ZONE) { warming = false; if(seconds > WAIT_AT_TEMPERATURE) return; else seconds++; } if(warming) { if(newT > oldT) oldT = newT; else { // Temp isn't increasing - extruder hardware error temperatureError(); return; } } newT = 0; count = 0; } delay(1000); } }