void LCDScreen::denaturization() { lcd.clear(); lcd.setCursor( 0, 0 ); lcd.print("Denaturization? "); lcd.setCursor( 0, 1 ); lcd.print("Yes No"); lcd.setCursor( 0, 1 ); lcd.blink(); uint8_t buttons; while(true){ buttons = lcd.readButtons(); if (buttons & BUTTON_LEFT){ lcd.setCursor( 0, 1 ); denat = 1; } if (buttons & BUTTON_RIGHT){ lcd.setCursor( 8, 1 ); denat = 0; } if (buttons & BUTTON_SELECT){ lcd.noBlink(); break; } } }
void LCDScreen::dispUserPrefCycles() { lcd.clear(); lcd.setCursor( 0, 0 ); lcd.print( "# of cycles: " ); lcd.setCursor( 0, 15 ); lcd.print( maxCycles ); }
void LCDScreen::dispDenatStatus(long int currentTime, long int stopTime) { int minLeft; lcd.clear(); lcd.setCursor( 0, 1 ); if(currentTime == 0 && stopTime == 0){ lcd.print("Ramping Up"); } else{ minLeft = (stopTime - currentTime) / 60000; lcd.print(minLeft); lcd.setCursor(2,1); lcd.print("min left"); } }
void LCDScreen::finalMess() { lcd.clear(); lcd.home(); lcd.print( "PCR complete." ); lcd.setCursor( 0, 1 ); lcd.print( "RESET to cont." ); }
void LCDScreen::dispUserPrefHighLow() { lcd.clear(); lcd.home(); lcd.print( "High: " ); lcd.print( tempCeil ); lcd.setCursor( 0, 1 ); lcd.print( "Low: " ); lcd.print( tempFloor ); }
void LCDScreen::setup() { lcd.begin( 16, 2 ); lcd.home(); lcd.print( "PCR V.2 - O.V.L."); lcd.setCursor( 0, 1 ); lcd.print( "SELECT to cont." ); waitForSelect(); delay( 500 ); setUserInputs(); delay( 500 ); }
void LCDScreen::displayInitialStatus( double temp, int current_cycle ) { lcd.clear(); lcd.home(); updateArrow( temp ); lcd.setCursor( 0, 1 ); lcd.print( "Cycle no. " ); lcd.print( current_cycle ); lcd.print( "/" ); lcd.print( maxCycles ); }
void LCDScreen::printError( int mess ) { lcd.clear(); lcd.home(); String message; if ( mess == 1 ) { message = "ERR: Overheating"; } else if ( mess < 1 ) { message = "ERR: Not ramping"; } else { message = "ERR: wrap failed"; } lcd.print( message ); lcd.setCursor( 0, 1 ); lcd.print( "Check hardware" ); }
void K3NGdisplay::update(){ // update the screen with changes that are pending in screen_buffer_pending for (int x = 0;x < (display_columns*display_rows);x++){ if (screen_buffer_live[x] != screen_buffer_pending[x]){ // do we have a new character to put on the screen ? lcd.setCursor(Xposition(x),Yposition(x)); if (screen_buffer_attributes_pending[x] & ATTRIBUTE_BLINK){ // does this character have the blink attribute if (current_blink_state){ lcd.print(screen_buffer_pending[x]); } else { lcd.print(' '); } } else { lcd.print(screen_buffer_pending[x]); } screen_buffer_live[x] = screen_buffer_pending[x]; screen_buffer_attributes_live[x] = screen_buffer_attributes_pending[x]; } else { // not a new character, do we have live character on the screen to blink? if (last_blink_state != current_blink_state){ if (screen_buffer_attributes_live[x] & ATTRIBUTE_BLINK){ lcd.setCursor(Xposition(x),Yposition(x)); if (current_blink_state){ lcd.print(screen_buffer_live[x]); } else { lcd.print(' '); } } } } } last_blink_state = current_blink_state; }
int main(int argc, char *argv[]) { Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); lcd.begin(16, 2); lcd.setBacklight(RED); lcd.clear(); lcd.home(); lcd.setCursor(0,0); lcd.myPrint("Hello World"); int count = 0; for(int i = 0; i < 20; i++){ usleep(300000); if(count < 5){ lcd.scrollDisplayRight(); } count++; if(count > 5){ lcd.scrollDisplayLeft(); } if(count > 9) count = 0; } uint8_t buttons = lcd.readButtons(); while(!(buttons & BUTTON_SELECT)){ if (buttons) { if (buttons & BUTTON_LEFT) { lcd.scrollDisplayLeft(); lcd.setBacklight(GREEN); } if (buttons & BUTTON_RIGHT) { lcd.scrollDisplayRight(); lcd.setBacklight(TEAL); } } buttons = lcd.readButtons(); usleep(90000); } return 0; }
void K3NGdisplay::redraw(){ // redraw the screen with the current screen_buffer_live for (int x = 0;x < (display_columns*display_rows);x++){ lcd.setCursor(Xposition(x),Yposition(x)); if (screen_buffer_attributes_live[x] & ATTRIBUTE_BLINK){ // does this character have the blink attribute if (current_blink_state){ lcd.print(screen_buffer_live[x]); } else { lcd.print(' '); } } else { lcd.print(screen_buffer_live[x]); } } }
void log(String message) { lcd.setCursor(0, 0); lcd.print(message + String(" ")); delay(1000); }