diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 7634cea7..8403c7a1 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -4264,7 +4264,7 @@ void process_commands() if (starpos != NULL) *(starpos) = '\0'; lcd_setstatus(strchr_pointer + 5); - custom_message_type = CustomMsg::MsgUpdate; + custom_message_type = CustomMsg::M117; } /*! @@ -4762,7 +4762,13 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); codenum = 0; if(code_seen('P')) codenum = code_value(); // milliseconds to wait if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait - if(codenum != 0) LCD_MESSAGERPGM(_n("Sleep..."));////MSG_DWELL + if(codenum != 0) + { + if(custom_message_type != CustomMsg::M117) + { + LCD_MESSAGERPGM(_n("Sleep..."));////MSG_DWELL + } + } st_synchronize(); codenum += _millis(); // keep track of when we started waiting previous_millis_cmd.start(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 7f035001..5e042f83 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -618,7 +618,7 @@ void lcdui_print_status_line(void) } } else { // Otherwise check for other special events switch (custom_message_type) { - case CustomMsg::MsgUpdate: //Short message even while printing from SD + case CustomMsg::M117: // M117 Set the status line message on the LCD case CustomMsg::Status: // Nothing special, print status message normally case CustomMsg::M0Wait: // M0/M1 Wait command working even from SD lcd_print(lcd_status_message); @@ -875,10 +875,13 @@ void lcd_commands() { if (!blocks_queued() && !homing_flag) { - lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 - lcd_commands_type = LcdCommands::Idle; - lcd_commands_step = 0; - long_pause(); + if (custom_message_type != CustomMsg::M117) + { + lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 + } + lcd_commands_type = LcdCommands::Idle; + lcd_commands_step = 0; + long_pause(); } } diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 41181554..388c385c 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -121,8 +121,8 @@ enum class CustomMsg : uint_least8_t TempCal, //!< PINDA temperature calibration TempCompPreheat, //!< Temperature compensation preheat M0Wait, //!< M0/M1 Wait command working even from SD - MsgUpdate, //!< Short message even while printing from SD - Resuming, //!< Resuming message + M117, //!< M117 Set the status line message on the LCD + Resuming, //!< Resuming message }; extern CustomMsg custom_message_type;