This commit is contained in:
Andrew 2024-11-25 00:32:09 -05:00 committed by GitHub
commit 1a5806b935
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 62 additions and 63 deletions

View File

@ -163,10 +163,11 @@
* M123 - Report fan tachometers. (Requires En_FAN_TACHO_PIN) Optionally set auto-report interval. (Requires AUTO_REPORT_FANS)
* M125 - Save current position and move to filament change position. (Requires PARK_HEAD_ON_PAUSE)
*
* M126 - Solenoid Air Valve Open. (Requires BARICUDA)
* M127 - Solenoid Air Valve Closed. (Requires BARICUDA)
* M128 - EtoP Open. (Requires BARICUDA)
* M129 - EtoP Closed. (Requires BARICUDA)
*** BARICUDA ***
* M126 - Solenoid Air Valve Open.
* M127 - Solenoid Air Valve Closed.
* M128 - EtoP Open.
* M129 - EtoP Closed.
*
* M140 - Set bed target temp. S<temp>
* M141 - Set heated chamber target temp. S<temp> (Requires a chamber heater)

View File

@ -585,7 +585,7 @@
#endif
#endif
#if ANY(HAS_WIRED_LCD, EXTENSIBLE_UI, DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI)
#if ANY(HAS_WIRED_LCD, EXTENSIBLE_UI, HAS_DWIN_E3V2)
/**
* HAS_DISPLAY indicates the display uses these MarlinUI methods...
* - update
@ -605,10 +605,7 @@
* (calling advance_status_scroll, status_and_len for a scrolling status message)
*/
#define HAS_DISPLAY 1
#endif
#if ANY(HAS_DISPLAY, DWIN_CREALITY_LCD)
#define HAS_UI_UPDATE 1
#define HAS_STATUS_MESSAGE 1
#endif
#if HAS_WIRED_LCD && !HAS_GRAPHICAL_TFT && !IS_DWIN_MARLINUI
@ -619,10 +616,6 @@
#define HAS_UTF8_UTILS 1
#endif
#if ANY(HAS_DISPLAY, HAS_DWIN_E3V2)
#define HAS_STATUS_MESSAGE 1
#endif
#if IS_ULTIPANEL && DISABLED(NO_LCD_MENUS)
#define HAS_MARLINUI_MENU 1
#endif

View File

@ -128,6 +128,22 @@
#define ICON_Info_0 90
#define ICON_Info_1 91
// Extra Icons
#define ICON_Printer_0 93
#define ICON_Box 200
#define ICON_Checkbox 201
#define ICON_Fade 202
#define ICON_Mesh 203
#define ICON_Tilt 204
#define ICON_Brightness 205
#define ICON_Probe 206
#define ICON_AxisD 249
#define ICON_AxisBR 250
#define ICON_AxisTR 251
#define ICON_AxisBL 252
#define ICON_AxisTL 253
#define ICON_AxisC 254
#define ICON_Folder ICON_More
#define ICON_AdvSet ICON_Language
#define ICON_HomeOffset ICON_PrintSize

View File

