|
|
@ -304,10 +304,16 @@ public: |
|
|
|
static void set_progress(const progress_t p) { progress_override = _MIN(p, 100U * (PROGRESS_SCALE)); } |
|
|
|
static void set_progress_done() { progress_override = (PROGRESS_MASK + 1U) + 100U * (PROGRESS_SCALE); } |
|
|
|
static void progress_reset() { if (progress_override & (PROGRESS_MASK + 1U)) set_progress(0); } |
|
|
|
#if ENABLED(USE_M73_REMAINING_TIME) |
|
|
|
static uint32_t remaining_time; |
|
|
|
FORCE_INLINE static void set_remaining_time(const uint32_t r) { remaining_time = r; } |
|
|
|
FORCE_INLINE static uint32_t get_remaining_time() { return remaining_time; } |
|
|
|
FORCE_INLINE static void reset_remaining_time() { set_remaining_time(0); } |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
static progress_t _get_progress(); |
|
|
|
#if HAS_PRINT_PROGRESS_PERMYRIAD |
|
|
|
static uint16_t get_progress_permyriad() { return _get_progress(); } |
|
|
|
FORCE_INLINE static uint16_t get_progress_permyriad() { return _get_progress(); } |
|
|
|
#endif |
|
|
|
static uint8_t get_progress_percent() { return uint8_t(_get_progress() / (PROGRESS_SCALE)); } |
|
|
|
#else |
|
|
@ -321,9 +327,9 @@ public: |
|
|
|
static bool detected(); |
|
|
|
|
|
|
|
static LCDViewAction lcdDrawUpdate; |
|
|
|
static inline bool should_draw() { return bool(lcdDrawUpdate); } |
|
|
|
static inline void refresh(const LCDViewAction type) { lcdDrawUpdate = type; } |
|
|
|
static inline void refresh() { refresh(LCDVIEW_CLEAR_CALL_REDRAW); } |
|
|
|
FORCE_INLINE static bool should_draw() { return bool(lcdDrawUpdate); } |
|
|
|
FORCE_INLINE static void refresh(const LCDViewAction type) { lcdDrawUpdate = type; } |
|
|
|
FORCE_INLINE static void refresh() { refresh(LCDVIEW_CLEAR_CALL_REDRAW); } |
|
|
|
|
|
|
|
#if ENABLED(SHOW_CUSTOM_BOOTSCREEN) |
|
|
|
static void draw_custom_bootscreen(const uint8_t frame=0); |
|
|
@ -353,7 +359,7 @@ public: |
|
|
|
static void draw_progress_bar(const uint8_t percent); |
|
|
|
#if PROGRESS_MSG_EXPIRE > 0 |
|
|
|
static millis_t expire_status_ms; // = 0
|
|
|
|
static inline void reset_progress_bar_timeout() { expire_status_ms = 0; } |
|
|
|
FORCE_INLINE static void reset_progress_bar_timeout() { expire_status_ms = 0; } |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
@ -364,7 +370,7 @@ public: |
|
|
|
#if HAS_LCD_CONTRAST |
|
|
|
static int16_t contrast; |
|
|
|
static void set_contrast(const int16_t value); |
|
|
|
static inline void refresh_contrast() { set_contrast(contrast); } |
|
|
|
FORCE_INLINE static void refresh_contrast() { set_contrast(contrast); } |
|
|
|
#endif |
|
|
|
|
|
|
|
#if BOTH(FILAMENT_LCD_DISPLAY, SDSUPPORT) |
|
|
@ -477,13 +483,13 @@ public: |
|
|
|
|
|
|
|
static void return_to_status(); |
|
|
|
static inline bool on_status_screen() { return currentScreen == status_screen; } |
|
|
|
static inline void run_current_screen() { (*currentScreen)(); } |
|
|
|
FORCE_INLINE static void run_current_screen() { (*currentScreen)(); } |
|
|
|
|
|
|
|
#if ENABLED(LIGHTWEIGHT_UI) |
|
|
|
static void lcd_in_status(const bool inStatus); |
|
|
|
#endif |
|
|
|
|
|
|
|
static inline void defer_status_screen(const bool defer=true) { |
|
|
|
FORCE_INLINE static void defer_status_screen(const bool defer=true) { |
|
|
|
#if LCD_TIMEOUT_TO_STATUS |
|
|
|
defer_return_to_status = defer; |
|
|
|
#else |
|
|
@ -501,7 +507,7 @@ public: |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(G26_MESH_VALIDATION) |
|
|
|
static inline void chirp() { |
|
|
|
FORCE_INLINE static void chirp() { |
|
|
|
#if HAS_BUZZER |
|
|
|
buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ); |
|
|
|
#endif |
|
|
@ -518,7 +524,7 @@ public: |
|
|
|
|
|
|
|
static constexpr bool lcd_clicked = false; |
|
|
|
static constexpr bool on_status_screen() { return true; } |
|
|
|
static inline void run_current_screen() { status_screen(); } |
|
|
|
FORCE_INLINE static void run_current_screen() { status_screen(); } |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
@ -564,22 +570,27 @@ public: |
|
|
|
|
|
|
|
#if EITHER(REVERSE_MENU_DIRECTION, REVERSE_SELECT_DIRECTION) |
|
|
|
static int8_t encoderDirection; |
|
|
|
static inline void encoder_direction_normal() { encoderDirection = ENCODERBASE; } |
|
|
|
#else |
|
|
|
static constexpr int8_t encoderDirection = ENCODERBASE; |
|
|
|
static inline void encoder_direction_normal() {} |
|
|
|
#endif |
|
|
|
|
|
|
|
#if ENABLED(REVERSE_MENU_DIRECTION) |
|
|
|
static inline void encoder_direction_menus() { encoderDirection = -(ENCODERBASE); } |
|
|
|
#else |
|
|
|
static inline void encoder_direction_menus() {} |
|
|
|
#endif |
|
|
|
#if ENABLED(REVERSE_SELECT_DIRECTION) |
|
|
|
static inline void encoder_direction_select() { encoderDirection = -(ENCODERBASE); } |
|
|
|
#else |
|
|
|
static inline void encoder_direction_select() {} |
|
|
|
#endif |
|
|
|
FORCE_INLINE static void encoder_direction_normal() { |
|
|
|
#if EITHER(REVERSE_MENU_DIRECTION, REVERSE_SELECT_DIRECTION) |
|
|
|
encoderDirection = ENCODERBASE; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
FORCE_INLINE static void encoder_direction_menus() { |
|
|
|
#if ENABLED(REVERSE_MENU_DIRECTION) |
|
|
|
encoderDirection = -(ENCODERBASE); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
FORCE_INLINE static void encoder_direction_select() { |
|
|
|
#if ENABLED(REVERSE_SELECT_DIRECTION) |
|
|
|
encoderDirection = -(ENCODERBASE); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|