diff --git a/Marlin/Configuration_LulzBot.h b/Marlin/Configuration_LulzBot.h index 890d5fb94..581a5d515 100644 --- a/Marlin/Configuration_LulzBot.h +++ b/Marlin/Configuration_LulzBot.h @@ -3,8 +3,8 @@ // Change printer model and toolhead here -#define LULZBOT_Gladiola_Mini -#define TOOLHEAD_Gladiola_SingleExtruder +#define LULZBOT_Oliveoil_TAZ_6 +#define TOOLHEAD_Oliveoil_SingleExtruder /* We define the LULZBOT_ values based on which printer or toolhead variants we are compiling * for, these constants are then placed where appropriate in the following files: @@ -65,7 +65,7 @@ #error Angelfish_Aero // Titan AERO (Angelfish) #endif -#define LULZBOT_FW_VERSION ".6" +#define LULZBOT_FW_VERSION ".7" // Select options based on printer model @@ -323,6 +323,7 @@ #define LULZBOT_SHOW_CUSTOM_BOOTSCREEN #define LULZBOT_ENCODER_PULSES_PER_STEP 2 #define LULZBOT_ENCODER_STEPS_PER_MENU_ITEM 1 + #define LULZBOT_COOLING_MESSAGES #define LULZBOT_MENU_BED_LEVELING_GCODE "G28 XY\nM109 S175\nG28 Z\nM109 R145\nG12\nG29\nM104 S0" #if defined(LULZBOT_Gladiola_GLCD) // In the experimental Gladiola_GLCD, the encoder direction is reversed. diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index d522bea0f..2e67dda16 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -7303,7 +7303,19 @@ inline void gcode_M109() { print_job_timer.start(); #endif + #if defined(LULZBOT_COOLING_MESSAGES) + const bool heating = thermalManager.isHeatingHotend(target_extruder); + const char * verb = thermalManager.isHeatingHotend(target_extruder) ? MSG_HEATING : MSG_COOLING; + if (heating || !no_wait_for_cooling) { + #if LULZBOT_EXTRUDERS > 1 + lcd_status_printf_P(0, PSTR("Extruder %i %s"), target_extruder + 1, verb); + #else + lcd_status_printf_P(0, PSTR("Extruder %s"), verb); + #endif + } + #else if (thermalManager.isHeatingHotend(target_extruder)) lcd_status_printf_P(0, PSTR("E%i %s"), target_extruder + 1, MSG_HEATING); + #endif } else return; @@ -7398,7 +7410,15 @@ inline void gcode_M109() { } while (wait_for_heatup && TEMP_CONDITIONS); if (wait_for_heatup) { + #if defined(LULZBOT_COOLING_MESSAGES) + if(wants_to_cool) { + LCD_MESSAGEPGM(MSG_COOLING_COMPLETE); + } else { + LCD_MESSAGEPGM(MSG_HEATING_COMPLETE); + } + #else LCD_MESSAGEPGM(MSG_HEATING_COMPLETE); + #endif #if ENABLED(PRINTER_EVENT_LEDS) #if ENABLED(RGBW_LED) set_led_color(0, 0, 0, 255); // Turn on the WHITE LED @@ -7427,7 +7447,6 @@ inline void gcode_M109() { inline void gcode_M190() { if (DEBUGGING(DRYRUN)) return; - LCD_MESSAGEPGM(MSG_BED_HEATING); const bool no_wait_for_cooling = parser.seenval('S'); if (no_wait_for_cooling || parser.seenval('R')) { thermalManager.setTargetBed(parser.value_celsius()); @@ -7438,6 +7457,16 @@ inline void gcode_M109() { } else return; + #if defined(LULZBOT_COOLING_MESSAGES) + if(thermalManager.isCoolingBed()) { + LCD_MESSAGEPGM(MSG_BED_COOLING); + } else { + LCD_MESSAGEPGM(MSG_BED_HEATING); + } + #else + LCD_MESSAGEPGM(MSG_BED_HEATING); + #endif + #if TEMP_BED_RESIDENCY_TIME > 0 millis_t residency_start_ms = 0; // Loop until the temperature has stabilized diff --git a/Marlin/language_en.h b/Marlin/language_en.h index 345b01fda..f507d0ca9 100644 --- a/Marlin/language_en.h +++ b/Marlin/language_en.h @@ -698,8 +698,17 @@ #ifndef MSG_HEATING_COMPLETE #define MSG_HEATING_COMPLETE _UxGT("Heating done.") #endif +#ifndef MSG_COOLING + #define MSG_COOLING _UxGT("Cooling...") +#endif +#ifndef MSG_COOLING_COMPLETE + #define MSG_COOLING_COMPLETE _UxGT("Cooling done.") +#endif #ifndef MSG_BED_HEATING - #define MSG_BED_HEATING _UxGT("Bed Heating.") + #define MSG_BED_HEATING _UxGT("Bed heating.") +#endif +#ifndef MSG_BED_COOLING + #define MSG_BED_COOLING _UxGT("Bed cooling.") #endif #ifndef MSG_BED_DONE #define MSG_BED_DONE _UxGT("Bed done.") diff --git a/README_LulzBot.md b/README_LulzBot.md index 0f4f33a69..e6daca2db 100644 --- a/README_LulzBot.md +++ b/README_LulzBot.md @@ -16,5 +16,4 @@ To select what firmware to build, modify lines 6 and 7 of "Configuration_LulzBot 1. The Makefile does not work. Building must be done via the Arduino IDE (internal builds are being done with 1.8.3) 2. There is no way to tune the FlexyDually properly right now, as Marlin 1.1.4 does not support separate ESTEPs per extruder. -3. Printer needs to be power cycled to clear "clean nozzle" state. -4. LCD display will show "Heating" when cooling. \ No newline at end of file +3. Printer needs to be power cycled to clear "clean nozzle" state. \ No newline at end of file