void lcd_update() { if (!NextionON) return; nexLoop(nex_listen_list); millis_t ms = millis(); if (ms > next_lcd_update_ms && PageInfo) { if (fanSpeed > 0) fantimer.enable(); else fantimer.disable(); #if HAS_TEMP_0 temptoLCD(0, degHotend(0), degTargetHotend(0)); #endif #if HAS_TEMP_1 temptoLCD(1, degHotend(1), degTargetHotend(1)); #endif #if HAS_TEMP_2 temptoLCD(2, degHotend(2), degTargetHotend(2)); #elif HAS_TEMP_BED temptoLCD(2, degBed(), degTargetBed()); #endif coordtoLCD(); #if ENABLED(SDSUPPORT) if (card.cardOK) { MSD.setPic(7); NPlay.setPic(38); NStop.setPic(41); } else { MSD.setPic(6); NPlay.setPic(39); NStop.setPic(42); } if (card.isFileOpen()) { if (card.sdprinting) { // Progress bar solid part sdbar.setValue(card.percentDone()); NPlay.setPic(40); } else { NPlay.setPic(38); } } #endif next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL; } }
void lcd_update() { if (!NextionON) return; nexLoop(nex_listen_list); millis_t ms = millis(); if (ms > next_lcd_update_ms) { sendCurrentPageId(&NextionPage); if (NextionPage == 1) { if (fanSpeed > 0) fantimer.enable(); else fantimer.disable(); uint32_t temp_feedrate = 0; VSpeed.getValue(&temp_feedrate); feedrate_multiplier = (int)temp_feedrate; #if HAS(TEMP_0) temptoLCD(0, degHotend(0), degTargetHotend(0)); #endif #if HAS(TEMP_1) temptoLCD(1, degHotend(1), degTargetHotend(1)); #endif #if HAS(TEMP_2) temptoLCD(2, degHotend(2), degTargetHotend(2)); #elif HAS(TEMP_BED) temptoLCD(2, degBed(), degTargetBed()); #endif coordtoLCD(); #if ENABLED(SDSUPPORT) if (card.isFileOpen()) { if (SDstatus != 2) { SDstatus = 2; SD.setValue(2); NPlay.setShow(); NStop.setShow(); } if(IS_SD_PRINTING) { // Progress bar solid part sdbar.setValue(card.percentDone()); NPlay.setPic(17); // Estimate End Time uint16_t time = print_job_timer.duration() / 60; uint16_t end_time = (time * (100 - card.percentDone())) / card.percentDone(); if (end_time > (60 * 23)) { lcd_setstatus("End --:--"); } else if (end_time >= 0) { char temp[30]; sprintf_P(temp, PSTR("End %i:%i"), end_time / 60, end_time%60); lcd_setstatus(temp); } } else { NPlay.setPic(16); } } else if (card.cardOK && SDstatus != 1) { SDstatus = 1; SD.setValue(1); MSD1.setShow(); NPlay.setHide(); NStop.setHide(); } else if (!card.cardOK && SDstatus != 0) { SDstatus = 0; SD.setValue(0); MSD1.setHide(); NPlay.setHide(); NStop.setHide(); } #endif } else if (NextionPage == 6) { coordtoLCD(); } next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL; } }