Heated Chamber for Graphical LCD (#14190)

This commit is contained in:
InsanityAutomation
2019-05-30 19:31:50 -04:00
committed by Scott Lahteine
parent 93ab16c6e4
commit 123e58d9c3
79 changed files with 228 additions and 2 deletions

View File

@@ -659,6 +659,63 @@
#endif // !STATUS_BED_WIDTH && !STATUS_COMBINE_HEATERS && HAS_HEATED_BED && HOTENDS < 4
#if HAS_HEATED_CHAMBER
#define STATUS_CHAMBER_WIDTH 16
#ifdef STATUS_CHAMBER_ANIM
const unsigned char status_chamber_bmp[] PROGMEM = {
B11111111,B11111111,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B10000000,B00000001,
B11111111,B11111111,
B11111111,B11111111
};
const unsigned char status_chamber_on_bmp[] PROGMEM = {
B11111111,B11111111,
B10000000,B00000001,
B10000100,B00100001,
B10000010,B00010001,
B10000010,B00010001,
B10000100,B00100001,
B10001000,B01000001,
B10001000,B01000001,
B10000100,B00100001,
B10000000,B00000001,
B11111111,B11111111,
B11111111,B11111111
};
#else
const unsigned char status_chamber_bmp[] PROGMEM = {
B11111111,B11111111,
B10000000,B00000001,
B10000100,B00100001,
B10000010,B00010001,
B10000010,B00010001,
B10000100,B00100001,
B10001000,B01000001,
B10001000,B01000001,
B10000100,B00100001,
B10000000,B00000001,
B11111111,B11111111,
B11111111,B11111111
};
#endif
#endif // HAS_HEATED_CHAMBER
// Can also be overridden in Configuration.h
// If you can afford it, try the 3-frame fan animation!
// Don't compile in the fan animation with no fan
@@ -1302,6 +1359,50 @@
#endif
//
// Chamber Bitmap Properties
//
#ifndef STATUS_CHAMBER_WIDTH
#define STATUS_CHAMBER_WIDTH 0
#endif
#ifndef STATUS_CHAMBER_BYTEWIDTH
#define STATUS_CHAMBER_BYTEWIDTH BW(STATUS_CHAMBER_WIDTH)
#endif
#if STATUS_CHAMBER_WIDTH && !STATUS_HEATERS_WIDTH
#ifndef STATUS_CHAMBER_X
#define STATUS_CHAMBER_X (128 - (STATUS_FAN_BYTEWIDTH + STATUS_CHAMBER_BYTEWIDTH) * 8)
#endif
#ifndef STATUS_CHAMBER_HEIGHT
#ifdef STATUS_CHAMBER_ANIM
#define STATUS_CHAMBER_HEIGHT(S) ((S) ? sizeof(status_chamber_on_bmp) / (STATUS_CHAMBER_BYTEWIDTH) : sizeof(status_chamber_bmp) / (STATUS_CHAMBER_BYTEWIDTH))
#else
#define STATUS_CHAMBER_HEIGHT(S) (sizeof(status_chamber_bmp) / (STATUS_CHAMBER_BYTEWIDTH))
#endif
#endif
#ifndef STATUS_CHAMBER_Y
#define STATUS_CHAMBER_Y(S) (20 - STATUS_CHAMBER_HEIGHT(S))
#endif
#ifndef STATUS_CHAMBER_TEXT_X
#define STATUS_CHAMBER_TEXT_X (STATUS_CHAMBER_X + 7)
#endif
static_assert(
sizeof(status_chamber_bmp) == (STATUS_CHAMBER_BYTEWIDTH) * (STATUS_CHAMBER_HEIGHT(0)),
"Status chamber bitmap (status_chamber_bmp) dimensions don't match data."
);
#ifdef STATUS_CHAMBER_ANIM
static_assert(
sizeof(status_chamber_on_bmp) == (STATUS_CHAMBER_BYTEWIDTH) * (STATUS_CHAMBER_HEIGHT(1)),
"Status chamber bitmap (status_chamber_on_bmp) dimensions don't match data."
);
#endif
#endif
//
// Bed Bitmap Properties
//
@@ -1314,7 +1415,7 @@
#if STATUS_BED_WIDTH && !STATUS_HEATERS_WIDTH
#ifndef STATUS_BED_X
#define STATUS_BED_X (128 - (STATUS_FAN_BYTEWIDTH + STATUS_BED_BYTEWIDTH) * 8)
#define STATUS_BED_X (128 - (STATUS_CHAMBER_BYTEWIDTH + STATUS_FAN_BYTEWIDTH + STATUS_BED_BYTEWIDTH) * 8)
#endif
#ifndef STATUS_BED_HEIGHT