Adjust ENSURE_SMOOTH_MOVES coding style

This commit is contained in:
Scott Lahteine 2016-11-19 01:09:32 -06:00
parent 072541f286
commit 2cc32d85a3
2 changed files with 76 additions and 72 deletions

View File

@ -374,7 +374,7 @@ class Planner {
static bool long_move() { static bool long_move() {
if (blocks_queued()) { if (blocks_queued()) {
block_t* block = &block_buffer[block_buffer_tail]; block_t* block = &block_buffer[block_buffer_tail];
return (block->segment_time > (LCD_UPDATE_THRESHOLD * 1000UL)); return block->segment_time > (LCD_UPDATE_THRESHOLD) * 1000UL;
} }
else else
return true; return true;

View File

@ -2707,90 +2707,94 @@ void lcd_update() {
} }
#endif // ULTIPANEL #endif // ULTIPANEL
#if ENABLED(ENSURE_SMOOTH_MOVES) && ENABLED(ALWAYS_ALLOW_MENU)
#define STATUS_UPDATE_CONDITION planner.long_move()
#else
#define STATUS_UPDATE_CONDITION true
#endif
#if ENABLED(ENSURE_SMOOTH_MOVES) && DISABLED(ALWAYS_ALLOW_MENU)
#define LCD_HANDLER_CONDITION planner.long_move()
#else
#define LCD_HANDLER_CONDITION true
#endif
// We arrive here every ~100ms when idling often enough. // We arrive here every ~100ms when idling often enough.
// Instead of tracking the changes simply redraw the Info Screen ~1 time a second. // Instead of tracking the changes simply redraw the Info Screen ~1 time a second.
static int8_t lcd_status_update_delay = 1; // first update one loop delayed static int8_t lcd_status_update_delay = 1; // first update one loop delayed
#if ENABLED(ENSURE_SMOOTH_MOVES) && ENABLED(ALWAYS_ALLOW_MENU) if (STATUS_UPDATE_CONDITION &&
if (planner.long_move()) { #if ENABLED(ULTIPANEL)
#endif currentScreen == lcd_status_screen &&
if ( #endif
#if ENABLED(ULTIPANEL) !lcd_status_update_delay--
currentScreen == lcd_status_screen && ) {
#endif lcd_status_update_delay = 9;
!lcd_status_update_delay--) { lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
lcd_status_update_delay = 9; }
lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
}
#if ENABLED(ENSURE_SMOOTH_MOVES) && ENABLED(ALWAYS_ALLOW_MENU)
}
#endif
#if ENABLED(ENSURE_SMOOTH_MOVES) && DISABLED(ALWAYS_ALLOW_MENU) if (LCD_HANDLER_CONDITION) {
if (planner.long_move()) {
#endif
if (lcdDrawUpdate) {
switch (lcdDrawUpdate) { if (lcdDrawUpdate) {
case LCDVIEW_CALL_NO_REDRAW:
lcdDrawUpdate = LCDVIEW_NONE; switch (lcdDrawUpdate) {
break; case LCDVIEW_CALL_NO_REDRAW:
case LCDVIEW_CLEAR_CALL_REDRAW: // set by handlers, then altered after (rarely occurs here) lcdDrawUpdate = LCDVIEW_NONE;
case LCDVIEW_CALL_REDRAW_NEXT: // set by handlers, then altered after (never occurs here?) break;
lcdDrawUpdate = LCDVIEW_REDRAW_NOW; case LCDVIEW_CLEAR_CALL_REDRAW: // set by handlers, then altered after (rarely occurs here)
case LCDVIEW_REDRAW_NOW: // set above, or by a handler through LCDVIEW_CALL_REDRAW_NEXT case LCDVIEW_CALL_REDRAW_NEXT: // set by handlers, then altered after (never occurs here?)
case LCDVIEW_NONE: lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
break; case LCDVIEW_REDRAW_NOW: // set above, or by a handler through LCDVIEW_CALL_REDRAW_NEXT
case LCDVIEW_NONE:
break;
} // switch
#if ENABLED(ULTIPANEL)
#define CURRENTSCREEN() (*currentScreen)(), lcd_clicked = false
#else
#define CURRENTSCREEN() lcd_status_screen()
#endif
#if ENABLED(DOGLCD) // Changes due to different driver architecture of the DOGM display
static int8_t dot_color = 0;
dot_color = 1 - dot_color;
u8g.firstPage();
do {
lcd_setFont(FONT_MENU);
u8g.setPrintPos(125, 0);
u8g.setColorIndex(dot_color); // Set color for the alive dot
u8g.drawPixel(127, 63); // draw alive dot
u8g.setColorIndex(1); // black on white
CURRENTSCREEN();
} while (u8g.nextPage());
#else
CURRENTSCREEN();
#endif
} }
#if ENABLED(ULTIPANEL) #if ENABLED(ULTIPANEL)
#define CURRENTSCREEN() (*currentScreen)(), lcd_clicked = false
#else
#define CURRENTSCREEN() lcd_status_screen()
#endif
#if ENABLED(DOGLCD) // Changes due to different driver architecture of the DOGM display // Return to Status Screen after a timeout
static int8_t dot_color = 0; if (currentScreen == lcd_status_screen || defer_return_to_status)
dot_color = 1 - dot_color; return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS;
u8g.firstPage(); else if (ELAPSED(ms, return_to_status_ms))
do { lcd_return_to_status();
lcd_setFont(FONT_MENU);
u8g.setPrintPos(125, 0);
u8g.setColorIndex(dot_color); // Set color for the alive dot
u8g.drawPixel(127, 63); // draw alive dot
u8g.setColorIndex(1); // black on white
CURRENTSCREEN();
} while (u8g.nextPage());
#else
CURRENTSCREEN();
#endif
}
#if ENABLED(ULTIPANEL) #endif // ULTIPANEL
// Return to Status Screen after a timeout switch (lcdDrawUpdate) {
if (currentScreen == lcd_status_screen || defer_return_to_status) case LCDVIEW_CLEAR_CALL_REDRAW:
return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS; lcd_implementation_clear();
else if (ELAPSED(ms, return_to_status_ms)) case LCDVIEW_CALL_REDRAW_NEXT:
lcd_return_to_status(); lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
break;
case LCDVIEW_REDRAW_NOW:
lcdDrawUpdate = LCDVIEW_NONE;
break;
case LCDVIEW_NONE:
break;
} // switch
#endif // ULTIPANEL } // LCD_HANDLER_CONDITION
switch (lcdDrawUpdate) {
case LCDVIEW_CLEAR_CALL_REDRAW:
lcd_implementation_clear();
case LCDVIEW_CALL_REDRAW_NEXT:
lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
break;
case LCDVIEW_REDRAW_NOW:
lcdDrawUpdate = LCDVIEW_NONE;
break;
case LCDVIEW_NONE:
break;
}
#if ENABLED(ENSURE_SMOOTH_MOVES) && DISABLED(ALWAYS_ALLOW_MENU)
}
#endif
} }
} }