Browse Source

M0/M1/M117 fix: Add new CUSTOM_MSG states.

When the printer prints from a SD card, the display of progress messages
and filename takes precedence over CUSTOM_MSG_TYPE_STATUS messages used
by M0/M1/M117. Let's introduce two new CUSTOM_MSG states, one that
overrides the SD status while waiting in M0/M1 (M0WAIT) and one that
ensures the message will be displayed in at least one screen update
(MSGUPD).
Vojtech Pavlik 5 years ago
parent
commit
5494f23942
2 changed files with 5 additions and 0 deletions
  1. 3 0
      Firmware/ultralcd.cpp
  2. 2 0
      Firmware/ultralcd.h

+ 3 - 0
Firmware/ultralcd.cpp

@@ -794,7 +794,10 @@ void lcdui_print_status_line(void)
 	{ // Otherwise check for other special events
    		switch (custom_message_type)
 		{
+		case CUSTOM_MSG_TYPE_MSGUPD:
+			custom_message_type = CUSTOM_MSG_TYPE_STATUS;
 		case CUSTOM_MSG_TYPE_STATUS: // Nothing special, print status message normally
+		case CUSTOM_MSG_TYPE_M0WAIT:
 			lcd_print(lcd_status_message);
 			break;
 		case CUSTOM_MSG_TYPE_MESHBL: // If mesh bed leveling in progress, show the status

+ 2 - 0
Firmware/ultralcd.h

@@ -106,6 +106,8 @@ extern int8_t FSensorStateMenu;
 #define CUSTOM_MSG_TYPE_PIDCAL 3 // PID tuning in progress
 #define CUSTOM_MSG_TYPE_TEMCAL 4 // PINDA temp calibration
 #define CUSTOM_MSG_TYPE_TEMPRE 5 // Temp compensation preheat
+#define CUSTOM_MSG_TYPE_M0WAIT 6 // M0/M1 Wait command working even from SD
+#define CUSTOM_MSG_TYPE_MSGUPD 7 // Short message even while printing from SD
 
 extern unsigned int custom_message_type;
 extern unsigned int custom_message_state;