void Thermostat::process() { float temperature = getCurrentTemperature(); bool changed = changeState(temperature); if (changed) { if (controlPin != -1) digitalWrite(controlPin, state == RUNNING); if (controlFunction != NULL) controlFunction(state); } }
void AbstractOut::initOut(int num, const char *name){ glutInitWindowSize(640, 480); glutInitWindowPosition(50 + 640*num + 15*num, 50); ID = glutCreateWindow(name); if(!instance.size()) instance.push_back(NULL); instance.insert(instance.begin()+ID, this); glutSetWindow(ID); initGL(); controlFunction(); }