Ejemplo n.º 1
0
  ReflowParameters ControlPage::run() {

    uint32_t start;

    // draw the full GUI

    redrawAll();

    // go into a keypress/timeout event loop

    start=MillisecondTimer::millis();

    for(;;) {

      // each second, sample the temperature and display it

      if(MillisecondTimer::hasTimedOut(start,1000)) {
        drawTemperature();
        start=MillisecondTimer::millis();
      }

      if(_buttonPressed) {

        // interrupt handler has indicated that a button is down

        switch(_buttonId) {

          case ButtonIdentifier::LEFT:
            handleLeft();
            break;

          case ButtonIdentifier::RIGHT:
            handleRight();
            break;

          case ButtonIdentifier::OK:
            if(handleOk()) {

              // user has clicked reflow, return the parameters we gathered on this page

              ReflowParameters params;

              params.P=_p.getValue();
              params.I=_i.getValue();
              params.D=_d.getValue();
              params.Leaded=_leadedChecked;

              return params;
            }
            break;
        }

        // ready for the next press

        _buttonPressed=false;
      }
    }
  }
Ejemplo n.º 2
0
/*will update info on a screen. Uses WorkMode*/
inline void updateDisplay(){
	switch (workMode){
		case 0:
		case 2:
		drawTemperature();
		break;
		case 1:
		displayClear();
		drawMenu();
		break;
	}
}
Ejemplo n.º 3
0
void Thermal::draw(){
    if(thermalEngine->hasImages()){
        
        thermalEngine->prev(19).draw(84, 200, 910,  450);
        thermalEngine->prev(9).draw(84, 784, 910,  450);
        thermalEngine->lastImage().draw(84, 1366, 910,  450);
    }
    
    drawElapsedTime();
    drawTexts();
    drawThermalData();
    drawTemperature();
    drawTarget();
    
    assets->wireframe_thermal.draw(0, 0);
    
};