Browse Source

Use a STR_ prefix for non-translated strings

Scott Lahteine 4 years ago
parent
commit
e78f607ef3
65 changed files with 438 additions and 431 deletions
  1. 1
    1
      Marlin/src/HAL/HAL_AVR/persistent_store_eeprom.cpp
  2. 1
    1
      Marlin/src/HAL/HAL_AVR/watchdog.cpp
  3. 1
    1
      Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp
  4. 1
    1
      Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp
  5. 1
    1
      Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp
  6. 1
    1
      Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp
  7. 1
    1
      Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp
  8. 1
    1
      Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp
  9. 1
    1
      Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp
  10. 14
    14
      Marlin/src/MarlinCore.cpp
  11. 204
    204
      Marlin/src/core/language.h
  12. 1
    1
      Marlin/src/core/serial.cpp
  13. 2
    2
      Marlin/src/feature/bltouch.cpp
  14. 2
    2
      Marlin/src/feature/pause.cpp
  15. 1
    1
      Marlin/src/feature/prusa_MMU2/mmu2.cpp
  16. 1
    1
      Marlin/src/feature/solenoid.cpp
  17. 1
    1
      Marlin/src/gcode/bedlevel/G42.cpp
  18. 2
    2
      Marlin/src/gcode/bedlevel/M420.cpp
  19. 2
    2
      Marlin/src/gcode/bedlevel/abl/M421.cpp
  20. 2
    2
      Marlin/src/gcode/bedlevel/mbl/M421.cpp
  21. 2
    2
      Marlin/src/gcode/bedlevel/ubl/M421.cpp
  22. 3
    3
      Marlin/src/gcode/calibrate/G28.cpp
  23. 1
    1
      Marlin/src/gcode/calibrate/M852.cpp
  24. 1
    1
      Marlin/src/gcode/config/M218.cpp
  25. 1
    1
      Marlin/src/gcode/config/M301.cpp
  26. 8
    8
      Marlin/src/gcode/control/M111.cpp
  27. 3
    3
      Marlin/src/gcode/control/M211.cpp
  28. 1
    1
      Marlin/src/gcode/control/M605.cpp
  29. 1
    1
      Marlin/src/gcode/control/M80_M81.cpp
  30. 2
    2
      Marlin/src/gcode/feature/pause/G60.cpp
  31. 2
    2
      Marlin/src/gcode/feature/pause/G61.cpp
  32. 6
    6
      Marlin/src/gcode/gcode.cpp
  33. 1
    1
      Marlin/src/gcode/geometry/M206_M428.cpp
  34. 1
    1
      Marlin/src/gcode/host/M115.cpp
  35. 1
    1
      Marlin/src/gcode/lcd/M145.cpp
  36. 1
    1
      Marlin/src/gcode/motion/G0_G1.cpp
  37. 2
    2
      Marlin/src/gcode/motion/G2_G3.cpp
  38. 1
    1
      Marlin/src/gcode/motion/G4.cpp
  39. 1
    1
      Marlin/src/gcode/motion/G5.cpp
  40. 3
    3
      Marlin/src/gcode/motion/M290.cpp
  41. 1
    1
      Marlin/src/gcode/parser.cpp
  42. 2
    2
      Marlin/src/gcode/probe/M851.cpp
  43. 11
    11
      Marlin/src/gcode/queue.cpp
  44. 2
    2
      Marlin/src/gcode/sdcard/M20.cpp
  45. 1
    1
      Marlin/src/gcode/temperature/M105.cpp
  46. 1
    1
      Marlin/src/gcode/temperature/M303.cpp
  47. 4
    4
      Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/marlin_events.cpp
  48. 2
    2
      Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp
  49. 1
    1
      Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/bio_advanced_settings.cpp
  50. 14
    14
      Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/endstop_state_screen.cpp
  51. 1
    1
      Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/nozzle_offsets_screen.cpp
  52. 1
    1
      Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/nudge_nozzle_screen.cpp
  53. 4
    4
      Marlin/src/lcd/extui_dgus_lcd.cpp
  54. 3
    3
      Marlin/src/lcd/menu/menu_advanced.cpp
  55. 1
    1
      Marlin/src/lcd/menu/menu_configuration.cpp
  56. 24
    24
      Marlin/src/lcd/menu/menu_tmc.cpp
  57. 6
    6
      Marlin/src/module/endstops.cpp
  58. 3
    3
      Marlin/src/module/motion.cpp
  59. 2
    2
      Marlin/src/module/planner.cpp
  60. 4
    4
      Marlin/src/module/printcounter.cpp
  61. 2
    2
      Marlin/src/module/probe.cpp
  62. 2
    2
      Marlin/src/module/stepper.cpp
  63. 39
    36
      Marlin/src/module/temperature.cpp
  64. 3
    3
      Marlin/src/module/tool_change.cpp
  65. 21
    17
      Marlin/src/sd/cardreader.cpp

+ 1
- 1
Marlin/src/HAL/HAL_AVR/persistent_store_eeprom.cpp View File

@@ -39,7 +39,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
39 39
     if (v != eeprom_read_byte(p)) {
40 40
       eeprom_write_byte(p, v);
41 41
       if (eeprom_read_byte(p) != v) {
42
-        SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
42
+        SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
43 43
         return true;
44 44
       }
45 45
     }

+ 1
- 1
Marlin/src/HAL/HAL_AVR/watchdog.cpp View File

@@ -62,7 +62,7 @@ void watchdog_init() {
62 62
 #if ENABLED(WATCHDOG_RESET_MANUAL)
63 63
   ISR(WDT_vect) {
64 64
     sei();  // With the interrupt driven serial we need to allow interrupts.
65
-    SERIAL_ERROR_MSG(MSG_WATCHDOG_FIRED);
65
+    SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED);
66 66
     minkill();  // interrupt-safe final kill and infinite loop
67 67
   }
68 68
 #endif

+ 1
- 1
Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp View File

@@ -54,7 +54,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
54 54
       eeprom_write_byte(p, v);
55 55
       delay(2);
56 56
       if (eeprom_read_byte(p) != v) {
57
-        SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
57
+        SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
58 58
         return true;
59 59
       }
60 60
     }

+ 1
- 1
Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp View File

@@ -72,7 +72,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
72 72
         eeprom_write_byte(p, v);
73 73
         delay(2);
74 74
         if (eeprom_read_byte(p) != v) {
75
-          SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
75
+          SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
76 76
           return true;
77 77
         }
78 78
       }

+ 1
- 1
Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp View File

@@ -48,7 +48,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
48 48
       if (v != eeprom_read_byte(p)) {
49 49
         eeprom_write_byte(p, v);
50 50
         if (eeprom_read_byte(p) != v) {
51
-          SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
51
+          SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
52 52
           return true;
53 53
         }
54 54
       }

+ 1
- 1
Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp View File

@@ -49,7 +49,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
49 49
     if (v != eeprom_read_byte(p)) {
50 50
       eeprom_write_byte(p, v);
51 51
       if (eeprom_read_byte(p) != v) {
52
-        SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
52
+        SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
53 53
         return true;
54 54
       }
55 55
     }

+ 1
- 1
Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp View File

@@ -41,7 +41,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
41 41
     if (v != eeprom_read_byte(p)) {
42 42
       eeprom_write_byte(p, v);
43 43
       if (eeprom_read_byte(p) != v) {
44
-        SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
44
+        SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
45 45
         return true;
46 46
       }
47 47
     }

+ 1
- 1
Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp View File

@@ -36,7 +36,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
36 36
     if (v != eeprom_read_byte(p)) {
37 37
       eeprom_write_byte(p, v);
38 38
       if (eeprom_read_byte(p) != v) {
39
-        SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
39
+        SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
40 40
         return true;
41 41
       }
42 42
     }

+ 1
- 1
Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp View File

@@ -42,7 +42,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
42 42
     if (v != eeprom_read_byte(p)) {
43 43
       eeprom_write_byte(p, v);
44 44
       if (eeprom_read_byte(p) != v) {
45
-        SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
45
+        SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
46 46
         return true;
47 47
       }
48 48
     }

+ 14
- 14
Marlin/src/MarlinCore.cpp View File

@@ -278,7 +278,7 @@ bool pin_is_protected(const pin_t pin) {
278 278
 }
279 279
 
280 280
 void protected_pin_err() {
281
-  SERIAL_ERROR_MSG(MSG_ERR_PROTECTED_PIN);
281
+  SERIAL_ERROR_MSG(STR_ERR_PROTECTED_PIN);
282 282
 }
283 283
 
