Make M117 custom message persistant if print is paused
If M117 is called before M601 then we would like the custom message to be visible on the LCD screen until the print is resumed. Change in memory: +10 bytes of flash Fixes #3316
This commit is contained in:
parent
9bb8797b60
commit
c77b768fdd
@ -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;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user