@ -357,6 +357,10 @@ void clearPopupArea() {
dwinDrawRectangle(1, COLOR_BG_BLACK, 0, 31, DWIN_WIDTH, DWIN_HEIGHT);
}
void drawPopupBkgd60() {
dwinDrawRectangle(1, COLOR_BG_WINDOW, 14, 60, 258, 330);
}
void drawPopupBkgd105() {
dwinDrawRectangle(1, COLOR_BG_WINDOW, 14, 105, 258, 374);
}
@ -1083,10 +1087,6 @@ void drawMotionMenu() {
#endif
void drawPopupBkgd60() {
dwinDrawRectangle(1, COLOR_BG_WINDOW, 14, 60, 258, 330);
}
#if HAS_HOTEND
void popupWindowETempTooLow() {
@ -1118,7 +1118,7 @@ void popupWindowResume() {
else {
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 14) / 2, 115, F("Continue Print"));
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 22) / 2, 192, F("It looks like the last"));
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 22) / 2, 212, F("file was interrupted."));
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 21) / 2, 212, F("file was interrupted."));
dwinIconShow(ICON, ICON_Cancel_E, 26, 307);
dwinIconShow(ICON, ICON_Continue_E, 146, 307);
}
@ -1127,7 +1127,7 @@ void popupWindowResume() {
void popupWindowHome(const bool parking/*=false*/) {
clearMainWindow();
drawPopupBkgd60();
dwinIconShow(ICON, ICON_BLTouch, 101, 105);
dwinIconShow(ICON, ICON_Printer_0, 101, 105);
if (hmiIsChinese()) {
dwinFrameAreaCopy(1, 0, 371, 33, 386, 85, 240); // Wait for Move to Complete
dwinFrameAreaCopy(1, 203, 286, 271, 302, 118, 240);
@ -1150,7 +1150,7 @@ void popupWindowHome(const bool parking/*=false*/) {
dwinFrameAreaCopy(1, 0, 389, 150, 402, 61, 280);
}
else {
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 13) / 2, 230, GET_TEXT_F(MSG_BED_LEVELING));
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 12) / 2, 230, GET_TEXT_F(MSG_BED_LEVELING));
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 23) / 2, 260, F("Please wait until done."));
}
}
@ -1171,8 +1171,8 @@ void popupwindowPauseOrStop() {
clearMainWindow();
drawPopupBkgd60();
if (hmiIsChinese()) {
if (select_print.now == PRINT_PAUSE_RESUME) dwinFrameAreaCopy(1, 237, 338, 269, 356, 98, 150); // Pause
else if (select_print.now == PRINT_STOP) dwinFrameAreaCopy(1, 221, 320, 253, 336, 98, 150); // Stop
if (select_print.now == PRINT_PAUSE_RESUME) dwinFrameAreaCopy(1, 237, 338, 269, 356, 98, 150); // Pause
else if (select_print.now == PRINT_STOP) dwinFrameAreaCopy(1, 221, 320, 253, 336, 98, 150); // Stop
dwinFrameAreaCopy(1, 220, 304, 264, 319, 130, 150); // Print
dwinIconShow(ICON, ICON_Confirm_C, 26, 280);
dwinIconShow(ICON, ICON_Cancel_C, 146, 280);
@ -1828,6 +1828,14 @@ void MarlinUI::update() {
void MarlinUI::_set_brightness() { dwinLCDBrightness(backlight ? brightness : 0); }
#endif
void MarlinUI::kill_screen(FSTR_P const lcd_error, FSTR_P const) {
clearMainWindow();
drawPopupBkgd60();
dwinIconShow(ICON, ICON_Printer_0, 101, 105);
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 15) / 2, 230, GET_TEXT_F(MSG_PRINTER_KILLED));
dwinDrawString(true, font8x16, COLOR_POPUP_TEXT, COLOR_BG_WINDOW, (272 - 8 * 20) / 2, 260, GET_TEXT_F(MSG_TURN_OFF));
}
#if ENABLED(SCROLL_LONG_FILENAMES)
char shift_name[LONG_FILENAME_LENGTH + 1];

View File

@ -36,22 +36,6 @@
#include "../common/dwin_color.h"
#include "dwin_lcd.h"
// Extra Icons
#define ICON_Printer_0 93
#define ICON_Box 200
#define ICON_Checkbox 201
#define ICON_Fade 202
#define ICON_Mesh 203
#define ICON_Tilt 204
#define ICON_Brightness 205
#define ICON_Probe 206
#define ICON_AxisD 249
#define ICON_AxisBR 250
#define ICON_AxisTR 251
#define ICON_AxisBL 252
#define ICON_AxisTL 253
#define ICON_AxisC 254
#define ICON_BedSizeX ICON_PrintSize
#define ICON_BedSizeY ICON_PrintSize
#define ICON_BedTramming ICON_SetHome

View File

@ -205,23 +205,6 @@ public:
static void init();
#if HAS_DISPLAY || HAS_DWIN_E3V2
static void init_lcd();
// Erase the LCD contents. Do the lowest-level thing required to clear the LCD.
static void clear_lcd();
#else
static void init_lcd() {}
static void clear_lcd() {}
#endif
static void reinit_lcd() { TERN_(REINIT_NOISY_LCD, init_lcd()); }
#if HAS_WIRED_LCD
static bool detected();
#else
static bool detected() { return true; }
#endif
#if HAS_MULTI_LANGUAGE
static uint8_t language;
static void set_language(const uint8_t lang);
@ -499,8 +482,8 @@ public:
* @param cstr A C-string to set as the status.
*/
static void set_status_no_expire_P(PGM_P const pstr) { set_status_P(pstr, true); }
static void set_status_no_expire(const char * const cstr) { set_status(cstr, true); }
static void set_status_no_expire(FSTR_P const fstr) { set_status(fstr, true); }
static void set_status_no_expire(const char * const cstr) { set_status(cstr, true); }
static void set_status_no_expire(FSTR_P const fstr) { set_status(fstr, true); }
/**
* @brief Set a status with a format string and parameters.
@ -512,9 +495,6 @@ public:
template<typename... Args>
static void status_printf(int8_t level, FSTR_P const ffmt, Args... more) { status_printf_P(level, FTOP(ffmt), more...); }
// Periodic or as-needed display update
static void update() IF_DISABLED(HAS_UI_UPDATE, {});
// Tell the screen to redraw on the next call
FORCE_INLINE static void refresh() {
TERN_(HAS_WIRED_LCD, refresh(LCDVIEW_CLEAR_CALL_REDRAW));
@ -522,6 +502,14 @@ public:
#if HAS_DISPLAY
// Periodic or as-needed display update
static void update();
static void init_lcd();
// Erase the LCD contents. Do the lowest-level thing required to clear the LCD.
static void clear_lcd();
// Clear the LCD before new drawing. Some LCDs do nothing because they redraw frequently.
static void clear_for_drawing();
@ -635,11 +623,17 @@ public:
#else // No LCD
static void update() {}
static void init_lcd() {}
static void clear_lcd() {}
static void clear_for_drawing() {}
static void kill_screen(FSTR_P const, FSTR_P const) {}
#endif
static bool detected() IF_DISABLED(HAS_WIRED_LCD, { return true; });
static void reinit_lcd() { TERN_(REINIT_NOISY_LCD, init_lcd()); }
#if !HAS_WIRED_LCD
static void quick_feedback(const bool=true) {}
#endif

View File

@ -2149,9 +2149,12 @@ bool Planner::_populate_block(
#endif
#if ANY(CORE_IS_XY, MARKFORGED_XY, MARKFORGED_YX)
SECONDARY_AXIS_CODE(
if (block->steps.i) stepper.enable_axis(I_AXIS), if (block->steps.j) stepper.enable_axis(J_AXIS),
if (block->steps.k) stepper.enable_axis(K_AXIS), if (block->steps.u) stepper.enable_axis(U_AXIS),
if (block->steps.v) stepper.enable_axis(V_AXIS), if (block->steps.w) stepper.enable_axis(W_AXIS)
if (block->steps.i) stepper.enable_axis(I_AXIS),
if (block->steps.j) stepper.enable_axis(J_AXIS),
if (block->steps.k) stepper.enable_axis(K_AXIS),
if (block->steps.u) stepper.enable_axis(U_AXIS),
if (block->steps.v) stepper.enable_axis(V_AXIS),
if (block->steps.w) stepper.enable_axis(W_AXIS)
);
#endif