284 284
 void quickstop_stepper() {
@@ -461,7 +461,7 @@ void startOrResumeJob() {
461 461
           ui.reselect_last_file();
462 462
         #endif
463 463
 
464
-        SERIAL_ECHOLNPGM(MSG_FILE_PRINTED);
464
+        SERIAL_ECHOLNPGM(STR_FILE_PRINTED);
465 465
 
466 466
       default:
467 467
         did_state = false;
@@ -498,7 +498,7 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
498 498
 
499 499
   if (max_inactive_time && ELAPSED(ms, gcode.previous_move_ms + max_inactive_time)) {
500 500
     SERIAL_ERROR_START();
501
-    SERIAL_ECHOLNPAIR(MSG_KILL_INACTIVE_TIME, parser.command_ptr);
501
+    SERIAL_ECHOLNPAIR(STR_KILL_INACTIVE_TIME, parser.command_ptr);
502 502
     kill();
503 503
   }
504 504
 
@@ -563,7 +563,7 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
563 563
     // KILL the machine
564 564
     // ----------------------------------------------------------------
565 565
     if (killCount >= KILL_DELAY) {
566
-      SERIAL_ERROR_MSG(MSG_KILL_BUTTON);
566
+      SERIAL_ERROR_MSG(STR_KILL_BUTTON);
567 567
       kill();
568 568
     }
569 569
   #endif
@@ -781,7 +781,7 @@ void idle(
781 781
 void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr*/, const bool steppers_off/*=false*/) {
782 782
   thermalManager.disable_all_heaters();
783 783
 
784
-  SERIAL_ERROR_MSG(MSG_ERR_KILLED);
784
+  SERIAL_ERROR_MSG(STR_ERR_KILLED);
785 785
 
786 786
   #if HAS_DISPLAY
787 787
     ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR);
@@ -852,7 +852,7 @@ void stop() {
852 852
   #endif
853 853
 
854 854
   if (IsRunning()) {
855
-    SERIAL_ERROR_MSG(MSG_ERR_STOPPED);
855
+    SERIAL_ERROR_MSG(STR_ERR_STOPPED);
856 856
     LCD_MESSAGEPGM(MSG_STOPPED);
857 857
     safe_delay(350);       // allow enough time for messages to get out before stopping
858 858
     Running = false;
@@ -958,11 +958,11 @@ void setup() {
958 958
 
959 959
   // Check startup - does nothing if bootloader sets MCUSR to 0
960 960
   byte mcu = HAL_get_reset_source();
961
-  if (mcu &  1) SERIAL_ECHOLNPGM(MSG_POWERUP);
962
-  if (mcu &  2) SERIAL_ECHOLNPGM(MSG_EXTERNAL_RESET);
963
-  if (mcu &  4) SERIAL_ECHOLNPGM(MSG_BROWNOUT_RESET);
964
-  if (mcu &  8) SERIAL_ECHOLNPGM(MSG_WATCHDOG_RESET);
965
-  if (mcu & 32) SERIAL_ECHOLNPGM(MSG_SOFTWARE_RESET);
961
+  if (mcu &  1) SERIAL_ECHOLNPGM(STR_POWERUP);
962
+  if (mcu &  2) SERIAL_ECHOLNPGM(STR_EXTERNAL_RESET);
963
+  if (mcu &  4) SERIAL_ECHOLNPGM(STR_BROWNOUT_RESET);
964
+  if (mcu &  8) SERIAL_ECHOLNPGM(STR_WATCHDOG_RESET);
965
+  if (mcu & 32) SERIAL_ECHOLNPGM(STR_SOFTWARE_RESET);
966 966
   HAL_clear_reset_source();
967 967
 
968 968
   serialprintPGM(GET_TEXT(MSG_MARLIN));
@@ -972,15 +972,15 @@ void setup() {
972 972
 
973 973
   #if defined(STRING_DISTRIBUTION_DATE) && defined(STRING_CONFIG_H_AUTHOR)
974 974
     SERIAL_ECHO_MSG(
975
-      MSG_CONFIGURATION_VER
975
+      STR_CONFIGURATION_VER
976 976
       STRING_DISTRIBUTION_DATE
977
-      MSG_AUTHOR STRING_CONFIG_H_AUTHOR
977
+      STR_AUTHOR STRING_CONFIG_H_AUTHOR
978 978
     );
979 979
     SERIAL_ECHO_MSG("Compiled: " __DATE__);
980 980
   #endif
981 981
 
982 982
   SERIAL_ECHO_START();
983
-  SERIAL_ECHOLNPAIR(MSG_FREE_MEMORY, freeMemory(), MSG_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE));
983
+  SERIAL_ECHOLNPAIR(STR_FREE_MEMORY, freeMemory(), STR_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE));
984 984
 
985 985
   // UI must be initialized before EEPROM
986 986
   // (because EEPROM code calls the UI).

+ 204
- 204
Marlin/src/core/language.h View File

@@ -97,6 +97,210 @@
97 97
 //  #define STRING_SPLASH_LINE3 WEBSITE_URL
98 98
 //#endif
99 99
 
100
+//
101
+// Common Serial Console Messages
102
+// Don't change these strings because serial hosts look for them.
103
+//
104
+
105
+#define STR_ENQUEUEING                      "enqueueing \""
106
+#define STR_POWERUP                         "PowerUp"
107
+#define STR_EXTERNAL_RESET                  " External Reset"
108
+#define STR_BROWNOUT_RESET                  " Brown out Reset"
109
+#define STR_WATCHDOG_RESET                  " Watchdog Reset"
110
+#define STR_SOFTWARE_RESET                  " Software Reset"
111
+#define STR_AUTHOR                          " | Author: "
112
+#define STR_CONFIGURATION_VER               " Last Updated: "
113
+#define STR_FREE_MEMORY                     " Free Memory: "
114
+#define STR_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
115
+#define STR_OK                              "ok"
116
+#define STR_WAIT                            "wait"
117
+#define STR_STATS                           "Stats: "
118
+#define STR_FILE_SAVED                      "Done saving file."
119
+#define STR_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: "
120
+#define STR_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
121
+#define STR_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
122
+#define STR_FILE_PRINTED                    "Done printing file"
123
+#define STR_BEGIN_FILE_LIST                 "Begin file list"
124
+#define STR_END_FILE_LIST                   "End file list"
125
+#define STR_INVALID_EXTRUDER                "Invalid extruder"
126
+#define STR_INVALID_E_STEPPER               "Invalid E stepper"
127
+#define STR_E_STEPPER_NOT_SPECIFIED         "E stepper not specified"
128
+#define STR_INVALID_SOLENOID                "Invalid solenoid"
129
+#define STR_M115_REPORT                     "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
130
+#define STR_COUNT_X                         " Count X:"
131
+#define STR_COUNT_A                         " Count A:"
132
+#define STR_WATCHDOG_FIRED                  "Watchdog timeout. Reset required."
133
+#define STR_ERR_KILLED                      "Printer halted. kill() called!"
134
+#define STR_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
135
+#define STR_BUSY_PROCESSING                 "busy: processing"
136
+#define STR_BUSY_PAUSED_FOR_USER            "busy: paused for user"
137
+#define STR_BUSY_PAUSED_FOR_INPUT           "busy: paused for input"
138
+#define STR_Z_MOVE_COMP                     "Z_move_comp"
139
+#define STR_RESEND                          "Resend: "
140
+#define STR_UNKNOWN_COMMAND                 "Unknown command: \""
141
+#define STR_ACTIVE_EXTRUDER                 "Active Extruder: "
142
+#define STR_X_MIN                           "x_min"
143
+#define STR_X_MAX                           "x_max"
144
+#define STR_X2_MIN                          "x2_min"
145
+#define STR_X2_MAX                          "x2_max"
146
+#define STR_Y_MIN                           "y_min"
147
+#define STR_Y_MAX                           "y_max"
148
+#define STR_Y2_MIN                          "y2_min"
149
+#define STR_Y2_MAX                          "y2_max"
150
+#define STR_Z_MIN                           "z_min"
151
+#define STR_Z_MAX                           "z_max"
152
+#define STR_Z2_MIN                          "z2_min"
153
+#define STR_Z2_MAX                          "z2_max"
154
+#define STR_Z3_MIN                          "z3_min"
155
+#define STR_Z3_MAX                          "z3_max"
156
+#define STR_Z4_MIN                          "z4_min"
157
+#define STR_Z4_MAX                          "z4_max"
158
+#define STR_Z_PROBE                         "z_probe"
159
+#define STR_FILAMENT_RUNOUT_SENSOR          "filament"
160
+#define STR_PROBE_OFFSET                    "Probe Offset"
161
+#define STR_SKEW_MIN                        "min_skew_factor: "
162
+#define STR_SKEW_MAX                        "max_skew_factor: "
163
+#define STR_ERR_MATERIAL_INDEX              "M145 S<index> out of range (0-1)"
164
+#define STR_ERR_M421_PARAMETERS             "M421 incorrect parameter usage"
165
+#define STR_ERR_BAD_PLANE_MODE              "G5 requires XY plane mode"
166
+#define STR_ERR_MESH_XY                     "Mesh point cannot be resolved"
167
+#define STR_ERR_ARC_ARGS                    "G2/G3 bad parameters"
168
+#define STR_ERR_PROTECTED_PIN               "Protected Pin"
169
+#define STR_ERR_M420_FAILED                 "Failed to enable Bed Leveling"
170
+#define STR_ERR_M428_TOO_FAR                "Too far from reference point"
171
+#define STR_ERR_M303_DISABLED               "PIDTEMP disabled"
172
+#define STR_M119_REPORT                     "Reporting endstop status"
173
+#define STR_ON                              "ON"
174
+#define STR_OFF                             "OFF"
175
+#define STR_ENDSTOP_HIT                     "TRIGGERED"
176
+#define STR_ENDSTOP_OPEN                    "open"
177
+#define STR_HOTEND_OFFSET                   "Hotend offsets:"
178
+#define STR_DUPLICATION_MODE                "Duplication mode: "
179
+#define STR_SOFT_ENDSTOPS                   "Soft endstops: "
180
+#define STR_SOFT_MIN                        "  Min: "
181
+#define STR_SOFT_MAX                        "  Max: "
182
+
183
+#define STR_SAVED_POS                       "Position saved"
184
+#define STR_RESTORING_POS                   "Restoring position"
185
+#define STR_INVALID_POS_SLOT                "Invalid slot. Total: "
186
+
187
+#define STR_SD_CANT_OPEN_SUBDIR             "Cannot open subdir "
188
+#define STR_SD_INIT_FAIL                    "SD init fail"
189
+#define STR_SD_VOL_INIT_FAIL                "volume.init failed"
190
+#define STR_SD_OPENROOT_FAIL                "openRoot failed"
191
+#define STR_SD_CARD_OK                      "SD card ok"
192
+#define STR_SD_WORKDIR_FAIL                 "workDir open failed"
193
+#define STR_SD_OPEN_FILE_FAIL               "open failed, File: "
194
+#define STR_SD_FILE_OPENED                  "File opened: "
195
+#define STR_SD_SIZE                         " Size: "
196
+#define STR_SD_FILE_SELECTED                "File selected"
197
+#define STR_SD_WRITE_TO_FILE                "Writing to file: "
198
+#define STR_SD_PRINTING_BYTE                "SD printing byte "
199
+#define STR_SD_NOT_PRINTING                 "Not SD printing"
200
+#define STR_SD_ERR_WRITE_TO_FILE            "error writing to file"
201
+#define STR_SD_ERR_READ                     "SD read error"
202
+#define STR_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
203
+
204
+#define STR_ENDSTOPS_HIT                    "endstops hit: "
205
+#define STR_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
206
+#define STR_ERR_LONG_EXTRUDE_STOP           " too long extrusion prevented"
207
+#define STR_ERR_HOTEND_TOO_COLD             "Hotend too cold"
208
+#define STR_ERR_Z_HOMING_SER                "Home XY first"
209
+#define STR_ERR_EEPROM_WRITE                "Error writing to EEPROM!"
210
+
211
+#define STR_FILAMENT_CHANGE_HEAT_LCD        "Press button to heat nozzle"
212
+#define STR_FILAMENT_CHANGE_INSERT_LCD      "Insert filament and press button"
213
+#define STR_FILAMENT_CHANGE_WAIT_LCD        "Press button to resume"
214
+#define STR_FILAMENT_CHANGE_HEAT_M108       "Send M108 to heat nozzle"
215
+#define STR_FILAMENT_CHANGE_INSERT_M108     "Insert filament and send M108"
216
+#define STR_FILAMENT_CHANGE_WAIT_M108       "Send M108 to resume"
217
+
218
+#define STR_STOP_BLTOUCH                    "!! STOP called because of BLTouch error - restart with M999"
219
+#define STR_STOP_UNHOMED                    "!! STOP called because of unhomed error - restart with M999"
220
+#define STR_KILL_INACTIVE_TIME              "!! KILL caused by too much inactive time - current command: "
221
+#define STR_KILL_BUTTON                     "!! KILL caused by KILL button/pin"
222
+
223
+// temperature.cpp strings
224
+#define STR_PID_AUTOTUNE_PREFIX             "PID Autotune"
225
+#define STR_PID_AUTOTUNE_START              STR_PID_AUTOTUNE_PREFIX " start"
226
+#define STR_PID_AUTOTUNE_FAILED             STR_PID_AUTOTUNE_PREFIX " failed!"
227
+#define STR_PID_BAD_EXTRUDER_NUM            STR_PID_AUTOTUNE_FAILED " Bad extruder number"
228
+#define STR_PID_TEMP_TOO_HIGH               STR_PID_AUTOTUNE_FAILED " Temperature too high"
229
+#define STR_PID_TIMEOUT                     STR_PID_AUTOTUNE_FAILED " timeout"
230
+#define STR_BIAS                            " bias: "
231
+#define STR_D_COLON                         " d: "
232
+#define STR_T_MIN                           " min: "
233
+#define STR_T_MAX                           " max: "
234
+#define STR_KU                              " Ku: "
235
+#define STR_TU                              " Tu: "
236
+#define STR_CLASSIC_PID                     " Classic PID "
237
+#define STR_KP                              " Kp: "
238
+#define STR_KI                              " Ki: "
239
+#define STR_KD                              " Kd: "
240
+#define STR_PID_AUTOTUNE_FINISHED           STR_PID_AUTOTUNE_PREFIX " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
241
+#define STR_PID_DEBUG                       " PID_DEBUG "
242
+#define STR_PID_DEBUG_INPUT                 ": Input "
243
+#define STR_PID_DEBUG_OUTPUT                " Output "
244
+#define STR_PID_DEBUG_PTERM                 " pTerm "
245
+#define STR_PID_DEBUG_ITERM                 " iTerm "
246
+#define STR_PID_DEBUG_DTERM                 " dTerm "
247
+#define STR_PID_DEBUG_CTERM                 " cTerm "
248
+#define STR_INVALID_EXTRUDER_NUM            " - Invalid extruder number !"
249
+
250
+#define STR_HEATER_BED                      "bed"
251
+#define STR_HEATER_CHAMBER                  "chamber"
252
+
253
+#define STR_STOPPED_HEATER                  ", system stopped! Heater_ID: "
254
+#define STR_REDUNDANCY                      "Heater switched off. Temperature difference between temp sensors is too high !"
255
+#define STR_T_HEATING_FAILED                "Heating failed"
256
+#define STR_T_THERMAL_RUNAWAY               "Thermal Runaway"
257
+#define STR_T_MAXTEMP                       "MAXTEMP triggered"
258
+#define STR_T_MINTEMP                       "MINTEMP triggered"
259
+#define STR_ERR_PROBING_FAILED              "Probing Failed"
260
+#define STR_ZPROBE_OUT_SER                  "Z Probe Past Bed"
261
+
262
+// Debug
263
+#define STR_DEBUG_PREFIX                    "DEBUG:"
264
+#define STR_DEBUG_OFF                       "off"
265
+#define STR_DEBUG_ECHO                      "ECHO"
266
+#define STR_DEBUG_INFO                      "INFO"
267
+#define STR_DEBUG_ERRORS                    "ERRORS"
268
+#define STR_DEBUG_DRYRUN                    "DRYRUN"
269
+#define STR_DEBUG_COMMUNICATION             "COMMUNICATION"
270
+#define STR_DEBUG_LEVELING                  "LEVELING"
271
+
272
+// LCD Menu Messages
273
+
274
+#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h)
275
+#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
276
+
277
+#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
278
+#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
279
+
280
+#define STR_X "X"
281
+#define STR_Y "Y"
282
+#define STR_Z "Z"
283
+#define STR_E "E"
284
+#if IS_KINEMATIC
285
+  #define STR_A "A"
286
+  #define STR_B "B"
287
+  #define STR_C "C"
288
+#else
289
+  #define STR_A "X"
290
+  #define STR_B "Y"
291
+  #define STR_C "Z"
292
+#endif
293
+#define STR_X2 "X2"
294
+#define STR_Y2 "Y2"
295
+#define STR_Z2 "Z2"
296
+#define STR_Z3 "Z3"
297
+#define STR_Z4 "Z4"
298
+
299
+#define LCD_STR_A STR_A
300
+#define LCD_STR_B STR_B
301
+#define LCD_STR_C STR_C
302
+#define LCD_STR_E STR_E
303
+
100 304
 #if HAS_CHARACTER_LCD
101 305
 
102 306
   // Custom characters defined in the first 8 characters of the LCD
@@ -135,210 +339,6 @@
135 339
 
136 340
 #endif
137 341
 
138
-// Common Serial Console Messages (do not translate those!)
139
-
140
-#define MSG_ENQUEUEING                      "enqueueing \""
141
-#define MSG_POWERUP                         "PowerUp"
142
-#define MSG_EXTERNAL_RESET                  " External Reset"
143
-#define MSG_BROWNOUT_RESET                  " Brown out Reset"
144
-#define MSG_WATCHDOG_RESET                  " Watchdog Reset"
145
-#define MSG_SOFTWARE_RESET                  " Software Reset"
146
-#define MSG_AUTHOR                          " | Author: "
147
-#define MSG_CONFIGURATION_VER               " Last Updated: "
148
-#define MSG_FREE_MEMORY                     " Free Memory: "
149
-#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
150
-#define MSG_OK                              "ok"
151
-#define MSG_WAIT                            "wait"
152
-#define MSG_STATS                           "Stats: "
153
-#define MSG_FILE_SAVED                      "Done saving file."
154
-#define MSG_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: "
155
-#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
156
-#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
157
-#define MSG_FILE_PRINTED                    "Done printing file"
158
-#define MSG_BEGIN_FILE_LIST                 "Begin file list"
159
-#define MSG_END_FILE_LIST                   "End file list"
160
-#define MSG_INVALID_EXTRUDER                "Invalid extruder"
161
-#define MSG_INVALID_E_STEPPER               "Invalid E stepper"
162
-#define MSG_E_STEPPER_NOT_SPECIFIED         "E stepper not specified"
163
-#define MSG_INVALID_SOLENOID                "Invalid solenoid"
164
-#define MSG_M115_REPORT                     "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
165
-#define MSG_COUNT_X                         " Count X:"
166
-#define MSG_COUNT_A                         " Count A:"
167
-#define MSG_WATCHDOG_FIRED                  "Watchdog timeout. Reset required."
168
-#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
169
-#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
170
-#define MSG_BUSY_PROCESSING                 "busy: processing"
171
-#define MSG_BUSY_PAUSED_FOR_USER            "busy: paused for user"
172
-#define MSG_BUSY_PAUSED_FOR_INPUT           "busy: paused for input"
173
-#define MSG_Z_MOVE_COMP                     "Z_move_comp"
174
-#define MSG_RESEND                          "Resend: "
175
-#define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
176
-#define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
177
-#define MSG_X_MIN                           "x_min"
178
-#define MSG_X_MAX                           "x_max"
179
-#define MSG_X2_MIN                          "x2_min"
180
-#define MSG_X2_MAX                          "x2_max"
181
-#define MSG_Y_MIN                           "y_min"
182
-#define MSG_Y_MAX                           "y_max"
183
-#define MSG_Y2_MIN                          "y2_min"
184
-#define MSG_Y2_MAX                          "y2_max"
185
-#define MSG_Z_MIN                           "z_min"
186
-#define MSG_Z_MAX                           "z_max"
187
-#define MSG_Z2_MIN                          "z2_min"
188
-#define MSG_Z2_MAX                          "z2_max"
189
-#define MSG_Z3_MIN                          "z3_min"
190
-#define MSG_Z3_MAX                          "z3_max"
191
-#define MSG_Z4_MIN                          "z4_min"
192
-#define MSG_Z4_MAX                          "z4_max"
193
-#define MSG_Z_PROBE                         "z_probe"
194
-#define MSG_FILAMENT_RUNOUT_SENSOR          "filament"
195
-#define MSG_PROBE_OFFSET                    "Probe Offset"
196
-#define MSG_SKEW_MIN                        "min_skew_factor: "
197
-#define MSG_SKEW_MAX                        "max_skew_factor: "
198
-#define MSG_ERR_MATERIAL_INDEX              "M145 S<index> out of range (0-1)"
199
-#define MSG_ERR_M421_PARAMETERS             "M421 incorrect parameter usage"
200
-#define MSG_ERR_BAD_PLANE_MODE              "G5 requires XY plane mode"
201
-#define MSG_ERR_MESH_XY                     "Mesh point cannot be resolved"
202
-#define MSG_ERR_ARC_ARGS                    "G2/G3 bad parameters"
203
-#define MSG_ERR_PROTECTED_PIN               "Protected Pin"
204
-#define MSG_ERR_M420_FAILED                 "Failed to enable Bed Leveling"
205
-#define MSG_ERR_M428_TOO_FAR                "Too far from reference point"
206
-#define MSG_ERR_M303_DISABLED               "PIDTEMP disabled"
207
-#define MSG_M119_REPORT                     "Reporting endstop status"
208
-#define MSG_ON                              "ON"
209
-#define MSG_OFF                             "OFF"
210
-#define MSG_ENDSTOP_HIT                     "TRIGGERED"
211
-#define MSG_ENDSTOP_OPEN                    "open"
212
-#define MSG_HOTEND_OFFSET                   "Hotend offsets:"
213
-#define MSG_DUPLICATION_MODE                "Duplication mode: "
214
-#define MSG_SOFT_ENDSTOPS                   "Soft endstops: "
215
-#define MSG_SOFT_MIN                        "  Min: "
216
-#define MSG_SOFT_MAX                        "  Max: "
217
-
218
-#define MSG_SAVED_POS                       "Position saved"
219
-#define MSG_RESTORING_POS                   "Restoring position"
220
-#define MSG_INVALID_POS_SLOT                "Invalid slot. Total: "
221
-
222
-#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir "
223
-#define MSG_SD_INIT_FAIL                    "SD init fail"
224
-#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
225
-#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
226
-#define MSG_SD_CARD_OK                      "SD card ok"
227
-#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
228
-#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
229
-#define MSG_SD_FILE_OPENED                  "File opened: "
230
-#define MSG_SD_SIZE                         " Size: "
231
-#define MSG_SD_FILE_SELECTED                "File selected"
232
-#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
233
-#define MSG_SD_PRINTING_BYTE                "SD printing byte "
234
-#define MSG_SD_NOT_PRINTING                 "Not SD printing"
235
-#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
236
-#define MSG_SD_ERR_READ                     "SD read error"
237
-#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
238
-
239
-#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
240
-#define MSG_ENDSTOPS_HIT                    "endstops hit: "
241
-#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
242
-#define MSG_ERR_LONG_EXTRUDE_STOP           " too long extrusion prevented"
243
-#define MSG_ERR_HOTEND_TOO_COLD             "Hotend too cold"
244
-#define MSG_ERR_Z_HOMING_SER                "Home XY first"
245
-#define MSG_ERR_EEPROM_WRITE                "Error writing to EEPROM!"
246
-
247
-#define MSG_FILAMENT_CHANGE_HEAT_LCD        "Press button to heat nozzle"
248
-#define MSG_FILAMENT_CHANGE_INSERT_LCD      "Insert filament and press button"
249
-#define MSG_FILAMENT_CHANGE_WAIT_LCD        "Press button to resume"
250
-#define MSG_FILAMENT_CHANGE_HEAT_M108       "Send M108 to heat nozzle"
251
-#define MSG_FILAMENT_CHANGE_INSERT_M108     "Insert filament and send M108"
252
-#define MSG_FILAMENT_CHANGE_WAIT_M108       "Send M108 to resume"
253
-
254
-#define MSG_STOP_BLTOUCH                    "!! STOP called because of BLTouch error - restart with M999"
255
-#define MSG_STOP_UNHOMED                    "!! STOP called because of unhomed error - restart with M999"
256
-#define MSG_KILL_INACTIVE_TIME              "!! KILL caused by too much inactive time - current command: "
257
-#define MSG_KILL_BUTTON                     "!! KILL caused by KILL button/pin"
258
-
259
-// temperature.cpp strings
260
-#define MSG_PID_AUTOTUNE_PREFIX             "PID Autotune"
261
-#define MSG_PID_AUTOTUNE_START              MSG_PID_AUTOTUNE_PREFIX " start"
262
-#define MSG_PID_AUTOTUNE_FAILED             MSG_PID_AUTOTUNE_PREFIX " failed!"
263
-#define MSG_PID_BAD_EXTRUDER_NUM            MSG_PID_AUTOTUNE_FAILED " Bad extruder number"
264
-#define MSG_PID_TEMP_TOO_HIGH               MSG_PID_AUTOTUNE_FAILED " Temperature too high"
265
-#define MSG_PID_TIMEOUT                     MSG_PID_AUTOTUNE_FAILED " timeout"
266
-#define MSG_BIAS                            " bias: "
267
-#define MSG_D                               " d: "
268
-#define MSG_T_MIN                           " min: "
269
-#define MSG_T_MAX                           " max: "
270
-#define MSG_KU                              " Ku: "
271
-#define MSG_TU                              " Tu: "
272
-#define MSG_CLASSIC_PID                     " Classic PID "
273
-#define MSG_KP                              " Kp: "
274
-#define MSG_KI                              " Ki: "
275
-#define MSG_KD                              " Kd: "
276
-#define MSG_AT                              " @:"
277
-#define MSG_PID_AUTOTUNE_FINISHED           MSG_PID_AUTOTUNE_PREFIX " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
278
-#define MSG_PID_DEBUG                       " PID_DEBUG "
279
-#define MSG_PID_DEBUG_INPUT                 ": Input "
280
-#define MSG_PID_DEBUG_OUTPUT                " Output "
281
-#define MSG_PID_DEBUG_PTERM                 " pTerm "
282
-#define MSG_PID_DEBUG_ITERM                 " iTerm "
283
-#define MSG_PID_DEBUG_DTERM                 " dTerm "
284
-#define MSG_PID_DEBUG_CTERM                 " cTerm "
285
-#define MSG_INVALID_EXTRUDER_NUM            " - Invalid extruder number !"
286
-
287
-#define MSG_HEATER_BED                      "bed"
288
-#define MSG_HEATER_CHAMBER                  "chamber"
289
-
290
-#define MSG_STOPPED_HEATER                  ", system stopped! Heater_ID: "
291
-#define MSG_REDUNDANCY                      "Heater switched off. Temperature difference between temp sensors is too high !"
292
-#define MSG_T_HEATING_FAILED                "Heating failed"
293
-#define MSG_T_THERMAL_RUNAWAY               "Thermal Runaway"
294
-#define MSG_T_MAXTEMP                       "MAXTEMP triggered"
295
-#define MSG_T_MINTEMP                       "MINTEMP triggered"
296
-#define MSG_ERR_PROBING_FAILED              "Probing Failed"
297
-#define MSG_ZPROBE_OUT_SER                  "Z Probe Past Bed"
298
-
299
-// Debug
300
-#define MSG_DEBUG_PREFIX                    "DEBUG:"
301
-#define MSG_DEBUG_OFF                       "off"
302
-#define MSG_DEBUG_ECHO                      "ECHO"
303
-#define MSG_DEBUG_INFO                      "INFO"
304
-#define MSG_DEBUG_ERRORS                    "ERRORS"
305
-#define MSG_DEBUG_DRYRUN                    "DRYRUN"
306
-#define MSG_DEBUG_COMMUNICATION             "COMMUNICATION"
307
-#define MSG_DEBUG_LEVELING                  "LEVELING"
308
-
309
-// LCD Menu Messages
310
-
311
-#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h)
312
-#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
313
-
314
-#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
315
-#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
316
-
317
-// Never translate these strings
318
-#define MSG_X "X"
319
-#define MSG_Y "Y"
320
-#define MSG_Z "Z"
321
-#define MSG_E "E"
322
-#if IS_KINEMATIC
323
-  #define MSG_A "A"
324
-  #define MSG_B "B"
325
-  #define MSG_C "C"
326
-#else
327
-  #define MSG_A "X"
328
-  #define MSG_B "Y"
329
-  #define MSG_C "Z"
330
-#endif
331
-#define MSG_X2 "X2"
332
-#define MSG_Y2 "Y2"
333
-#define MSG_Z2 "Z2"
334
-#define MSG_Z3 "Z3"
335
-#define MSG_Z4 "Z4"
336
-
337
-#define LCD_STR_A MSG_A
338
-#define LCD_STR_B MSG_B
339
-#define LCD_STR_C MSG_C
340
-#define LCD_STR_E MSG_E
341
-
342 342
 /**
343 343
  * Tool indexes for LCD display only
344 344
  *

+ 1
- 1
Marlin/src/core/serial.cpp View File

@@ -54,7 +54,7 @@ void serial_ternary(const bool onoff, PGM_P const pre, PGM_P const on, PGM_P con
54 54
   serialprintPGM(onoff ? on : off);
55 55
   if (post) serialprintPGM(post);
56 56
 }
57
-void serialprint_onoff(const bool onoff) { serialprintPGM(onoff ? PSTR(MSG_ON) : PSTR(MSG_OFF)); }
57
+void serialprint_onoff(const bool onoff) { serialprintPGM(onoff ? PSTR(STR_ON) : PSTR(STR_OFF)); }
58 58
 void serialprintln_onoff(const bool onoff) { serialprint_onoff(onoff); SERIAL_EOL(); }
59 59
 void serialprint_truefalse(const bool tf) { serialprintPGM(tf ? PSTR("true") : PSTR("false")); }
60 60
 

+ 2
- 2
Marlin/src/feature/bltouch.cpp View File

@@ -124,7 +124,7 @@ bool BLTouch::deploy_proc() {
124 124
       // The deploy might have failed or the probe is actually triggered (nozzle too low?) again
125 125
       if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch Recovery Failed");
126 126
 
127
-      SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH);  // Tell the user something is wrong, needs action
127
+      SERIAL_ERROR_MSG(STR_STOP_BLTOUCH);  // Tell the user something is wrong, needs action
128 128
       stop();                              // but it's not too bad, no need to kill, allow restart
129 129
 
130 130
       return true;                         // Tell our caller we goofed in case he cares to know
@@ -169,7 +169,7 @@ bool BLTouch::stow_proc() {
169 169
 
170 170
       if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch Recovery Failed");
171 171
 
172
-      SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH);  // Tell the user something is wrong, needs action
172
+      SERIAL_ERROR_MSG(STR_STOP_BLTOUCH);  // Tell the user something is wrong, needs action
173 173
       stop();                              // but it's not too bad, no need to kill, allow restart
174 174
 
175 175
       return true;                         // Tell our caller we goofed in case he cares to know

+ 2
- 2
Marlin/src/feature/pause.cpp View File

@@ -120,7 +120,7 @@ static bool ensure_safe_temperature(const PauseMode mode=PAUSE_MODE_SAME) {
120 120
 
121 121
   #if ENABLED(PREVENT_COLD_EXTRUSION)
122 122
     if (!DEBUGGING(DRYRUN) && thermalManager.targetTooColdToExtrude(active_extruder)) {
123
-      SERIAL_ECHO_MSG(MSG_ERR_HOTEND_TOO_COLD);
123
+      SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
124 124
       return false;
125 125
     }
126 126
   #endif
@@ -400,7 +400,7 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float
400 400
   #endif
401 401
 
402 402
   if (!DEBUGGING(DRYRUN) && unload_length && thermalManager.targetTooColdToExtrude(active_extruder)) {
403
-    SERIAL_ECHO_MSG(MSG_ERR_HOTEND_TOO_COLD);
403
+    SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
404 404
 
405 405
     #if HAS_LCD_MENU
406 406
       if (show_lcd) { // Show status screen

+ 1
- 1
Marlin/src/feature/prusa_MMU2/mmu2.cpp View File

@@ -462,7 +462,7 @@ void MMU2::tool_change(uint8_t index) {
462 462
     ENABLE_AXIS_E0();
463 463
 
464 464
     SERIAL_ECHO_START();
465
-    SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, int(extruder));
465
+    SERIAL_ECHOLNPAIR(STR_ACTIVE_EXTRUDER, int(extruder));
466 466
 
467 467
     ui.reset_status();
468 468
   }

+ 1
- 1
Marlin/src/feature/solenoid.cpp View File

@@ -67,7 +67,7 @@ static void set_solenoid(const uint8_t num, const bool active) {
67 67
         break;
68 68
     #endif
69 69
     default:
70
-      SERIAL_ECHO_MSG(MSG_INVALID_SOLENOID);
70
+      SERIAL_ECHO_MSG(STR_INVALID_SOLENOID);
71 71
       break;
72 72
   }
73 73
 }

+ 1
- 1
Marlin/src/gcode/bedlevel/G42.cpp View File

@@ -41,7 +41,7 @@ void GcodeSuite::G42() {
41 41
     const int8_t iy = hasJ ? parser.value_int() : 0;
42 42
 
43 43
     if ((hasI && !WITHIN(ix, 0, GRID_MAX_POINTS_X - 1)) || (hasJ && !WITHIN(iy, 0, GRID_MAX_POINTS_Y - 1))) {
44
-      SERIAL_ECHOLNPGM(MSG_ERR_MESH_XY);
44
+      SERIAL_ECHOLNPGM(STR_ERR_MESH_XY);
45 45
       return;
46 46
     }
47 47
 

+ 2
- 2
Marlin/src/gcode/bedlevel/M420.cpp View File

@@ -235,7 +235,7 @@ void GcodeSuite::M420() {
235 235
 
236 236
   // Error if leveling failed to enable or reenable
237 237
   if (to_enable && !planner.leveling_active)
238
-    SERIAL_ERROR_MSG(MSG_ERR_M420_FAILED);
238
+    SERIAL_ERROR_MSG(STR_ERR_M420_FAILED);
239 239
 
240 240
   SERIAL_ECHO_START();
241 241
   SERIAL_ECHOPGM("Bed Leveling ");
@@ -247,7 +247,7 @@ void GcodeSuite::M420() {
247 247
     if (planner.z_fade_height > 0.0)
248 248
       SERIAL_ECHOLN(planner.z_fade_height);
249 249
     else
250
-      SERIAL_ECHOLNPGM(MSG_OFF);
250
+      SERIAL_ECHOLNPGM(STR_OFF);
251 251
   #endif
252 252
 
253 253
   // Report change in position

+ 2
- 2
Marlin/src/gcode/bedlevel/abl/M421.cpp View File

@@ -50,9 +50,9 @@ void GcodeSuite::M421() {
50 50
              hasQ = !hasZ && parser.seen('Q');
51 51
 
52 52
   if (!hasI || !hasJ || !(hasZ || hasQ))
53
-    SERIAL_ERROR_MSG(MSG_ERR_M421_PARAMETERS);
53
+    SERIAL_ERROR_MSG(STR_ERR_M421_PARAMETERS);
54 54
   else if (!WITHIN(ix, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(iy, 0, GRID_MAX_POINTS_Y - 1))
55
-    SERIAL_ERROR_MSG(MSG_ERR_MESH_XY);
55
+    SERIAL_ERROR_MSG(STR_ERR_MESH_XY);
56 56
   else {
57 57
     z_values[ix][iy] = parser.value_linear_units() + (hasQ ? z_values[ix][iy] : 0);
58 58
     #if ENABLED(ABL_BILINEAR_SUBDIVISION)

+ 2
- 2
Marlin/src/gcode/bedlevel/mbl/M421.cpp View File

@@ -49,9 +49,9 @@ void GcodeSuite::M421() {
49 49
   const bool hasZ = parser.seen('Z'), hasQ = !hasZ && parser.seen('Q');
50 50
 
51 51
   if (int(hasI && hasJ) + int(hasX && hasY) != 1 || !(hasZ || hasQ))
52
-    SERIAL_ERROR_MSG(MSG_ERR_M421_PARAMETERS);
52
+    SERIAL_ERROR_MSG(STR_ERR_M421_PARAMETERS);
53 53
   else if (ix < 0 || iy < 0)
54
-    SERIAL_ERROR_MSG(MSG_ERR_MESH_XY);
54
+    SERIAL_ERROR_MSG(STR_ERR_MESH_XY);
55 55
   else
56 56
     mbl.set_z(ix, iy, parser.value_linear_units() + (hasQ ? mbl.z_values[ix][iy] : 0));
57 57
 }

+ 2
- 2
Marlin/src/gcode/bedlevel/ubl/M421.cpp View File

@@ -57,9 +57,9 @@ void GcodeSuite::M421() {
57 57
   if (hasC) ij = ubl.find_closest_mesh_point_of_type(REAL, current_position);
58 58
 
59 59
   if (int(hasC) + int(hasI && hasJ) != 1 || !(hasZ || hasQ || hasN))
60
-    SERIAL_ERROR_MSG(MSG_ERR_M421_PARAMETERS);
60
+    SERIAL_ERROR_MSG(STR_ERR_M421_PARAMETERS);
61 61
   else if (!WITHIN(ij.x, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(ij.y, 0, GRID_MAX_POINTS_Y - 1))
62
-    SERIAL_ERROR_MSG(MSG_ERR_MESH_XY);
62
+    SERIAL_ERROR_MSG(STR_ERR_MESH_XY);
63 63
   else {
64 64
     float &zval = ubl.z_values[ij.x][ij.y];
65 65
     zval = hasN ? NAN : parser.value_linear_units() + (hasQ ? zval : 0);

+ 3
- 3
Marlin/src/gcode/calibrate/G28.cpp View File

@@ -118,7 +118,7 @@
118 118
     // Disallow Z homing if X or Y are unknown
119 119
     if (!TEST(axis_known_position, X_AXIS) || !TEST(axis_known_position, Y_AXIS)) {
120 120
       LCD_MESSAGEPGM(MSG_ERR_Z_HOMING);
121
-      SERIAL_ECHO_MSG(MSG_ERR_Z_HOMING_SER);
121
+      SERIAL_ECHO_MSG(STR_ERR_Z_HOMING_SER);
122 122
       return;
123 123
     }
124 124
 
@@ -154,7 +154,7 @@
154 154
     }
155 155
     else {
156 156
       LCD_MESSAGEPGM(MSG_ZPROBE_OUT);
157
-      SERIAL_ECHO_MSG(MSG_ZPROBE_OUT_SER);
157
+      SERIAL_ECHO_MSG(STR_ZPROBE_OUT_SER);
158 158
     }
159 159
 
160 160
     if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< home_z_safely");
@@ -529,7 +529,7 @@ void GcodeSuite::G28(const bool always_home_all) {
529 529
       #define _HOME_SYNC doZ        // Only for Z-axis
530 530
     #endif
531 531
     if (_HOME_SYNC)
532
-      SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
532
+      SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
533 533
   #endif
534 534
 
535 535
   if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< G28");

+ 1
- 1
Marlin/src/gcode/calibrate/M852.cpp View File

@@ -82,7 +82,7 @@ void GcodeSuite::M852() {
82 82
   #endif
83 83
 
84 84
   if (badval)
85
-    SERIAL_ECHOLNPGM(MSG_SKEW_MIN " " STRINGIFY(SKEW_FACTOR_MIN) " " MSG_SKEW_MAX " " STRINGIFY(SKEW_FACTOR_MAX));
85
+    SERIAL_ECHOLNPGM(STR_SKEW_MIN " " STRINGIFY(SKEW_FACTOR_MIN) " " STR_SKEW_MAX " " STRINGIFY(SKEW_FACTOR_MAX));
86 86
 
87 87
   // When skew is changed the current position changes
88 88
   if (setval) {

+ 1
- 1
Marlin/src/gcode/config/M218.cpp View File

@@ -50,7 +50,7 @@ void GcodeSuite::M218() {
50 50
 
51 51
   if (!parser.seen("XYZ")) {
52 52
     SERIAL_ECHO_START();
53
-    SERIAL_ECHOPGM(MSG_HOTEND_OFFSET);
53
+    SERIAL_ECHOPGM(STR_HOTEND_OFFSET);
54 54
     HOTEND_LOOP() {
55 55
       SERIAL_CHAR(' ');
56 56
       SERIAL_ECHO(hotend_offset[e].x);

+ 1
- 1
Marlin/src/gcode/config/M301.cpp View File

@@ -82,7 +82,7 @@ void GcodeSuite::M301() {
82 82
     SERIAL_EOL();
83 83
   }
84 84
   else
85
-    SERIAL_ERROR_MSG(MSG_INVALID_EXTRUDER);
85
+    SERIAL_ERROR_MSG(STR_INVALID_EXTRUDER);
86 86
 }
87 87
 
88 88
 #endif // PIDTEMP

+ 8
- 8
Marlin/src/gcode/control/M111.cpp View File

@@ -28,13 +28,13 @@
28 28
 void GcodeSuite::M111() {
29 29
   if (parser.seen('S')) marlin_debug_flags = parser.byteval('S');
30 30
 
31
-  static const char str_debug_1[] PROGMEM = MSG_DEBUG_ECHO,
32
-                    str_debug_2[] PROGMEM = MSG_DEBUG_INFO,
33
-                    str_debug_4[] PROGMEM = MSG_DEBUG_ERRORS,
34
-                    str_debug_8[] PROGMEM = MSG_DEBUG_DRYRUN,
35
-                    str_debug_16[] PROGMEM = MSG_DEBUG_COMMUNICATION
31
+  static const char str_debug_1[] PROGMEM = STR_DEBUG_ECHO,
32
+                    str_debug_2[] PROGMEM = STR_DEBUG_INFO,
33
+                    str_debug_4[] PROGMEM = STR_DEBUG_ERRORS,
34
+                    str_debug_8[] PROGMEM = STR_DEBUG_DRYRUN,
35
+                    str_debug_16[] PROGMEM = STR_DEBUG_COMMUNICATION
36 36
                     #if ENABLED(DEBUG_LEVELING_FEATURE)
37
-                      , str_debug_lvl[] PROGMEM = MSG_DEBUG_LEVELING
37
+                      , str_debug_lvl[] PROGMEM = STR_DEBUG_LEVELING
38 38
                     #endif
39 39
                     ;
40 40
 
@@ -46,7 +46,7 @@ void GcodeSuite::M111() {
46 46
   };
47 47
 
48 48
   SERIAL_ECHO_START();
49
-  SERIAL_ECHOPGM(MSG_DEBUG_PREFIX);
49
+  SERIAL_ECHOPGM(STR_DEBUG_PREFIX);
50 50
   if (marlin_debug_flags) {
51 51
     uint8_t comma = 0;
52 52
     for (uint8_t i = 0; i < COUNT(debug_strings); i++) {
@@ -57,7 +57,7 @@ void GcodeSuite::M111() {
57 57
     }
58 58
   }
59 59
   else {
60
-    SERIAL_ECHOPGM(MSG_DEBUG_OFF);
60
+    SERIAL_ECHOPGM(STR_DEBUG_OFF);
61 61
     #if !defined(__AVR__) || !defined(USBCON)
62 62
       #if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS)
63 63
         SERIAL_ECHOPAIR("\nBuffer Overruns: ", MYSERIAL0.buffer_overruns());

+ 3
- 3
Marlin/src/gcode/control/M211.cpp View File

@@ -36,11 +36,11 @@ void GcodeSuite::M211() {
36 36
   const xyz_pos_t l_soft_min = soft_endstop.min.asLogical(),
37 37
                   l_soft_max = soft_endstop.max.asLogical();
38 38
   SERIAL_ECHO_START();
39
-  SERIAL_ECHOPGM(MSG_SOFT_ENDSTOPS);
39
+  SERIAL_ECHOPGM(STR_SOFT_ENDSTOPS);
40 40
   if (parser.seen('S')) soft_endstops_enabled = parser.value_bool();
41 41
   serialprint_onoff(soft_endstops_enabled);
42
-  print_xyz(l_soft_min, PSTR(MSG_SOFT_MIN), PSTR(" "));
43
-  print_xyz(l_soft_max, PSTR(MSG_SOFT_MAX));
42
+  print_xyz(l_soft_min, PSTR(STR_SOFT_MIN), PSTR(" "));
43
+  print_xyz(l_soft_max, PSTR(STR_SOFT_MAX));
44 44
 }
45 45
 
46 46
 #endif

+ 1
- 1
Marlin/src/gcode/control/M605.cpp View File

@@ -167,7 +167,7 @@
167 167
       extruder_duplication_enabled = ena && (duplication_e_mask >= 3);
168 168
     }
169 169
     SERIAL_ECHO_START();
170
-    SERIAL_ECHOPGM(MSG_DUPLICATION_MODE);
170
+    SERIAL_ECHOPGM(STR_DUPLICATION_MODE);
171 171
     serialprint_onoff(extruder_duplication_enabled);
172 172
     if (ena) {
173 173
       SERIAL_ECHOPGM(" ( ");

+ 1
- 1
Marlin/src/gcode/control/M80_M81.cpp View File

@@ -110,6 +110,6 @@ void GcodeSuite::M81() {
110 110
   #endif
111 111
 
112 112
   #if HAS_LCD_MENU
113
-    LCD_MESSAGEPGM_P(PSTR(MACHINE_NAME " " MSG_OFF "."));
113
+    LCD_MESSAGEPGM_P(PSTR(MACHINE_NAME " " STR_OFF "."));
114 114
   #endif
115 115
 }

+ 2
- 2
Marlin/src/gcode/feature/pause/G60.cpp View File

@@ -40,7 +40,7 @@ void GcodeSuite::G60() {
40 40
   const uint8_t slot = parser.byteval('S');
41 41
 
42 42
   if (slot >= SAVED_POSITIONS) {
43
-    SERIAL_ERROR_MSG(MSG_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
43
+    SERIAL_ERROR_MSG(STR_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
44 44
     return;
45 45
   }
46 46
 
@@ -49,7 +49,7 @@ void GcodeSuite::G60() {
49 49
 
50 50
   #if ENABLED(SAVED_POSITIONS_DEBUG)
51 51
     const xyze_pos_t &pos = stored_position[slot];
52
-    DEBUG_ECHOPAIR_F(MSG_SAVED_POS " S", slot);
52
+    DEBUG_ECHOPAIR_F(STR_SAVED_POS " S", slot);
53 53
     DEBUG_ECHOPAIR_F(" : X", pos.x);
54 54
     DEBUG_ECHOPAIR_F_P(SP_Y_STR, pos.y);
55 55
     DEBUG_ECHOLNPAIR_F_P(SP_Z_STR, pos.z);

+ 2
- 2
Marlin/src/gcode/feature/pause/G61.cpp View File

@@ -42,7 +42,7 @@ void GcodeSuite::G61(void) {
42 42
 
43 43
   #if SAVED_POSITIONS < 256
44 44
     if (slot >= SAVED_POSITIONS) {
45
-      SERIAL_ERROR_MSG(MSG_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
45
+      SERIAL_ERROR_MSG(STR_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
46 46
       return;
47 47
     }
48 48
   #endif
@@ -54,7 +54,7 @@ void GcodeSuite::G61(void) {
54 54
   const float fr = parser.linearval('F');
55 55
   if (fr > 0.0) feedrate_mm_s = MMM_TO_MMS(fr);
56 56
 
57
-  SERIAL_ECHOPAIR(MSG_RESTORING_POS " S", int(slot));
57
+  SERIAL_ECHOPAIR(STR_RESTORING_POS " S", int(slot));
58 58
   LOOP_XYZ(i) {
59 59
     destination[i] = parser.seen(axis_codes[i])
60 60
       ? stored_position[slot][i] + parser.value_axis_units((AxisEnum)i)

+ 6
- 6
Marlin/src/gcode/gcode.cpp View File

@@ -94,7 +94,7 @@ int8_t GcodeSuite::get_target_extruder_from_command() {
94 94
     if (e < EXTRUDERS) return e;
95 95
     SERIAL_ECHO_START();
96 96
     SERIAL_CHAR('M'); SERIAL_ECHO(parser.codenum);
97
-    SERIAL_ECHOLNPAIR(" " MSG_INVALID_EXTRUDER " ", int(e));
97
+    SERIAL_ECHOLNPAIR(" " STR_INVALID_EXTRUDER " ", int(e));
98 98
     return -1;
99 99
   }
100 100
   return active_extruder;
@@ -111,9 +111,9 @@ int8_t GcodeSuite::get_target_e_stepper_from_command() {
111 111
   SERIAL_ECHO_START();
112 112
   SERIAL_CHAR('M'); SERIAL_ECHO(parser.codenum);
113 113
   if (e == -1)
114
-    SERIAL_ECHOLNPGM(" " MSG_E_STEPPER_NOT_SPECIFIED);
114
+    SERIAL_ECHOLNPGM(" " STR_E_STEPPER_NOT_SPECIFIED);
115 115
   else
116
-    SERIAL_ECHOLNPAIR(" " MSG_INVALID_E_STEPPER " ", int(e));
116
+    SERIAL_ECHOLNPAIR(" " STR_INVALID_E_STEPPER " ", int(e));
117 117
   return -1;
118 118
 }
119 119
 
@@ -951,13 +951,13 @@ void GcodeSuite::process_subcommands_now(char * gcode) {
951 951
       switch (busy_state) {
952 952
         case IN_HANDLER:
953 953
         case IN_PROCESS:
954
-          SERIAL_ECHO_MSG(MSG_BUSY_PROCESSING);
954
+          SERIAL_ECHO_MSG(STR_BUSY_PROCESSING);
955 955
           break;
956 956
         case PAUSED_FOR_USER:
957
-          SERIAL_ECHO_MSG(MSG_BUSY_PAUSED_FOR_USER);
957
+          SERIAL_ECHO_MSG(STR_BUSY_PAUSED_FOR_USER);
958 958
           break;
959 959
         case PAUSED_FOR_INPUT:
960
-          SERIAL_ECHO_MSG(MSG_BUSY_PAUSED_FOR_INPUT);
960
+          SERIAL_ECHO_MSG(STR_BUSY_PAUSED_FOR_INPUT);
961 961
           break;
962 962
         default:
963 963
           break;

+ 1
- 1
Marlin/src/gcode/geometry/M206_M428.cpp View File

@@ -69,7 +69,7 @@ void GcodeSuite::M428() {
69 69
     if (!WITHIN(diff[i], -20, 20) && home_dir((AxisEnum)i) > 0)
70 70
       diff[i] = -current_position[i];
71 71
     if (!WITHIN(diff[i], -20, 20)) {
72
-      SERIAL_ERROR_MSG(MSG_ERR_M428_TOO_FAR);
72
+      SERIAL_ERROR_MSG(STR_ERR_M428_TOO_FAR);
73 73
       LCD_ALERTMESSAGEPGM_P(PSTR("Err: Too far!"));
74 74
       BUZZ(200, 40);
75 75
       return;

+ 1
- 1
Marlin/src/gcode/host/M115.cpp View File

@@ -39,7 +39,7 @@
39 39
  */
40 40
 void GcodeSuite::M115() {
41 41
 
42
-  SERIAL_ECHOLNPGM(MSG_M115_REPORT);
42
+  SERIAL_ECHOLNPGM(STR_M115_REPORT);
43 43
 
44 44
   #if ENABLED(EXTENDED_CAPABILITIES_REPORT)
45 45
 

+ 1
- 1
Marlin/src/gcode/lcd/M145.cpp View File

@@ -38,7 +38,7 @@
38 38
 void GcodeSuite::M145() {
39 39
   const uint8_t material = (uint8_t)parser.intval('S');
40 40
   if (material >= COUNT(ui.preheat_hotend_temp))
41
-    SERIAL_ERROR_MSG(MSG_ERR_MATERIAL_INDEX);
41
+    SERIAL_ERROR_MSG(STR_ERR_MATERIAL_INDEX);
42 42
   else {
43 43
     int v;
44 44
     if (parser.seenval('H')) {

+ 1
- 1
Marlin/src/gcode/motion/G0_G1.cpp View File

@@ -118,7 +118,7 @@ void GcodeSuite::G0_G1(
118 118
       #endif
119 119
       if (_MOVE_SYNC) {
120 120
         planner.synchronize();
121
-        SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
121
+        SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
122 122
       }
123 123
     #endif
124 124
   }

+ 2
- 2
Marlin/src/gcode/motion/G2_G3.cpp View File

@@ -327,7 +327,7 @@ void GcodeSuite::G2_G3(const bool clockwise) {
327 327
         // P indicates number of circles to do
328 328
         int8_t circles_to_do = parser.byteval('P');
329 329
         if (!WITHIN(circles_to_do, 0, 100))
330
-          SERIAL_ERROR_MSG(MSG_ERR_ARC_ARGS);
330
+          SERIAL_ERROR_MSG(STR_ERR_ARC_ARGS);
331 331
 
332 332
         while (circles_to_do--)
333 333
           plan_arc(current_position, arc_offset, clockwise);
@@ -338,7 +338,7 @@ void GcodeSuite::G2_G3(const bool clockwise) {
338 338
       reset_stepper_timeout();
339 339
     }
340 340
     else
341
-      SERIAL_ERROR_MSG(MSG_ERR_ARC_ARGS);
341
+      SERIAL_ERROR_MSG(STR_ERR_ARC_ARGS);
342 342
   }
343 343
 }
344 344
 

+ 1
- 1
Marlin/src/gcode/motion/G4.cpp View File

@@ -35,7 +35,7 @@ void GcodeSuite::G4() {
35 35
 
36 36
   planner.synchronize();
37 37
   #if ENABLED(NANODLP_Z_SYNC)
38
-    SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
38
+    SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
39 39
   #endif
40 40
 
41 41
   if (!ui.has_status()) LCD_MESSAGEPGM(MSG_DWELL);

+ 1
- 1
Marlin/src/gcode/motion/G5.cpp View File

@@ -45,7 +45,7 @@ void GcodeSuite::G5() {
45 45
 
46 46
     #if ENABLED(CNC_WORKSPACE_PLANES)
47 47
       if (workspace_plane != PLANE_XY) {
48
-        SERIAL_ERROR_MSG(MSG_ERR_BAD_PLANE_MODE);
48
+        SERIAL_ERROR_MSG(STR_ERR_BAD_PLANE_MODE);
49 49
         return;
50 50
       }
51 51
     #endif

+ 3
- 3
Marlin/src/gcode/motion/M290.cpp View File

@@ -48,13 +48,13 @@
48 48
     ) {
49 49
       probe.offset.z += offs;
50 50
       SERIAL_ECHO_START();
51
-      SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", probe.offset.z);
51
+      SERIAL_ECHOLNPAIR(STR_PROBE_OFFSET STR_Z ": ", probe.offset.z);
52 52
     }
53 53
     else {
54 54
       #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
55 55
         hotend_offset[active_extruder].z -= offs;
56 56
         SERIAL_ECHO_START();
57
-        SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", hotend_offset[active_extruder].z);
57
+        SERIAL_ECHOLNPAIR(STR_PROBE_OFFSET STR_Z ": ", hotend_offset[active_extruder].z);
58 58
       #endif
59 59
     }
60 60
   }
@@ -98,7 +98,7 @@ void GcodeSuite::M290() {
98 98
     SERIAL_ECHO_START();
99 99
 
100 100
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
101
-      SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET " " MSG_Z, probe.offset.z);
101
+      SERIAL_ECHOLNPAIR(STR_PROBE_OFFSET " " STR_Z, probe.offset.z);
102 102
     #endif
103 103
 
104 104
     #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)

+ 1
- 1
Marlin/src/gcode/parser.cpp View File

@@ -365,7 +365,7 @@ void GCodeParser::parse(char *p) {
365 365
 #endif // CNC_COORDINATE_SYSTEMS
366 366
 
367 367
 void GCodeParser::unknown_command_warning() {
368
-  SERIAL_ECHO_MSG(MSG_UNKNOWN_COMMAND, command_ptr, "\"");
368
+  SERIAL_ECHO_MSG(STR_UNKNOWN_COMMAND, command_ptr, "\"");
369 369
 }
370 370
 
371 371
 #if ENABLED(DEBUG_GCODE_PARSER)

+ 2
- 2
Marlin/src/gcode/probe/M851.cpp View File

@@ -39,9 +39,9 @@ void GcodeSuite::M851() {
39 39
   if (!parser.seen("XYZ")) {
40 40
     SERIAL_ECHOLNPAIR_P(
41 41
       #if HAS_PROBE_XY_OFFSET
42
-        PSTR(MSG_PROBE_OFFSET " X"), probe.offset_xy.x, SP_Y_STR, probe.offset_xy.y, SP_Z_STR
42
+        PSTR(STR_PROBE_OFFSET " X"), probe.offset_xy.x, SP_Y_STR, probe.offset_xy.y, SP_Z_STR
43 43
       #else
44
-        PSTR(MSG_PROBE_OFFSET " X0 Y0 Z")
44
+        PSTR(STR_PROBE_OFFSET " X0 Y0 Z")
45 45
       #endif
46 46
       , probe.offset.z
47 47
     );

+ 11
- 11
Marlin/src/gcode/queue.cpp View File

@@ -163,7 +163,7 @@ bool GCodeQueue::enqueue_one(const char* cmd) {
163 163
   if (*cmd == 0 || *cmd == '\n' || *cmd == '\r') return true;
164 164
 
165 165
   if (_enqueue(cmd)) {
166
-    SERIAL_ECHO_MSG(MSG_ENQUEUEING, cmd, "\"");
166
+    SERIAL_ECHO_MSG(STR_ENQUEUEING, cmd, "\"");
167 167
     return true;
168 168
   }
169 169
   return false;
@@ -244,7 +244,7 @@ void GCodeQueue::ok_to_send() {
244 244
     PORT_REDIRECT(pn);                    // Reply to the serial port that sent the command
245 245
   #endif
246 246
   if (!send_ok[index_r]) return;
247
-  SERIAL_ECHOPGM(MSG_OK);
247
+  SERIAL_ECHOPGM(STR_OK);
248 248
   #if ENABLED(ADVANCED_OK)
249 249
     char* p = command_buffer[index_r];
250 250
     if (*p == 'N') {
@@ -270,7 +270,7 @@ void GCodeQueue::flush_and_request_resend() {
270 270
     PORT_REDIRECT(pn);                    // Reply to the serial port that sent the command
271 271
   #endif
272 272
   SERIAL_FLUSH();
273
-  SERIAL_ECHOPGM(MSG_RESEND);
273
+  SERIAL_ECHOPGM(STR_RESEND);
274 274
   SERIAL_ECHOLN(last_N + 1);
275 275
   ok_to_send();
276 276
 }
@@ -397,7 +397,7 @@ void GCodeQueue::get_serial_commands() {
397 397
     static millis_t last_command_time = 0;
398 398
     const millis_t ms = millis();
399 399
     if (length == 0 && !serial_data_available() && ELAPSED(ms, last_command_time + NO_TIMEOUTS)) {
400
-      SERIAL_ECHOLNPGM(MSG_WAIT);
400
+      SERIAL_ECHOLNPGM(STR_WAIT);
401 401
       last_command_time = ms;
402 402
     }
403 403
   #endif
@@ -436,24 +436,24 @@ void GCodeQueue::get_serial_commands() {
436 436
           gcode_N = strtol(npos + 1, nullptr, 10);
437 437
 
438 438
           if (gcode_N != last_N + 1 && !M110)
439
-            return gcode_line_error(PSTR(MSG_ERR_LINE_NO), i);
439
+            return gcode_line_error(PSTR(STR_ERR_LINE_NO), i);
440 440
 
441 441
           char *apos = strrchr(command, '*');
442 442
           if (apos) {
443 443
             uint8_t checksum = 0, count = uint8_t(apos - command);
444 444
             while (count) checksum ^= command[--count];
445 445
             if (strtol(apos + 1, nullptr, 10) != checksum)
446
-              return gcode_line_error(PSTR(MSG_ERR_CHECKSUM_MISMATCH), i);
446
+              return gcode_line_error(PSTR(STR_ERR_CHECKSUM_MISMATCH), i);
447 447
           }
448 448
           else
449
-            return gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM), i);
449
+            return gcode_line_error(PSTR(STR_ERR_NO_CHECKSUM), i);
450 450
 
451 451
           last_N = gcode_N;
452 452
         }
453 453
         #if ENABLED(SDSUPPORT)
454 454
           // Pronterface "M29" and "M29 " has no line number
455 455
           else if (card.flag.saving && !is_M29(command))
456
-            return gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM), i);
456
+            return gcode_line_error(PSTR(STR_ERR_NO_CHECKSUM), i);
457 457
         #endif
458 458
 
459 459
         //
@@ -472,7 +472,7 @@ void GCodeQueue::get_serial_commands() {
472 472
                 case 5:
473 473
               #endif
474 474
                 PORT_REDIRECT(i);                      // Reply to the serial port that sent the command
475
-                SERIAL_ECHOLNPGM(MSG_ERR_STOPPED);
475
+                SERIAL_ECHOLNPGM(STR_ERR_STOPPED);
476 476
                 LCD_MESSAGEPGM(MSG_STOPPED);
477 477
                 break;
478 478
             }
@@ -527,7 +527,7 @@ void GCodeQueue::get_serial_commands() {
527 527
     while (length < BUFSIZE && !card_eof) {
528 528
       const int16_t n = card.get();
529 529
       card_eof = card.eof();
530
-      if (n < 0 && !card_eof) { SERIAL_ERROR_MSG(MSG_SD_ERR_READ); continue; }
530
+      if (n < 0 && !card_eof) { SERIAL_ERROR_MSG(STR_SD_ERR_READ); continue; }
531 531
 
532 532
       const char sd_char = (char)n;
533 533
       const bool is_eol = sd_char == '\n' || sd_char == '\r';
@@ -585,7 +585,7 @@ void GCodeQueue::advance() {
585 585
       if (is_M29(command)) {
586 586
         // M29 closes the file
587 587
         card.closefile();
588
-        SERIAL_ECHOLNPGM(MSG_FILE_SAVED);
588
+        SERIAL_ECHOLNPGM(STR_FILE_SAVED);
589 589
 
590 590
         #if !defined(__AVR__) || !defined(USBCON)
591 591
           #if ENABLED(SERIAL_STATS_DROPPED_RX)

+ 2
- 2
Marlin/src/gcode/sdcard/M20.cpp View File

@@ -31,9 +31,9 @@
31 31
  * M20: List SD card to serial output
32 32
  */
33 33
 void GcodeSuite::M20() {
34
-  SERIAL_ECHOLNPGM(MSG_BEGIN_FILE_LIST);
34
+  SERIAL_ECHOLNPGM(STR_BEGIN_FILE_LIST);
35 35
   card.ls();
36
-  SERIAL_ECHOLNPGM(MSG_END_FILE_LIST);
36
+  SERIAL_ECHOLNPGM(STR_END_FILE_LIST);
37 37
 }
38 38
 
39 39
 #endif // SDSUPPORT

+ 1
- 1
Marlin/src/gcode/temperature/M105.cpp View File

@@ -31,7 +31,7 @@ void GcodeSuite::M105() {
31 31
   const int8_t target_extruder = get_target_extruder_from_command();
32 32
   if (target_extruder < 0) return;
33 33
 
34
-  SERIAL_ECHOPGM(MSG_OK);
34
+  SERIAL_ECHOPGM(STR_OK);
35 35
 
36 36
   #if HAS_TEMP_SENSOR
37 37
 

+ 1
- 1
Marlin/src/gcode/temperature/M303.cpp View File

@@ -52,7 +52,7 @@ void GcodeSuite::M303() {
52 52
   #endif
53 53
   const heater_ind_t e = (heater_ind_t)parser.intval('E');
54 54
   if (!WITHIN(e, SI, EI)) {
55
-    SERIAL_ECHOLNPGM(MSG_PID_BAD_EXTRUDER_NUM);
55
+    SERIAL_ECHOLNPGM(STR_PID_BAD_EXTRUDER_NUM);
56 56
     #if ENABLED(EXTENSIBLE_UI)
57 57
       ExtUI::OnPidTuning(ExtUI::result_t::PID_BAD_EXTRUDER_NUM);
58 58
     #endif

+ 4
- 4
Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/marlin_events.cpp View File

@@ -137,16 +137,16 @@ namespace ExtUI {
137 137
       SERIAL_ECHOLNPAIR("OnPidTuning:", rst);
138 138
       switch (rst) {
139 139
         case PID_BAD_EXTRUDER_NUM:
140
-          StatusScreen::setStatusMessage(MSG_PID_BAD_EXTRUDER_NUM);
140
+          StatusScreen::setStatusMessage(STR_PID_BAD_EXTRUDER_NUM);
141 141
           break;
142 142
         case PID_TEMP_TOO_HIGH:
143
-          StatusScreen::setStatusMessage(MSG_PID_TEMP_TOO_HIGH);
143
+          StatusScreen::setStatusMessage(STR_PID_TEMP_TOO_HIGH);
144 144
           break;
145 145
         case PID_TUNING_TIMEOUT:
146
-          StatusScreen::setStatusMessage(MSG_PID_TIMEOUT);
146
+          StatusScreen::setStatusMessage(STR_PID_TIMEOUT);
147 147
           break;
148 148
         case PID_DONE:
149
-          StatusScreen::setStatusMessage(MSG_PID_AUTOTUNE_FINISHED);
149
+          StatusScreen::setStatusMessage(STR_PID_AUTOTUNE_FINISHED);
150 150
           break;
151 151
       }
152 152
       GOTO_SCREEN(StatusScreen);

+ 2
- 2
Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp View File

@@ -74,7 +74,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
74 74
           1
75 75
         #endif
76 76
       )
77
-      .tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
77
+      .tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(STR_OFFSETS_MENU))
78 78
       .enabled(
79 79
         #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
80 80
           1
@@ -142,7 +142,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
142 142
           1
143 143
         #endif
144 144
       )
145
-      .tag(4) .button( BTN_POS(1,2),  BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
145
+      .tag(4) .button( BTN_POS(1,2),  BTN_SIZE(1,1), GET_TEXT_F(STR_OFFSETS_MENU))
146 146
       .tag(12).button( BTN_POS(3,4),  BTN_SIZE(1,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
147 147
       .tag(5) .button( BTN_POS(2,2),  BTN_SIZE(1,1), GET_TEXT_F(MSG_VELOCITY))
148 148
       .tag(6) .button( BTN_POS(2,3),  BTN_SIZE(1,1), GET_TEXT_F(MSG_ACCELERATION))

+ 1
- 1
Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/bio_advanced_settings.cpp View File

@@ -62,7 +62,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
62 62
           1
63 63
         #endif
64 64
       )
65
-      .tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
65
+      .tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(STR_OFFSETS_MENU))
66 66
 
67 67
 
68 68
       .tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_STEPS_PER_MM))

+ 14
- 14
Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/endstop_state_screen.cpp View File

@@ -62,34 +62,34 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) {
62 62
   .text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
63 63
   .font(font_tiny);
64 64
   #if PIN_EXISTS(X_MAX)
65
-    PIN_ENABLED (1, 2, PSTR(MSG_X_MAX), X_MAX, X_MAX_ENDSTOP_INVERTING)
65
+    PIN_ENABLED (1, 2, PSTR(STR_X_MAX), X_MAX, X_MAX_ENDSTOP_INVERTING)
66 66
   #else
67
-    PIN_DISABLED(1, 2, PSTR(MSG_X_MAX), X_MAX)
67
+    PIN_DISABLED(1, 2, PSTR(STR_X_MAX), X_MAX)
68 68
   #endif
69 69
   #if PIN_EXISTS(Y_MAX)
70
-    PIN_ENABLED (3, 2, PSTR(MSG_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_INVERTING)
70
+    PIN_ENABLED (3, 2, PSTR(STR_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_INVERTING)
71 71
   #else
72
-    PIN_DISABLED(3, 2, PSTR(MSG_Y_MAX), Y_MAX)
72
+    PIN_DISABLED(3, 2, PSTR(STR_Y_MAX), Y_MAX)
73 73
   #endif
74 74
   #if PIN_EXISTS(Z_MAX)
75
-    PIN_ENABLED (5, 2, PSTR(MSG_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_INVERTING)
75
+    PIN_ENABLED (5, 2, PSTR(STR_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_INVERTING)
76 76
   #else
77
-    PIN_DISABLED(5, 2, PSTR(MSG_Z_MAX), Z_MAX)
77
+    PIN_DISABLED(5, 2, PSTR(STR_Z_MAX), Z_MAX)
78 78
   #endif
79 79
   #if PIN_EXISTS(X_MIN)
80
-    PIN_ENABLED (1, 3, PSTR(MSG_X_MIN), X_MIN, X_MIN_ENDSTOP_INVERTING)
80
+    PIN_ENABLED (1, 3, PSTR(STR_X_MIN), X_MIN, X_MIN_ENDSTOP_INVERTING)
81 81
   #else
82
-    PIN_DISABLED(1, 3, PSTR(MSG_X_MIN), X_MIN)
82
+    PIN_DISABLED(1, 3, PSTR(STR_X_MIN), X_MIN)
83 83
   #endif
84 84
   #if PIN_EXISTS(Y_MIN)
85
-    PIN_ENABLED (3, 3, PSTR(MSG_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_INVERTING)
85
+    PIN_ENABLED (3, 3, PSTR(STR_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_INVERTING)
86 86
   #else
87
-    PIN_DISABLED(3, 3, PSTR(MSG_Y_MIN), Y_MIN)
87
+    PIN_DISABLED(3, 3, PSTR(STR_Y_MIN), Y_MIN)
88 88
   #endif
89 89
   #if PIN_EXISTS(Z_MIN)
90
-    PIN_ENABLED (5, 3, PSTR(MSG_Z_MIN), Z_MIN, Z_MIN_ENDSTOP_INVERTING)
90
+    PIN_ENABLED (5, 3, PSTR(STR_Z_MIN), Z_MIN, Z_MIN_ENDSTOP_INVERTING)
91 91
   #else
92
-    PIN_DISABLED(5, 3, PSTR(MSG_Z_MIN), Z_MIN)
92
+    PIN_DISABLED(5, 3, PSTR(STR_Z_MIN), Z_MIN)
93 93
   #endif
94 94
   #if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT)
95 95
     PIN_ENABLED (1, 4, GET_TEXT_F(MSG_RUNOUT_1), FIL_RUNOUT, FIL_RUNOUT_INVERTING)
@@ -102,9 +102,9 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) {
102 102
     PIN_DISABLED(3, 4, GET_TEXT_F(MSG_RUNOUT_2), FIL_RUNOUT2)
103 103
   #endif
104 104
   #if PIN_EXISTS(Z_MIN_PROBE)
105
-    PIN_ENABLED (5, 4, PSTR(MSG_Z_PROBE), Z_MIN_PROBE, Z_MIN_PROBE_ENDSTOP_INVERTING)
105
+    PIN_ENABLED (5, 4, PSTR(STR_Z_PROBE), Z_MIN_PROBE, Z_MIN_PROBE_ENDSTOP_INVERTING)
106 106
   #else
107
-    PIN_DISABLED(5, 4, PSTR(MSG_Z_PROBE), Z_MIN_PROBE)
107
+    PIN_DISABLED(5, 4, PSTR(STR_Z_PROBE), Z_MIN_PROBE)
108 108
   #endif
109 109
 
110 110
   #if HAS_SOFTWARE_ENDSTOPS

+ 1
- 1
Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/nozzle_offsets_screen.cpp View File

@@ -41,7 +41,7 @@ void NozzleOffsetScreen::onRedraw(draw_mode_t what) {
41 41
   widgets_t w(what);
42 42
   w.precision(2).units(GET_TEXT_F(MSG_UNITS_MM));
43 43
 
44
-  w.heading(                          GET_TEXT_F(MSG_OFFSETS_MENU));
44
+  w.heading(                          GET_TEXT_F(STR_OFFSETS_MENU));
45 45
   w.color(Theme::x_axis).adjuster(2,  GET_TEXT_F(MSG_AXIS_X), ExtUI::getNozzleOffset_mm(X, E1));
46 46
   w.color(Theme::y_axis).adjuster(4,  GET_TEXT_F(MSG_AXIS_Y), ExtUI::getNozzleOffset_mm(Y, E1));
47 47
   w.color(Theme::z_axis).adjuster(6,  GET_TEXT_F(MSG_AXIS_Z), ExtUI::getNozzleOffset_mm(Z, E1));

+ 1
- 1
Marlin/src/lcd/extensible_ui/lib/ftdi_eve_touch_ui/screens/nudge_nozzle_screen.cpp View File

@@ -74,7 +74,7 @@ void NudgeNozzleScreen::onRedraw(draw_mode_t what) {
74 74
 
75 75
       #if HOTENDS > 1
76 76
         format_position(str, getNozzleOffset_mm(X, E1), getNozzleOffset_mm(Y, E1), getNozzleOffset_mm(Z, E1));
77
-        w.text_field(0, GET_TEXT_F(MSG_OFFSETS_MENU), str);
77
+        w.text_field(0, GET_TEXT_F(STR_OFFSETS_MENU), str);
78 78
       #endif
79 79
     }
80 80
   #endif

+ 4
- 4
Marlin/src/lcd/extui_dgus_lcd.cpp View File

@@ -136,16 +136,16 @@ namespace ExtUI {
136 136
       SERIAL_ECHOLNPAIR("OnPidTuning:",rst);
137 137
       switch(rst) {
138 138
         case PID_BAD_EXTRUDER_NUM:
139
-          ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_BAD_EXTRUDER_NUM));
139
+          ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_BAD_EXTRUDER_NUM));
140 140
           break;
141 141
         case PID_TEMP_TOO_HIGH:
142
-          ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_TEMP_TOO_HIGH));
142
+          ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_TEMP_TOO_HIGH));
143 143
           break;
144 144
         case PID_TUNING_TIMEOUT:
145
-          ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_TIMEOUT));
145
+          ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_TIMEOUT));
146 146
           break;
147 147
         case PID_DONE:
148
-          ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_AUTOTUNE_FINISHED));
148
+          ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_AUTOTUNE_FINISHED));
149 149
           break;
150 150
       }
151 151
       ScreenHandler.GotoScreen(DGUSLCD_SCREEN_MAIN);

+ 3
- 3
Marlin/src/lcd/menu/menu_advanced.cpp View File

@@ -85,13 +85,13 @@ void menu_cancelobject();
85 85
     BACK_ITEM(MSG_ADVANCED_SETTINGS);
86 86
     #define EDIT_CURRENT_PWM(LABEL,I) EDIT_ITEM_P(long5, PSTR(LABEL), &stepper.motor_current_setting[I], 100, 2000, stepper.refresh_motor_power)
87 87
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
88
-      EDIT_CURRENT_PWM(MSG_X MSG_Y, 0);
88
+      EDIT_CURRENT_PWM(STR_X STR_Y, 0);
89 89
     #endif
90 90
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
91
-      EDIT_CURRENT_PWM(MSG_Z, 1);
91
+      EDIT_CURRENT_PWM(STR_Z, 1);
92 92
     #endif
93 93
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
94
-      EDIT_CURRENT_PWM(MSG_E, 2);
94
+      EDIT_CURRENT_PWM(STR_E, 2);
95 95
     #endif
96 96
     END_MENU();
97 97
   }

+ 1
- 1
Marlin/src/lcd/menu/menu_configuration.cpp View File

@@ -327,7 +327,7 @@ void menu_configuration() {
327 327
     #endif
328 328
 
329 329
     #if HAS_HOTEND_OFFSET
330
-      SUBMENU(MSG_OFFSETS_MENU, menu_tool_offsets);
330
+      SUBMENU(STR_OFFSETS_MENU, menu_tool_offsets);
331 331
     #endif
332 332
 
333 333
     #if ENABLED(DUAL_X_CARRIAGE)

+ 24
- 24
Marlin/src/lcd/menu/menu_tmc.cpp View File

@@ -38,28 +38,28 @@ void menu_tmc_current() {
38 38
   START_MENU();
39 39
   BACK_ITEM(MSG_TMC_DRIVERS);
40 40
   #if AXIS_IS_TMC(X)
41
-    TMC_EDIT_STORED_I_RMS(X, MSG_X);
41
+    TMC_EDIT_STORED_I_RMS(X, STR_X);
42 42
   #endif
43 43
   #if AXIS_IS_TMC(Y)
44
-    TMC_EDIT_STORED_I_RMS(Y, MSG_Y);
44
+    TMC_EDIT_STORED_I_RMS(Y, STR_Y);
45 45
   #endif
46 46
   #if AXIS_IS_TMC(Z)
47
-    TMC_EDIT_STORED_I_RMS(Z, MSG_Z);
47
+    TMC_EDIT_STORED_I_RMS(Z, STR_Z);
48 48
   #endif
49 49
   #if AXIS_IS_TMC(X2)
50
-    TMC_EDIT_STORED_I_RMS(X2, MSG_X2);
50
+    TMC_EDIT_STORED_I_RMS(X2, STR_X2);
51 51
   #endif
52 52
   #if AXIS_IS_TMC(Y2)
53
-    TMC_EDIT_STORED_I_RMS(Y2, MSG_Y2);
53
+    TMC_EDIT_STORED_I_RMS(Y2, STR_Y2);
54 54
   #endif
55 55
   #if AXIS_IS_TMC(Z2)
56
-    TMC_EDIT_STORED_I_RMS(Z2, MSG_Z2);
56
+    TMC_EDIT_STORED_I_RMS(Z2, STR_Z2);
57 57
   #endif
58 58
   #if AXIS_IS_TMC(Z3)
59
-    TMC_EDIT_STORED_I_RMS(Z3, MSG_Z3);
59
+    TMC_EDIT_STORED_I_RMS(Z3, STR_Z3);
60 60
   #endif
61 61
   #if AXIS_IS_TMC(Z4)
62
-    TMC_EDIT_STORED_I_RMS(Z4, MSG_Z4);
62
+    TMC_EDIT_STORED_I_RMS(Z4, STR_Z4);
63 63
   #endif
64 64
   #if AXIS_IS_TMC(E0)
65 65
     TMC_EDIT_STORED_I_RMS(E0, LCD_STR_E0);
@@ -96,28 +96,28 @@ void menu_tmc_current() {
96 96
     START_MENU();
97 97
     BACK_ITEM(MSG_TMC_DRIVERS);
98 98
     #if AXIS_HAS_STEALTHCHOP(X)
99
-      TMC_EDIT_STORED_HYBRID_THRS(X, MSG_X);
99
+      TMC_EDIT_STORED_HYBRID_THRS(X, STR_X);
100 100
     #endif
101 101
     #if AXIS_HAS_STEALTHCHOP(Y)
102
-      TMC_EDIT_STORED_HYBRID_THRS(Y, MSG_Y);
102
+      TMC_EDIT_STORED_HYBRID_THRS(Y, STR_Y);
103 103
     #endif
104 104
     #if AXIS_HAS_STEALTHCHOP(Z)
105
-      TMC_EDIT_STORED_HYBRID_THRS(Z, MSG_Z);
105
+      TMC_EDIT_STORED_HYBRID_THRS(Z, STR_Z);
106 106
     #endif
107 107
     #if AXIS_HAS_STEALTHCHOP(X2)
108
-      TMC_EDIT_STORED_HYBRID_THRS(X2, MSG_X2);
108
+      TMC_EDIT_STORED_HYBRID_THRS(X2, STR_X2);
109 109
     #endif
110 110
     #if AXIS_HAS_STEALTHCHOP(Y2)
111
-      TMC_EDIT_STORED_HYBRID_THRS(Y2, MSG_Y2);
111
+      TMC_EDIT_STORED_HYBRID_THRS(Y2, STR_Y2);
112 112
     #endif
113 113
     #if AXIS_HAS_STEALTHCHOP(Z2)
114
-      TMC_EDIT_STORED_HYBRID_THRS(Z2, MSG_Z2);
114
+      TMC_EDIT_STORED_HYBRID_THRS(Z2, STR_Z2);
115 115
     #endif
116 116
     #if AXIS_HAS_STEALTHCHOP(Z3)
117
-      TMC_EDIT_STORED_HYBRID_THRS(Z3, MSG_Z3);
117
+      TMC_EDIT_STORED_HYBRID_THRS(Z3, STR_Z3);
118 118
     #endif
119 119
     #if AXIS_HAS_STEALTHCHOP(Z4)
120
-      TMC_EDIT_STORED_HYBRID_THRS(Z4, MSG_Z4);
120
+      TMC_EDIT_STORED_HYBRID_THRS(Z4, STR_Z4);
121 121
     #endif
122 122
     #if AXIS_HAS_STEALTHCHOP(E0)
123 123
       TMC_EDIT_STORED_HYBRID_THRS(E0, LCD_STR_E0);
@@ -181,28 +181,28 @@ void menu_tmc_current() {
181 181
     STATIC_ITEM(MSG_TMC_STEALTH_ENABLED);
182 182
     BACK_ITEM(MSG_TMC_DRIVERS);
183 183
     #if AXIS_HAS_STEALTHCHOP(X)
184
-      TMC_EDIT_STEP_MODE(X, MSG_X);
184
+      TMC_EDIT_STEP_MODE(X, STR_X);
185 185
     #endif
186 186
     #if AXIS_HAS_STEALTHCHOP(Y)
187
-      TMC_EDIT_STEP_MODE(Y, MSG_Y);
187
+      TMC_EDIT_STEP_MODE(Y, STR_Y);
188 188
     #endif
189 189
     #if AXIS_HAS_STEALTHCHOP(Z)
190
-      TMC_EDIT_STEP_MODE(Z, MSG_Z);
190
+      TMC_EDIT_STEP_MODE(Z, STR_Z);
191 191
     #endif
192 192
     #if AXIS_HAS_STEALTHCHOP(X2)
193
-      TMC_EDIT_STEP_MODE(X2, MSG_X2);
193
+      TMC_EDIT_STEP_MODE(X2, STR_X2);
194 194
     #endif
195 195
     #if AXIS_HAS_STEALTHCHOP(Y2)
196
-      TMC_EDIT_STEP_MODE(Y2, MSG_Y2);
196
+      TMC_EDIT_STEP_MODE(Y2, STR_Y2);
197 197
     #endif
198 198
     #if AXIS_HAS_STEALTHCHOP(Z2)
199
-      TMC_EDIT_STEP_MODE(Z2, MSG_Z2);
199
+      TMC_EDIT_STEP_MODE(Z2, STR_Z2);
200 200
     #endif
201 201
     #if AXIS_HAS_STEALTHCHOP(Z3)
202
-      TMC_EDIT_STEP_MODE(Z3, MSG_Z3);
202
+      TMC_EDIT_STEP_MODE(Z3, STR_Z3);
203 203
     #endif
204 204
     #if AXIS_HAS_STEALTHCHOP(Z4)
205
-      TMC_EDIT_STEP_MODE(Z4, MSG_Z4);
205
+      TMC_EDIT_STEP_MODE(Z4, STR_Z4);
206 206
     #endif
207 207
     #if AXIS_HAS_STEALTHCHOP(E0)
208 208
       TMC_EDIT_STEP_MODE(E0, LCD_STR_E0);

+ 6
- 6
Marlin/src/module/endstops.cpp View File

@@ -386,7 +386,7 @@ void Endstops::event_handler() {
386 386
     #define ENDSTOP_HIT_TEST_Z() _ENDSTOP_HIT_TEST(Z,'Z')
387 387
 
388 388
     SERIAL_ECHO_START();
389
-    SERIAL_ECHOPGM(MSG_ENDSTOPS_HIT);
389
+    SERIAL_ECHOPGM(STR_ENDSTOPS_HIT);
390 390
     ENDSTOP_HIT_TEST_X();
391 391
     ENDSTOP_HIT_TEST_Y();
392 392
     ENDSTOP_HIT_TEST_Z();
@@ -415,7 +415,7 @@ void Endstops::event_handler() {
415 415
 static void print_es_state(const bool is_hit, PGM_P const label=nullptr) {
416 416
   if (label) serialprintPGM(label);
417 417
   SERIAL_ECHOPGM(": ");
418
-  serialprintPGM(is_hit ? PSTR(MSG_ENDSTOP_HIT) : PSTR(MSG_ENDSTOP_OPEN));
418
+  serialprintPGM(is_hit ? PSTR(STR_ENDSTOP_HIT) : PSTR(STR_ENDSTOP_OPEN));
419 419
   SERIAL_EOL();
420 420
 }
421 421
 
@@ -423,7 +423,7 @@ void _O2 Endstops::report_states() {
423 423
   #if ENABLED(BLTOUCH)
424 424
     bltouch._set_SW_mode();
425 425
   #endif
426
-  SERIAL_ECHOLNPGM(MSG_M119_REPORT);
426
+  SERIAL_ECHOLNPGM(STR_M119_REPORT);
427 427
   #define ES_REPORT(S) print_es_state(READ(S##_PIN) != S##_ENDSTOP_INVERTING, PSTR(MSG_##S))
428 428
   #if HAS_X_MIN
429 429
     ES_REPORT(X_MIN);
@@ -474,11 +474,11 @@ void _O2 Endstops::report_states() {
474 474
     ES_REPORT(Z4_MAX);
475 475
   #endif
476 476
   #if HAS_CUSTOM_PROBE_PIN
477
-    print_es_state(READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING, PSTR(MSG_Z_PROBE));
477
+    print_es_state(READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING, PSTR(STR_Z_PROBE));
478 478
   #endif
479 479
   #if HAS_FILAMENT_SENSOR
480 480
     #if NUM_RUNOUT_SENSORS == 1
481
-      print_es_state(READ(FIL_RUNOUT_PIN) != FIL_RUNOUT_INVERTING, PSTR(MSG_FILAMENT_RUNOUT_SENSOR));
481
+      print_es_state(READ(FIL_RUNOUT_PIN) != FIL_RUNOUT_INVERTING, PSTR(STR_FILAMENT_RUNOUT_SENSOR));
482 482
     #else
483 483
       #define _CASE_RUNOUT(N) case N: pin = FIL_RUNOUT##N##_PIN; break;
484 484
       for (uint8_t i = 1; i <= NUM_RUNOUT_SENSORS; i++) {
@@ -487,7 +487,7 @@ void _O2 Endstops::report_states() {
487 487
           default: continue;
488 488
           REPEAT_S(1, INCREMENT(NUM_RUNOUT_SENSORS), _CASE_RUNOUT)
489 489
         }
490
-        SERIAL_ECHOPGM(MSG_FILAMENT_RUNOUT_SENSOR);
490
+        SERIAL_ECHOPGM(STR_FILAMENT_RUNOUT_SENSOR);
491 491
         if (i > 1) SERIAL_CHAR(' ', '0' + i);
492 492
         print_es_state(extDigitalRead(pin) != FIL_RUNOUT_INVERTING);
493 493
       }

+ 3
- 3
Marlin/src/module/motion.cpp View File

@@ -1018,7 +1018,7 @@ void prepare_move_to_destination() {
1018 1018
 
1019 1019
       #if ENABLED(PREVENT_COLD_EXTRUSION)
1020 1020
         ignore_e = thermalManager.tooColdToExtrude(active_extruder);
1021
-        if (ignore_e) SERIAL_ECHO_MSG(MSG_ERR_COLD_EXTRUDE_STOP);
1021
+        if (ignore_e) SERIAL_ECHO_MSG(STR_ERR_COLD_EXTRUDE_STOP);
1022 1022
       #endif
1023 1023
 
1024 1024
       #if ENABLED(PREVENT_LENGTHY_EXTRUDE)
@@ -1030,13 +1030,13 @@ void prepare_move_to_destination() {
1030 1030
             MIXER_STEPPER_LOOP(e) {
1031 1031
               if (e_delta * collector[e] > (EXTRUDE_MAXLENGTH)) {
1032 1032
                 ignore_e = true;
1033
-                SERIAL_ECHO_MSG(MSG_ERR_LONG_EXTRUDE_STOP);
1033
+                SERIAL_ECHO_MSG(STR_ERR_LONG_EXTRUDE_STOP);
1034 1034
                 break;
1035 1035
               }
1036 1036
             }
1037 1037
           #else
1038 1038
             ignore_e = true;
1039
-            SERIAL_ECHO_MSG(MSG_ERR_LONG_EXTRUDE_STOP);
1039
+            SERIAL_ECHO_MSG(STR_ERR_LONG_EXTRUDE_STOP);
1040 1040
           #endif
1041 1041
         }
1042 1042
       #endif

+ 2
- 2
Marlin/src/module/planner.cpp View File

@@ -1748,7 +1748,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
1748 1748
             position_float.e = target_float.e;
1749 1749
           #endif
1750 1750
           de = 0; // no difference
1751
-          SERIAL_ECHO_MSG(MSG_ERR_COLD_EXTRUDE_STOP);
1751
+          SERIAL_ECHO_MSG(STR_ERR_COLD_EXTRUDE_STOP);
1752 1752
         }
1753 1753
       #endif // PREVENT_COLD_EXTRUSION
1754 1754
       #if ENABLED(PREVENT_LENGTHY_EXTRUDE)
@@ -1770,7 +1770,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
1770 1770
               position_float.e = target_float.e;
1771 1771
             #endif
1772 1772
             de = 0; // no difference
1773
-            SERIAL_ECHO_MSG(MSG_ERR_LONG_EXTRUDE_STOP);
1773
+            SERIAL_ECHO_MSG(STR_ERR_LONG_EXTRUDE_STOP);
1774 1774
           }
1775 1775
         }
1776 1776
       #endif // PREVENT_LENGTHY_EXTRUDE

+ 4
- 4
Marlin/src/module/printcounter.cpp View File

@@ -183,7 +183,7 @@ void PrintCounter::saveStats() {
183 183
 
184 184
 #if HAS_SERVICE_INTERVALS
185 185
   inline void _service_when(char buffer[], const char * const msg, const uint32_t when) {
186
-    SERIAL_ECHOPGM(MSG_STATS);
186
+    SERIAL_ECHOPGM(STR_STATS);
187 187
     serialprintPGM(msg);
188 188
     SERIAL_ECHOLNPAIR(" in ", duration_t(when).toString(buffer));
189 189
   }
@@ -192,7 +192,7 @@ void PrintCounter::saveStats() {
192 192
 void PrintCounter::showStats() {
193 193
   char buffer[21];
194 194
 
195
-  SERIAL_ECHOPGM(MSG_STATS);
195
+  SERIAL_ECHOPGM(STR_STATS);
196 196
   SERIAL_ECHOLNPAIR(
197 197
     "Prints: ", data.totalPrints,
198 198
     ", Finished: ", data.finishedPrints,
@@ -200,7 +200,7 @@ void PrintCounter::showStats() {
200 200
                     - ((isRunning() || isPaused()) ? 1 : 0) // Remove 1 from failures with an active counter
201 201
   );
202 202
 
203
-  SERIAL_ECHOPGM(MSG_STATS);
203
+  SERIAL_ECHOPGM(STR_STATS);
204 204
   duration_t elapsed = data.printTime;
205 205
   elapsed.toString(buffer);
206 206
   SERIAL_ECHOPAIR("Total time: ", buffer);
@@ -217,7 +217,7 @@ void PrintCounter::showStats() {
217 217
     SERIAL_CHAR(')');
218 218
   #endif
219 219
 
220
-  SERIAL_ECHOPAIR("\n" MSG_STATS "Filament used: ", data.filamentUsed / 1000);
220
+  SERIAL_ECHOPAIR("\n" STR_STATS "Filament used: ", data.filamentUsed / 1000);
221 221
   SERIAL_CHAR('m');
222 222
   SERIAL_EOL();
223 223
 

+ 2
- 2
Marlin/src/module/probe.cpp View File

@@ -392,7 +392,7 @@ bool Probe::set_deployed(const bool deploy) {
392 392
         _BV(X_AXIS)
393 393
       #endif
394 394
     )) {
395
-      SERIAL_ERROR_MSG(MSG_STOP_UNHOMED);
395
+      SERIAL_ERROR_MSG(STR_STOP_UNHOMED);
396 396
       stop();
397 397
       return true;
398 398
     }
@@ -771,7 +771,7 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise
771 771
   if (isnan(measured_z)) {
772 772
     stow();
773 773
     LCD_MESSAGEPGM(MSG_LCD_PROBING_FAILED);
774
-    SERIAL_ERROR_MSG(MSG_ERR_PROBING_FAILED);
774
+    SERIAL_ERROR_MSG(STR_ERR_PROBING_FAILED);
775 775
   }
776 776
 
777 777
   if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< Probe::probe_at_point");

+ 2
- 2
Marlin/src/module/stepper.cpp View File

@@ -2462,9 +2462,9 @@ void Stepper::report_positions() {
2462 2462
   #endif
2463 2463
 
2464 2464
   #if CORE_IS_XY || CORE_IS_XZ || ENABLED(DELTA) || IS_SCARA
2465
-    SERIAL_ECHOPAIR(MSG_COUNT_A, pos.x, " B:", pos.y);
2465
+    SERIAL_ECHOPAIR(STR_COUNT_A, pos.x, " B:", pos.y);
2466 2466
   #else
2467
-    SERIAL_ECHOPAIR(MSG_COUNT_X, pos.x, " Y:", pos.y);
2467
+    SERIAL_ECHOPAIR(STR_COUNT_X, pos.x, " Y:", pos.y);
2468 2468
   #endif
2469 2469
   #if CORE_IS_XZ || CORE_IS_YZ || ENABLED(DELTA)
2470 2470
     SERIAL_ECHOLNPAIR(" C:", pos.z);

+ 39
- 36
Marlin/src/module/temperature.cpp View File

@@ -111,6 +111,9 @@
111 111
 
112 112
 Temperature thermalManager;
113 113
 
114
+const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY,
115
+           str_t_heating_failed[] PROGMEM = STR_T_HEATING_FAILED;
116
+
114 117
 /**
115 118
  * Macros to include the heater id in temp errors. The compiler's dead-code
116 119
  * elimination should (hopefully) optimize out the unused strings.
@@ -404,14 +407,14 @@ volatile bool Temperature::raw_temps_ready = false;
404 407
     #endif
405 408
 
406 409
     if (target > GHV(BED_MAXTEMP - 10, temp_range[heater].maxtemp - 15)) {
407
-      SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH);
410
+      SERIAL_ECHOLNPGM(STR_PID_TEMP_TOO_HIGH);
408 411
       #if ENABLED(EXTENSIBLE_UI)
409 412
         ExtUI::OnPidTuning(ExtUI::result_t::PID_TEMP_TOO_HIGH);
410 413
       #endif
411 414
       return;
412 415
     }
413 416
 
414
-    SERIAL_ECHOLNPGM(MSG_PID_AUTOTUNE_START);
417
+    SERIAL_ECHOLNPGM(STR_PID_AUTOTUNE_START);
415 418
 
416 419
     disable_all_heaters();
417 420
 
@@ -472,27 +475,27 @@ volatile bool Temperature::raw_temps_ready = false;
472 475
               LIMIT(bias, 20, max_pow - 20);
473 476
               d = (bias > max_pow >> 1) ? max_pow - 1 - bias : bias;
474 477
 
475
-              SERIAL_ECHOPAIR(MSG_BIAS, bias, MSG_D, d, MSG_T_MIN, minT, MSG_T_MAX, maxT);
478
+              SERIAL_ECHOPAIR(STR_BIAS, bias, STR_D_COLON, d, STR_T_MIN, minT, STR_T_MAX, maxT);
476 479
               if (cycles > 2) {
477 480
                 const float Ku = (4.0f * d) / (float(M_PI) * (maxT - minT) * 0.5f),
478 481
                             Tu = float(t_low + t_high) * 0.001f,
479 482
                             pf = isbed ? 0.2f : 0.6f,
480 483
                             df = isbed ? 1.0f / 3.0f : 1.0f / 8.0f;
481 484
 
482
-                SERIAL_ECHOPAIR(MSG_KU, Ku, MSG_TU, Tu);
485
+                SERIAL_ECHOPAIR(STR_KU, Ku, STR_TU, Tu);
483 486
                 if (isbed) { // Do not remove this otherwise PID autotune won't work right for the bed!
484 487
                   tune_pid.Kp = Ku * 0.2f;
485 488
                   tune_pid.Ki = 2 * tune_pid.Kp / Tu;
486 489
                   tune_pid.Kd = tune_pid.Kp * Tu / 3;
487 490
                   SERIAL_ECHOLNPGM("\n" " No overshoot"); // Works far better for the bed. Classic and some have bad ringing.
488
-                  SERIAL_ECHOLNPAIR(MSG_KP, tune_pid.Kp, MSG_KI, tune_pid.Ki, MSG_KD, tune_pid.Kd);
491
+                  SERIAL_ECHOLNPAIR(STR_KP, tune_pid.Kp, STR_KI, tune_pid.Ki, STR_KD, tune_pid.Kd);
489 492
                 }
490 493
                 else {
491 494
                   tune_pid.Kp = Ku * pf;
492 495
                   tune_pid.Kd = tune_pid.Kp * Tu * df;
493 496
                   tune_pid.Ki = 2 * tune_pid.Kp / Tu;
494
-                  SERIAL_ECHOLNPGM("\n" MSG_CLASSIC_PID);
495
-                  SERIAL_ECHOLNPAIR(MSG_KP, tune_pid.Kp, MSG_KI, tune_pid.Ki, MSG_KD, tune_pid.Kd);
497
+                  SERIAL_ECHOLNPGM("\n" STR_CLASSIC_PID);
498
+                  SERIAL_ECHOLNPAIR(STR_KP, tune_pid.Kp, STR_KI, tune_pid.Ki, STR_KD, tune_pid.Kd);
496 499
                 }
497 500
 
498 501
                 /**
@@ -520,7 +523,7 @@ volatile bool Temperature::raw_temps_ready = false;
520 523
         #define MAX_OVERSHOOT_PID_AUTOTUNE 30
521 524
       #endif
522 525
       if (current_temp > target + MAX_OVERSHOOT_PID_AUTOTUNE) {
523
-        SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH);
526
+        SERIAL_ECHOLNPGM(STR_PID_TEMP_TOO_HIGH);
524 527
         #if ENABLED(EXTENSIBLE_UI)
525 528
           ExtUI::OnPidTuning(ExtUI::result_t::PID_TEMP_TOO_HIGH);
526 529
         #endif
@@ -553,10 +556,10 @@ volatile bool Temperature::raw_temps_ready = false;
553 556
                 if (current_temp > watch_temp_target) heated = true;     // - Flag if target temperature reached
554 557
               }
555 558
               else if (ELAPSED(ms, temp_change_ms))                 // Watch timer expired
556
-                _temp_error(heater, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
559
+                _temp_error(heater, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
557 560
             }
558 561
             else if (current_temp < target - (MAX_OVERSHOOT_PID_AUTOTUNE)) // Heated, then temperature fell too far?
559
-              _temp_error(heater, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
562
+              _temp_error(heater, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
560 563
           }
561 564
         #endif
562 565
       } // every 2 seconds
@@ -569,12 +572,12 @@ volatile bool Temperature::raw_temps_ready = false;
569 572
         #if ENABLED(EXTENSIBLE_UI)
570 573
           ExtUI::OnPidTuning(ExtUI::result_t::PID_TUNING_TIMEOUT);
571 574
         #endif
572
-        SERIAL_ECHOLNPGM(MSG_PID_TIMEOUT);
575
+        SERIAL_ECHOLNPGM(STR_PID_TIMEOUT);
573 576
         break;
574 577
       }
575 578
 
576 579
       if (cycles > ncycles && cycles > 2) {
577
-        SERIAL_ECHOLNPGM(MSG_PID_AUTOTUNE_FINISHED);
580
+        SERIAL_ECHOLNPGM(STR_PID_AUTOTUNE_FINISHED);
578 581
 
579 582
         #if HAS_PID_FOR_BOTH
580 583
           const char * const estring = GHV(PSTR("bed"), NUL_STR);
@@ -782,12 +785,12 @@ void Temperature::_temp_error(const heater_ind_t heater, PGM_P const serial_msg,
782 785
   ) {
783 786
     SERIAL_ERROR_START();
784 787
     serialprintPGM(serial_msg);
785
-    SERIAL_ECHOPGM(MSG_STOPPED_HEATER);
788
+    SERIAL_ECHOPGM(STR_STOPPED_HEATER);
786 789
     if (heater >= 0) SERIAL_ECHO((int)heater);
787 790
     #if HAS_HEATED_CHAMBER
788
-      else if (heater == H_CHAMBER) SERIAL_ECHOPGM(MSG_HEATER_CHAMBER);
791
+      else if (heater == H_CHAMBER) SERIAL_ECHOPGM(STR_HEATER_CHAMBER);
789 792
     #endif
790
-    else SERIAL_ECHOPGM(MSG_HEATER_BED);
793
+    else SERIAL_ECHOPGM(STR_HEATER_BED);
791 794
     SERIAL_EOL();
792 795
   }
793 796
 
@@ -817,11 +820,11 @@ void Temperature::_temp_error(const heater_ind_t heater, PGM_P const serial_msg,
817 820
 }
818 821
 
819 822
 void Temperature::max_temp_error(const heater_ind_t heater) {
820
-  _temp_error(heater, PSTR(MSG_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP));
823
+  _temp_error(heater, PSTR(STR_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP));
821 824
 }
822 825
 
823 826
 void Temperature::min_temp_error(const heater_ind_t heater) {
824
-  _temp_error(heater, PSTR(MSG_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP));
827
+  _temp_error(heater, PSTR(STR_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP));
825 828
 }
826 829
 
827 830
 #if HOTENDS
@@ -909,18 +912,18 @@ void Temperature::min_temp_error(const heater_ind_t heater) {
909 912
         if (ee == active_extruder) {
910 913
           SERIAL_ECHO_START();
911 914
           SERIAL_ECHOPAIR(
912
-            MSG_PID_DEBUG, ee,
913
-            MSG_PID_DEBUG_INPUT, temp_hotend[ee].celsius,
914
-            MSG_PID_DEBUG_OUTPUT, pid_output
915
+            STR_PID_DEBUG, ee,
916
+            STR_PID_DEBUG_INPUT, temp_hotend[ee].celsius,
917
+            STR_PID_DEBUG_OUTPUT, pid_output
915 918
           );
916 919
           #if DISABLED(PID_OPENLOOP)
917 920
           {
918 921
             SERIAL_ECHOPAIR(
919
-              MSG_PID_DEBUG_PTERM, work_pid[ee].Kp,
920
-              MSG_PID_DEBUG_ITERM, work_pid[ee].Ki,
921
-              MSG_PID_DEBUG_DTERM, work_pid[ee].Kd
922
+              STR_PID_DEBUG_PTERM, work_pid[ee].Kp,
923
+              STR_PID_DEBUG_ITERM, work_pid[ee].Ki,
924
+              STR_PID_DEBUG_DTERM, work_pid[ee].Kd
922 925
               #if ENABLED(PID_EXTRUSION_SCALING)
923
-                , MSG_PID_DEBUG_CTERM, work_pid[ee].Kc
926
+                , STR_PID_DEBUG_CTERM, work_pid[ee].Kc
924 927
               #endif
925 928
             );
926 929
           }
@@ -996,9 +999,9 @@ void Temperature::min_temp_error(const heater_ind_t heater) {
996 999
       SERIAL_ECHOLNPAIR(
997 1000
         " PID_BED_DEBUG : Input ", temp_bed.celsius, " Output ", pid_output,
998 1001
         #if DISABLED(PID_OPENLOOP)
999
-          MSG_PID_DEBUG_PTERM, work_pid.Kp,
1000
-          MSG_PID_DEBUG_ITERM, work_pid.Ki,
1001
-          MSG_PID_DEBUG_DTERM, work_pid.Kd,
1002
+          STR_PID_DEBUG_PTERM, work_pid.Kp,
1003
+          STR_PID_DEBUG_ITERM, work_pid.Ki,
1004
+          STR_PID_DEBUG_DTERM, work_pid.Kd,
1002 1005
         #endif
1003 1006
       );
1004 1007
     }
@@ -1054,7 +1057,7 @@ void Temperature::manage_heater() {
1054 1057
     HOTEND_LOOP() {
1055 1058
       #if ENABLED(THERMAL_PROTECTION_HOTENDS)
1056 1059
         if (degHotend(e) > temp_range[e].maxtemp)
1057
-          _temp_error((heater_ind_t)e, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
1060
+          _temp_error((heater_ind_t)e, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
1058 1061
       #endif
1059 1062
 
1060 1063
       #if HEATER_IDLE_HANDLER
@@ -1072,7 +1075,7 @@ void Temperature::manage_heater() {
1072 1075
         // Make sure temperature is increasing
1073 1076
         if (watch_hotend[e].next_ms && ELAPSED(ms, watch_hotend[e].next_ms)) {  // Time to check this extruder?
1074 1077
           if (degHotend(e) < watch_hotend[e].target)                            // Failed to increase enough?
1075
-            _temp_error((heater_ind_t)e, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
1078
+            _temp_error((heater_ind_t)e, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
1076 1079
           else                                                                  // Start again if the target is still far off
1077 1080
             start_watching_hotend(e);
1078 1081
         }
@@ -1081,7 +1084,7 @@ void Temperature::manage_heater() {
1081 1084
       #if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
1082 1085
         // Make sure measured temperatures are close together
1083 1086
         if (ABS(temp_hotend[0].celsius - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF)
1084
-          _temp_error(H_E0, PSTR(MSG_REDUNDANCY), GET_TEXT(MSG_ERR_REDUNDANT_TEMP));
1087
+          _temp_error(H_E0, PSTR(STR_REDUNDANCY), GET_TEXT(MSG_ERR_REDUNDANT_TEMP));
1085 1088
       #endif
1086 1089
 
1087 1090
     } // HOTEND_LOOP
@@ -1107,14 +1110,14 @@ void Temperature::manage_heater() {
1107 1110
 
1108 1111
     #if ENABLED(THERMAL_PROTECTION_BED)
1109 1112
       if (degBed() > BED_MAXTEMP)
1110
-        _temp_error(H_BED, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
1113
+        _temp_error(H_BED, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
1111 1114
     #endif
1112 1115
 
1113 1116
     #if WATCH_BED
1114 1117
       // Make sure temperature is increasing
1115 1118
       if (watch_bed.elapsed(ms)) {        // Time to check the bed?
1116 1119
         if (degBed() < watch_bed.target)                                // Failed to increase enough?
1117
-          _temp_error(H_BED, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
1120
+          _temp_error(H_BED, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
1118 1121
         else                                                            // Start again if the target is still far off
1119 1122
           start_watching_bed();
1120 1123
       }
@@ -1185,14 +1188,14 @@ void Temperature::manage_heater() {
1185 1188
 
1186 1189
     #if ENABLED(THERMAL_PROTECTION_CHAMBER)
1187 1190
       if (degChamber() > CHAMBER_MAXTEMP)
1188
-        _temp_error(H_CHAMBER, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
1191
+        _temp_error(H_CHAMBER, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
1189 1192
     #endif
1190 1193
 
1191 1194
     #if WATCH_CHAMBER
1192 1195
       // Make sure temperature is increasing
1193 1196
       if (watch_chamber.elapsed(ms)) {              // Time to check the chamber?
1194 1197
         if (degChamber() < watch_chamber.target)    // Failed to increase enough?
1195
-          _temp_error(H_CHAMBER, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
1198
+          _temp_error(H_CHAMBER, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
1196 1199
         else
1197 1200
           start_watching_chamber();                 // Start again if the target is still far off
1198 1201
       }
@@ -1404,7 +1407,7 @@ void Temperature::manage_heater() {
1404 1407
       {
1405 1408
         SERIAL_ERROR_START();
1406 1409
         SERIAL_ECHO((int)e);
1407
-        SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER_NUM);
1410
+        SERIAL_ECHOLNPGM(STR_INVALID_EXTRUDER_NUM);
1408 1411
         kill();
1409 1412
         return 0;
1410 1413
       }
@@ -2067,7 +2070,7 @@ void Temperature::init() {
2067 2070
         sm.state = TRRunaway;
2068 2071
 
2069 2072
       case TRRunaway:
2070
-        _temp_error(heater_id, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
2073
+        _temp_error(heater_id, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
2071 2074
     }
2072 2075
   }
2073 2076
 

+ 3
- 3
Marlin/src/module/tool_change.cpp View File

@@ -700,7 +700,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a
700 700
   inline void invalid_extruder_error(const uint8_t e) {
701 701
     SERIAL_ECHO_START();
702 702
     SERIAL_CHAR('T'); SERIAL_ECHO(int(e));
703
-    SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER);
703
+    SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(STR_INVALID_EXTRUDER);
704 704
   }
705 705
 #endif
706 706
 
@@ -843,7 +843,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
843 843
       #endif
844 844
       if (should_swap) {
845 845
         if (too_cold) {
846
-          SERIAL_ECHO_MSG(MSG_ERR_HOTEND_TOO_COLD);
846
+          SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
847 847
           #if ENABLED(SINGLENOZZLE)
848 848
             active_extruder = new_tool;
849 849
             return;
@@ -1073,7 +1073,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
1073 1073
     #endif
1074 1074
 
1075 1075
     SERIAL_ECHO_START();
1076
-    SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, int(active_extruder));
1076
+    SERIAL_ECHOLNPAIR(STR_ACTIVE_EXTRUDER, int(active_extruder));
1077 1077
 
1078 1078
   #endif // EXTRUDERS > 1
1079 1079
 }

+ 21
- 17
Marlin/src/sd/cardreader.cpp View File

@@ -248,7 +248,7 @@ void CardReader::printListing(SdFile parent, const char * const prepend/*=nullpt
248 248
       SdFile child;
249 249
       if (!child.open(&parent, dosFilename, O_READ)) {
250 250
         SERIAL_ECHO_START();
251
-        SERIAL_ECHOLNPAIR(MSG_SD_CANT_OPEN_SUBDIR, dosFilename);
251
+        SERIAL_ECHOLNPAIR(STR_SD_CANT_OPEN_SUBDIR, dosFilename);
252 252
       }
253 253
       printListing(child, path);
254 254
       // close() is done automatically by destructor of SdFile
@@ -318,7 +318,7 @@ void CardReader::ls() {
318 318
       if (!dir.open(&diveDir, segment, O_READ)) {
319 319
         SERIAL_EOL();
320 320
         SERIAL_ECHO_START();
321
-        SERIAL_ECHOPAIR(MSG_SD_CANT_OPEN_SUBDIR, segment);
321
+        SERIAL_ECHOPAIR(STR_SD_CANT_OPEN_SUBDIR, segment);
322 322
         break;
323 323
       }
324 324
 
@@ -362,14 +362,14 @@ void CardReader::mount() {
362 362
     #if defined(LCD_SDSS) && (LCD_SDSS != SDSS)
363 363
       && !sd2card.init(SPI_SPEED, LCD_SDSS)
364 364
     #endif
365
-  ) SERIAL_ECHO_MSG(MSG_SD_INIT_FAIL);
365
+  ) SERIAL_ECHO_MSG(STR_SD_INIT_FAIL);
366 366
   else if (!volume.init(&sd2card))
367
-    SERIAL_ERROR_MSG(MSG_SD_VOL_INIT_FAIL);
367
+    SERIAL_ERROR_MSG(STR_SD_VOL_INIT_FAIL);
368 368
   else if (!root.openRoot(&volume))
369
-    SERIAL_ERROR_MSG(MSG_SD_OPENROOT_FAIL);
369
+    SERIAL_ERROR_MSG(STR_SD_OPENROOT_FAIL);
370 370
   else {
371 371
     flag.mounted = true;
372
-    SERIAL_ECHO_MSG(MSG_SD_CARD_OK);
372
+    SERIAL_ECHO_MSG(STR_SD_CARD_OK);
373 373
     #if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
374 374
       settings.first_load();
375 375
     #endif
@@ -446,7 +446,7 @@ void CardReader::getAbsFilename(char *dst) {
446 446
 }
447 447
 
448 448
 void openFailed(const char * const fname) {
449
-  SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, fname, ".");
449
+  SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, fname, ".");
450 450
 }
451 451
 
452 452
 void announceOpen(const uint8_t doing, const char * const path) {
@@ -511,8 +511,8 @@ void CardReader::openFileRead(char * const path, const uint8_t subcall_type/*=0*
511 511
   if (file.open(curDir, fname, O_READ)) {
512 512
     filesize = file.fileSize();
513 513
     sdpos = 0;
514
-    SERIAL_ECHOLNPAIR(MSG_SD_FILE_OPENED, fname, MSG_SD_SIZE, filesize);
515
-    SERIAL_ECHOLNPGM(MSG_SD_FILE_SELECTED);
514
+    SERIAL_ECHOLNPAIR(STR_SD_FILE_OPENED, fname, STR_SD_SIZE, filesize);
515
+    SERIAL_ECHOLNPGM(STR_SD_FILE_SELECTED);
516 516
 
517 517
     selectFileByName(fname);
518 518
     ui.set_status(longFilename[0] ? longFilename : fname);
@@ -521,6 +521,10 @@ void CardReader::openFileRead(char * const path, const uint8_t subcall_type/*=0*
521 521
     openFailed(fname);
522 522
 }
523 523
 
524
+inline void echo_write_to_file(char * const fname) {
525
+  SERIAL_ECHOLNPAIR(STR_SD_WRITE_TO_FILE, fname);
526
+}
527
+
524 528
 //
525 529
 // Open a file by DOS path for write
526 530
 //
@@ -542,7 +546,7 @@ void CardReader::openFileWrite(char * const path) {
542 546
     #if ENABLED(EMERGENCY_PARSER)
543 547
       emergency_parser.disable();
544 548
     #endif
545
-    SERIAL_ECHOLNPAIR(MSG_SD_WRITE_TO_FILE, fname);
549
+    echo_write_to_file(fname);
546 550
     ui.set_status(fname);
547 551
   }
548 552
   else
@@ -574,13 +578,13 @@ void CardReader::removeFile(const char * const name) {
574 578
 
575 579
 void CardReader::report_status() {
576 580
   if (isPrinting()) {
577
-    SERIAL_ECHOPGM(MSG_SD_PRINTING_BYTE);
581
+    SERIAL_ECHOPGM(STR_SD_PRINTING_BYTE);
578 582
     SERIAL_ECHO(sdpos);
579 583
     SERIAL_CHAR('/');
580 584
     SERIAL_ECHOLN(filesize);
581 585
   }
582 586
   else
583
-    SERIAL_ECHOLNPGM(MSG_SD_NOT_PRINTING);
587
+    SERIAL_ECHOLNPGM(STR_SD_NOT_PRINTING);
584 588
 }
585 589
 
586 590
 void CardReader::write_command(char * const buf) {
@@ -598,7 +602,7 @@ void CardReader::write_command(char * const buf) {
598 602
   end[3] = '\0';
599 603
   file.write(begin);
600 604
 
601
-  if (file.writeError) SERIAL_ERROR_MSG(MSG_SD_ERR_WRITE_TO_FILE);
605
+  if (file.writeError) SERIAL_ERROR_MSG(STR_SD_ERR_WRITE_TO_FILE);
602 606
 }
603 607
 
604 608
 //
@@ -739,7 +743,7 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& curDir, const
739 743
 
740 744
     // Open curDir
741 745
     if (!sub->open(curDir, dosSubdirname, O_READ)) {
742
-      SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, dosSubdirname, ".");
746
+      SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, dosSubdirname, ".");
743 747
       return nullptr;
744 748
     }
745 749
 
@@ -779,7 +783,7 @@ void CardReader::cd(const char * relpath) {
779 783
   }
780 784
   else {
781 785
     SERIAL_ECHO_START();
782
-    SERIAL_ECHOLNPAIR(MSG_SD_CANT_ENTER_SUBDIR, relpath);
786
+    SERIAL_ECHOLNPAIR(STR_SD_CANT_ENTER_SUBDIR, relpath);
783 787
   }
784 788
 }
785 789
 
@@ -1113,9 +1117,9 @@ void CardReader::fileHasFinished() {
1113 1117
     if (!isMounted()) return;
1114 1118
     if (recovery.file.isOpen()) return;
1115 1119
     if (!recovery.file.open(&root, recovery.filename, read ? O_READ : O_CREAT | O_WRITE | O_TRUNC | O_SYNC))
1116
-      SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, recovery.filename, ".");
1120
+      SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, recovery.filename, ".");
1117 1121
     else if (!read)
1118
-      SERIAL_ECHOLNPAIR(MSG_SD_WRITE_TO_FILE, recovery.filename);
1122
+      echo_write_to_file(recovery.filename);
1119 1123
   }
1120 1124
 
1121 1125
   // Removing the job recovery file currently requires closing

Loading…
Cancel
Save