Merge pull request #3475 from gudnimg/custom_message_m601

Make M117 message persistent on LCD when used with M601 or G4
This commit is contained in:
Alex Voinea 2022-07-04 09:42:23 +02:00 committed by GitHub
commit 29159a5bf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 9 deletions

View File

@ -4264,7 +4264,7 @@ void process_commands()
if (starpos != NULL) if (starpos != NULL)
*(starpos) = '\0'; *(starpos) = '\0';
lcd_setstatus(strchr_pointer + 5); 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; codenum = 0;
if(code_seen('P')) codenum = code_value(); // milliseconds to wait if(code_seen('P')) codenum = code_value(); // milliseconds to wait
if(code_seen('S')) codenum = code_value() * 1000; // seconds 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(); st_synchronize();
codenum += _millis(); // keep track of when we started waiting codenum += _millis(); // keep track of when we started waiting
previous_millis_cmd.start(); previous_millis_cmd.start();

View File

@ -618,7 +618,7 @@ void lcdui_print_status_line(void)
} }
} else { // Otherwise check for other special events } else { // Otherwise check for other special events
switch (custom_message_type) { 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::Status: // Nothing special, print status message normally
case CustomMsg::M0Wait: // M0/M1 Wait command working even from SD case CustomMsg::M0Wait: // M0/M1 Wait command working even from SD
lcd_print(lcd_status_message); lcd_print(lcd_status_message);
@ -874,8 +874,11 @@ void lcd_commands()
if (lcd_commands_type == LcdCommands::LongPause) if (lcd_commands_type == LcdCommands::LongPause)
{ {
if (!blocks_queued() && !homing_flag) if (!blocks_queued() && !homing_flag)
{
if (custom_message_type != CustomMsg::M117)
{ {
lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20
}
lcd_commands_type = LcdCommands::Idle; lcd_commands_type = LcdCommands::Idle;
lcd_commands_step = 0; lcd_commands_step = 0;
long_pause(); long_pause();

View File

@ -121,7 +121,7 @@ enum class CustomMsg : uint_least8_t
TempCal, //!< PINDA temperature calibration TempCal, //!< PINDA temperature calibration
TempCompPreheat, //!< Temperature compensation preheat TempCompPreheat, //!< Temperature compensation preheat
M0Wait, //!< M0/M1 Wait command working even from SD M0Wait, //!< M0/M1 Wait command working even from SD
MsgUpdate, //!< Short message even while printing from SD M117, //!< M117 Set the status line message on the LCD
Resuming, //!< Resuming message Resuming, //!< Resuming message
}; };