@ -5113,20 +5113,38 @@ void lcd_update() {
# endif
# if ENABLED(DOGLCD)
if ( ! drawing_screen ) { // If not already drawing pages
u8g . firstPage ( ) ; // Start the first page
drawing_screen = 1 ; // Flag as drawing pages
}
lcd_setFont ( FONT_MENU ) ; // Setup font for every page draw
u8g . setColorIndex ( 1 ) ; // And reset the color
CURRENTSCREEN ( ) ; // Draw and process the current screen
// The screen handler can clear drawing_screen for an action that changes the screen.
// If still drawing and there's another page, update max-time and return now.
// The nextPage will already be set up on the next call.
if ( drawing_screen & & ( drawing_screen = u8g . nextPage ( ) ) ) {
NOLESS ( max_display_update_time , millis ( ) - ms ) ;
return ;
# if defined(USE_ST7920_LIGHTWEIGHT_UI)
# if ENABLED(ULTIPANEL)
bool do_U8G_loop = true ;
lcd_in_status ( currentScreen = = lcd_status_screen ) ;
if ( currentScreen = = lcd_status_screen ) {
lcd_status_screen ( ) ;
do_U8G_loop = false ;
}
# else
const bool do_U8G_loop = false ;
lcd_in_status ( true ) ;
lcd_status_screen ( ) ;
# endif
# else
const bool do_U8G_loop = true ;
# endif
if ( do_U8G_loop ) {
if ( ! drawing_screen ) { // If not already drawing pages
u8g . firstPage ( ) ; // Start the first page
drawing_screen = 1 ; // Flag as drawing pages
}
lcd_setFont ( FONT_MENU ) ; // Setup font for every page draw
u8g . setColorIndex ( 1 ) ; // And reset the color
CURRENTSCREEN ( ) ; // Draw and process the current screen
// The screen handler can clear drawing_screen for an action that changes the screen.
// If still drawing and there's another page, update max-time and return now.
// The nextPage will already be set up on the next call.
if ( drawing_screen & & ( drawing_screen = u8g . nextPage ( ) ) ) {
NOLESS ( max_display_update_time , millis ( ) - ms ) ;
return ;
}
}
# else
CURRENTSCREEN ( ) ;