diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h index 0c769a3e0e..c9c4cb850e 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h @@ -93,7 +93,7 @@ //#define SHOW_CUSTOM_BOOTSCREEN // Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. -//#define CUSTOM_STATUS_SCREEN_IMAGE +#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine @@ -428,7 +428,7 @@ // This option prevents a single extrusion longer than EXTRUDE_MAXLENGTH. // Note that for Bowden Extruders a too-small value here may prevent loading. #define PREVENT_LENGTHY_EXTRUDE -#define EXTRUDE_MAXLENGTH 200 +#define EXTRUDE_MAXLENGTH 435 //=========================================================================== //======================== Thermal Runaway Protection ======================= diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h index 81d4b597b0..8a296a3eb4 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h @@ -392,7 +392,7 @@ // @section lcd #if ENABLED(ULTIPANEL) - #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // Feedrates for manual moves along X, Y, Z, E from panel + #define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 1*60} // Feedrates (mm/m) for manual moves along X, Y, Z, E from panel #define ULTIPANEL_FEEDMULTIPLY // Comment to disable setting feedrate multiplier via encoder #endif @@ -891,25 +891,25 @@ #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. #define PAUSE_PARK_RETRACT_LENGTH 4 // (mm) Initial retract. // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 41 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 430 // (mm) The length of filament for a complete unload. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. // Set to 0 for manual unloading. - #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. - #define FILAMENT_CHANGE_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + #define FILAMENT_CHANGE_LOAD_FEEDRATE 41 // (mm/s) Load filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_LOAD_LENGTH 430 // (mm) Load length of filament, from extruder gear to nozzle. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. #define ADVANCED_PAUSE_EXTRUDE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. - #define ADVANCED_PAUSE_EXTRUDE_LENGTH 50 // (mm) Length to extrude after loading. + #define ADVANCED_PAUSE_EXTRUDE_LENGTH 20 // (mm) Length to extrude after loading. // Set to 0 for manual extrusion. // Filament can be extruded repeatedly from the Filament Change menu // until extrusion is consistent, and to purge old filament. // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_RETRACT_LENGTH 2 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_RETRACT_LENGTH 4 // (mm) Unload initial retract length. #define FILAMENT_UNLOAD_DELAY 5000 // (ms) Delay for the filament to cool after retract. - #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. + #define FILAMENT_UNLOAD_PURGE_LENGTH 0 // (mm) An unretract is done, then this length is purged. #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. #define FILAMENT_CHANGE_ALERT_BEEPS 6 // Number of alert beeps to play when a response is needed. diff --git a/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h b/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h new file mode 100644 index 0000000000..c785ca632b --- /dev/null +++ b/Marlin/src/config/examples/Creality/CR-10S/_Statusscreen.h @@ -0,0 +1,112 @@ +#ifndef _STATUSSCREEN_H_ +#define _STATUSSCREEN_H_ + +#define STATUS_SCREENWIDTH 128 // Width in pixels + +#define STATUS_SCREEN_X 0 +#define STATUS_SCREEN_HOTEND_TEXT_X(E) (38 + (E) * 20) +#define STATUS_SCREEN_FAN_TEXT_X 103 + +#include "MarlinConfig.h" + +#if HOTENDS < 2 + + const unsigned char status_screen0_bmp[] PROGMEM = { + //-----"CR-10S 300"-----|-nozzle--|---------|-----bed------|----|-----fan------| + 0x3D,0xF0,0x02,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x44,0x88,0x06,0x45,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x80,0x88,0x02,0x45,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x87,0x30, + 0x80,0xF0,0x02,0x44,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x87,0x90, + 0x80,0xA3,0xF2,0x44,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x03,0xD0, + 0x44,0x88,0x02,0x45,0x10,0x1F,0xE0,0x00,0x00,0x08,0x20,0x80,0x00,0x20,0x30,0x10, + 0x39,0xCC,0x07,0x39,0xE0,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x20,0x78,0x10, + 0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x20,0x78,0x10, + 0x00,0x38,0x70,0xE0,0x00,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x20,0x30,0x10, + 0x00,0x44,0x89,0x10,0x00,0x1F,0xE0,0x00,0x00,0x10,0x41,0x00,0x00,0x2F,0x03,0xD0, + 0x00,0x04,0x89,0x10,0x00,0x1F,0xE0,0x00,0x00,0x20,0x82,0x00,0x00,0x2F,0x87,0xD0, + 0x00,0x18,0x89,0x10,0x00,0x3F,0xF0,0x00,0x00,0x20,0x82,0x00,0x00,0x2F,0x87,0xD0, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x27,0x87,0x90, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x33,0x87,0x30, + 0x00,0x04,0x89,0x10,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x44,0x89,0x10,0x00,0x07,0x80,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,0xF0, + 0x00,0x38,0x70,0xE0,0x00,0x03,0x00,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + //-----"CR-10S 300"-----|-nozzle--|---------|-----bed------|----|-----fan------| + 0x3D,0xF0,0x02,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x44,0x88,0x06,0x45,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x80,0x88,0x02,0x45,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xFC,0x30, + 0x80,0xF0,0x02,0x44,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xFC,0x10, + 0x80,0xA3,0xF2,0x44,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x78,0x10, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x10, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0xD0, + 0x44,0x88,0x02,0x45,0x10,0x1F,0xE0,0x00,0x00,0x08,0x20,0x80,0x00,0x2E,0x31,0xD0, + 0x39,0xCC,0x07,0x39,0xE0,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x2F,0x7B,0xD0, + 0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x2F,0x7B,0xD0, + 0x00,0x38,0x70,0xE0,0x00,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x2E,0x31,0xD0, + 0x00,0x44,0x89,0x10,0x00,0x1F,0xE0,0x00,0x00,0x10,0x41,0x00,0x00,0x2C,0x00,0xD0, + 0x00,0x04,0x89,0x10,0x00,0x1F,0xE0,0x00,0x00,0x20,0x82,0x00,0x00,0x20,0x30,0x10, + 0x00,0x18,0x89,0x10,0x00,0x3F,0xF0,0x00,0x00,0x20,0x82,0x00,0x00,0x20,0x78,0x10, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x20,0xFC,0x10, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x30,0xFC,0x30, + 0x00,0x04,0x89,0x10,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x44,0x89,0x10,0x00,0x07,0x80,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,0xF0, + 0x00,0x38,0x70,0xE0,0x00,0x03,0x00,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00 + }; + + #define STATUS_SCREEN_BED_TEXT_X 73 + +#else // HOTENDS >= 2 + + const unsigned char status_screen0_bmp[] PROGMEM = { + //-----"CR-10S 300"------|nozzle|----|nozzle|----|-----bed-----|------fan------| + 0x3D,0xF0,0x02,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x44,0x88,0x06,0x45,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x80,0x88,0x02,0x45,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x87,0x30, + 0x80,0xF0,0x02,0x44,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x87,0x90, + 0x80,0xA3,0xF2,0x44,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x03,0xD0, + 0x44,0x88,0x02,0x45,0x10,0x1F,0xE0,0x01,0xFE,0x00,0x08,0x20,0x80,0x20,0x30,0x10, + 0x39,0xCC,0x07,0x39,0xE0,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x20,0x78,0x10, + 0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x20,0x78,0x10, + 0x00,0x38,0x70,0xE0,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x20,0x30,0x10, + 0x00,0x44,0x89,0x10,0x00,0x1F,0xE0,0x01,0xFE,0x00,0x10,0x41,0x00,0x2F,0x03,0xD0, + 0x00,0x04,0x89,0x10,0x00,0x1F,0xE0,0x01,0xFE,0x00,0x20,0x82,0x00,0x2F,0x87,0xD0, + 0x00,0x18,0x89,0x10,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x20,0x82,0x00,0x2F,0x87,0xD0, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x10,0x41,0x00,0x27,0x87,0x90, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x33,0x87,0x30, + 0x00,0x04,0x89,0x10,0x00,0x0F,0xC0,0x00,0xFC,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x44,0x89,0x10,0x00,0x07,0x80,0x00,0x78,0x00,0xFF,0xFF,0xC0,0x3F,0xFF,0xF0, + 0x00,0x38,0x70,0xE0,0x00,0x03,0x00,0x00,0x30,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + //-----"CR-10S 300"------|nozzle|----|nozzle|----|-----bed-----|------fan------| + 0x3D,0xF0,0x02,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x44,0x88,0x06,0x45,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x80,0x88,0x02,0x45,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xFC,0x30, + 0x80,0xF0,0x02,0x44,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xFC,0x10, + 0x80,0xA3,0xF2,0x44,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x78,0x10, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x10, + 0x80,0x90,0x02,0x44,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0xD0, + 0x44,0x88,0x02,0x45,0x10,0x1F,0xE0,0x01,0xFE,0x00,0x08,0x20,0x80,0x2E,0x31,0xD0, + 0x39,0xCC,0x07,0x39,0xE0,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x2F,0x7B,0xD0, + 0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x2F,0x7B,0xD0, + 0x00,0x38,0x70,0xE0,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x2E,0x31,0xD0, + 0x00,0x44,0x89,0x10,0x00,0x1F,0xE0,0x01,0xFE,0x00,0x10,0x41,0x00,0x2C,0x00,0xD0, + 0x00,0x04,0x89,0x10,0x00,0x1F,0xE0,0x01,0xFE,0x00,0x20,0x82,0x00,0x20,0x30,0x10, + 0x00,0x18,0x89,0x10,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x20,0x82,0x00,0x20,0x78,0x10, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x10,0x41,0x00,0x20,0xFC,0x10, + 0x00,0x04,0x89,0x10,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x30,0xFC,0x30, + 0x00,0x04,0x89,0x10,0x00,0x0F,0xC0,0x00,0xFC,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x44,0x89,0x10,0x00,0x07,0x80,0x00,0x78,0x00,0xFF,0xFF,0xC0,0x3F,0xFF,0xF0, + 0x00,0x38,0x70,0xE0,0x00,0x03,0x00,0x00,0x30,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00 + }; + + #define STATUS_SCREEN_BED_TEXT_X 81 + +#endif // HOTENDS >= 2 + +#endif // _STATUSSCREEN_H_ diff --git a/Marlin/src/config/examples/Creality/Ender/Configuration.h b/Marlin/src/config/examples/Creality/Ender/Configuration.h index d3047cc9b5..fd7ae2cabe 100644 --- a/Marlin/src/config/examples/Creality/Ender/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender/Configuration.h @@ -93,11 +93,7 @@ #define SHOW_CUSTOM_BOOTSCREEN // Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen. -//#define CUSTOM_STATUS_SCREEN_IMAGE - -// Set this to a file name (relative the ultralcd_impl_DOGM.h file) to read a -// customized status screen bitmap. -#define CUSTOM_STATUS_SCREEN_FILE "_Statusscreen.h" +#define CUSTOM_STATUS_SCREEN_IMAGE // @section machine diff --git a/Marlin/src/config/examples/Creality/Ender/_Statusscreen.h b/Marlin/src/config/examples/Creality/Ender/_Statusscreen.h index a5c769d62d..692cc7ceb4 100644 --- a/Marlin/src/config/examples/Creality/Ender/_Statusscreen.h +++ b/Marlin/src/config/examples/Creality/Ender/_Statusscreen.h @@ -1,54 +1,112 @@ -#ifndef STATUSSCREEN_H_ -#define STATUSSCREEN_H_ +#ifndef _STATUSSCREEN_H_ +#define _STATUSSCREEN_H_ #define STATUS_SCREENWIDTH 128 // Width in pixels -const unsigned char status_screen0_bmp[] PROGMEM = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x87,0x30, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x87,0x90, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, - 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x03,0xD0, - 0xFE,0x00,0x02,0x00,0x00,0x1F,0xE0,0x00,0x00,0x08,0x20,0x80,0x00,0x20,0x30,0x10, - 0x42,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x20,0x78,0x10, - 0x48,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x20,0x78,0x10, - 0x48,0xDC,0x3E,0x3C,0xEE,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x20,0x30,0x10, - 0x78,0x62,0x42,0x42,0x32,0x1F,0xE0,0x00,0x00,0x10,0x41,0x00,0x00,0x2F,0x03,0xD0, - 0x48,0x42,0x42,0x42,0x20,0x1F,0xE0,0x00,0x00,0x20,0x82,0x00,0x00,0x2F,0x87,0xD0, - 0x48,0x42,0x42,0x7E,0x20,0x3F,0xF0,0x00,0x00,0x20,0x82,0x00,0x00,0x2F,0x87,0xD0, - 0x40,0x42,0x42,0x40,0x20,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x27,0x87,0x90, - 0x42,0x42,0x46,0x42,0x20,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x33,0x87,0x30, - 0xFE,0xE7,0x3B,0x3C,0xF8,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, - 0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,0xF0, - 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00 -}; -const unsigned char status_screen1_bmp[] PROGMEM = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xFC,0x30, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xFC,0x10, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x78,0x10, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x10, - 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0xD0, - 0xFE,0x00,0x02,0x00,0x00,0x1F,0xE0,0x00,0x00,0x10,0x41,0x00,0x00,0x2E,0x31,0xD0, - 0x42,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x2F,0x7B,0xD0, - 0x48,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x2F,0x7B,0xD0, - 0x48,0xDC,0x3E,0x3C,0xEE,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x2E,0x31,0xD0, - 0x78,0x62,0x42,0x42,0x32,0x1F,0xE0,0x00,0x00,0x20,0x82,0x00,0x00,0x2C,0x00,0xD0, - 0x48,0x42,0x42,0x42,0x20,0x1F,0xE0,0x00,0x00,0x41,0x04,0x00,0x00,0x20,0x30,0x10, - 0x48,0x42,0x42,0x7E,0x20,0x3F,0xF0,0x00,0x00,0x41,0x04,0x00,0x00,0x20,0x78,0x10, - 0x40,0x42,0x42,0x40,0x20,0x3F,0xF0,0x00,0x00,0x20,0x82,0x00,0x00,0x20,0xFC,0x10, - 0x42,0x42,0x46,0x42,0x20,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x30,0xFC,0x30, - 0xFE,0xE7,0x3B,0x3C,0xF8,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, - 0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,0xF0, - 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00 -}; - #define STATUS_SCREEN_X 0 -#define STATUS_SCREEN_HOTEND_TEXT_X(i) (39 + (i) * 25) -#define STATUS_SCREEN_BED_TEXT_X 72 +#define STATUS_SCREEN_HOTEND_TEXT_X(E) (38 + (E) * 20) #define STATUS_SCREEN_FAN_TEXT_X 103 -#endif // STATUSSCREEN_H_ +#include "MarlinConfig.h" + +#if HOTENDS < 2 + + const unsigned char status_screen0_bmp[] PROGMEM = { + //-------"ender"--------|-nozzle--|---------|-----bed------|----|-----fan------| + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x87,0x30, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x87,0x90, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x03,0xD0, + 0xFE,0x00,0x02,0x00,0x00,0x1F,0xE0,0x00,0x00,0x08,0x20,0x80,0x00,0x20,0x30,0x10, + 0x42,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x20,0x78,0x10, + 0x48,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x20,0x78,0x10, + 0x48,0xDC,0x3E,0x3C,0xEE,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x20,0x30,0x10, + 0x78,0x62,0x42,0x42,0x32,0x1F,0xE0,0x00,0x00,0x10,0x41,0x00,0x00,0x2F,0x03,0xD0, + 0x48,0x42,0x42,0x42,0x20,0x1F,0xE0,0x00,0x00,0x20,0x82,0x00,0x00,0x2F,0x87,0xD0, + 0x48,0x42,0x42,0x7E,0x20,0x3F,0xF0,0x00,0x00,0x20,0x82,0x00,0x00,0x2F,0x87,0xD0, + 0x40,0x42,0x42,0x40,0x20,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x27,0x87,0x90, + 0x42,0x42,0x46,0x42,0x20,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x33,0x87,0x30, + 0xFE,0xE7,0x3B,0x3C,0xF8,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + //-------"ender"--------|-nozzle--|---------|-----bed------|----|-----fan------| + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xFC,0x30, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xFC,0x10, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x78,0x10, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x10, + 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0xD0, + 0xFE,0x00,0x02,0x00,0x00,0x1F,0xE0,0x00,0x00,0x08,0x20,0x80,0x00,0x2E,0x31,0xD0, + 0x42,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x2F,0x7B,0xD0, + 0x48,0x00,0x02,0x00,0x00,0x3F,0xF0,0x00,0x00,0x04,0x10,0x40,0x00,0x2F,0x7B,0xD0, + 0x48,0xDC,0x3E,0x3C,0xEE,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x2E,0x31,0xD0, + 0x78,0x62,0x42,0x42,0x32,0x1F,0xE0,0x00,0x00,0x10,0x41,0x00,0x00,0x2C,0x00,0xD0, + 0x48,0x42,0x42,0x42,0x20,0x1F,0xE0,0x00,0x00,0x20,0x82,0x00,0x00,0x20,0x30,0x10, + 0x48,0x42,0x42,0x7E,0x20,0x3F,0xF0,0x00,0x00,0x20,0x82,0x00,0x00,0x20,0x78,0x10, + 0x40,0x42,0x42,0x40,0x20,0x3F,0xF0,0x00,0x00,0x10,0x41,0x00,0x00,0x20,0xFC,0x10, + 0x42,0x42,0x46,0x42,0x20,0x3F,0xF0,0x00,0x00,0x08,0x20,0x80,0x00,0x30,0xFC,0x30, + 0xFE,0xE7,0x3B,0x3C,0xF8,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00 + }; + + #define STATUS_SCREEN_BED_TEXT_X 73 + +#else // HOTENDS >= 2 + + const unsigned char status_screen0_bmp[] PROGMEM = { + //-------"ender"---------|nozzle|----|nozzle|----|-----bed-----|------fan------| + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x87,0x30, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x87,0x90, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x87,0xD0, + 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x03,0xD0, + 0xFE,0x00,0x02,0x00,0x00,0x1F,0xE0,0x01,0xFE,0x00,0x08,0x20,0x80,0x20,0x30,0x10, + 0x42,0x00,0x02,0x00,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x20,0x78,0x10, + 0x48,0x00,0x02,0x00,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x20,0x78,0x10, + 0x48,0xDC,0x3E,0x3C,0xEE,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x20,0x30,0x10, + 0x78,0x62,0x42,0x42,0x32,0x1F,0xE0,0x01,0xFE,0x00,0x10,0x41,0x00,0x2F,0x03,0xD0, + 0x48,0x42,0x42,0x42,0x20,0x1F,0xE0,0x01,0xFE,0x00,0x20,0x82,0x00,0x2F,0x87,0xD0, + 0x48,0x42,0x42,0x7E,0x20,0x3F,0xF0,0x03,0xFF,0x00,0x20,0x82,0x00,0x2F,0x87,0xD0, + 0x40,0x42,0x42,0x40,0x20,0x3F,0xF0,0x03,0xFF,0x00,0x10,0x41,0x00,0x27,0x87,0x90, + 0x42,0x42,0x46,0x42,0x20,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x33,0x87,0x30, + 0xFE,0xE7,0x3B,0x3C,0xF8,0x0F,0xC0,0x00,0xFC,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x78,0x00,0xFF,0xFF,0xC0,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x30,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00 + }; + const unsigned char status_screen1_bmp[] PROGMEM = { + //-------"ender"---------|nozzle|----|nozzle|----|-----bed-----|------fan------| + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xFC,0x30, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xFC,0x10, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x78,0x10, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x10, + 0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0xD0, + 0xFE,0x00,0x02,0x00,0x00,0x1F,0xE0,0x01,0xFE,0x00,0x08,0x20,0x80,0x2E,0x31,0xD0, + 0x42,0x00,0x02,0x00,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x2F,0x7B,0xD0, + 0x48,0x00,0x02,0x00,0x00,0x3F,0xF0,0x03,0xFF,0x00,0x04,0x10,0x40,0x2F,0x7B,0xD0, + 0x48,0xDC,0x3E,0x3C,0xEE,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x2E,0x31,0xD0, + 0x78,0x62,0x42,0x42,0x32,0x1F,0xE0,0x01,0xFE,0x00,0x10,0x41,0x00,0x2C,0x00,0xD0, + 0x48,0x42,0x42,0x42,0x20,0x1F,0xE0,0x01,0xFE,0x00,0x20,0x82,0x00,0x20,0x30,0x10, + 0x48,0x42,0x42,0x7E,0x20,0x3F,0xF0,0x03,0xFF,0x00,0x20,0x82,0x00,0x20,0x78,0x10, + 0x40,0x42,0x42,0x40,0x20,0x3F,0xF0,0x03,0xFF,0x00,0x10,0x41,0x00,0x20,0xFC,0x10, + 0x42,0x42,0x46,0x42,0x20,0x3F,0xF0,0x03,0xFF,0x00,0x08,0x20,0x80,0x30,0xFC,0x30, + 0xFE,0xE7,0x3B,0x3C,0xF8,0x0F,0xC0,0x00,0xFC,0x00,0x00,0x00,0x00,0x38,0x00,0x70, + 0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x78,0x00,0xFF,0xFF,0xC0,0x3F,0xFF,0xF0, + 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x30,0x00,0xFF,0xFF,0xC0,0x00,0x00,0x00 + }; + + #define STATUS_SCREEN_BED_TEXT_X 81 + +#endif // HOTENDS >= 2 + +#endif // _STATUSSCREEN_H_ diff --git a/Marlin/src/lcd/ultralcd_impl_DOGM.h b/Marlin/src/lcd/ultralcd_impl_DOGM.h index d3994b53b4..4b94ed42d0 100644 --- a/Marlin/src/lcd/ultralcd_impl_DOGM.h +++ b/Marlin/src/lcd/ultralcd_impl_DOGM.h @@ -394,6 +394,10 @@ FORCE_INLINE void _draw_centered_temp(const int16_t temp, const uint8_t x, const lcd_printPGM(PSTR(LCD_STR_DEGREE " ")); } +#ifndef HEAT_INDICATOR_X + #define HEAT_INDICATOR_X 8 +#endif + FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, const bool blink) { #if !HEATER_IDLE_HANDLER UNUSED(blink); @@ -423,7 +427,7 @@ FORCE_INLINE void _draw_heater_status(const uint8_t x, const int8_t heater, cons _draw_centered_temp((isBed ? thermalManager.degBed() : thermalManager.degHotend(heater)) + 0.5, x, 28); if (PAGE_CONTAINS(17, 20)) { - const uint8_t h = isBed ? 7 : 8, + const uint8_t h = isBed ? 7 : HEAT_INDICATOR_X, y = isBed ? 18 : 17; if (isBed ? thermalManager.isHeatingBed() : thermalManager.isHeatingHotend(heater)) { u8g.setColorIndex(0); // white on black