From 9b2d023b2f641fb4247e6f27888d1c44480e2256 Mon Sep 17 00:00:00 2001 From: Marcio Teixeira Date: Fri, 24 Apr 2020 09:49:19 -0600 Subject: [PATCH] Improvements to touch UI. --- Marlin/src/gcode/feature/pause/M125.cpp | 5 + .../ftdi_eve_touch_ui/language/language_en.h | 2 + .../lib/ftdi_eve_touch_ui/marlin_events.cpp | 9 +- .../screens/about_screen.cpp | 8 +- .../screens/advanced_settings_menu.cpp | 20 +++- .../screens/bed_mesh_screen.cpp | 23 ++-- .../confirm_start_print_dialog_box.cpp | 5 - .../lib/ftdi_eve_touch_ui/screens/screens.h | 1 - .../screens/status_screen.cpp | 13 ++- .../screens/temperature_screen.cpp | 2 +- .../ftdi_eve_touch_ui/screens/tune_menu.cpp | 110 +++++++----------- Marlin/src/lcd/language/language_en.h | 4 + config/default/Configuration.h | 3 + config/default/Configuration_DrunkenOctopus.h | 3 + config/examples/AlephObjects/build-config.py | 11 +- .../Gladiola_SingleExtruder/Configuration.h | 3 + .../Configuration.h | 3 + .../Tilapia_SingleExtruder/Configuration.h | 3 + .../Configuration.h | 3 + .../Tilapia_SingleExtruder/Configuration.h | 3 + .../Quiver_DualExtruder/Configuration.h | 3 + .../Configuration_summary.txt | 1 + .../Configuration.h | 3 + .../Configuration_summary.txt | 1 + 24 files changed, 146 insertions(+), 96 deletions(-) diff --git a/Marlin/src/gcode/feature/pause/M125.cpp b/Marlin/src/gcode/feature/pause/M125.cpp index 79ed6e785a86..b95420176deb 100644 --- a/Marlin/src/gcode/feature/pause/M125.cpp +++ b/Marlin/src/gcode/feature/pause/M125.cpp @@ -76,7 +76,11 @@ void GcodeSuite::M125() { #endif #if ENABLED(SDSUPPORT) + #if ENABLED(M125_FILAMENT_RUNOUT_WORKAROUND) + const bool sd_printing = card.isFileOpen(); + #else const bool sd_printing = IS_SD_PRINTING(); + #endif #else constexpr bool sd_printing = false; #endif @@ -100,3 +104,4 @@ void GcodeSuite::M125() { } #endif // PARK_HEAD_ON_PAUSE + diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h index ebd60aed31d5..f521a4010a93 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h @@ -147,6 +147,8 @@ namespace Language_en { PROGMEM Language_Str MSG_TOUCH_CALIBRATION_START = u8"Release to begin screen calibration"; PROGMEM Language_Str MSG_TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate"; PROGMEM Language_Str MSG_AUTOLEVEL_X_AXIS = u8"Level X Axis"; + PROGMEM Language_Str MSG_BED_MAPPING_DONE = u8"Bed mapping finished"; + PROGMEM Language_Str MSG_RESET_BLTOUCH = u8"Reset BLTouch"; #ifdef TOUCH_UI_LULZBOT_BIO PROGMEM Language_Str MSG_MOVE_TO_HOME = u8"Move to Home"; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp index 9271f2a0cda0..34346f91a114 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp @@ -51,9 +51,14 @@ namespace ExtUI { } void onMediaRemoved() { - if (AT_SCREEN(StatusScreen)) + if(isPrintingFromMedia()) { + stopPrint(); + InterfaceSoundsScreen::playEventSound(InterfaceSoundsScreen::PRINTING_FAILED); + } else { + sound.play(media_removed, PLAY_ASYNCHRONOUS); + } + if (AT_SCREEN(StatusScreen) || isPrintingFromMedia()) StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED)); - sound.play(media_removed, PLAY_ASYNCHRONOUS); if (AT_SCREEN(FilesScreen)) { GOTO_SCREEN(StatusScreen) } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp index 70acc09071e9..ffdd95a8bdf3 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp @@ -78,7 +78,13 @@ void AboutScreen::onRedraw(draw_mode_t) { #endif , OPT_CENTER, font_xlarge ); - draw_text_box(cmd, FW_VERS_POS, progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium); + draw_text_box(cmd, FW_VERS_POS, + #ifdef TOUCH_UI_VERSION + F(TOUCH_UI_VERSION) + #else + progmem_str(getFirmwareName_str()) + #endif + , OPT_CENTER, font_medium); draw_text_box(cmd, FW_INFO_POS, about_str, OPT_CENTER, font_medium); draw_text_box(cmd, INSET_POS(LICENSE_POS), GET_TEXT_F(MSG_LICENSE), OPT_CENTER, font_tiny); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp index 57137c5d4aa5..5634df1cf7e3 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp @@ -115,11 +115,17 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { ) .tag(14).button( TMC_HOMING_THRS_POS, GET_TEXT_F(MSG_TMC_HOMING_THRS)) .enabled( - #if HOTENDS > 1 + #if HOTENDS > 1 || ENABLED(BLTOUCH) 1 #endif ) - .tag(4) .button( OFFSETS_POS, GET_TEXT_F(MSG_OFFSETS_MENU)) + .tag(4) .button( OFFSETS_POS, GET_TEXT_F( + #if HOTENDS > 1 + MSG_OFFSETS_MENU + #else + MSG_RESET_BLTOUCH + #endif + )) .enabled( #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) 1 @@ -157,9 +163,13 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) { case 2: GOTO_SCREEN(ZOffsetScreen); break; #endif case 3: GOTO_SCREEN(StepsScreen); break; - #if HOTENDS > 1 - case 4: GOTO_SCREEN(NozzleOffsetScreen); break; - #endif + case 4: + #if HOTENDS > 1 + GOTO_SCREEN(NozzleOffsetScreen); + #elif ENABLED(BLTOUCH) + injectCommands_P(PSTR("M280 P0 S60")); + #endif + break; case 5: GOTO_SCREEN(MaxVelocityScreen); break; case 6: GOTO_SCREEN(DefaultAccelerationScreen); break; case 7: diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp index ff954204c07b..9e61a1c5bbe5 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp @@ -35,19 +35,19 @@ using namespace ExtUI; #define GRID_ROWS 10 #define MESH_POS BTN_POS(1, 2), BTN_SIZE(2,5) + #define MESSAGE_POS BTN_POS(1, 7), BTN_SIZE(2,1) #define Z_LABEL_POS BTN_POS(1, 8), BTN_SIZE(1,1) #define Z_VALUE_POS BTN_POS(2, 8), BTN_SIZE(1,1) - #define WAIT_POS BTN_POS(1, 8), BTN_SIZE(2,1) - #define BACK_POS BTN_POS(1,10), BTN_SIZE(2,1) + #define OKAY_POS BTN_POS(1,10), BTN_SIZE(2,1) #else #define GRID_COLS 5 #define GRID_ROWS 5 - #define MESH_POS BTN_POS(1,1), BTN_SIZE(3,5) - #define Z_LABEL_POS BTN_POS(4,2), BTN_SIZE(2,1) - #define Z_VALUE_POS BTN_POS(4,3), BTN_SIZE(2,1) - #define WAIT_POS BTN_POS(4,2), BTN_SIZE(2,2) - #define BACK_POS BTN_POS(4,5), BTN_SIZE(2,1) + #define MESH_POS BTN_POS(1,1), BTN_SIZE(3,5) + #define MESSAGE_POS BTN_POS(4,1), BTN_SIZE(2,1) + #define Z_LABEL_POS BTN_POS(4,2), BTN_SIZE(2,1) + #define Z_VALUE_POS BTN_POS(4,3), BTN_SIZE(2,1) + #define OKAY_POS BTN_POS(4,5), BTN_SIZE(2,1) #endif void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI::bed_mesh_t data, uint8_t opts, float autoscale_max) { @@ -238,7 +238,7 @@ void BedMeshScreen::drawHighlightedPointValue() { .text(Z_LABEL_POS, GET_TEXT_F(MSG_MESH_EDIT_Z)) .text(Z_VALUE_POS, str) .colors(action_btn) - .tag(1).button( BACK_POS, GET_TEXT_F(MSG_BACK)) + .tag(1).button( OKAY_POS, GET_TEXT_F(MSG_BUTTON_OKAY)) .tag(0); } @@ -261,7 +261,12 @@ void BedMeshScreen::onRedraw(draw_mode_t what) { constexpr float autoscale_max_amplitude = 0.03; const bool levelingFinished = screen_data.BedMeshScreen.count >= GRID_MAX_POINTS; const float levelingProgress = sq(float(screen_data.BedMeshScreen.count) / GRID_MAX_POINTS); - if (levelingFinished) drawHighlightedPointValue(); + if (levelingFinished) { + drawHighlightedPointValue(); + CommandProcessor cmd; + cmd.font(Theme::font_medium) + .text(MESSAGE_POS, GET_TEXT_F(MSG_BED_MAPPING_DONE)); + } BedMeshScreen::drawMesh(INSET_POS(MESH_POS), ExtUI::getMeshArray(), USE_POINTS | USE_HIGHLIGHT | USE_AUTOSCALE | (levelingFinished ? USE_COLORS : 0), diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_start_print_dialog_box.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_start_print_dialog_box.cpp index 5c691cb9a1d0..63ce83765eda 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_start_print_dialog_box.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_start_print_dialog_box.cpp @@ -31,11 +31,6 @@ using namespace FTDI; using namespace Theme; using namespace ExtUI; -void ConfirmStartPrintDialogBox::onEntry() { - BaseScreen::onEntry(); - sound.play(twinkle, PLAY_ASYNCHRONOUS); -} - void ConfirmStartPrintDialogBox::onRedraw(draw_mode_t) { const char *filename = getLongFilename(); char buffer[strlen_P(GET_TEXT(MSG_START_PRINT_CONFIRMATION)) + strlen(filename) + 1]; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h index 06f64d38cb67..2affc606a239 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h @@ -223,7 +223,6 @@ class ConfirmStartPrintDialogBox : public DialogBoxBaseClass, public UncachedScr static const char *getFilename(bool longName); public: - static void onEntry(); static void onRedraw(draw_mode_t); static bool onTouchEnd(uint8_t); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp index 816f6986f578..d806c88ef540 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp @@ -246,7 +246,7 @@ void StatusScreen::draw_progress(draw_mode_t what) { sprintf_P(progress_str, PSTR("%-3d %%"), getProgress_percent() ); cmd.font(font_medium) - .tag(0).text(TIME_POS, time_str) + .tag(7).text(TIME_POS, time_str) .text(PROGRESS_POS, progress_str); } } @@ -386,10 +386,19 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { break; case 5: GOTO_SCREEN(TemperatureScreen); break; case 6: - if (!isPrinting()) { + if (isPrinting()) { + #if ENABLED(BABYSTEPPING) + GOTO_SCREEN(NudgeNozzleScreen); + #elif HAS_BED_PROBE + GOTO_SCREEN(ZOffsetScreen); + #else + return false; + #endif + } else { GOTO_SCREEN(MoveAxisScreen); } break; + case 7: GOTO_SCREEN(FeedratePercentScreen); break; default: return true; } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/temperature_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/temperature_screen.cpp index 81cde5a34120..14eb6aae1459 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/temperature_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/temperature_screen.cpp @@ -35,7 +35,7 @@ void TemperatureScreen::onRedraw(draw_mode_t what) { #if TOUCH_UI_LCD_TEMP_SCALING == 10 w.precision(1) #else - w.precision(0) + w.precision(0, getTargetTemp_celsius(E0) == 0 ? DEFAULT_HIGHEST : DEFAULT_MIDRANGE) #endif .color(temp).units(GET_TEXT_F(MSG_UNITS_C)); w.heading(GET_TEXT_F(MSG_TEMPERATURE)); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp index 8b4f0942fb4a..5b7ce60e633e 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/tune_menu.cpp @@ -39,9 +39,25 @@ void TuneMenu::onRedraw(draw_mode_t what) { #ifdef TOUCH_UI_PORTRAIT #define GRID_ROWS 8 #define GRID_COLS 2 + #define TEMPERATURE_POS BTN_POS(1,1), BTN_SIZE(2,1) + #define FIL_CHANGE_POS BTN_POS(1,2), BTN_SIZE(2,1) + #define FILAMENT_POS BTN_POS(1,3), BTN_SIZE(2,1) + #define NUDGE_NOZ_POS BTN_POS(1,4), BTN_SIZE(2,1) + #define SPEED_POS BTN_POS(1,5), BTN_SIZE(2,1) + #define PAUSE_POS BTN_POS(1,6), BTN_SIZE(2,1) + #define STOP_POS BTN_POS(1,7), BTN_SIZE(2,1) + #define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1) #else #define GRID_ROWS 4 #define GRID_COLS 2 + #define TEMPERATURE_POS BTN_POS(1,1), BTN_SIZE(1,1) + #define NUDGE_NOZ_POS BTN_POS(2,1), BTN_SIZE(1,1) + #define FIL_CHANGE_POS BTN_POS(1,2), BTN_SIZE(1,1) + #define SPEED_POS BTN_POS(2,2), BTN_SIZE(1,1) + #define PAUSE_POS BTN_POS(1,3), BTN_SIZE(1,1) + #define STOP_POS BTN_POS(2,3), BTN_SIZE(1,1) + #define FILAMENT_POS BTN_POS(1,4), BTN_SIZE(1,1) + #defome BACK_POS BTN_POS(2,4), BTN_SIZE(1,1) #endif if (what & FOREGROUND) { @@ -50,81 +66,43 @@ void TuneMenu::onRedraw(draw_mode_t what) { CommandProcessor cmd; cmd.colors(normal_btn) .font(font_medium) - #ifdef TOUCH_UI_PORTRAIT - .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXT_F(MSG_TEMPERATURE)) - .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENTCHANGE)) + .tag(2).button( TEMPERATURE_POS, GET_TEXT_F(MSG_TEMPERATURE)) + .enabled((!isPrinting()) || isPrintingFromMediaPaused()) + .tag(3).button( FIL_CHANGE_POS, GET_TEXT_F(MSG_FILAMENTCHANGE)) .enabled( - #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) - 1 - #endif + #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) + 1 + #endif ) - .tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXT_F(MSG_FILAMENT)) - #if ENABLED(BABYSTEPPING) - .tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_NUDGE_NOZZLE)) - #else - .enabled( - #if HAS_BED_PROBE + .tag(9).button( FILAMENT_POS, GET_TEXT_F(MSG_FILAMENT)) + .enabled( + #if HAS_BED_PROBE || ENABLED(BABYSTEPPING) 1 #endif ) - .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)) - #endif - .tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXT_F(MSG_PRINT_SPEED)) + .tag(4).button( NUDGE_NOZ_POS, GET_TEXT_F( + #if ENABLED(BABYSTEPPING) + MSG_NUDGE_NOZZLE + #else + MSG_ZPROBE_ZOFFSET + #endif + )) + .tag(5).button( SPEED_POS, GET_TEXT_F(MSG_PRINT_SPEED)) .tag(isPrintingFromMediaPaused() ? 7 : 6) .enabled( - #if ENABLED(SDSUPPORT) - isPrintingFromMedia() - #endif + #if ENABLED(SDSUPPORT) + isPrintingFromMedia() + #endif ) - .button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT)) - .enabled( + .button( PAUSE_POS, isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT)) + .enabled( #if ENABLED(SDSUPPORT) isPrintingFromMedia() #endif ) - .tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXT_F(MSG_STOP_PRINT)) + .tag(8).button( STOP_POS, GET_TEXT_F(MSG_STOP_PRINT)) .tag(1).colors(action_btn) - .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXT_F(MSG_BACK)); - #else // TOUCH_UI_PORTRAIT - .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_TEMPERATURE)) - .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENTCHANGE)) - .enabled( - #if ENABLED(BABYSTEPPING) - isPrintingFromMedia() - #endif - ) - #if ENABLED(BABYSTEPPING) - .tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_NUDGE_NOZZLE)) - #else - .enabled( - #if HAS_BED_PROBE - isPrintingFromMedia() - #endif - ) - .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXT_F(MSG_ZPROBE_ZOFFSET)) - #endif - .tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_PRINT_SPEED)) - .tag(isPrintingFromMediaPaused() ? 7 : 6) - .enabled( - #if ENABLED(SDSUPPORT) - isPrintingFromMedia() - #endif - ) - .button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? GET_TEXT_F(MSG_RESUME_PRINT) : GET_TEXT_F(MSG_PAUSE_PRINT)) - .enabled( - #if ENABLED(SDSUPPORT) - isPrintingFromMedia() - #endif - ) - .tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_STOP_PRINT)) - .enabled( - #if ANY(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) - 1 - #endif - ) - .tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_FILAMENT)) - .tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_BACK)); - #endif + .button( BACK_POS, GET_TEXT_F(MSG_BACK)); } #undef GRID_COLS #undef GRID_ROWS @@ -152,9 +130,11 @@ bool TuneMenu::onTouchEnd(uint8_t tag) { current_screen.forget(); PUSH_SCREEN(StatusScreen); break; - #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) - case 9: GOTO_SCREEN(FilamentMenu); break; - #endif + case 9: + #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) + GOTO_SCREEN(FilamentMenu); + #endif + break; default: return false; } diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index fad678eada26..ee3e6387775d 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -606,7 +606,11 @@ namespace Language_en { PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Level X Axis"); PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrate"); + #if ENABLED(TOUCH_UI_FTDI_EVE) + PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Idle timeout, temperature decreased. Press Okay to reheat and again to resume."); + #else PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Heater Timeout"); + #endif PROGMEM Language_Str MSG_REHEAT = _UxGT("Reheat"); PROGMEM Language_Str MSG_REHEATING = _UxGT("Reheating..."); } diff --git a/config/default/Configuration.h b/config/default/Configuration.h index b6a3b37d6e3b..aa2aba5077ab 100644 --- a/config/default/Configuration.h +++ b/config/default/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND \ No newline at end of file diff --git a/config/default/Configuration_DrunkenOctopus.h b/config/default/Configuration_DrunkenOctopus.h index b604adb36cd2..4caf9ec667b1 100644 --- a/config/default/Configuration_DrunkenOctopus.h +++ b/config/default/Configuration_DrunkenOctopus.h @@ -36,3 +36,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND diff --git a/config/examples/AlephObjects/build-config.py b/config/examples/AlephObjects/build-config.py index 84dadede8b38..ebbad97c8ce2 100755 --- a/config/examples/AlephObjects/build-config.py +++ b/config/examples/AlephObjects/build-config.py @@ -1404,7 +1404,7 @@ def ENABLED(str): elif "Experimental_BLTouch" in PRINTER: STANDARD_X_MAX_POS = 288 STANDARD_X_MIN_POS = -49 - STANDARD_Y_MAX_POS = 304 + STANDARD_Y_MAX_POS = 303 STANDARD_Y_MIN_POS = -35 STANDARD_X_BED_SIZE = 280 @@ -1445,7 +1445,7 @@ def ENABLED(str): STANDARD_Z_MAX_POS = 270 elif "Experimental_BLTouch" in PRINTER: - STANDARD_Z_MIN_POS = -2 + STANDARD_Z_MIN_POS = 0 STANDARD_Z_MAX_POS = 296 elif IS_TAZ and USE_Z_BELT: @@ -1454,8 +1454,7 @@ def ENABLED(str): if MARLIN["BLTOUCH"]: # If using BLTouch, then set the Z_MIN_POS to zero - STANDARD_Z_MAX_POS -= STANDARD_Z_MIN_POS - STANDARD_Z_MIN_POS -= STANDARD_Z_MIN_POS + STANDARD_Z_MIN_POS = 0 MARLIN["X_MAX_POS"] = STANDARD_X_MAX_POS + TOOLHEAD_X_MAX_ADJ + ADAPTER_X_OFFSET MARLIN["X_MIN_POS"] = STANDARD_X_MIN_POS + TOOLHEAD_X_MIN_ADJ + ADAPTER_X_OFFSET @@ -1614,6 +1613,7 @@ def ENABLED(str): "M120\n" # Turn on hardware endstops "M400\n" # Finish moves "G0 Z400 F6000 U\n" # Skip steppers against uppers + "G92 Z" + str(STANDARD_Z_MAX_POS) + "\n" # Set position to Z_MAX "G0 Z-5 F500 U\n" # Move Z-Axis down a bit "M400\n" # Finish moves "G90\n" # Return to absolute mode @@ -1647,7 +1647,7 @@ def ENABLED(str): if IS_MINI: MARLIN["STARTUP_COMMANDS"] = C_STRING("M17 Z") elif "Experimental_BLTouch" in PRINTER: - MARLIN["STARTUP_COMMANDS"] = C_STRING("G29 L1\n" + AXIS_LEVELING_COMMANDS) + MARLIN["STARTUP_COMMANDS"] = C_STRING("G29 L1\n" + AXIS_LEVELING_COMMANDS + "M280 P0 S60") else: MARLIN["STARTUP_COMMANDS"] = C_STRING(AXIS_LEVELING_COMMANDS) @@ -1749,6 +1749,7 @@ def ENABLED(str): MARLIN["FILAMENT_RUNOUT_ENABLE_DEFAULT"] = "false" MARLIN["ACTION_ON_FILAMENT_RUNOUT"] = C_STRING("pause: filament_runout") MARLIN["CURA_LE_RUNOUT_HANDLING_WORKAROUND"] = True + MARLIN["M125_FILAMENT_RUNOUT_WORKAROUND"] = USE_TOUCH_UI ############################## MOTOR DRIVER TYPE ############################## diff --git a/config/examples/AlephObjects/standard/Gladiola_Mini/Gladiola_SingleExtruder/Configuration.h b/config/examples/AlephObjects/standard/Gladiola_Mini/Gladiola_SingleExtruder/Configuration.h index 481c141aa62e..a7d3ab08a1db 100644 --- a/config/examples/AlephObjects/standard/Gladiola_Mini/Gladiola_SingleExtruder/Configuration.h +++ b/config/examples/AlephObjects/standard/Gladiola_Mini/Gladiola_SingleExtruder/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND diff --git a/config/examples/AlephObjects/standard/Hibiscus_Mini2/CecropiaSilk_SingleExtruderAeroV2/Configuration.h b/config/examples/AlephObjects/standard/Hibiscus_Mini2/CecropiaSilk_SingleExtruderAeroV2/Configuration.h index 62be72fff2ad..88b183c96777 100644 --- a/config/examples/AlephObjects/standard/Hibiscus_Mini2/CecropiaSilk_SingleExtruderAeroV2/Configuration.h +++ b/config/examples/AlephObjects/standard/Hibiscus_Mini2/CecropiaSilk_SingleExtruderAeroV2/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND diff --git a/config/examples/AlephObjects/standard/Juniper_TAZ5/Tilapia_SingleExtruder/Configuration.h b/config/examples/AlephObjects/standard/Juniper_TAZ5/Tilapia_SingleExtruder/Configuration.h index 6f4f79aba173..311375613079 100644 --- a/config/examples/AlephObjects/standard/Juniper_TAZ5/Tilapia_SingleExtruder/Configuration.h +++ b/config/examples/AlephObjects/standard/Juniper_TAZ5/Tilapia_SingleExtruder/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND diff --git a/config/examples/AlephObjects/standard/KangarooPaw_Bio/KangarooPaw_SingleExtruder/Configuration.h b/config/examples/AlephObjects/standard/KangarooPaw_Bio/KangarooPaw_SingleExtruder/Configuration.h index 06f27890c3b2..f3f884875102 100644 --- a/config/examples/AlephObjects/standard/KangarooPaw_Bio/KangarooPaw_SingleExtruder/Configuration.h +++ b/config/examples/AlephObjects/standard/KangarooPaw_Bio/KangarooPaw_SingleExtruder/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND #define NO_TIME_AFTER_SD_PRINT // <-- changed //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND diff --git a/config/examples/AlephObjects/standard/Oliveoil_TAZ6/Tilapia_SingleExtruder/Configuration.h b/config/examples/AlephObjects/standard/Oliveoil_TAZ6/Tilapia_SingleExtruder/Configuration.h index b454871cc3af..6a3a3f4619c1 100644 --- a/config/examples/AlephObjects/standard/Oliveoil_TAZ6/Tilapia_SingleExtruder/Configuration.h +++ b/config/examples/AlephObjects/standard/Oliveoil_TAZ6/Tilapia_SingleExtruder/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND diff --git a/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration.h b/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration.h index ee97a3b8044a..1a02abdc4f7b 100644 --- a/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration.h +++ b/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND #define NO_TIME_AFTER_SD_PRINT // <-- changed //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +#define M125_FILAMENT_RUNOUT_WORKAROUND // <-- changed diff --git a/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration_summary.txt b/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration_summary.txt index 34bda3144ae6..844d8ab0d6e2 100644 --- a/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration_summary.txt +++ b/config/examples/AlephObjects/standard/Quiver_TAZPro/Quiver_DualExtruder/Configuration_summary.txt @@ -122,6 +122,7 @@ #define LCD_TIMEOUT_TO_STATUS 0 #define LIN_ADVANCE #define LIN_ADVANCE_K 0.0 +#define M125_FILAMENT_RUNOUT_WORKAROUND #define MACHINE_UUID "a952577d-8722-483a-999d-acdc9e772b7b" #define MANUAL_FEEDRATE {2340, 2340, 2340, 60.0} #define MAX_BED_POWER 206 diff --git a/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration.h b/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration.h index 065f8f1f7dc9..74888457ff84 100644 --- a/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration.h +++ b/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration.h @@ -2293,3 +2293,6 @@ //#define NO_MOTION_BEFORE_HOMING_WORKAROUND //#define NO_TIME_AFTER_SD_PRINT //#define EMI_MITIGATION +//#define SHORT_BUILD_VERSION +//#define TOUCH_UI_VERSION +//#define M125_FILAMENT_RUNOUT_WORKAROUND // <-- changed diff --git a/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration_summary.txt b/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration_summary.txt index add9fa615f68..ceffca669ada 100644 --- a/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration_summary.txt +++ b/config/examples/AlephObjects/standard/Redgum_TAZWorkhorse/Goldenrod_HardenedExtruder/Configuration_summary.txt @@ -109,6 +109,7 @@ #define LIGHTWEIGHT_UI #define LIN_ADVANCE #define LIN_ADVANCE_K 0.0 +//#define M125_FILAMENT_RUNOUT_WORKAROUND #define MACHINE_UUID "5ee798fb-4062-4d35-8224-5e846ffb45a5" #define MANUAL_FEEDRATE {3000, 3000, 2400, 60.0} #define MARLIN_BRICKOUT