|
|
@ -104,7 +104,7 @@ |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) |
|
|
|
#if ENABLED(SDSUPPORT) |
|
|
|
uint8_t lcd_sd_status; |
|
|
|
#endif |
|
|
|
|
|
|
@ -315,8 +315,10 @@ void MarlinUI::init() { |
|
|
|
|
|
|
|
#endif // HAS_SHIFT_ENCODER
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) |
|
|
|
SET_INPUT_PULLUP(SD_DETECT_PIN); |
|
|
|
#if ENABLED(SDSUPPORT) |
|
|
|
#if PIN_EXISTS(SD_DETECT) |
|
|
|
SET_INPUT_PULLUP(SD_DETECT_PIN); |
|
|
|
#endif |
|
|
|
lcd_sd_status = 2; // UNKNOWN
|
|
|
|
#endif |
|
|
|
|
|
|
@ -766,7 +768,7 @@ void MarlinUI::update() { |
|
|
|
|
|
|
|
#endif // HAS_LCD_MENU
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) |
|
|
|
#if ENABLED(SDSUPPORT) |
|
|
|
|
|
|
|
const uint8_t sd_status = (uint8_t)IS_SD_INSERTED(); |
|
|
|
if (sd_status != lcd_sd_status && detected()) { |
|
|
@ -782,16 +784,20 @@ void MarlinUI::update() { |
|
|
|
else |
|
|
|
set_status_P(PSTR(MSG_SD_INSERTED)); |
|
|
|
} |
|
|
|
else { |
|
|
|
card.release(); |
|
|
|
if (old_sd_status != 2) { |
|
|
|
set_status_P(PSTR(MSG_SD_REMOVED)); |
|
|
|
if (!on_status_screen()) return_to_status(); |
|
|
|
#if PIN_EXISTS(SD_DETECT) |
|
|
|
else { |
|
|
|
card.release(); |
|
|
|
if (old_sd_status != 2) { |
|
|
|
set_status_P(PSTR(MSG_SD_REMOVED)); |
|
|
|
if (!on_status_screen()) return_to_status(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
init_lcd(); // May revive the LCD if static electricity killed it
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
refresh(); |
|
|
|
init_lcd(); // May revive the LCD if static electricity killed it
|
|
|
|
|
|
|
|
ms = millis(); |
|
|
|
next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL; // delay LCD update until after SD activity completes
|
|
|
@ -801,7 +807,7 @@ void MarlinUI::update() { |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
#endif // SDSUPPORT && SD_DETECT_PIN
|
|
|
|
#endif // SDSUPPORT
|
|
|
|
|
|
|
|
if (ELAPSED(ms, next_lcd_update_ms) |
|
|
|
#if HAS_GRAPHICAL_LCD |
|
|
|