Give lcd_sd_status an UNKNOWN state (PR#180)

This commit is contained in:
Scott Lahteine 2015-09-13 16:43:14 -07:00 committed by Richard Wackerbarth
parent 0f149ea0c6
commit 5d65a36dee

View file

@ -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