void ECCalibrateScreen::endCalibration() { myUTFT.fillScr(VGA_BLUE); myUTFT.setColor(VGA_RED); myUTFT.fillRoundRect(80, 70, 239, 169); myUTFT.setColor(VGA_WHITE); myUTFT.setBackColor(VGA_RED); myUTFT.print("! All Done !", CENTER, 93); myUTFT.print("Touch Screen", CENTER, 119); myUTFT.print("To Exit", CENTER, 132); SwaitForTouch(); myUTFT.clrScr(); myUTFT.setFont(BigFont); myButtons.enableButton( /*resetButton*/ 0); myButtons.enableButton( /*infoButton*/ 1); myButtons.enableButton( /*readButton*/ 2); myButtons.enableButton( /*tempReadButton*/ 3); myButtons.enableButton( /*stopButton*/ 4); myButtons.enableButton( /*startButton*/ 5); myButtons.enableButton( /*backButton*/6); myButtons.enableButton( /*calibrateButton*/7); SdrawScreen(); }
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------ void Screen1::doUpdate(TFTMenu* menu) { // тут обновляем внутреннее состояние if (isActive()) { DS3231Time tm = RealtimeClock.getTime(); if (oldsecond != tm.second) { oldsecond = tm.second; UTFT* dc = menu->getDC(); dc->setColor(VGA_WHITE); dc->setBackColor(VGA_BLACK); // получаем компоненты даты в виде строк String strDate = RealtimeClock.getDateStr(tm); String strTime = RealtimeClock.getTimeStr(tm); dc->setFont(SmallRusFont); // печатаем их dc->print(strDate, 5, 305); dc->print(strTime, 160, 305); //dc->printNumF(setupPin.power3V3, 1, 195, 1); // //dc->printNumF(setupPin.power5V0, 1, 195, 15); // //dc->printNumI(setupPin.power200, 195, 30); // } } }
void ECCalibrateScreen::dryCalibration() { myUTFT.clrScr(); myUTFT.setColor(255, 0, 0); myUTFT.fillRect(0, 0, 220, 13); myUTFT.setColor(255, 255, 255); myUTFT.setBackColor(255, 0, 0); myUTFT.drawLine(0, 14, 320, 14); myUTFT.print("EC Calibration", CENTER, 1); myUTFT.setBackColor(0, 0, 0); myUTFT.print("Do NOT put sensor in any Liquid you are", LEFT, 30); myUTFT.print("going to calibrate for a dry condition", LEFT, 42); myUTFT.print("This is much like setting a TARE on a", LEFT, 54); myUTFT.print("scale", LEFT, 66); myUTFT.print("", LEFT, 78); myUTFT.print("Please make sure that the EC sensor is", LEFT, 90); myUTFT.print("connected to the BNC connector before", LEFT, 102); myUTFT.print("you continue", LEFT, 114); //myUTFT.print("crosshairs in sequence.", LEFT, 126); myUTFT.print("Touch screen to continue", CENTER, 162); waitForTouch(); myUTFT.clrScr(); inputstring = "Z0\r"; //Command to get info Serial3.print(inputstring); //send command to sensor. }
void PlugScreen::drawPrepareScreen() { Serial.println("PlugScreen::handlePlugScreen SET LIGHTS ID \n"); myUTFT.setFont(SmallFont); myUTFT.clrScr(); myUTFT.setColor(255, 0, 0); myUTFT.fillRect(0, 0, 220, 13); myUTFT.setColor(255, 255, 255); myUTFT.setBackColor(255, 0, 0); myUTFT.drawLine(0, 14, 320, 14); myUTFT.print("Plug Setting", CENTER, 1); myUTFT.setBackColor(0, 0, 0); myUTFT.print("Use the remote that came with your", LEFT, 30); myUTFT.print("plugs to set which unit and address it", LEFT, 42); myUTFT.print("uses.Just point the remote at the screen", LEFT, 54); myUTFT.print("and press a button for the unit you want", LEFT, 66); myUTFT.print("to use for the lights", LEFT, 78); myUTFT.print("", LEFT, 90); myUTFT.print("Please press a unit for the lights", LEFT, 102); myUTFT.print("", LEFT, 114); exitButton = myButtons.addButton( 10, 170, 145, 53, mainButton); myButtons.drawButton(exitButton); myUTFT.setBackColor (161,190,237); myUTFT.print("Cancel", 55, 195); myUTFT.setFont(BigFont); }
void ECCalibrateScreen::SdrawScreen() { myUTFT.clrScr(); myUTFT.setBackColor(0, 0, 255); myButtons.setButtonColors(VGA_WHITE, VGA_GRAY, VGA_BLACK, VGA_RED, VGA_BLUE); myButtons.addButton( 10, 10, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 160, 10, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 10, 64, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 160, 64, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 10, 116, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 160, 116, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 10, 170, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.addButton( 160, 170, MAIN_BUTTON_X, MAIN_BUTTON_Y, mainButton); myButtons.drawButtons(); //Add text to buttons. myUTFT.setBackColor (161,190,237); myUTFT.print("Reset", 55, 30); myUTFT.print("Info", 190, 30); myUTFT.print("Read", 55, 90); myUTFT.print("TRead", 190, 90); myUTFT.print("Stop", 55, 146); myUTFT.print("Start", 190, 146); myUTFT.print("Back", 55, 195); myUTFT.print("Calibrate", 185, 195); }
void Keyboard::render(UTFT tft) { tft.clrScr(); tft.setFont(BigFont); tft.setBackColor(255, 255, 255); tft.setColor(255, 255, 255); tft.drawRoundRect(30, 30, tft.getDisplayXSize() - 111, 70); tft.fillRect(tft.getDisplayXSize() - 106, 30, tft.getDisplayXSize() - 66, 70); tft.setColor(0, 0, 0); tft.print("<-", tft.getDisplayXSize() - 102, 43); tft.setColor(255, 255, 255); tft.fillRect(tft.getDisplayXSize() - 61, 30, tft.getDisplayXSize() - 21, 70); tft.setColor(0, 0, 0); tft.print("OK", tft.getDisplayXSize() - 57, 43); byte br = 9, nl = 0, offset = 1; int x = offset, y = 120; for(byte j=0; j<numKeys; j++) { tft.setColor(255, 255, 255); tft.fillRect(x, y, x + 30, y + 30); tft.setColor(0, 0, 0); String str = ""; str += keys[j]; //lame! tft.print(str, x + 7, y + 8); x += 32; nl++; if(nl > br) { offset += 15; x = offset; nl = 0; y += 32; br -= 1; } } _tft = tft; }
void drawDryScreen() { String version = sensorstring.substring(3,6); String date = sensorstring.substring(7,11); sensorstring=""; //resetButtons(); myButtons.setButtonColors(VGA_WHITE, VGA_GRAY, VGA_BLACK, VGA_RED, VGA_BLACK); //Indicate that we have changed screens. myUTFT.setBackColor (VGA_BLACK); myUTFT.print("EC HW Info", CENTER, 1); myUTFT.print("Sensor Version", CENTER, 30); myUTFT.print(version, CENTER, 54); myUTFT.print("Firmware Date", CENTER, 78); myUTFT.print(date, CENTER, 102); }
void ECCalibrateScreen::drawStoppingScreen() { myUTFT.clrScr(); resetButtons(); myButtons.setButtonColors(VGA_WHITE, VGA_GRAY, VGA_BLACK, VGA_RED, VGA_BLACK); myUTFT.setBackColor (VGA_BLACK); myUTFT.print("EC STOPPED", CENTER, 1); myUTFT.print("All EC Readings", CENTER, 30); myUTFT.print("Now Stopped", CENTER, 54); myUTFT.print("Sensor Standby", CENTER, 78); //Draw back button subBackButton = myButtons.addButton( 10, 168, 145, 53, mainButton); myButtons.drawButton(subBackButton); myUTFT.setBackColor (161,190,237); myUTFT.print("Back", 45, 185); }
void PlugScreen::waitForReceiver(NewRemoteCode receivedCode) { //Clear What was there. myUTFT.setFont(SmallFont); myUTFT.clrScr(); myUTFT.setColor(255, 0, 0); myUTFT.fillRect(0, 0, 220, 13); myUTFT.setColor(255, 255, 255); myUTFT.setBackColor(255, 0, 0); myUTFT.drawLine(0, 14, 320, 14); myUTFT.print("ID Set", CENTER, 1); myUTFT.setBackColor(0, 0, 0); setAddresstoEEPROM(receivedCode.address); if(plugDevice.lights) { EEPROM.write(EEPROM_LEARNED_LIGHTS_UNIT,receivedCode.unit); plugDevice.lights = false; } if(plugDevice.pump) { EEPROM.write(EEPROM_LEARNED_PUMP_UNIT,receivedCode.unit); plugDevice.pump = false; } if(plugDevice.heater) { EEPROM.write(EEPROM_LEARNED_HEATER_UNIT,receivedCode.unit); plugDevice.heater = false; } //unsigned long add = getAddress(); String sAddress(receivedCode.address); String slightID(receivedCode.unit); myUTFT.print("The unit has been set to unit ", LEFT, 30); myUTFT.print(slightID, LEFT, 42); myUTFT.print("The Transmitting Address is", LEFT, 54); myUTFT.print(sAddress, LEFT, 66); myUTFT.print("You can now use the plug", LEFT, 78); myUTFT.print("**********************************", LEFT, 90); myButtons.deleteAllButtons(); exitButton = -1; exitButton = myButtons.addButton( 10, 170, 145, 53, mainButton); myButtons.drawButton(exitButton); myUTFT.setBackColor (161,190,237); myUTFT.print("Back", 55, 195); myUTFT.setFont(BigFont); }
void PlugScreen::drawScreen( ) { //Clear What was there. myUTFT.clrScr(); resetButtons(); myUTFT.setBackColor (0, 0, 0); myUTFT.print("Plug Setup", CENTER, 1); myUTFT.setBackColor(0, 0, 255); //Draw Lights button lightsButton = myButtons.addButton( 10, 54, 145, 53, mainButton); myButtons.drawButton(lightsButton); myUTFT.print("Lights", 35, 71); heaterButton = myButtons.addButton( 10, 110, 145, 53, mainButton); myButtons.drawButton(heaterButton); myUTFT.print("Heater", 35, 135); pumpButton = myButtons.addButton( 160, 54, 145, 53, mainButton); myButtons.drawButton(pumpButton); myUTFT.print("Pump", 190, 71); settingsButton = myButtons.addButton( 160, 110, 145, 53, mainButton); myButtons.drawButton(settingsButton); myUTFT.print("Override", 175, 135); //Draw back button back2SetupButton = myButtons.addButton( 10, 170, 145, 53, mainButton); myButtons.drawButton(back2SetupButton); myUTFT.print("Back", 55, 195); }
//Static so can be used with the callback. void drawReadingScreen() { String EC = sensorstring.substring(0,3); String TDS = sensorstring.substring(4,6); String SAL = sensorstring.substring(7,8); sensorstring=""; //resetButtons(); myButtons.setButtonColors(VGA_WHITE, VGA_GRAY, VGA_BLACK, VGA_RED, VGA_BLACK); //Indicate that we have changed screens. myUTFT.setBackColor (VGA_BLACK); myUTFT.print("EC Get Reading", CENTER, 1); myUTFT.print("EC Level", CENTER, 30); myUTFT.print(EC, CENTER, 54); myUTFT.print("TDS Level", CENTER, 78); myUTFT.print(TDS, CENTER, 102); myUTFT.print(SAL, CENTER, 126); }
void ECCalibrateScreen::updateLowWaitScreen() { iSeconds = iSeconds - 3; String thisString = String(iSeconds); myUTFT.clrScr(); myUTFT.print("Calibration in Progress", CENTER, 30); myUTFT.print("Seconds left until ready " + thisString, CENTER, 42); switch(iCounter){ case 0: Serial.println("PRINT 0"); myUTFT.print("************************************", CENTER, 114); iCounter = 1; break; case 1: Serial.println("PRINT 1"); myUTFT.print("******************", CENTER, 114); iCounter = 2; break; case 2: Serial.println("PRINT 2"); myUTFT.print("*****", CENTER, 114); iCounter = 0; break; } if(iSeconds == 0){ iSeconds = max_seconds_for_calibration; //Move to next stage. endCalibration(); } }
void Mixer::render(UTFT tft) { tft.clrScr(); tft.setColor(255, 255, 255); tft.fillRect(0, 0, tft.getDisplayXSize() - 1, 12); tft.setBackColor(255, 255, 255); tft.setColor(0, 0, 0); tft.setFont(SmallFont); tft.print("Mixer", 10, 0); _tft = tft; for(byte x=0;x<3; x++) { renderedGains[x] = 0; renderMute(x); } update(); }
/* * Delivering this instruction will instruct the E.C. Circuit to transmit it device info. Full proper syntax: i<cr> or I<CR> The E.C. Circuit will respond: E,V3.0,4/11<CR> Where: E =E.C. Circuit V3.1= Firmware version 5/13= Date firmware was written */ void ECCalibrateScreen::getInfo() { inputstring = "I\r"; //Command to get info Serial3.print(inputstring); //send command to sensor. //Draw part of the screen here and the info when we have it. //info comes after the loop has iterated. myUTFT.clrScr(); resetButtons(); //Draw back button subBackButton = myButtons.addButton( 10, 168, 145, 53, mainButton); myButtons.drawButton(subBackButton); myUTFT.setBackColor (161,190,237); myUTFT.print("Back", 45, 185); waiting_for_info = true; }
void ECCalibrateScreen::getTempSingleReading() { inputstring = ( waterTempString + "\r"); //"17.8\r"Command to get reading. Serial3.print(inputstring); //send command to sensor. delay(1000); //This takes 1000ms to complete. //Draw part of the screen here and the info when we have it. //info comes after the loop has iterated. myUTFT.clrScr(); resetButtons(); //Draw back button subBackButton = myButtons.addButton( 10, 168, 145, 53, mainButton); myButtons.drawButton(subBackButton); myUTFT.setBackColor (161,190,237); myUTFT.print("Back", 45, 185); waiting_for_single_reading = true; }
void ECCalibrateScreen::lowCalibration() { myUTFT.clrScr(); myUTFT.setColor(255, 0, 0); myUTFT.fillRect(0, 0, 220, 13); myUTFT.setColor(255, 255, 255); myUTFT.setBackColor(255, 0, 0); myUTFT.drawLine(0, 14, 320, 14); myUTFT.print("EC Calibration", CENTER, 1); myUTFT.setBackColor(0, 0, 0); myUTFT.print("Calibrate now with the low side liquid", LEFT, 30); myUTFT.print("Place the sensor in the 220Us", LEFT, 42); myUTFT.print("calibration liquid. This process", LEFT, 54); myUTFT.print("will take 5 mins to complete", LEFT, 66); myUTFT.print("Wait for process to finish before ", LEFT, 78); myUTFT.print("removing the sensor from the liquid", LEFT, 90); myUTFT.print("", LEFT, 102); myUTFT.print("************************************", LEFT, 114); myUTFT.print("Touch screen to continue", CENTER, 162); SwaitForTouch(); myUTFT.clrScr(); inputstring = "C\r"; //set in continious mode String thisSt = String(12); myUTFT.print("Calibration in Progress", CENTER, 30); myUTFT.print("Seconds left until ready " + thisSt, CENTER, 42); simpleTimer.setTimer(3000, updateLowWaitScreen, /*100*/ 4); //Update screen every 3 seconds for 5 minues. //delay(2000); //Wait 2 seconds -- make 5mins //Serial3.print(inputstring); //send command to sensor. //inputstring = "Z2\r"; //set the sensor at this value. //Serial3.print(inputstring); //need to send twice?? }
void ECCalibrateScreen::highCalibration() { myUTFT.clrScr(); myUTFT.setColor(255, 0, 0); myUTFT.fillRect(0, 0, 220, 13); myUTFT.setColor(255, 255, 255); myUTFT.setBackColor(255, 0, 0); myUTFT.drawLine(0, 14, 320, 14); myUTFT.print("EC Calibration", CENTER, 1); myUTFT.setBackColor(0, 0, 0); myUTFT.print("Calibrate now with the high side liquid", LEFT, 30); myUTFT.print("Place the sensor in the 3,000Us ", LEFT, 42); myUTFT.print("calibration liquid. This process", LEFT, 54); myUTFT.print("will take 5 minutes to complete", LEFT, 66); myUTFT.print("Wait for process to finish before ", LEFT, 78); myUTFT.print("removing the sensor from the liquid", LEFT, 90); myUTFT.print("", LEFT, 102); myUTFT.print("************************************", LEFT, 114); myUTFT.print("Touch screen to continue", CENTER, 162); waitForTouch(); myUTFT.clrScr(); inputstring = "C\r"; //set in continious mode myUTFT.clrScr(); String thisSt = String(iSeconds); myUTFT.print("Calibration in Progress", CENTER, 30); myUTFT.print("Seconds left until ready " + thisSt, CENTER, 42); simpleTimer.setTimer(3000, updateWaitScreen, /*100*/ 4); //Update screen every 3 seconds for 5 minues. }