Add heating progress bars (#12543)

This commit is contained in:
Scott Lahteine
2018-11-27 21:15:52 -06:00
committed by GitHub
parent 929a513a6b
commit 4f9ec9ab45
66 changed files with 315 additions and 239 deletions

View File

@@ -31,6 +31,8 @@
#include "../../inc/MarlinConfig.h"
#define BW(N) ((N + 7) / 8)
#if ENABLED(CUSTOM_STATUS_SCREEN_IMAGE)
/**
@@ -49,13 +51,18 @@
#endif
#if ENABLED(STATUS_COMBINE_HEATERS)
#undef STATUS_HOTEND_ANIM
#undef STATUS_BED_ANIM
#endif
//
// Default Status Screen Heater or Hotends bitmaps
//
#if !STATUS_HEATERS_WIDTH && !STATUS_HOTEND1_WIDTH
#ifdef STATUS_COMBINE_HEATERS
#if ENABLED(STATUS_COMBINE_HEATERS)
//
// Status Screen Combined Heater bitmaps
@@ -67,6 +74,8 @@
#if HAS_HEATED_BED && HOTENDS <= 3
#define STATUS_BED_WIDTH 18
#if HOTENDS == 0
#define STATUS_HEATERS_WIDTH 18
@@ -89,6 +98,7 @@
#elif HOTENDS == 1
#define STATUS_HEATERS_WIDTH 90
#define STATUS_BED_X 80
const unsigned char status_heaters_bmp[] PROGMEM = {
B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B10000010,B00000000,
@@ -237,7 +247,7 @@
#define STATUS_HOTEND1_WIDTH 12
#if HOTENDS == 1 || defined(STATUS_HOTEND_NUMBERLESS)
#if HOTENDS == 1 || ENABLED(STATUS_HOTEND_NUMBERLESS)
const unsigned char status_hotend_a_bmp[] PROGMEM = {
B00011111,B11100000,
@@ -563,9 +573,9 @@
// Default Status Screen Bed bitmaps
//
#if !STATUS_BED_WIDTH && !defined(STATUS_COMBINE_HEATERS) && HAS_HEATED_BED && HOTENDS < 4
#if !STATUS_BED_WIDTH && DISABLED(STATUS_COMBINE_HEATERS) && HAS_HEATED_BED && HOTENDS < 4
#ifdef STATUS_ALT_BED_BITMAP
#if ENABLED(STATUS_ALT_BED_BITMAP)
#define STATUS_BED_ANIM
#define STATUS_BED_WIDTH 24
@@ -886,7 +896,7 @@
#define STATUS_LOGO_WIDTH 0
#endif
#ifndef STATUS_LOGO_BYTEWIDTH
#define STATUS_LOGO_BYTEWIDTH ((STATUS_LOGO_WIDTH + 7) / 8)
#define STATUS_LOGO_BYTEWIDTH BW(STATUS_LOGO_WIDTH)
#endif
#if STATUS_LOGO_WIDTH
#ifndef STATUS_LOGO_X
@@ -953,22 +963,22 @@
#define STATUS_HOTEND_WIDTH(N) status_hotend_width[N]
#ifndef STATUS_HOTEND1_BYTEWIDTH
#define STATUS_HOTEND1_BYTEWIDTH ((STATUS_HOTEND1_WIDTH + 7) / 8)
#define STATUS_HOTEND1_BYTEWIDTH BW(STATUS_HOTEND1_WIDTH)
#endif
#ifndef STATUS_HOTEND2_BYTEWIDTH
#define STATUS_HOTEND2_BYTEWIDTH ((STATUS_HOTEND2_WIDTH + 7) / 8)
#define STATUS_HOTEND2_BYTEWIDTH BW(STATUS_HOTEND2_WIDTH)
#endif
#ifndef STATUS_HOTEND3_BYTEWIDTH
#define STATUS_HOTEND3_BYTEWIDTH ((STATUS_HOTEND3_WIDTH + 7) / 8)
#define STATUS_HOTEND3_BYTEWIDTH BW(STATUS_HOTEND3_WIDTH)
#endif
#ifndef STATUS_HOTEND4_BYTEWIDTH
#define STATUS_HOTEND4_BYTEWIDTH ((STATUS_HOTEND4_WIDTH + 7) / 8)
#define STATUS_HOTEND4_BYTEWIDTH BW(STATUS_HOTEND4_WIDTH)
#endif
#ifndef STATUS_HOTEND5_BYTEWIDTH
#define STATUS_HOTEND5_BYTEWIDTH ((STATUS_HOTEND5_WIDTH + 7) / 8)
#define STATUS_HOTEND5_BYTEWIDTH BW(STATUS_HOTEND5_WIDTH)
#endif
#ifndef STATUS_HOTEND6_BYTEWIDTH
#define STATUS_HOTEND6_BYTEWIDTH ((STATUS_HOTEND6_WIDTH + 7) / 8)
#define STATUS_HOTEND6_BYTEWIDTH BW(STATUS_HOTEND6_WIDTH)
#endif
constexpr uint8_t status_hotend_bytewidth[HOTENDS] = ARRAY_N(HOTENDS, STATUS_HOTEND1_BYTEWIDTH, STATUS_HOTEND2_BYTEWIDTH, STATUS_HOTEND3_BYTEWIDTH, STATUS_HOTEND4_BYTEWIDTH, STATUS_HOTEND5_BYTEWIDTH, STATUS_HOTEND6_BYTEWIDTH);
@@ -1054,11 +1064,20 @@
#elif STATUS_HEATERS_WIDTH
#ifndef STATUS_HEATERS_XSPACE
#define STATUS_HEATERS_XSPACE 24
#endif
#ifndef STATUS_HOTEND_WIDTH
#define STATUS_HOTEND_WIDTH(N) 10
#endif
#ifndef STATUS_HOTEND_X
#define STATUS_HOTEND_X(N) (STATUS_HEATERS_X + 2 + (N) * (STATUS_HEATERS_XSPACE))
#endif
#ifndef STATUS_HOTEND_TEXT_X
#define STATUS_HOTEND_TEXT_X(N) (STATUS_HEATERS_X + 6 + (N) * (STATUS_HEATERS_XSPACE))
#endif
#ifndef STATUS_HEATERS_BYTEWIDTH
#define STATUS_HEATERS_BYTEWIDTH ((STATUS_HEATERS_WIDTH + 7) / 8)
#define STATUS_HEATERS_BYTEWIDTH BW(STATUS_HEATERS_WIDTH)
#endif
#ifndef STATUS_HEATERS_HEIGHT
#define STATUS_HEATERS_HEIGHT (sizeof(status_heaters_bmp) / (STATUS_HEATERS_BYTEWIDTH))
@@ -1081,9 +1100,9 @@
#define STATUS_BED_WIDTH 0
#endif
#ifndef STATUS_BED_BYTEWIDTH
#define STATUS_BED_BYTEWIDTH ((STATUS_BED_WIDTH + 7) / 8)
#define STATUS_BED_BYTEWIDTH BW(STATUS_BED_WIDTH)
#endif
#if STATUS_BED_WIDTH
#if STATUS_BED_WIDTH && !STATUS_HEATERS_WIDTH
#ifndef STATUS_BED_X
#define STATUS_BED_X (128 - (STATUS_FAN_BYTEWIDTH + STATUS_BED_BYTEWIDTH) * 8)
@@ -1125,7 +1144,7 @@
#define STATUS_FAN_WIDTH 0
#endif
#ifndef STATUS_FAN_BYTEWIDTH
#define STATUS_FAN_BYTEWIDTH ((STATUS_FAN_WIDTH + 7) / 8)
#define STATUS_FAN_BYTEWIDTH BW(STATUS_FAN_WIDTH)
#endif
#if STATUS_FAN_FRAMES
#ifndef STATUS_FAN_X