Estimate Remaining Time (graphical display) (#15497)

This commit is contained in:
LinFor
2019-10-11 05:03:33 +03:00
committed by Scott Lahteine
parent 5641adb01b
commit b20d5a7cc6
118 changed files with 747 additions and 103 deletions

View File

@@ -288,15 +288,28 @@ public:
static void resume_print();
#if HAS_PRINT_PROGRESS
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
static uint8_t progress_override;
static void set_progress(const uint8_t progress) { progress_override = _MIN(progress, 100); }
static void set_progress_done() { set_progress(0x80 + 100); }
static void progress_reset() { if (progress_override & 0x80) set_progress(0); }
#if HAS_PRINT_PROGRESS_PERMYRIAD
typedef uint16_t progress_t;
#define PROGRESS_SCALE 100U
#define PROGRESS_MASK 0x7FFF
#else
typedef uint8_t progress_t;
#define PROGRESS_SCALE 1U
#define PROGRESS_MASK 0x7F
#endif
static uint8_t get_progress();
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
static progress_t progress_override;
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); }
#endif
static progress_t _get_progress();
#if HAS_PRINT_PROGRESS_PERMYRIAD
static uint16_t get_progress_permyriad() { return _get_progress(); }
#endif
static uint8_t get_progress_percent() { return uint8_t(_get_progress() / (PROGRESS_SCALE)); }
#else
static constexpr uint8_t get_progress() { return 0; }
static constexpr uint8_t get_progress_percent() { return 0; }
#endif
#if HAS_SPI_LCD