diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 3ca4aa623e..af1762dc32 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -327,8 +327,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE, * Progress Bar */ #if ENABLED(LCD_PROGRESS_BAR) - #if DISABLED(SDSUPPORT) - #error "LCD_PROGRESS_BAR requires SDSUPPORT." + #if DISABLED(SDSUPPORT) && DISABLED(LCD_SET_PROGRESS_MANUALLY) + #error "LCD_PROGRESS_BAR requires SDSUPPORT or LCD_SET_PROGRESS_MANUALLY." #elif DISABLED(ULTRA_LCD) #error "LCD_PROGRESS_BAR requires a character LCD." #elif ENABLED(DOGLCD) diff --git a/Marlin/src/lcd/ultralcd_impl_HD44780.h b/Marlin/src/lcd/ultralcd_impl_HD44780.h index 0d011e30f8..70dc5294be 100644 --- a/Marlin/src/lcd/ultralcd_impl_HD44780.h +++ b/Marlin/src/lcd/ultralcd_impl_HD44780.h @@ -426,23 +426,21 @@ static void lcd_set_custom_characters( createChar_P(LCD_FEEDRATE_CHAR, feedrate); createChar_P(LCD_CLOCK_CHAR, clock); - #if ENABLED(SDSUPPORT) - #if ENABLED(LCD_PROGRESS_BAR) - if (screen_charset == CHARSET_INFO) { // 3 Progress bar characters for info screen - for (int16_t i = 3; i--;) - createChar_P(LCD_STR_PROGRESS[i], progress[i]); - } - else - #endif - { // SD Card sub-menu special characters - createChar_P(LCD_UPLEVEL_CHAR, uplevel); + #if ENABLED(LCD_PROGRESS_BAR) + if (screen_charset == CHARSET_INFO) { // 3 Progress bar characters for info screen + for (int16_t i = 3; i--;) + createChar_P(LCD_STR_PROGRESS[i], progress[i]); + } + else + #endif + { + createChar_P(LCD_UPLEVEL_CHAR, uplevel); + #if ENABLED(SDSUPPORT) + // SD Card sub-menu special characters createChar_P(LCD_STR_REFRESH[0], refresh); createChar_P(LCD_STR_FOLDER[0], folder); - } - #else - // With no SD support, only need the uplevel character - createChar_P(LCD_UPLEVEL_CHAR, uplevel); - #endif + #endif + } } } }