|
|
|
@ -227,7 +227,7 @@ static void lcd_status_screen();
|
|
|
|
|
uint8_t lastEncoderBits;
|
|
|
|
|
uint32_t encoderPosition;
|
|
|
|
|
#if PIN_EXISTS(SD_DETECT)
|
|
|
|
|
bool lcd_sd_status;
|
|
|
|
|
uint8_t lcd_sd_status;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif // ULTIPANEL
|
|
|
|
@ -1534,7 +1534,7 @@ void lcd_init() {
|
|
|
|
|
#if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT)
|
|
|
|
|
pinMode(SD_DETECT_PIN, INPUT);
|
|
|
|
|
WRITE(SD_DETECT_PIN, HIGH);
|
|
|
|
|
lcd_sd_status = false;
|
|
|
|
|
lcd_sd_status = 2; // UNKNOWN
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if ENABLED(LCD_HAS_SLOW_BUTTONS)
|
|
|
|
@ -1595,21 +1595,22 @@ void lcd_update() {
|
|
|
|
|
bool sd_status = IS_SD_INSERTED;
|
|
|
|
|
if (sd_status != lcd_sd_status && lcd_detected()) {
|
|
|
|
|
lcdDrawUpdate = 2;
|
|
|
|
|
lcd_sd_status = sd_status;
|
|
|
|
|
lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
|
|
|
|
|
#if ENABLED(LCD_PROGRESS_BAR)
|
|
|
|
|
currentMenu == lcd_status_screen
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (lcd_sd_status) {
|
|
|
|
|
if (sd_status) {
|
|
|
|
|
card.initsd();
|
|
|
|
|
LCD_MESSAGEPGM(MSG_SD_INSERTED);
|
|
|
|
|
if (lcd_sd_status != 2) LCD_MESSAGEPGM(MSG_SD_INSERTED);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
card.release();
|
|
|
|
|
LCD_MESSAGEPGM(MSG_SD_REMOVED);
|
|
|
|
|
if (lcd_sd_status != 2) LCD_MESSAGEPGM(MSG_SD_REMOVED);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
lcd_sd_status = sd_status;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif //SDSUPPORT && SD_DETECT_PIN
|
|
|
|
|