Give lcd_sd_status an UNKNOWN state (PR#180)
This commit is contained in:
		
				
					committed by
					
						
						Richard Wackerbarth
					
				
			
			
				
	
			
			
			
						parent
						
							0f149ea0c6
						
					
				
				
					commit
					5d65a36dee
				
			@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user