diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index c2623a3e0..caea1caca 100755 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -4272,7 +4272,7 @@ void process_commands() if (starpos != NULL) *(starpos) = '\0'; lcd_setstatus(strchr_pointer + 5); - custom_message_type = CustomMsg::MsgUpdate; + custom_message_type = CustomMsg::M117; } /*! diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index eb75daecb..bafaff270 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -676,6 +676,9 @@ void lcdui_print_status_line(void) case CustomMsg::Resuming: //Resuming lcd_puts_at_P(0, 3, _T(MSG_RESUMING_PRINT)); break; + case CustomMsg::M117: + lcd_print(lcd_status_message); + break; } } @@ -875,10 +878,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 41181554c..a237dc558 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -122,7 +122,8 @@ enum class CustomMsg : uint_least8_t TempCompPreheat, //!< Temperature compensation preheat M0Wait, //!< M0/M1 Wait command working even from SD MsgUpdate, //!< Short message even while printing from SD - Resuming, //!< Resuming message + Resuming, //!< Resuming message + M117, //!< M117 Custom Message to be displayed }; extern CustomMsg custom_message_type;