Use a STR_ prefix for non-translated strings
This commit is contained in:
parent
6b9a17be16
commit
e78f607ef3
@ -39,7 +39,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
if (v != eeprom_read_byte(p)) {
|
||||
eeprom_write_byte(p, v);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ void watchdog_init() {
|
||||
#if ENABLED(WATCHDOG_RESET_MANUAL)
|
||||
ISR(WDT_vect) {
|
||||
sei(); // With the interrupt driven serial we need to allow interrupts.
|
||||
SERIAL_ERROR_MSG(MSG_WATCHDOG_FIRED);
|
||||
SERIAL_ERROR_MSG(STR_WATCHDOG_FIRED);
|
||||
minkill(); // interrupt-safe final kill and infinite loop
|
||||
}
|
||||
#endif
|
||||
|
@ -54,7 +54,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
eeprom_write_byte(p, v);
|
||||
delay(2);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
eeprom_write_byte(p, v);
|
||||
delay(2);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
if (v != eeprom_read_byte(p)) {
|
||||
eeprom_write_byte(p, v);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
if (v != eeprom_read_byte(p)) {
|
||||
eeprom_write_byte(p, v);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
if (v != eeprom_read_byte(p)) {
|
||||
eeprom_write_byte(p, v);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
if (v != eeprom_read_byte(p)) {
|
||||
eeprom_write_byte(p, v);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, ui
|
||||
if (v != eeprom_read_byte(p)) {
|
||||
eeprom_write_byte(p, v);
|
||||
if (eeprom_read_byte(p) != v) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_EEPROM_WRITE);
|
||||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -278,7 +278,7 @@ bool pin_is_protected(const pin_t pin) {
|
||||
}
|
||||
|
||||
void protected_pin_err() {
|
||||
SERIAL_ERROR_MSG(MSG_ERR_PROTECTED_PIN);
|
||||
SERIAL_ERROR_MSG(STR_ERR_PROTECTED_PIN);
|
||||
}
|
||||
|
||||
void quickstop_stepper() {
|
||||
@ -461,7 +461,7 @@ void startOrResumeJob() {
|
||||
ui.reselect_last_file();
|
||||
#endif
|
||||
|
||||
SERIAL_ECHOLNPGM(MSG_FILE_PRINTED);
|
||||
SERIAL_ECHOLNPGM(STR_FILE_PRINTED);
|
||||
|
||||
default:
|
||||
did_state = false;
|
||||
@ -498,7 +498,7 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
|
||||
|
||||
if (max_inactive_time && ELAPSED(ms, gcode.previous_move_ms + max_inactive_time)) {
|
||||
SERIAL_ERROR_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_KILL_INACTIVE_TIME, parser.command_ptr);
|
||||
SERIAL_ECHOLNPAIR(STR_KILL_INACTIVE_TIME, parser.command_ptr);
|
||||
kill();
|
||||
}
|
||||
|
||||
@ -563,7 +563,7 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
|
||||
// KILL the machine
|
||||
// ----------------------------------------------------------------
|
||||
if (killCount >= KILL_DELAY) {
|
||||
SERIAL_ERROR_MSG(MSG_KILL_BUTTON);
|
||||
SERIAL_ERROR_MSG(STR_KILL_BUTTON);
|
||||
kill();
|
||||
}
|
||||
#endif
|
||||
@ -781,7 +781,7 @@ void idle(
|
||||
void kill(PGM_P const lcd_error/*=nullptr*/, PGM_P const lcd_component/*=nullptr*/, const bool steppers_off/*=false*/) {
|
||||
thermalManager.disable_all_heaters();
|
||||
|
||||
SERIAL_ERROR_MSG(MSG_ERR_KILLED);
|
||||
SERIAL_ERROR_MSG(STR_ERR_KILLED);
|
||||
|
||||
#if HAS_DISPLAY
|
||||
ui.kill_screen(lcd_error ?: GET_TEXT(MSG_KILLED), lcd_component ?: NUL_STR);
|
||||
@ -852,7 +852,7 @@ void stop() {
|
||||
#endif
|
||||
|
||||
if (IsRunning()) {
|
||||
SERIAL_ERROR_MSG(MSG_ERR_STOPPED);
|
||||
SERIAL_ERROR_MSG(STR_ERR_STOPPED);
|
||||
LCD_MESSAGEPGM(MSG_STOPPED);
|
||||
safe_delay(350); // allow enough time for messages to get out before stopping
|
||||
Running = false;
|
||||
@ -958,11 +958,11 @@ void setup() {
|
||||
|
||||
// Check startup - does nothing if bootloader sets MCUSR to 0
|
||||
byte mcu = HAL_get_reset_source();
|
||||
if (mcu & 1) SERIAL_ECHOLNPGM(MSG_POWERUP);
|
||||
if (mcu & 2) SERIAL_ECHOLNPGM(MSG_EXTERNAL_RESET);
|
||||
if (mcu & 4) SERIAL_ECHOLNPGM(MSG_BROWNOUT_RESET);
|
||||
if (mcu & 8) SERIAL_ECHOLNPGM(MSG_WATCHDOG_RESET);
|
||||
if (mcu & 32) SERIAL_ECHOLNPGM(MSG_SOFTWARE_RESET);
|
||||
if (mcu & 1) SERIAL_ECHOLNPGM(STR_POWERUP);
|
||||
if (mcu & 2) SERIAL_ECHOLNPGM(STR_EXTERNAL_RESET);
|
||||
if (mcu & 4) SERIAL_ECHOLNPGM(STR_BROWNOUT_RESET);
|
||||
if (mcu & 8) SERIAL_ECHOLNPGM(STR_WATCHDOG_RESET);
|
||||
if (mcu & 32) SERIAL_ECHOLNPGM(STR_SOFTWARE_RESET);
|
||||
HAL_clear_reset_source();
|
||||
|
||||
serialprintPGM(GET_TEXT(MSG_MARLIN));
|
||||
@ -972,15 +972,15 @@ void setup() {
|
||||
|
||||
#if defined(STRING_DISTRIBUTION_DATE) && defined(STRING_CONFIG_H_AUTHOR)
|
||||
SERIAL_ECHO_MSG(
|
||||
MSG_CONFIGURATION_VER
|
||||
STR_CONFIGURATION_VER
|
||||
STRING_DISTRIBUTION_DATE
|
||||
MSG_AUTHOR STRING_CONFIG_H_AUTHOR
|
||||
STR_AUTHOR STRING_CONFIG_H_AUTHOR
|
||||
);
|
||||
SERIAL_ECHO_MSG("Compiled: " __DATE__);
|
||||
#endif
|
||||
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_FREE_MEMORY, freeMemory(), MSG_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE));
|
||||
SERIAL_ECHOLNPAIR(STR_FREE_MEMORY, freeMemory(), STR_PLANNER_BUFFER_BYTES, (int)sizeof(block_t) * (BLOCK_BUFFER_SIZE));
|
||||
|
||||
// UI must be initialized before EEPROM
|
||||
// (because EEPROM code calls the UI).
|
||||
|
@ -97,6 +97,210 @@
|
||||
// #define STRING_SPLASH_LINE3 WEBSITE_URL
|
||||
//#endif
|
||||
|
||||
//
|
||||
// Common Serial Console Messages
|
||||
// Don't change these strings because serial hosts look for them.
|
||||
//
|
||||
|
||||
#define STR_ENQUEUEING "enqueueing \""
|
||||
#define STR_POWERUP "PowerUp"
|
||||
#define STR_EXTERNAL_RESET " External Reset"
|
||||
#define STR_BROWNOUT_RESET " Brown out Reset"
|
||||
#define STR_WATCHDOG_RESET " Watchdog Reset"
|
||||
#define STR_SOFTWARE_RESET " Software Reset"
|
||||
#define STR_AUTHOR " | Author: "
|
||||
#define STR_CONFIGURATION_VER " Last Updated: "
|
||||
#define STR_FREE_MEMORY " Free Memory: "
|
||||
#define STR_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
|
||||
#define STR_OK "ok"
|
||||
#define STR_WAIT "wait"
|
||||
#define STR_STATS "Stats: "
|
||||
#define STR_FILE_SAVED "Done saving file."
|
||||
#define STR_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line: "
|
||||
#define STR_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
|
||||
#define STR_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
|
||||
#define STR_FILE_PRINTED "Done printing file"
|
||||
#define STR_BEGIN_FILE_LIST "Begin file list"
|
||||
#define STR_END_FILE_LIST "End file list"
|
||||
#define STR_INVALID_EXTRUDER "Invalid extruder"
|
||||
#define STR_INVALID_E_STEPPER "Invalid E stepper"
|
||||
#define STR_E_STEPPER_NOT_SPECIFIED "E stepper not specified"
|
||||
#define STR_INVALID_SOLENOID "Invalid solenoid"
|
||||
#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
|
||||
#define STR_COUNT_X " Count X:"
|
||||
#define STR_COUNT_A " Count A:"
|
||||
#define STR_WATCHDOG_FIRED "Watchdog timeout. Reset required."
|
||||
#define STR_ERR_KILLED "Printer halted. kill() called!"
|
||||
#define STR_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
|
||||
#define STR_BUSY_PROCESSING "busy: processing"
|
||||
#define STR_BUSY_PAUSED_FOR_USER "busy: paused for user"
|
||||
#define STR_BUSY_PAUSED_FOR_INPUT "busy: paused for input"
|
||||
#define STR_Z_MOVE_COMP "Z_move_comp"
|
||||
#define STR_RESEND "Resend: "
|
||||
#define STR_UNKNOWN_COMMAND "Unknown command: \""
|
||||
#define STR_ACTIVE_EXTRUDER "Active Extruder: "
|
||||
#define STR_X_MIN "x_min"
|
||||
#define STR_X_MAX "x_max"
|
||||
#define STR_X2_MIN "x2_min"
|
||||
#define STR_X2_MAX "x2_max"
|
||||
#define STR_Y_MIN "y_min"
|
||||
#define STR_Y_MAX "y_max"
|
||||
#define STR_Y2_MIN "y2_min"
|
||||
#define STR_Y2_MAX "y2_max"
|
||||
#define STR_Z_MIN "z_min"
|
||||
#define STR_Z_MAX "z_max"
|
||||
#define STR_Z2_MIN "z2_min"
|
||||
#define STR_Z2_MAX "z2_max"
|
||||
#define STR_Z3_MIN "z3_min"
|
||||
#define STR_Z3_MAX "z3_max"
|
||||
#define STR_Z4_MIN "z4_min"
|
||||
#define STR_Z4_MAX "z4_max"
|
||||
#define STR_Z_PROBE "z_probe"
|
||||
#define STR_FILAMENT_RUNOUT_SENSOR "filament"
|
||||
#define STR_PROBE_OFFSET "Probe Offset"
|
||||
#define STR_SKEW_MIN "min_skew_factor: "
|
||||
#define STR_SKEW_MAX "max_skew_factor: "
|
||||
#define STR_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
|
||||
#define STR_ERR_M421_PARAMETERS "M421 incorrect parameter usage"
|
||||
#define STR_ERR_BAD_PLANE_MODE "G5 requires XY plane mode"
|
||||
#define STR_ERR_MESH_XY "Mesh point cannot be resolved"
|
||||
#define STR_ERR_ARC_ARGS "G2/G3 bad parameters"
|
||||
#define STR_ERR_PROTECTED_PIN "Protected Pin"
|
||||
#define STR_ERR_M420_FAILED "Failed to enable Bed Leveling"
|
||||
#define STR_ERR_M428_TOO_FAR "Too far from reference point"
|
||||
#define STR_ERR_M303_DISABLED "PIDTEMP disabled"
|
||||
#define STR_M119_REPORT "Reporting endstop status"
|
||||
#define STR_ON "ON"
|
||||
#define STR_OFF "OFF"
|
||||
#define STR_ENDSTOP_HIT "TRIGGERED"
|
||||
#define STR_ENDSTOP_OPEN "open"
|
||||
#define STR_HOTEND_OFFSET "Hotend offsets:"
|
||||
#define STR_DUPLICATION_MODE "Duplication mode: "
|
||||
#define STR_SOFT_ENDSTOPS "Soft endstops: "
|
||||
#define STR_SOFT_MIN " Min: "
|
||||
#define STR_SOFT_MAX " Max: "
|
||||
|
||||
#define STR_SAVED_POS "Position saved"
|
||||
#define STR_RESTORING_POS "Restoring position"
|
||||
#define STR_INVALID_POS_SLOT "Invalid slot. Total: "
|
||||
|
||||
#define STR_SD_CANT_OPEN_SUBDIR "Cannot open subdir "
|
||||
#define STR_SD_INIT_FAIL "SD init fail"
|
||||
#define STR_SD_VOL_INIT_FAIL "volume.init failed"
|
||||
#define STR_SD_OPENROOT_FAIL "openRoot failed"
|
||||
#define STR_SD_CARD_OK "SD card ok"
|
||||
#define STR_SD_WORKDIR_FAIL "workDir open failed"
|
||||
#define STR_SD_OPEN_FILE_FAIL "open failed, File: "
|
||||
#define STR_SD_FILE_OPENED "File opened: "
|
||||
#define STR_SD_SIZE " Size: "
|
||||
#define STR_SD_FILE_SELECTED "File selected"
|
||||
#define STR_SD_WRITE_TO_FILE "Writing to file: "
|
||||
#define STR_SD_PRINTING_BYTE "SD printing byte "
|
||||
#define STR_SD_NOT_PRINTING "Not SD printing"
|
||||
#define STR_SD_ERR_WRITE_TO_FILE "error writing to file"
|
||||
#define STR_SD_ERR_READ "SD read error"
|
||||
#define STR_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
|
||||
|
||||
#define STR_ENDSTOPS_HIT "endstops hit: "
|
||||
#define STR_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
|
||||
#define STR_ERR_LONG_EXTRUDE_STOP " too long extrusion prevented"
|
||||
#define STR_ERR_HOTEND_TOO_COLD "Hotend too cold"
|
||||
#define STR_ERR_Z_HOMING_SER "Home XY first"
|
||||
#define STR_ERR_EEPROM_WRITE "Error writing to EEPROM!"
|
||||
|
||||
#define STR_FILAMENT_CHANGE_HEAT_LCD "Press button to heat nozzle"
|
||||
#define STR_FILAMENT_CHANGE_INSERT_LCD "Insert filament and press button"
|
||||
#define STR_FILAMENT_CHANGE_WAIT_LCD "Press button to resume"
|
||||
#define STR_FILAMENT_CHANGE_HEAT_M108 "Send M108 to heat nozzle"
|
||||
#define STR_FILAMENT_CHANGE_INSERT_M108 "Insert filament and send M108"
|
||||
#define STR_FILAMENT_CHANGE_WAIT_M108 "Send M108 to resume"
|
||||
|
||||
#define STR_STOP_BLTOUCH "!! STOP called because of BLTouch error - restart with M999"
|
||||
#define STR_STOP_UNHOMED "!! STOP called because of unhomed error - restart with M999"
|
||||
#define STR_KILL_INACTIVE_TIME "!! KILL caused by too much inactive time - current command: "
|
||||
#define STR_KILL_BUTTON "!! KILL caused by KILL button/pin"
|
||||
|
||||
// temperature.cpp strings
|
||||
#define STR_PID_AUTOTUNE_PREFIX "PID Autotune"
|
||||
#define STR_PID_AUTOTUNE_START STR_PID_AUTOTUNE_PREFIX " start"
|
||||
#define STR_PID_AUTOTUNE_FAILED STR_PID_AUTOTUNE_PREFIX " failed!"
|
||||
#define STR_PID_BAD_EXTRUDER_NUM STR_PID_AUTOTUNE_FAILED " Bad extruder number"
|
||||
#define STR_PID_TEMP_TOO_HIGH STR_PID_AUTOTUNE_FAILED " Temperature too high"
|
||||
#define STR_PID_TIMEOUT STR_PID_AUTOTUNE_FAILED " timeout"
|
||||
#define STR_BIAS " bias: "
|
||||
#define STR_D_COLON " d: "
|
||||
#define STR_T_MIN " min: "
|
||||
#define STR_T_MAX " max: "
|
||||
#define STR_KU " Ku: "
|
||||
#define STR_TU " Tu: "
|
||||
#define STR_CLASSIC_PID " Classic PID "
|
||||
#define STR_KP " Kp: "
|
||||
#define STR_KI " Ki: "
|
||||
#define STR_KD " Kd: "
|
||||
#define STR_PID_AUTOTUNE_FINISHED STR_PID_AUTOTUNE_PREFIX " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
|
||||
#define STR_PID_DEBUG " PID_DEBUG "
|
||||
#define STR_PID_DEBUG_INPUT ": Input "
|
||||
#define STR_PID_DEBUG_OUTPUT " Output "
|
||||
#define STR_PID_DEBUG_PTERM " pTerm "
|
||||
#define STR_PID_DEBUG_ITERM " iTerm "
|
||||
#define STR_PID_DEBUG_DTERM " dTerm "
|
||||
#define STR_PID_DEBUG_CTERM " cTerm "
|
||||
#define STR_INVALID_EXTRUDER_NUM " - Invalid extruder number !"
|
||||
|
||||
#define STR_HEATER_BED "bed"
|
||||
#define STR_HEATER_CHAMBER "chamber"
|
||||
|
||||
#define STR_STOPPED_HEATER ", system stopped! Heater_ID: "
|
||||
#define STR_REDUNDANCY "Heater switched off. Temperature difference between temp sensors is too high !"
|
||||
#define STR_T_HEATING_FAILED "Heating failed"
|
||||
#define STR_T_THERMAL_RUNAWAY "Thermal Runaway"
|
||||
#define STR_T_MAXTEMP "MAXTEMP triggered"
|
||||
#define STR_T_MINTEMP "MINTEMP triggered"
|
||||
#define STR_ERR_PROBING_FAILED "Probing Failed"
|
||||
#define STR_ZPROBE_OUT_SER "Z Probe Past Bed"
|
||||
|
||||
// Debug
|
||||
#define STR_DEBUG_PREFIX "DEBUG:"
|
||||
#define STR_DEBUG_OFF "off"
|
||||
#define STR_DEBUG_ECHO "ECHO"
|
||||
#define STR_DEBUG_INFO "INFO"
|
||||
#define STR_DEBUG_ERRORS "ERRORS"
|
||||
#define STR_DEBUG_DRYRUN "DRYRUN"
|
||||
#define STR_DEBUG_COMMUNICATION "COMMUNICATION"
|
||||
#define STR_DEBUG_LEVELING "LEVELING"
|
||||
|
||||
// LCD Menu Messages
|
||||
|
||||
#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h)
|
||||
#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
|
||||
|
||||
#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
|
||||
#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
|
||||
|
||||
#define STR_X "X"
|
||||
#define STR_Y "Y"
|
||||
#define STR_Z "Z"
|
||||
#define STR_E "E"
|
||||
#if IS_KINEMATIC
|
||||
#define STR_A "A"
|
||||
#define STR_B "B"
|
||||
#define STR_C "C"
|
||||
#else
|
||||
#define STR_A "X"
|
||||
#define STR_B "Y"
|
||||
#define STR_C "Z"
|
||||
#endif
|
||||
#define STR_X2 "X2"
|
||||
#define STR_Y2 "Y2"
|
||||
#define STR_Z2 "Z2"
|
||||
#define STR_Z3 "Z3"
|
||||
#define STR_Z4 "Z4"
|
||||
|
||||
#define LCD_STR_A STR_A
|
||||
#define LCD_STR_B STR_B
|
||||
#define LCD_STR_C STR_C
|
||||
#define LCD_STR_E STR_E
|
||||
|
||||
#if HAS_CHARACTER_LCD
|
||||
|
||||
// Custom characters defined in the first 8 characters of the LCD
|
||||
@ -135,210 +339,6 @@
|
||||
|
||||
#endif
|
||||
|
||||
// Common Serial Console Messages (do not translate those!)
|
||||
|
||||
#define MSG_ENQUEUEING "enqueueing \""
|
||||
#define MSG_POWERUP "PowerUp"
|
||||
#define MSG_EXTERNAL_RESET " External Reset"
|
||||
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
||||
#define MSG_WATCHDOG_RESET " Watchdog Reset"
|
||||
#define MSG_SOFTWARE_RESET " Software Reset"
|
||||
#define MSG_AUTHOR " | Author: "
|
||||
#define MSG_CONFIGURATION_VER " Last Updated: "
|
||||
#define MSG_FREE_MEMORY " Free Memory: "
|
||||
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
|
||||
#define MSG_OK "ok"
|
||||
#define MSG_WAIT "wait"
|
||||
#define MSG_STATS "Stats: "
|
||||
#define MSG_FILE_SAVED "Done saving file."
|
||||
#define MSG_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line: "
|
||||
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
|
||||
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
|
||||
#define MSG_FILE_PRINTED "Done printing file"
|
||||
#define MSG_BEGIN_FILE_LIST "Begin file list"
|
||||
#define MSG_END_FILE_LIST "End file list"
|
||||
#define MSG_INVALID_EXTRUDER "Invalid extruder"
|
||||
#define MSG_INVALID_E_STEPPER "Invalid E stepper"
|
||||
#define MSG_E_STEPPER_NOT_SPECIFIED "E stepper not specified"
|
||||
#define MSG_INVALID_SOLENOID "Invalid solenoid"
|
||||
#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
|
||||
#define MSG_COUNT_X " Count X:"
|
||||
#define MSG_COUNT_A " Count A:"
|
||||
#define MSG_WATCHDOG_FIRED "Watchdog timeout. Reset required."
|
||||
#define MSG_ERR_KILLED "Printer halted. kill() called!"
|
||||
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
|
||||
#define MSG_BUSY_PROCESSING "busy: processing"
|
||||
#define MSG_BUSY_PAUSED_FOR_USER "busy: paused for user"
|
||||
#define MSG_BUSY_PAUSED_FOR_INPUT "busy: paused for input"
|
||||
#define MSG_Z_MOVE_COMP "Z_move_comp"
|
||||
#define MSG_RESEND "Resend: "
|
||||
#define MSG_UNKNOWN_COMMAND "Unknown command: \""
|
||||
#define MSG_ACTIVE_EXTRUDER "Active Extruder: "
|
||||
#define MSG_X_MIN "x_min"
|
||||
#define MSG_X_MAX "x_max"
|
||||
#define MSG_X2_MIN "x2_min"
|
||||
#define MSG_X2_MAX "x2_max"
|
||||
#define MSG_Y_MIN "y_min"
|
||||
#define MSG_Y_MAX "y_max"
|
||||
#define MSG_Y2_MIN "y2_min"
|
||||
#define MSG_Y2_MAX "y2_max"
|
||||
#define MSG_Z_MIN "z_min"
|
||||
#define MSG_Z_MAX "z_max"
|
||||
#define MSG_Z2_MIN "z2_min"
|
||||
#define MSG_Z2_MAX "z2_max"
|
||||
#define MSG_Z3_MIN "z3_min"
|
||||
#define MSG_Z3_MAX "z3_max"
|
||||
#define MSG_Z4_MIN "z4_min"
|
||||
#define MSG_Z4_MAX "z4_max"
|
||||
#define MSG_Z_PROBE "z_probe"
|
||||
#define MSG_FILAMENT_RUNOUT_SENSOR "filament"
|
||||
#define MSG_PROBE_OFFSET "Probe Offset"
|
||||
#define MSG_SKEW_MIN "min_skew_factor: "
|
||||
#define MSG_SKEW_MAX "max_skew_factor: "
|
||||
#define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
|
||||
#define MSG_ERR_M421_PARAMETERS "M421 incorrect parameter usage"
|
||||
#define MSG_ERR_BAD_PLANE_MODE "G5 requires XY plane mode"
|
||||
#define MSG_ERR_MESH_XY "Mesh point cannot be resolved"
|
||||
#define MSG_ERR_ARC_ARGS "G2/G3 bad parameters"
|
||||
#define MSG_ERR_PROTECTED_PIN "Protected Pin"
|
||||
#define MSG_ERR_M420_FAILED "Failed to enable Bed Leveling"
|
||||
#define MSG_ERR_M428_TOO_FAR "Too far from reference point"
|
||||
#define MSG_ERR_M303_DISABLED "PIDTEMP disabled"
|
||||
#define MSG_M119_REPORT "Reporting endstop status"
|
||||
#define MSG_ON "ON"
|
||||
#define MSG_OFF "OFF"
|
||||
#define MSG_ENDSTOP_HIT "TRIGGERED"
|
||||
#define MSG_ENDSTOP_OPEN "open"
|
||||
#define MSG_HOTEND_OFFSET "Hotend offsets:"
|
||||
#define MSG_DUPLICATION_MODE "Duplication mode: "
|
||||
#define MSG_SOFT_ENDSTOPS "Soft endstops: "
|
||||
#define MSG_SOFT_MIN " Min: "
|
||||
#define MSG_SOFT_MAX " Max: "
|
||||
|
||||
#define MSG_SAVED_POS "Position saved"
|
||||
#define MSG_RESTORING_POS "Restoring position"
|
||||
#define MSG_INVALID_POS_SLOT "Invalid slot. Total: "
|
||||
|
||||
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir "
|
||||
#define MSG_SD_INIT_FAIL "SD init fail"
|
||||
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
|
||||
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
|
||||
#define MSG_SD_CARD_OK "SD card ok"
|
||||
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
|
||||
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
|
||||
#define MSG_SD_FILE_OPENED "File opened: "
|
||||
#define MSG_SD_SIZE " Size: "
|
||||
#define MSG_SD_FILE_SELECTED "File selected"
|
||||
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
|
||||
#define MSG_SD_PRINTING_BYTE "SD printing byte "
|
||||
#define MSG_SD_NOT_PRINTING "Not SD printing"
|
||||
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
|
||||
#define MSG_SD_ERR_READ "SD read error"
|
||||
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
|
||||
|
||||
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
|
||||
#define MSG_ENDSTOPS_HIT "endstops hit: "
|
||||
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
|
||||
#define MSG_ERR_LONG_EXTRUDE_STOP " too long extrusion prevented"
|
||||
#define MSG_ERR_HOTEND_TOO_COLD "Hotend too cold"
|
||||
#define MSG_ERR_Z_HOMING_SER "Home XY first"
|
||||
#define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!"
|
||||
|
||||
#define MSG_FILAMENT_CHANGE_HEAT_LCD "Press button to heat nozzle"
|
||||
#define MSG_FILAMENT_CHANGE_INSERT_LCD "Insert filament and press button"
|
||||
#define MSG_FILAMENT_CHANGE_WAIT_LCD "Press button to resume"
|
||||
#define MSG_FILAMENT_CHANGE_HEAT_M108 "Send M108 to heat nozzle"
|
||||
#define MSG_FILAMENT_CHANGE_INSERT_M108 "Insert filament and send M108"
|
||||
#define MSG_FILAMENT_CHANGE_WAIT_M108 "Send M108 to resume"
|
||||
|
||||
#define MSG_STOP_BLTOUCH "!! STOP called because of BLTouch error - restart with M999"
|
||||
#define MSG_STOP_UNHOMED "!! STOP called because of unhomed error - restart with M999"
|
||||
#define MSG_KILL_INACTIVE_TIME "!! KILL caused by too much inactive time - current command: "
|
||||
#define MSG_KILL_BUTTON "!! KILL caused by KILL button/pin"
|
||||
|
||||
// temperature.cpp strings
|
||||
#define MSG_PID_AUTOTUNE_PREFIX "PID Autotune"
|
||||
#define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE_PREFIX " start"
|
||||
#define MSG_PID_AUTOTUNE_FAILED MSG_PID_AUTOTUNE_PREFIX " failed!"
|
||||
#define MSG_PID_BAD_EXTRUDER_NUM MSG_PID_AUTOTUNE_FAILED " Bad extruder number"
|
||||
#define MSG_PID_TEMP_TOO_HIGH MSG_PID_AUTOTUNE_FAILED " Temperature too high"
|
||||
#define MSG_PID_TIMEOUT MSG_PID_AUTOTUNE_FAILED " timeout"
|
||||
#define MSG_BIAS " bias: "
|
||||
#define MSG_D " d: "
|
||||
#define MSG_T_MIN " min: "
|
||||
#define MSG_T_MAX " max: "
|
||||
#define MSG_KU " Ku: "
|
||||
#define MSG_TU " Tu: "
|
||||
#define MSG_CLASSIC_PID " Classic PID "
|
||||
#define MSG_KP " Kp: "
|
||||
#define MSG_KI " Ki: "
|
||||
#define MSG_KD " Kd: "
|
||||
#define MSG_AT " @:"
|
||||
#define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE_PREFIX " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
|
||||
#define MSG_PID_DEBUG " PID_DEBUG "
|
||||
#define MSG_PID_DEBUG_INPUT ": Input "
|
||||
#define MSG_PID_DEBUG_OUTPUT " Output "
|
||||
#define MSG_PID_DEBUG_PTERM " pTerm "
|
||||
#define MSG_PID_DEBUG_ITERM " iTerm "
|
||||
#define MSG_PID_DEBUG_DTERM " dTerm "
|
||||
#define MSG_PID_DEBUG_CTERM " cTerm "
|
||||
#define MSG_INVALID_EXTRUDER_NUM " - Invalid extruder number !"
|
||||
|
||||
#define MSG_HEATER_BED "bed"
|
||||
#define MSG_HEATER_CHAMBER "chamber"
|
||||
|
||||
#define MSG_STOPPED_HEATER ", system stopped! Heater_ID: "
|
||||
#define MSG_REDUNDANCY "Heater switched off. Temperature difference between temp sensors is too high !"
|
||||
#define MSG_T_HEATING_FAILED "Heating failed"
|
||||
#define MSG_T_THERMAL_RUNAWAY "Thermal Runaway"
|
||||
#define MSG_T_MAXTEMP "MAXTEMP triggered"
|
||||
#define MSG_T_MINTEMP "MINTEMP triggered"
|
||||
#define MSG_ERR_PROBING_FAILED "Probing Failed"
|
||||
#define MSG_ZPROBE_OUT_SER "Z Probe Past Bed"
|
||||
|
||||
// Debug
|
||||
#define MSG_DEBUG_PREFIX "DEBUG:"
|
||||
#define MSG_DEBUG_OFF "off"
|
||||
#define MSG_DEBUG_ECHO "ECHO"
|
||||
#define MSG_DEBUG_INFO "INFO"
|
||||
#define MSG_DEBUG_ERRORS "ERRORS"
|
||||
#define MSG_DEBUG_DRYRUN "DRYRUN"
|
||||
#define MSG_DEBUG_COMMUNICATION "COMMUNICATION"
|
||||
#define MSG_DEBUG_LEVELING "LEVELING"
|
||||
|
||||
// LCD Menu Messages
|
||||
|
||||
#define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h)
|
||||
#define LANGUAGE_DATA_INCL(M) LANGUAGE_DATA_INCL_(M)
|
||||
|
||||
#define LANGUAGE_INCL_(M) STRINGIFY_(../lcd/language/language_##M.h)
|
||||
#define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
|
||||
|
||||
// Never translate these strings
|
||||
#define MSG_X "X"
|
||||
#define MSG_Y "Y"
|
||||
#define MSG_Z "Z"
|
||||
#define MSG_E "E"
|
||||
#if IS_KINEMATIC
|
||||
#define MSG_A "A"
|
||||
#define MSG_B "B"
|
||||
#define MSG_C "C"
|
||||
#else
|
||||
#define MSG_A "X"
|
||||
#define MSG_B "Y"
|
||||
#define MSG_C "Z"
|
||||
#endif
|
||||
#define MSG_X2 "X2"
|
||||
#define MSG_Y2 "Y2"
|
||||
#define MSG_Z2 "Z2"
|
||||
#define MSG_Z3 "Z3"
|
||||
#define MSG_Z4 "Z4"
|
||||
|
||||
#define LCD_STR_A MSG_A
|
||||
#define LCD_STR_B MSG_B
|
||||
#define LCD_STR_C MSG_C
|
||||
#define LCD_STR_E MSG_E
|
||||
|
||||
/**
|
||||
* Tool indexes for LCD display only
|
||||
*
|
||||
|
@ -54,7 +54,7 @@ void serial_ternary(const bool onoff, PGM_P const pre, PGM_P const on, PGM_P con
|
||||
serialprintPGM(onoff ? on : off);
|
||||
if (post) serialprintPGM(post);
|
||||
}
|
||||
void serialprint_onoff(const bool onoff) { serialprintPGM(onoff ? PSTR(MSG_ON) : PSTR(MSG_OFF)); }
|
||||
void serialprint_onoff(const bool onoff) { serialprintPGM(onoff ? PSTR(STR_ON) : PSTR(STR_OFF)); }
|
||||
void serialprintln_onoff(const bool onoff) { serialprint_onoff(onoff); SERIAL_EOL(); }
|
||||
void serialprint_truefalse(const bool tf) { serialprintPGM(tf ? PSTR("true") : PSTR("false")); }
|
||||
|
||||
|
@ -124,7 +124,7 @@ bool BLTouch::deploy_proc() {
|
||||
// The deploy might have failed or the probe is actually triggered (nozzle too low?) again
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch Recovery Failed");
|
||||
|
||||
SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH); // Tell the user something is wrong, needs action
|
||||
SERIAL_ERROR_MSG(STR_STOP_BLTOUCH); // Tell the user something is wrong, needs action
|
||||
stop(); // but it's not too bad, no need to kill, allow restart
|
||||
|
||||
return true; // Tell our caller we goofed in case he cares to know
|
||||
@ -169,7 +169,7 @@ bool BLTouch::stow_proc() {
|
||||
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("BLTouch Recovery Failed");
|
||||
|
||||
SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH); // Tell the user something is wrong, needs action
|
||||
SERIAL_ERROR_MSG(STR_STOP_BLTOUCH); // Tell the user something is wrong, needs action
|
||||
stop(); // but it's not too bad, no need to kill, allow restart
|
||||
|
||||
return true; // Tell our caller we goofed in case he cares to know
|
||||
|
@ -120,7 +120,7 @@ static bool ensure_safe_temperature(const PauseMode mode=PAUSE_MODE_SAME) {
|
||||
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
if (!DEBUGGING(DRYRUN) && thermalManager.targetTooColdToExtrude(active_extruder)) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_HOTEND_TOO_COLD);
|
||||
SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
@ -400,7 +400,7 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float
|
||||
#endif
|
||||
|
||||
if (!DEBUGGING(DRYRUN) && unload_length && thermalManager.targetTooColdToExtrude(active_extruder)) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_HOTEND_TOO_COLD);
|
||||
SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
|
||||
|
||||
#if HAS_LCD_MENU
|
||||
if (show_lcd) { // Show status screen
|
||||
|
@ -462,7 +462,7 @@ void MMU2::tool_change(uint8_t index) {
|
||||
ENABLE_AXIS_E0();
|
||||
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, int(extruder));
|
||||
SERIAL_ECHOLNPAIR(STR_ACTIVE_EXTRUDER, int(extruder));
|
||||
|
||||
ui.reset_status();
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ static void set_solenoid(const uint8_t num, const bool active) {
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
SERIAL_ECHO_MSG(MSG_INVALID_SOLENOID);
|
||||
SERIAL_ECHO_MSG(STR_INVALID_SOLENOID);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ void GcodeSuite::G42() {
|
||||
const int8_t iy = hasJ ? parser.value_int() : 0;
|
||||
|
||||
if ((hasI && !WITHIN(ix, 0, GRID_MAX_POINTS_X - 1)) || (hasJ && !WITHIN(iy, 0, GRID_MAX_POINTS_Y - 1))) {
|
||||
SERIAL_ECHOLNPGM(MSG_ERR_MESH_XY);
|
||||
SERIAL_ECHOLNPGM(STR_ERR_MESH_XY);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -235,7 +235,7 @@ void GcodeSuite::M420() {
|
||||
|
||||
// Error if leveling failed to enable or reenable
|
||||
if (to_enable && !planner.leveling_active)
|
||||
SERIAL_ERROR_MSG(MSG_ERR_M420_FAILED);
|
||||
SERIAL_ERROR_MSG(STR_ERR_M420_FAILED);
|
||||
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPGM("Bed Leveling ");
|
||||
@ -247,7 +247,7 @@ void GcodeSuite::M420() {
|
||||
if (planner.z_fade_height > 0.0)
|
||||
SERIAL_ECHOLN(planner.z_fade_height);
|
||||
else
|
||||
SERIAL_ECHOLNPGM(MSG_OFF);
|
||||
SERIAL_ECHOLNPGM(STR_OFF);
|
||||
#endif
|
||||
|
||||
// Report change in position
|
||||
|
@ -50,9 +50,9 @@ void GcodeSuite::M421() {
|
||||
hasQ = !hasZ && parser.seen('Q');
|
||||
|
||||
if (!hasI || !hasJ || !(hasZ || hasQ))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_M421_PARAMETERS);
|
||||
SERIAL_ERROR_MSG(STR_ERR_M421_PARAMETERS);
|
||||
else if (!WITHIN(ix, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(iy, 0, GRID_MAX_POINTS_Y - 1))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_MESH_XY);
|
||||
SERIAL_ERROR_MSG(STR_ERR_MESH_XY);
|
||||
else {
|
||||
z_values[ix][iy] = parser.value_linear_units() + (hasQ ? z_values[ix][iy] : 0);
|
||||
#if ENABLED(ABL_BILINEAR_SUBDIVISION)
|
||||
|
@ -49,9 +49,9 @@ void GcodeSuite::M421() {
|
||||
const bool hasZ = parser.seen('Z'), hasQ = !hasZ && parser.seen('Q');
|
||||
|
||||
if (int(hasI && hasJ) + int(hasX && hasY) != 1 || !(hasZ || hasQ))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_M421_PARAMETERS);
|
||||
SERIAL_ERROR_MSG(STR_ERR_M421_PARAMETERS);
|
||||
else if (ix < 0 || iy < 0)
|
||||
SERIAL_ERROR_MSG(MSG_ERR_MESH_XY);
|
||||
SERIAL_ERROR_MSG(STR_ERR_MESH_XY);
|
||||
else
|
||||
mbl.set_z(ix, iy, parser.value_linear_units() + (hasQ ? mbl.z_values[ix][iy] : 0));
|
||||
}
|
||||
|
@ -57,9 +57,9 @@ void GcodeSuite::M421() {
|
||||
if (hasC) ij = ubl.find_closest_mesh_point_of_type(REAL, current_position);
|
||||
|
||||
if (int(hasC) + int(hasI && hasJ) != 1 || !(hasZ || hasQ || hasN))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_M421_PARAMETERS);
|
||||
SERIAL_ERROR_MSG(STR_ERR_M421_PARAMETERS);
|
||||
else if (!WITHIN(ij.x, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(ij.y, 0, GRID_MAX_POINTS_Y - 1))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_MESH_XY);
|
||||
SERIAL_ERROR_MSG(STR_ERR_MESH_XY);
|
||||
else {
|
||||
float &zval = ubl.z_values[ij.x][ij.y];
|
||||
zval = hasN ? NAN : parser.value_linear_units() + (hasQ ? zval : 0);
|
||||
|
@ -118,7 +118,7 @@
|
||||
// Disallow Z homing if X or Y are unknown
|
||||
if (!TEST(axis_known_position, X_AXIS) || !TEST(axis_known_position, Y_AXIS)) {
|
||||
LCD_MESSAGEPGM(MSG_ERR_Z_HOMING);
|
||||
SERIAL_ECHO_MSG(MSG_ERR_Z_HOMING_SER);
|
||||
SERIAL_ECHO_MSG(STR_ERR_Z_HOMING_SER);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
}
|
||||
else {
|
||||
LCD_MESSAGEPGM(MSG_ZPROBE_OUT);
|
||||
SERIAL_ECHO_MSG(MSG_ZPROBE_OUT_SER);
|
||||
SERIAL_ECHO_MSG(STR_ZPROBE_OUT_SER);
|
||||
}
|
||||
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< home_z_safely");
|
||||
@ -529,7 +529,7 @@ void GcodeSuite::G28(const bool always_home_all) {
|
||||
#define _HOME_SYNC doZ // Only for Z-axis
|
||||
#endif
|
||||
if (_HOME_SYNC)
|
||||
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
|
||||
SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
|
||||
#endif
|
||||
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< G28");
|
||||
|
@ -82,7 +82,7 @@ void GcodeSuite::M852() {
|
||||
#endif
|
||||
|
||||
if (badval)
|
||||
SERIAL_ECHOLNPGM(MSG_SKEW_MIN " " STRINGIFY(SKEW_FACTOR_MIN) " " MSG_SKEW_MAX " " STRINGIFY(SKEW_FACTOR_MAX));
|
||||
SERIAL_ECHOLNPGM(STR_SKEW_MIN " " STRINGIFY(SKEW_FACTOR_MIN) " " STR_SKEW_MAX " " STRINGIFY(SKEW_FACTOR_MAX));
|
||||
|
||||
// When skew is changed the current position changes
|
||||
if (setval) {
|
||||
|
@ -50,7 +50,7 @@ void GcodeSuite::M218() {
|
||||
|
||||
if (!parser.seen("XYZ")) {
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPGM(MSG_HOTEND_OFFSET);
|
||||
SERIAL_ECHOPGM(STR_HOTEND_OFFSET);
|
||||
HOTEND_LOOP() {
|
||||
SERIAL_CHAR(' ');
|
||||
SERIAL_ECHO(hotend_offset[e].x);
|
||||
|
@ -82,7 +82,7 @@ void GcodeSuite::M301() {
|
||||
SERIAL_EOL();
|
||||
}
|
||||
else
|
||||
SERIAL_ERROR_MSG(MSG_INVALID_EXTRUDER);
|
||||
SERIAL_ERROR_MSG(STR_INVALID_EXTRUDER);
|
||||
}
|
||||
|
||||
#endif // PIDTEMP
|
||||
|
@ -28,13 +28,13 @@
|
||||
void GcodeSuite::M111() {
|
||||
if (parser.seen('S')) marlin_debug_flags = parser.byteval('S');
|
||||
|
||||
static const char str_debug_1[] PROGMEM = MSG_DEBUG_ECHO,
|
||||
str_debug_2[] PROGMEM = MSG_DEBUG_INFO,
|
||||
str_debug_4[] PROGMEM = MSG_DEBUG_ERRORS,
|
||||
str_debug_8[] PROGMEM = MSG_DEBUG_DRYRUN,
|
||||
str_debug_16[] PROGMEM = MSG_DEBUG_COMMUNICATION
|
||||
static const char str_debug_1[] PROGMEM = STR_DEBUG_ECHO,
|
||||
str_debug_2[] PROGMEM = STR_DEBUG_INFO,
|
||||
str_debug_4[] PROGMEM = STR_DEBUG_ERRORS,
|
||||
str_debug_8[] PROGMEM = STR_DEBUG_DRYRUN,
|
||||
str_debug_16[] PROGMEM = STR_DEBUG_COMMUNICATION
|
||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||
, str_debug_lvl[] PROGMEM = MSG_DEBUG_LEVELING
|
||||
, str_debug_lvl[] PROGMEM = STR_DEBUG_LEVELING
|
||||
#endif
|
||||
;
|
||||
|
||||
@ -46,7 +46,7 @@ void GcodeSuite::M111() {
|
||||
};
|
||||
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPGM(MSG_DEBUG_PREFIX);
|
||||
SERIAL_ECHOPGM(STR_DEBUG_PREFIX);
|
||||
if (marlin_debug_flags) {
|
||||
uint8_t comma = 0;
|
||||
for (uint8_t i = 0; i < COUNT(debug_strings); i++) {
|
||||
@ -57,7 +57,7 @@ void GcodeSuite::M111() {
|
||||
}
|
||||
}
|
||||
else {
|
||||
SERIAL_ECHOPGM(MSG_DEBUG_OFF);
|
||||
SERIAL_ECHOPGM(STR_DEBUG_OFF);
|
||||
#if !defined(__AVR__) || !defined(USBCON)
|
||||
#if ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS)
|
||||
SERIAL_ECHOPAIR("\nBuffer Overruns: ", MYSERIAL0.buffer_overruns());
|
||||
|
@ -36,11 +36,11 @@ void GcodeSuite::M211() {
|
||||
const xyz_pos_t l_soft_min = soft_endstop.min.asLogical(),
|
||||
l_soft_max = soft_endstop.max.asLogical();
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPGM(MSG_SOFT_ENDSTOPS);
|
||||
SERIAL_ECHOPGM(STR_SOFT_ENDSTOPS);
|
||||
if (parser.seen('S')) soft_endstops_enabled = parser.value_bool();
|
||||
serialprint_onoff(soft_endstops_enabled);
|
||||
print_xyz(l_soft_min, PSTR(MSG_SOFT_MIN), PSTR(" "));
|
||||
print_xyz(l_soft_max, PSTR(MSG_SOFT_MAX));
|
||||
print_xyz(l_soft_min, PSTR(STR_SOFT_MIN), PSTR(" "));
|
||||
print_xyz(l_soft_max, PSTR(STR_SOFT_MAX));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -167,7 +167,7 @@
|
||||
extruder_duplication_enabled = ena && (duplication_e_mask >= 3);
|
||||
}
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPGM(MSG_DUPLICATION_MODE);
|
||||
SERIAL_ECHOPGM(STR_DUPLICATION_MODE);
|
||||
serialprint_onoff(extruder_duplication_enabled);
|
||||
if (ena) {
|
||||
SERIAL_ECHOPGM(" ( ");
|
||||
|
@ -110,6 +110,6 @@ void GcodeSuite::M81() {
|
||||
#endif
|
||||
|
||||
#if HAS_LCD_MENU
|
||||
LCD_MESSAGEPGM_P(PSTR(MACHINE_NAME " " MSG_OFF "."));
|
||||
LCD_MESSAGEPGM_P(PSTR(MACHINE_NAME " " STR_OFF "."));
|
||||
#endif
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ void GcodeSuite::G60() {
|
||||
const uint8_t slot = parser.byteval('S');
|
||||
|
||||
if (slot >= SAVED_POSITIONS) {
|
||||
SERIAL_ERROR_MSG(MSG_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
|
||||
SERIAL_ERROR_MSG(STR_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ void GcodeSuite::G60() {
|
||||
|
||||
#if ENABLED(SAVED_POSITIONS_DEBUG)
|
||||
const xyze_pos_t &pos = stored_position[slot];
|
||||
DEBUG_ECHOPAIR_F(MSG_SAVED_POS " S", slot);
|
||||
DEBUG_ECHOPAIR_F(STR_SAVED_POS " S", slot);
|
||||
DEBUG_ECHOPAIR_F(" : X", pos.x);
|
||||
DEBUG_ECHOPAIR_F_P(SP_Y_STR, pos.y);
|
||||
DEBUG_ECHOLNPAIR_F_P(SP_Z_STR, pos.z);
|
||||
|
@ -42,7 +42,7 @@ void GcodeSuite::G61(void) {
|
||||
|
||||
#if SAVED_POSITIONS < 256
|
||||
if (slot >= SAVED_POSITIONS) {
|
||||
SERIAL_ERROR_MSG(MSG_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
|
||||
SERIAL_ERROR_MSG(STR_INVALID_POS_SLOT STRINGIFY(SAVED_POSITIONS));
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@ -54,7 +54,7 @@ void GcodeSuite::G61(void) {
|
||||
const float fr = parser.linearval('F');
|
||||
if (fr > 0.0) feedrate_mm_s = MMM_TO_MMS(fr);
|
||||
|
||||
SERIAL_ECHOPAIR(MSG_RESTORING_POS " S", int(slot));
|
||||
SERIAL_ECHOPAIR(STR_RESTORING_POS " S", int(slot));
|
||||
LOOP_XYZ(i) {
|
||||
destination[i] = parser.seen(axis_codes[i])
|
||||
? stored_position[slot][i] + parser.value_axis_units((AxisEnum)i)
|
||||
|
@ -94,7 +94,7 @@ int8_t GcodeSuite::get_target_extruder_from_command() {
|
||||
if (e < EXTRUDERS) return e;
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_CHAR('M'); SERIAL_ECHO(parser.codenum);
|
||||
SERIAL_ECHOLNPAIR(" " MSG_INVALID_EXTRUDER " ", int(e));
|
||||
SERIAL_ECHOLNPAIR(" " STR_INVALID_EXTRUDER " ", int(e));
|
||||
return -1;
|
||||
}
|
||||
return active_extruder;
|
||||
@ -111,9 +111,9 @@ int8_t GcodeSuite::get_target_e_stepper_from_command() {
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_CHAR('M'); SERIAL_ECHO(parser.codenum);
|
||||
if (e == -1)
|
||||
SERIAL_ECHOLNPGM(" " MSG_E_STEPPER_NOT_SPECIFIED);
|
||||
SERIAL_ECHOLNPGM(" " STR_E_STEPPER_NOT_SPECIFIED);
|
||||
else
|
||||
SERIAL_ECHOLNPAIR(" " MSG_INVALID_E_STEPPER " ", int(e));
|
||||
SERIAL_ECHOLNPAIR(" " STR_INVALID_E_STEPPER " ", int(e));
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -951,13 +951,13 @@ void GcodeSuite::process_subcommands_now(char * gcode) {
|
||||
switch (busy_state) {
|
||||
case IN_HANDLER:
|
||||
case IN_PROCESS:
|
||||
SERIAL_ECHO_MSG(MSG_BUSY_PROCESSING);
|
||||
SERIAL_ECHO_MSG(STR_BUSY_PROCESSING);
|
||||
break;
|
||||
case PAUSED_FOR_USER:
|
||||
SERIAL_ECHO_MSG(MSG_BUSY_PAUSED_FOR_USER);
|
||||
SERIAL_ECHO_MSG(STR_BUSY_PAUSED_FOR_USER);
|
||||
break;
|
||||
case PAUSED_FOR_INPUT:
|
||||
SERIAL_ECHO_MSG(MSG_BUSY_PAUSED_FOR_INPUT);
|
||||
SERIAL_ECHO_MSG(STR_BUSY_PAUSED_FOR_INPUT);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -69,7 +69,7 @@ void GcodeSuite::M428() {
|
||||
if (!WITHIN(diff[i], -20, 20) && home_dir((AxisEnum)i) > 0)
|
||||
diff[i] = -current_position[i];
|
||||
if (!WITHIN(diff[i], -20, 20)) {
|
||||
SERIAL_ERROR_MSG(MSG_ERR_M428_TOO_FAR);
|
||||
SERIAL_ERROR_MSG(STR_ERR_M428_TOO_FAR);
|
||||
LCD_ALERTMESSAGEPGM_P(PSTR("Err: Too far!"));
|
||||
BUZZ(200, 40);
|
||||
return;
|
||||
|
@ -39,7 +39,7 @@
|
||||
*/
|
||||
void GcodeSuite::M115() {
|
||||
|
||||
SERIAL_ECHOLNPGM(MSG_M115_REPORT);
|
||||
SERIAL_ECHOLNPGM(STR_M115_REPORT);
|
||||
|
||||
#if ENABLED(EXTENDED_CAPABILITIES_REPORT)
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
void GcodeSuite::M145() {
|
||||
const uint8_t material = (uint8_t)parser.intval('S');
|
||||
if (material >= COUNT(ui.preheat_hotend_temp))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_MATERIAL_INDEX);
|
||||
SERIAL_ERROR_MSG(STR_ERR_MATERIAL_INDEX);
|
||||
else {
|
||||
int v;
|
||||
if (parser.seenval('H')) {
|
||||
|
@ -118,7 +118,7 @@ void GcodeSuite::G0_G1(
|
||||
#endif
|
||||
if (_MOVE_SYNC) {
|
||||
planner.synchronize();
|
||||
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
|
||||
SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ void GcodeSuite::G2_G3(const bool clockwise) {
|
||||
// P indicates number of circles to do
|
||||
int8_t circles_to_do = parser.byteval('P');
|
||||
if (!WITHIN(circles_to_do, 0, 100))
|
||||
SERIAL_ERROR_MSG(MSG_ERR_ARC_ARGS);
|
||||
SERIAL_ERROR_MSG(STR_ERR_ARC_ARGS);
|
||||
|
||||
while (circles_to_do--)
|
||||
plan_arc(current_position, arc_offset, clockwise);
|
||||
@ -338,7 +338,7 @@ void GcodeSuite::G2_G3(const bool clockwise) {
|
||||
reset_stepper_timeout();
|
||||
}
|
||||
else
|
||||
SERIAL_ERROR_MSG(MSG_ERR_ARC_ARGS);
|
||||
SERIAL_ERROR_MSG(STR_ERR_ARC_ARGS);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ void GcodeSuite::G4() {
|
||||
|
||||
planner.synchronize();
|
||||
#if ENABLED(NANODLP_Z_SYNC)
|
||||
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
|
||||
SERIAL_ECHOLNPGM(STR_Z_MOVE_COMP);
|
||||
#endif
|
||||
|
||||
if (!ui.has_status()) LCD_MESSAGEPGM(MSG_DWELL);
|
||||
|
@ -45,7 +45,7 @@ void GcodeSuite::G5() {
|
||||
|
||||
#if ENABLED(CNC_WORKSPACE_PLANES)
|
||||
if (workspace_plane != PLANE_XY) {
|
||||
SERIAL_ERROR_MSG(MSG_ERR_BAD_PLANE_MODE);
|
||||
SERIAL_ERROR_MSG(STR_ERR_BAD_PLANE_MODE);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
@ -48,13 +48,13 @@
|
||||
) {
|
||||
probe.offset.z += offs;
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", probe.offset.z);
|
||||
SERIAL_ECHOLNPAIR(STR_PROBE_OFFSET STR_Z ": ", probe.offset.z);
|
||||
}
|
||||
else {
|
||||
#if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
|
||||
hotend_offset[active_extruder].z -= offs;
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET MSG_Z ": ", hotend_offset[active_extruder].z);
|
||||
SERIAL_ECHOLNPAIR(STR_PROBE_OFFSET STR_Z ": ", hotend_offset[active_extruder].z);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -98,7 +98,7 @@ void GcodeSuite::M290() {
|
||||
SERIAL_ECHO_START();
|
||||
|
||||
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
||||
SERIAL_ECHOLNPAIR(MSG_PROBE_OFFSET " " MSG_Z, probe.offset.z);
|
||||
SERIAL_ECHOLNPAIR(STR_PROBE_OFFSET " " STR_Z, probe.offset.z);
|
||||
#endif
|
||||
|
||||
#if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
|
||||
|
@ -365,7 +365,7 @@ void GCodeParser::parse(char *p) {
|
||||
#endif // CNC_COORDINATE_SYSTEMS
|
||||
|
||||
void GCodeParser::unknown_command_warning() {
|
||||
SERIAL_ECHO_MSG(MSG_UNKNOWN_COMMAND, command_ptr, "\"");
|
||||
SERIAL_ECHO_MSG(STR_UNKNOWN_COMMAND, command_ptr, "\"");
|
||||
}
|
||||
|
||||
#if ENABLED(DEBUG_GCODE_PARSER)
|
||||
|
@ -39,9 +39,9 @@ void GcodeSuite::M851() {
|
||||
if (!parser.seen("XYZ")) {
|
||||
SERIAL_ECHOLNPAIR_P(
|
||||
#if HAS_PROBE_XY_OFFSET
|
||||
PSTR(MSG_PROBE_OFFSET " X"), probe.offset_xy.x, SP_Y_STR, probe.offset_xy.y, SP_Z_STR
|
||||
PSTR(STR_PROBE_OFFSET " X"), probe.offset_xy.x, SP_Y_STR, probe.offset_xy.y, SP_Z_STR
|
||||
#else
|
||||
PSTR(MSG_PROBE_OFFSET " X0 Y0 Z")
|
||||
PSTR(STR_PROBE_OFFSET " X0 Y0 Z")
|
||||
#endif
|
||||
, probe.offset.z
|
||||
);
|
||||
|
@ -163,7 +163,7 @@ bool GCodeQueue::enqueue_one(const char* cmd) {
|
||||
if (*cmd == 0 || *cmd == '\n' || *cmd == '\r') return true;
|
||||
|
||||
if (_enqueue(cmd)) {
|
||||
SERIAL_ECHO_MSG(MSG_ENQUEUEING, cmd, "\"");
|
||||
SERIAL_ECHO_MSG(STR_ENQUEUEING, cmd, "\"");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -244,7 +244,7 @@ void GCodeQueue::ok_to_send() {
|
||||
PORT_REDIRECT(pn); // Reply to the serial port that sent the command
|
||||
#endif
|
||||
if (!send_ok[index_r]) return;
|
||||
SERIAL_ECHOPGM(MSG_OK);
|
||||
SERIAL_ECHOPGM(STR_OK);
|
||||
#if ENABLED(ADVANCED_OK)
|
||||
char* p = command_buffer[index_r];
|
||||
if (*p == 'N') {
|
||||
@ -270,7 +270,7 @@ void GCodeQueue::flush_and_request_resend() {
|
||||
PORT_REDIRECT(pn); // Reply to the serial port that sent the command
|
||||
#endif
|
||||
SERIAL_FLUSH();
|
||||
SERIAL_ECHOPGM(MSG_RESEND);
|
||||
SERIAL_ECHOPGM(STR_RESEND);
|
||||
SERIAL_ECHOLN(last_N + 1);
|
||||
ok_to_send();
|
||||
}
|
||||
@ -397,7 +397,7 @@ void GCodeQueue::get_serial_commands() {
|
||||
static millis_t last_command_time = 0;
|
||||
const millis_t ms = millis();
|
||||
if (length == 0 && !serial_data_available() && ELAPSED(ms, last_command_time + NO_TIMEOUTS)) {
|
||||
SERIAL_ECHOLNPGM(MSG_WAIT);
|
||||
SERIAL_ECHOLNPGM(STR_WAIT);
|
||||
last_command_time = ms;
|
||||
}
|
||||
#endif
|
||||
@ -436,24 +436,24 @@ void GCodeQueue::get_serial_commands() {
|
||||
gcode_N = strtol(npos + 1, nullptr, 10);
|
||||
|
||||
if (gcode_N != last_N + 1 && !M110)
|
||||
return gcode_line_error(PSTR(MSG_ERR_LINE_NO), i);
|
||||
return gcode_line_error(PSTR(STR_ERR_LINE_NO), i);
|
||||
|
||||
char *apos = strrchr(command, '*');
|
||||
if (apos) {
|
||||
uint8_t checksum = 0, count = uint8_t(apos - command);
|
||||
while (count) checksum ^= command[--count];
|
||||
if (strtol(apos + 1, nullptr, 10) != checksum)
|
||||
return gcode_line_error(PSTR(MSG_ERR_CHECKSUM_MISMATCH), i);
|
||||
return gcode_line_error(PSTR(STR_ERR_CHECKSUM_MISMATCH), i);
|
||||
}
|
||||
else
|
||||
return gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM), i);
|
||||
return gcode_line_error(PSTR(STR_ERR_NO_CHECKSUM), i);
|
||||
|
||||
last_N = gcode_N;
|
||||
}
|
||||
#if ENABLED(SDSUPPORT)
|
||||
// Pronterface "M29" and "M29 " has no line number
|
||||
else if (card.flag.saving && !is_M29(command))
|
||||
return gcode_line_error(PSTR(MSG_ERR_NO_CHECKSUM), i);
|
||||
return gcode_line_error(PSTR(STR_ERR_NO_CHECKSUM), i);
|
||||
#endif
|
||||
|
||||
//
|
||||
@ -472,7 +472,7 @@ void GCodeQueue::get_serial_commands() {
|
||||
case 5:
|
||||
#endif
|
||||
PORT_REDIRECT(i); // Reply to the serial port that sent the command
|
||||
SERIAL_ECHOLNPGM(MSG_ERR_STOPPED);
|
||||
SERIAL_ECHOLNPGM(STR_ERR_STOPPED);
|
||||
LCD_MESSAGEPGM(MSG_STOPPED);
|
||||
break;
|
||||
}
|
||||
@ -527,7 +527,7 @@ void GCodeQueue::get_serial_commands() {
|
||||
while (length < BUFSIZE && !card_eof) {
|
||||
const int16_t n = card.get();
|
||||
card_eof = card.eof();
|
||||
if (n < 0 && !card_eof) { SERIAL_ERROR_MSG(MSG_SD_ERR_READ); continue; }
|
||||
if (n < 0 && !card_eof) { SERIAL_ERROR_MSG(STR_SD_ERR_READ); continue; }
|
||||
|
||||
const char sd_char = (char)n;
|
||||
const bool is_eol = sd_char == '\n' || sd_char == '\r';
|
||||
@ -585,7 +585,7 @@ void GCodeQueue::advance() {
|
||||
if (is_M29(command)) {
|
||||
// M29 closes the file
|
||||
card.closefile();
|
||||
SERIAL_ECHOLNPGM(MSG_FILE_SAVED);
|
||||
SERIAL_ECHOLNPGM(STR_FILE_SAVED);
|
||||
|
||||
#if !defined(__AVR__) || !defined(USBCON)
|
||||
#if ENABLED(SERIAL_STATS_DROPPED_RX)
|
||||
|
@ -31,9 +31,9 @@
|
||||
* M20: List SD card to serial output
|
||||
*/
|
||||
void GcodeSuite::M20() {
|
||||
SERIAL_ECHOLNPGM(MSG_BEGIN_FILE_LIST);
|
||||
SERIAL_ECHOLNPGM(STR_BEGIN_FILE_LIST);
|
||||
card.ls();
|
||||
SERIAL_ECHOLNPGM(MSG_END_FILE_LIST);
|
||||
SERIAL_ECHOLNPGM(STR_END_FILE_LIST);
|
||||
}
|
||||
|
||||
#endif // SDSUPPORT
|
||||
|
@ -31,7 +31,7 @@ void GcodeSuite::M105() {
|
||||
const int8_t target_extruder = get_target_extruder_from_command();
|
||||
if (target_extruder < 0) return;
|
||||
|
||||
SERIAL_ECHOPGM(MSG_OK);
|
||||
SERIAL_ECHOPGM(STR_OK);
|
||||
|
||||
#if HAS_TEMP_SENSOR
|
||||
|
||||
|
@ -52,7 +52,7 @@ void GcodeSuite::M303() {
|
||||
#endif
|
||||
const heater_ind_t e = (heater_ind_t)parser.intval('E');
|
||||
if (!WITHIN(e, SI, EI)) {
|
||||
SERIAL_ECHOLNPGM(MSG_PID_BAD_EXTRUDER_NUM);
|
||||
SERIAL_ECHOLNPGM(STR_PID_BAD_EXTRUDER_NUM);
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::OnPidTuning(ExtUI::result_t::PID_BAD_EXTRUDER_NUM);
|
||||
#endif
|
||||
|
@ -137,16 +137,16 @@ namespace ExtUI {
|
||||
SERIAL_ECHOLNPAIR("OnPidTuning:", rst);
|
||||
switch (rst) {
|
||||
case PID_BAD_EXTRUDER_NUM:
|
||||
StatusScreen::setStatusMessage(MSG_PID_BAD_EXTRUDER_NUM);
|
||||
StatusScreen::setStatusMessage(STR_PID_BAD_EXTRUDER_NUM);
|
||||
break;
|
||||
case PID_TEMP_TOO_HIGH:
|
||||
StatusScreen::setStatusMessage(MSG_PID_TEMP_TOO_HIGH);
|
||||
StatusScreen::setStatusMessage(STR_PID_TEMP_TOO_HIGH);
|
||||
break;
|
||||
case PID_TUNING_TIMEOUT:
|
||||
StatusScreen::setStatusMessage(MSG_PID_TIMEOUT);
|
||||
StatusScreen::setStatusMessage(STR_PID_TIMEOUT);
|
||||
break;
|
||||
case PID_DONE:
|
||||
StatusScreen::setStatusMessage(MSG_PID_AUTOTUNE_FINISHED);
|
||||
StatusScreen::setStatusMessage(STR_PID_AUTOTUNE_FINISHED);
|
||||
break;
|
||||
}
|
||||
GOTO_SCREEN(StatusScreen);
|
||||
|
@ -74,7 +74,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
|
||||
1
|
||||
#endif
|
||||
)
|
||||
.tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
|
||||
.tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(STR_OFFSETS_MENU))
|
||||
.enabled(
|
||||
#if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR)
|
||||
1
|
||||
@ -142,7 +142,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
|
||||
1
|
||||
#endif
|
||||
)
|
||||
.tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
|
||||
.tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXT_F(STR_OFFSETS_MENU))
|
||||
.tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||
.tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXT_F(MSG_VELOCITY))
|
||||
.tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXT_F(MSG_ACCELERATION))
|
||||
|
@ -62,7 +62,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) {
|
||||
1
|
||||
#endif
|
||||
)
|
||||
.tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(MSG_OFFSETS_MENU))
|
||||
.tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXT_F(STR_OFFSETS_MENU))
|
||||
|
||||
|
||||
.tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXT_F(MSG_STEPS_PER_MM))
|
||||
|
@ -62,34 +62,34 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) {
|
||||
.text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||
.font(font_tiny);
|
||||
#if PIN_EXISTS(X_MAX)
|
||||
PIN_ENABLED (1, 2, PSTR(MSG_X_MAX), X_MAX, X_MAX_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (1, 2, PSTR(STR_X_MAX), X_MAX, X_MAX_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(1, 2, PSTR(MSG_X_MAX), X_MAX)
|
||||
PIN_DISABLED(1, 2, PSTR(STR_X_MAX), X_MAX)
|
||||
#endif
|
||||
#if PIN_EXISTS(Y_MAX)
|
||||
PIN_ENABLED (3, 2, PSTR(MSG_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (3, 2, PSTR(STR_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(3, 2, PSTR(MSG_Y_MAX), Y_MAX)
|
||||
PIN_DISABLED(3, 2, PSTR(STR_Y_MAX), Y_MAX)
|
||||
#endif
|
||||
#if PIN_EXISTS(Z_MAX)
|
||||
PIN_ENABLED (5, 2, PSTR(MSG_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (5, 2, PSTR(STR_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(5, 2, PSTR(MSG_Z_MAX), Z_MAX)
|
||||
PIN_DISABLED(5, 2, PSTR(STR_Z_MAX), Z_MAX)
|
||||
#endif
|
||||
#if PIN_EXISTS(X_MIN)
|
||||
PIN_ENABLED (1, 3, PSTR(MSG_X_MIN), X_MIN, X_MIN_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (1, 3, PSTR(STR_X_MIN), X_MIN, X_MIN_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(1, 3, PSTR(MSG_X_MIN), X_MIN)
|
||||
PIN_DISABLED(1, 3, PSTR(STR_X_MIN), X_MIN)
|
||||
#endif
|
||||
#if PIN_EXISTS(Y_MIN)
|
||||
PIN_ENABLED (3, 3, PSTR(MSG_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (3, 3, PSTR(STR_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(3, 3, PSTR(MSG_Y_MIN), Y_MIN)
|
||||
PIN_DISABLED(3, 3, PSTR(STR_Y_MIN), Y_MIN)
|
||||
#endif
|
||||
#if PIN_EXISTS(Z_MIN)
|
||||
PIN_ENABLED (5, 3, PSTR(MSG_Z_MIN), Z_MIN, Z_MIN_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (5, 3, PSTR(STR_Z_MIN), Z_MIN, Z_MIN_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(5, 3, PSTR(MSG_Z_MIN), Z_MIN)
|
||||
PIN_DISABLED(5, 3, PSTR(STR_Z_MIN), Z_MIN)
|
||||
#endif
|
||||
#if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT)
|
||||
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) {
|
||||
PIN_DISABLED(3, 4, GET_TEXT_F(MSG_RUNOUT_2), FIL_RUNOUT2)
|
||||
#endif
|
||||
#if PIN_EXISTS(Z_MIN_PROBE)
|
||||
PIN_ENABLED (5, 4, PSTR(MSG_Z_PROBE), Z_MIN_PROBE, Z_MIN_PROBE_ENDSTOP_INVERTING)
|
||||
PIN_ENABLED (5, 4, PSTR(STR_Z_PROBE), Z_MIN_PROBE, Z_MIN_PROBE_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(5, 4, PSTR(MSG_Z_PROBE), Z_MIN_PROBE)
|
||||
PIN_DISABLED(5, 4, PSTR(STR_Z_PROBE), Z_MIN_PROBE)
|
||||
#endif
|
||||
|
||||
#if HAS_SOFTWARE_ENDSTOPS
|
||||
|
@ -41,7 +41,7 @@ void NozzleOffsetScreen::onRedraw(draw_mode_t what) {
|
||||
widgets_t w(what);
|
||||
w.precision(2).units(GET_TEXT_F(MSG_UNITS_MM));
|
||||
|
||||
w.heading( GET_TEXT_F(MSG_OFFSETS_MENU));
|
||||
w.heading( GET_TEXT_F(STR_OFFSETS_MENU));
|
||||
w.color(Theme::x_axis).adjuster(2, GET_TEXT_F(MSG_AXIS_X), ExtUI::getNozzleOffset_mm(X, E1));
|
||||
w.color(Theme::y_axis).adjuster(4, GET_TEXT_F(MSG_AXIS_Y), ExtUI::getNozzleOffset_mm(Y, E1));
|
||||
w.color(Theme::z_axis).adjuster(6, GET_TEXT_F(MSG_AXIS_Z), ExtUI::getNozzleOffset_mm(Z, E1));
|
||||
|
@ -74,7 +74,7 @@ void NudgeNozzleScreen::onRedraw(draw_mode_t what) {
|
||||
|
||||
#if HOTENDS > 1
|
||||
format_position(str, getNozzleOffset_mm(X, E1), getNozzleOffset_mm(Y, E1), getNozzleOffset_mm(Z, E1));
|
||||
w.text_field(0, GET_TEXT_F(MSG_OFFSETS_MENU), str);
|
||||
w.text_field(0, GET_TEXT_F(STR_OFFSETS_MENU), str);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
@ -136,16 +136,16 @@ namespace ExtUI {
|
||||
SERIAL_ECHOLNPAIR("OnPidTuning:",rst);
|
||||
switch(rst) {
|
||||
case PID_BAD_EXTRUDER_NUM:
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_BAD_EXTRUDER_NUM));
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_BAD_EXTRUDER_NUM));
|
||||
break;
|
||||
case PID_TEMP_TOO_HIGH:
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_TEMP_TOO_HIGH));
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_TEMP_TOO_HIGH));
|
||||
break;
|
||||
case PID_TUNING_TIMEOUT:
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_TIMEOUT));
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_TIMEOUT));
|
||||
break;
|
||||
case PID_DONE:
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(MSG_PID_AUTOTUNE_FINISHED));
|
||||
ScreenHandler.setstatusmessagePGM(PSTR(STR_PID_AUTOTUNE_FINISHED));
|
||||
break;
|
||||
}
|
||||
ScreenHandler.GotoScreen(DGUSLCD_SCREEN_MAIN);
|
||||
|
@ -85,13 +85,13 @@ void menu_cancelobject();
|
||||
BACK_ITEM(MSG_ADVANCED_SETTINGS);
|
||||
#define EDIT_CURRENT_PWM(LABEL,I) EDIT_ITEM_P(long5, PSTR(LABEL), &stepper.motor_current_setting[I], 100, 2000, stepper.refresh_motor_power)
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
|
||||
EDIT_CURRENT_PWM(MSG_X MSG_Y, 0);
|
||||
EDIT_CURRENT_PWM(STR_X STR_Y, 0);
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
|
||||
EDIT_CURRENT_PWM(MSG_Z, 1);
|
||||
EDIT_CURRENT_PWM(STR_Z, 1);
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
|
||||
EDIT_CURRENT_PWM(MSG_E, 2);
|
||||
EDIT_CURRENT_PWM(STR_E, 2);
|
||||
#endif
|
||||
END_MENU();
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ void menu_configuration() {
|
||||
#endif
|
||||
|
||||
#if HAS_HOTEND_OFFSET
|
||||
SUBMENU(MSG_OFFSETS_MENU, menu_tool_offsets);
|
||||
SUBMENU(STR_OFFSETS_MENU, menu_tool_offsets);
|
||||
#endif
|
||||
|
||||
#if ENABLED(DUAL_X_CARRIAGE)
|
||||
|
@ -38,28 +38,28 @@ void menu_tmc_current() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_TMC_DRIVERS);
|
||||
#if AXIS_IS_TMC(X)
|
||||
TMC_EDIT_STORED_I_RMS(X, MSG_X);
|
||||
TMC_EDIT_STORED_I_RMS(X, STR_X);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(Y)
|
||||
TMC_EDIT_STORED_I_RMS(Y, MSG_Y);
|
||||
TMC_EDIT_STORED_I_RMS(Y, STR_Y);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(Z)
|
||||
TMC_EDIT_STORED_I_RMS(Z, MSG_Z);
|
||||
TMC_EDIT_STORED_I_RMS(Z, STR_Z);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(X2)
|
||||
TMC_EDIT_STORED_I_RMS(X2, MSG_X2);
|
||||
TMC_EDIT_STORED_I_RMS(X2, STR_X2);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
TMC_EDIT_STORED_I_RMS(Y2, MSG_Y2);
|
||||
TMC_EDIT_STORED_I_RMS(Y2, STR_Y2);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
TMC_EDIT_STORED_I_RMS(Z2, MSG_Z2);
|
||||
TMC_EDIT_STORED_I_RMS(Z2, STR_Z2);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
TMC_EDIT_STORED_I_RMS(Z3, MSG_Z3);
|
||||
TMC_EDIT_STORED_I_RMS(Z3, STR_Z3);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
TMC_EDIT_STORED_I_RMS(Z4, MSG_Z4);
|
||||
TMC_EDIT_STORED_I_RMS(Z4, STR_Z4);
|
||||
#endif
|
||||
#if AXIS_IS_TMC(E0)
|
||||
TMC_EDIT_STORED_I_RMS(E0, LCD_STR_E0);
|
||||
@ -96,28 +96,28 @@ void menu_tmc_current() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_TMC_DRIVERS);
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(X, MSG_X);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(X, STR_X);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Y, MSG_Y);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Y, STR_Y);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z, MSG_Z);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z, STR_Z);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(X2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(X2, MSG_X2);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(X2, STR_X2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Y2, MSG_Y2);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Y2, STR_Y2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z2, MSG_Z2);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z2, STR_Z2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z3)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z3, MSG_Z3);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z3, STR_Z3);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z4)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z4, MSG_Z4);
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z4, STR_Z4);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E0, LCD_STR_E0);
|
||||
@ -181,28 +181,28 @@ void menu_tmc_current() {
|
||||
STATIC_ITEM(MSG_TMC_STEALTH_ENABLED);
|
||||
BACK_ITEM(MSG_TMC_DRIVERS);
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
TMC_EDIT_STEP_MODE(X, MSG_X);
|
||||
TMC_EDIT_STEP_MODE(X, STR_X);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
TMC_EDIT_STEP_MODE(Y, MSG_Y);
|
||||
TMC_EDIT_STEP_MODE(Y, STR_Y);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
TMC_EDIT_STEP_MODE(Z, MSG_Z);
|
||||
TMC_EDIT_STEP_MODE(Z, STR_Z);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(X2)
|
||||
TMC_EDIT_STEP_MODE(X2, MSG_X2);
|
||||
TMC_EDIT_STEP_MODE(X2, STR_X2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y2)
|
||||
TMC_EDIT_STEP_MODE(Y2, MSG_Y2);
|
||||
TMC_EDIT_STEP_MODE(Y2, STR_Y2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z2)
|
||||
TMC_EDIT_STEP_MODE(Z2, MSG_Z2);
|
||||
TMC_EDIT_STEP_MODE(Z2, STR_Z2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z3)
|
||||
TMC_EDIT_STEP_MODE(Z3, MSG_Z3);
|
||||
TMC_EDIT_STEP_MODE(Z3, STR_Z3);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z4)
|
||||
TMC_EDIT_STEP_MODE(Z4, MSG_Z4);
|
||||
TMC_EDIT_STEP_MODE(Z4, STR_Z4);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
TMC_EDIT_STEP_MODE(E0, LCD_STR_E0);
|
||||
|
@ -386,7 +386,7 @@ void Endstops::event_handler() {
|
||||
#define ENDSTOP_HIT_TEST_Z() _ENDSTOP_HIT_TEST(Z,'Z')
|
||||
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPGM(MSG_ENDSTOPS_HIT);
|
||||
SERIAL_ECHOPGM(STR_ENDSTOPS_HIT);
|
||||
ENDSTOP_HIT_TEST_X();
|
||||
ENDSTOP_HIT_TEST_Y();
|
||||
ENDSTOP_HIT_TEST_Z();
|
||||
@ -415,7 +415,7 @@ void Endstops::event_handler() {
|
||||
static void print_es_state(const bool is_hit, PGM_P const label=nullptr) {
|
||||
if (label) serialprintPGM(label);
|
||||
SERIAL_ECHOPGM(": ");
|
||||
serialprintPGM(is_hit ? PSTR(MSG_ENDSTOP_HIT) : PSTR(MSG_ENDSTOP_OPEN));
|
||||
serialprintPGM(is_hit ? PSTR(STR_ENDSTOP_HIT) : PSTR(STR_ENDSTOP_OPEN));
|
||||
SERIAL_EOL();
|
||||
}
|
||||
|
||||
@ -423,7 +423,7 @@ void _O2 Endstops::report_states() {
|
||||
#if ENABLED(BLTOUCH)
|
||||
bltouch._set_SW_mode();
|
||||
#endif
|
||||
SERIAL_ECHOLNPGM(MSG_M119_REPORT);
|
||||
SERIAL_ECHOLNPGM(STR_M119_REPORT);
|
||||
#define ES_REPORT(S) print_es_state(READ(S##_PIN) != S##_ENDSTOP_INVERTING, PSTR(MSG_##S))
|
||||
#if HAS_X_MIN
|
||||
ES_REPORT(X_MIN);
|
||||
@ -474,11 +474,11 @@ void _O2 Endstops::report_states() {
|
||||
ES_REPORT(Z4_MAX);
|
||||
#endif
|
||||
#if HAS_CUSTOM_PROBE_PIN
|
||||
print_es_state(READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING, PSTR(MSG_Z_PROBE));
|
||||
print_es_state(READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING, PSTR(STR_Z_PROBE));
|
||||
#endif
|
||||
#if HAS_FILAMENT_SENSOR
|
||||
#if NUM_RUNOUT_SENSORS == 1
|
||||
print_es_state(READ(FIL_RUNOUT_PIN) != FIL_RUNOUT_INVERTING, PSTR(MSG_FILAMENT_RUNOUT_SENSOR));
|
||||
print_es_state(READ(FIL_RUNOUT_PIN) != FIL_RUNOUT_INVERTING, PSTR(STR_FILAMENT_RUNOUT_SENSOR));
|
||||
#else
|
||||
#define _CASE_RUNOUT(N) case N: pin = FIL_RUNOUT##N##_PIN; break;
|
||||
for (uint8_t i = 1; i <= NUM_RUNOUT_SENSORS; i++) {
|
||||
@ -487,7 +487,7 @@ void _O2 Endstops::report_states() {
|
||||
default: continue;
|
||||
REPEAT_S(1, INCREMENT(NUM_RUNOUT_SENSORS), _CASE_RUNOUT)
|
||||
}
|
||||
SERIAL_ECHOPGM(MSG_FILAMENT_RUNOUT_SENSOR);
|
||||
SERIAL_ECHOPGM(STR_FILAMENT_RUNOUT_SENSOR);
|
||||
if (i > 1) SERIAL_CHAR(' ', '0' + i);
|
||||
print_es_state(extDigitalRead(pin) != FIL_RUNOUT_INVERTING);
|
||||
}
|
||||
|
@ -1018,7 +1018,7 @@ void prepare_move_to_destination() {
|
||||
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
ignore_e = thermalManager.tooColdToExtrude(active_extruder);
|
||||
if (ignore_e) SERIAL_ECHO_MSG(MSG_ERR_COLD_EXTRUDE_STOP);
|
||||
if (ignore_e) SERIAL_ECHO_MSG(STR_ERR_COLD_EXTRUDE_STOP);
|
||||
#endif
|
||||
|
||||
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
|
||||
@ -1030,13 +1030,13 @@ void prepare_move_to_destination() {
|
||||
MIXER_STEPPER_LOOP(e) {
|
||||
if (e_delta * collector[e] > (EXTRUDE_MAXLENGTH)) {
|
||||
ignore_e = true;
|
||||
SERIAL_ECHO_MSG(MSG_ERR_LONG_EXTRUDE_STOP);
|
||||
SERIAL_ECHO_MSG(STR_ERR_LONG_EXTRUDE_STOP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
ignore_e = true;
|
||||
SERIAL_ECHO_MSG(MSG_ERR_LONG_EXTRUDE_STOP);
|
||||
SERIAL_ECHO_MSG(STR_ERR_LONG_EXTRUDE_STOP);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
@ -1748,7 +1748,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||
position_float.e = target_float.e;
|
||||
#endif
|
||||
de = 0; // no difference
|
||||
SERIAL_ECHO_MSG(MSG_ERR_COLD_EXTRUDE_STOP);
|
||||
SERIAL_ECHO_MSG(STR_ERR_COLD_EXTRUDE_STOP);
|
||||
}
|
||||
#endif // PREVENT_COLD_EXTRUSION
|
||||
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
|
||||
@ -1770,7 +1770,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
||||
position_float.e = target_float.e;
|
||||
#endif
|
||||
de = 0; // no difference
|
||||
SERIAL_ECHO_MSG(MSG_ERR_LONG_EXTRUDE_STOP);
|
||||
SERIAL_ECHO_MSG(STR_ERR_LONG_EXTRUDE_STOP);
|
||||
}
|
||||
}
|
||||
#endif // PREVENT_LENGTHY_EXTRUDE
|
||||
|
@ -183,7 +183,7 @@ void PrintCounter::saveStats() {
|
||||
|
||||
#if HAS_SERVICE_INTERVALS
|
||||
inline void _service_when(char buffer[], const char * const msg, const uint32_t when) {
|
||||
SERIAL_ECHOPGM(MSG_STATS);
|
||||
SERIAL_ECHOPGM(STR_STATS);
|
||||
serialprintPGM(msg);
|
||||
SERIAL_ECHOLNPAIR(" in ", duration_t(when).toString(buffer));
|
||||
}
|
||||
@ -192,7 +192,7 @@ void PrintCounter::saveStats() {
|
||||
void PrintCounter::showStats() {
|
||||
char buffer[21];
|
||||
|
||||
SERIAL_ECHOPGM(MSG_STATS);
|
||||
SERIAL_ECHOPGM(STR_STATS);
|
||||
SERIAL_ECHOLNPAIR(
|
||||
"Prints: ", data.totalPrints,
|
||||
", Finished: ", data.finishedPrints,
|
||||
@ -200,7 +200,7 @@ void PrintCounter::showStats() {
|
||||
- ((isRunning() || isPaused()) ? 1 : 0) // Remove 1 from failures with an active counter
|
||||
);
|
||||
|
||||
SERIAL_ECHOPGM(MSG_STATS);
|
||||
SERIAL_ECHOPGM(STR_STATS);
|
||||
duration_t elapsed = data.printTime;
|
||||
elapsed.toString(buffer);
|
||||
SERIAL_ECHOPAIR("Total time: ", buffer);
|
||||
@ -217,7 +217,7 @@ void PrintCounter::showStats() {
|
||||
SERIAL_CHAR(')');
|
||||
#endif
|
||||
|
||||
SERIAL_ECHOPAIR("\n" MSG_STATS "Filament used: ", data.filamentUsed / 1000);
|
||||
SERIAL_ECHOPAIR("\n" STR_STATS "Filament used: ", data.filamentUsed / 1000);
|
||||
SERIAL_CHAR('m');
|
||||
SERIAL_EOL();
|
||||
|
||||
|
@ -392,7 +392,7 @@ bool Probe::set_deployed(const bool deploy) {
|
||||
_BV(X_AXIS)
|
||||
#endif
|
||||
)) {
|
||||
SERIAL_ERROR_MSG(MSG_STOP_UNHOMED);
|
||||
SERIAL_ERROR_MSG(STR_STOP_UNHOMED);
|
||||
stop();
|
||||
return true;
|
||||
}
|
||||
@ -771,7 +771,7 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise
|
||||
if (isnan(measured_z)) {
|
||||
stow();
|
||||
LCD_MESSAGEPGM(MSG_LCD_PROBING_FAILED);
|
||||
SERIAL_ERROR_MSG(MSG_ERR_PROBING_FAILED);
|
||||
SERIAL_ERROR_MSG(STR_ERR_PROBING_FAILED);
|
||||
}
|
||||
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("<<< Probe::probe_at_point");
|
||||
|
@ -2462,9 +2462,9 @@ void Stepper::report_positions() {
|
||||
#endif
|
||||
|
||||
#if CORE_IS_XY || CORE_IS_XZ || ENABLED(DELTA) || IS_SCARA
|
||||
SERIAL_ECHOPAIR(MSG_COUNT_A, pos.x, " B:", pos.y);
|
||||
SERIAL_ECHOPAIR(STR_COUNT_A, pos.x, " B:", pos.y);
|
||||
#else
|
||||
SERIAL_ECHOPAIR(MSG_COUNT_X, pos.x, " Y:", pos.y);
|
||||
SERIAL_ECHOPAIR(STR_COUNT_X, pos.x, " Y:", pos.y);
|
||||
#endif
|
||||
#if CORE_IS_XZ || CORE_IS_YZ || ENABLED(DELTA)
|
||||
SERIAL_ECHOLNPAIR(" C:", pos.z);
|
||||
|
@ -111,6 +111,9 @@
|
||||
|
||||
Temperature thermalManager;
|
||||
|
||||
const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY,
|
||||
str_t_heating_failed[] PROGMEM = STR_T_HEATING_FAILED;
|
||||
|
||||
/**
|
||||
* Macros to include the heater id in temp errors. The compiler's dead-code
|
||||
* elimination should (hopefully) optimize out the unused strings.
|
||||
@ -404,14 +407,14 @@ volatile bool Temperature::raw_temps_ready = false;
|
||||
#endif
|
||||
|
||||
if (target > GHV(BED_MAXTEMP - 10, temp_range[heater].maxtemp - 15)) {
|
||||
SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH);
|
||||
SERIAL_ECHOLNPGM(STR_PID_TEMP_TOO_HIGH);
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::OnPidTuning(ExtUI::result_t::PID_TEMP_TOO_HIGH);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
SERIAL_ECHOLNPGM(MSG_PID_AUTOTUNE_START);
|
||||
SERIAL_ECHOLNPGM(STR_PID_AUTOTUNE_START);
|
||||
|
||||
disable_all_heaters();
|
||||
|
||||
@ -472,27 +475,27 @@ volatile bool Temperature::raw_temps_ready = false;
|
||||
LIMIT(bias, 20, max_pow - 20);
|
||||
d = (bias > max_pow >> 1) ? max_pow - 1 - bias : bias;
|
||||
|
||||
SERIAL_ECHOPAIR(MSG_BIAS, bias, MSG_D, d, MSG_T_MIN, minT, MSG_T_MAX, maxT);
|
||||
SERIAL_ECHOPAIR(STR_BIAS, bias, STR_D_COLON, d, STR_T_MIN, minT, STR_T_MAX, maxT);
|
||||
if (cycles > 2) {
|
||||
const float Ku = (4.0f * d) / (float(M_PI) * (maxT - minT) * 0.5f),
|
||||
Tu = float(t_low + t_high) * 0.001f,
|
||||
pf = isbed ? 0.2f : 0.6f,
|
||||
df = isbed ? 1.0f / 3.0f : 1.0f / 8.0f;
|
||||
|
||||
SERIAL_ECHOPAIR(MSG_KU, Ku, MSG_TU, Tu);
|
||||
SERIAL_ECHOPAIR(STR_KU, Ku, STR_TU, Tu);
|
||||
if (isbed) { // Do not remove this otherwise PID autotune won't work right for the bed!
|
||||
tune_pid.Kp = Ku * 0.2f;
|
||||
tune_pid.Ki = 2 * tune_pid.Kp / Tu;
|
||||
tune_pid.Kd = tune_pid.Kp * Tu / 3;
|
||||
SERIAL_ECHOLNPGM("\n" " No overshoot"); // Works far better for the bed. Classic and some have bad ringing.
|
||||
SERIAL_ECHOLNPAIR(MSG_KP, tune_pid.Kp, MSG_KI, tune_pid.Ki, MSG_KD, tune_pid.Kd);
|
||||
SERIAL_ECHOLNPAIR(STR_KP, tune_pid.Kp, STR_KI, tune_pid.Ki, STR_KD, tune_pid.Kd);
|
||||
}
|
||||
else {
|
||||
tune_pid.Kp = Ku * pf;
|
||||
tune_pid.Kd = tune_pid.Kp * Tu * df;
|
||||
tune_pid.Ki = 2 * tune_pid.Kp / Tu;
|
||||
SERIAL_ECHOLNPGM("\n" MSG_CLASSIC_PID);
|
||||
SERIAL_ECHOLNPAIR(MSG_KP, tune_pid.Kp, MSG_KI, tune_pid.Ki, MSG_KD, tune_pid.Kd);
|
||||
SERIAL_ECHOLNPGM("\n" STR_CLASSIC_PID);
|
||||
SERIAL_ECHOLNPAIR(STR_KP, tune_pid.Kp, STR_KI, tune_pid.Ki, STR_KD, tune_pid.Kd);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -520,7 +523,7 @@ volatile bool Temperature::raw_temps_ready = false;
|
||||
#define MAX_OVERSHOOT_PID_AUTOTUNE 30
|
||||
#endif
|
||||
if (current_temp > target + MAX_OVERSHOOT_PID_AUTOTUNE) {
|
||||
SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH);
|
||||
SERIAL_ECHOLNPGM(STR_PID_TEMP_TOO_HIGH);
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::OnPidTuning(ExtUI::result_t::PID_TEMP_TOO_HIGH);
|
||||
#endif
|
||||
@ -553,10 +556,10 @@ volatile bool Temperature::raw_temps_ready = false;
|
||||
if (current_temp > watch_temp_target) heated = true; // - Flag if target temperature reached
|
||||
}
|
||||
else if (ELAPSED(ms, temp_change_ms)) // Watch timer expired
|
||||
_temp_error(heater, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
_temp_error(heater, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
}
|
||||
else if (current_temp < target - (MAX_OVERSHOOT_PID_AUTOTUNE)) // Heated, then temperature fell too far?
|
||||
_temp_error(heater, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
_temp_error(heater, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
}
|
||||
#endif
|
||||
} // every 2 seconds
|
||||
@ -569,12 +572,12 @@ volatile bool Temperature::raw_temps_ready = false;
|
||||
#if ENABLED(EXTENSIBLE_UI)
|
||||
ExtUI::OnPidTuning(ExtUI::result_t::PID_TUNING_TIMEOUT);
|
||||
#endif
|
||||
SERIAL_ECHOLNPGM(MSG_PID_TIMEOUT);
|
||||
SERIAL_ECHOLNPGM(STR_PID_TIMEOUT);
|
||||
break;
|
||||
}
|
||||
|
||||
if (cycles > ncycles && cycles > 2) {
|
||||
SERIAL_ECHOLNPGM(MSG_PID_AUTOTUNE_FINISHED);
|
||||
SERIAL_ECHOLNPGM(STR_PID_AUTOTUNE_FINISHED);
|
||||
|
||||
#if HAS_PID_FOR_BOTH
|
||||
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,
|
||||
) {
|
||||
SERIAL_ERROR_START();
|
||||
serialprintPGM(serial_msg);
|
||||
SERIAL_ECHOPGM(MSG_STOPPED_HEATER);
|
||||
SERIAL_ECHOPGM(STR_STOPPED_HEATER);
|
||||
if (heater >= 0) SERIAL_ECHO((int)heater);
|
||||
#if HAS_HEATED_CHAMBER
|
||||
else if (heater == H_CHAMBER) SERIAL_ECHOPGM(MSG_HEATER_CHAMBER);
|
||||
else if (heater == H_CHAMBER) SERIAL_ECHOPGM(STR_HEATER_CHAMBER);
|
||||
#endif
|
||||
else SERIAL_ECHOPGM(MSG_HEATER_BED);
|
||||
else SERIAL_ECHOPGM(STR_HEATER_BED);
|
||||
SERIAL_EOL();
|
||||
}
|
||||
|
||||
@ -817,11 +820,11 @@ void Temperature::_temp_error(const heater_ind_t heater, PGM_P const serial_msg,
|
||||
}
|
||||
|
||||
void Temperature::max_temp_error(const heater_ind_t heater) {
|
||||
_temp_error(heater, PSTR(MSG_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP));
|
||||
_temp_error(heater, PSTR(STR_T_MAXTEMP), GET_TEXT(MSG_ERR_MAXTEMP));
|
||||
}
|
||||
|
||||
void Temperature::min_temp_error(const heater_ind_t heater) {
|
||||
_temp_error(heater, PSTR(MSG_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP));
|
||||
_temp_error(heater, PSTR(STR_T_MINTEMP), GET_TEXT(MSG_ERR_MINTEMP));
|
||||
}
|
||||
|
||||
#if HOTENDS
|
||||
@ -909,18 +912,18 @@ void Temperature::min_temp_error(const heater_ind_t heater) {
|
||||
if (ee == active_extruder) {
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPAIR(
|
||||
MSG_PID_DEBUG, ee,
|
||||
MSG_PID_DEBUG_INPUT, temp_hotend[ee].celsius,
|
||||
MSG_PID_DEBUG_OUTPUT, pid_output
|
||||
STR_PID_DEBUG, ee,
|
||||
STR_PID_DEBUG_INPUT, temp_hotend[ee].celsius,
|
||||
STR_PID_DEBUG_OUTPUT, pid_output
|
||||
);
|
||||
#if DISABLED(PID_OPENLOOP)
|
||||
{
|
||||
SERIAL_ECHOPAIR(
|
||||
MSG_PID_DEBUG_PTERM, work_pid[ee].Kp,
|
||||
MSG_PID_DEBUG_ITERM, work_pid[ee].Ki,
|
||||
MSG_PID_DEBUG_DTERM, work_pid[ee].Kd
|
||||
STR_PID_DEBUG_PTERM, work_pid[ee].Kp,
|
||||
STR_PID_DEBUG_ITERM, work_pid[ee].Ki,
|
||||
STR_PID_DEBUG_DTERM, work_pid[ee].Kd
|
||||
#if ENABLED(PID_EXTRUSION_SCALING)
|
||||
, MSG_PID_DEBUG_CTERM, work_pid[ee].Kc
|
||||
, STR_PID_DEBUG_CTERM, work_pid[ee].Kc
|
||||
#endif
|
||||
);
|
||||
}
|
||||
@ -996,9 +999,9 @@ void Temperature::min_temp_error(const heater_ind_t heater) {
|
||||
SERIAL_ECHOLNPAIR(
|
||||
" PID_BED_DEBUG : Input ", temp_bed.celsius, " Output ", pid_output,
|
||||
#if DISABLED(PID_OPENLOOP)
|
||||
MSG_PID_DEBUG_PTERM, work_pid.Kp,
|
||||
MSG_PID_DEBUG_ITERM, work_pid.Ki,
|
||||
MSG_PID_DEBUG_DTERM, work_pid.Kd,
|
||||
STR_PID_DEBUG_PTERM, work_pid.Kp,
|
||||
STR_PID_DEBUG_ITERM, work_pid.Ki,
|
||||
STR_PID_DEBUG_DTERM, work_pid.Kd,
|
||||
#endif
|
||||
);
|
||||
}
|
||||
@ -1054,7 +1057,7 @@ void Temperature::manage_heater() {
|
||||
HOTEND_LOOP() {
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
|
||||
if (degHotend(e) > temp_range[e].maxtemp)
|
||||
_temp_error((heater_ind_t)e, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
_temp_error((heater_ind_t)e, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
#endif
|
||||
|
||||
#if HEATER_IDLE_HANDLER
|
||||
@ -1072,7 +1075,7 @@ void Temperature::manage_heater() {
|
||||
// Make sure temperature is increasing
|
||||
if (watch_hotend[e].next_ms && ELAPSED(ms, watch_hotend[e].next_ms)) { // Time to check this extruder?
|
||||
if (degHotend(e) < watch_hotend[e].target) // Failed to increase enough?
|
||||
_temp_error((heater_ind_t)e, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
_temp_error((heater_ind_t)e, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
else // Start again if the target is still far off
|
||||
start_watching_hotend(e);
|
||||
}
|
||||
@ -1081,7 +1084,7 @@ void Temperature::manage_heater() {
|
||||
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
||||
// Make sure measured temperatures are close together
|
||||
if (ABS(temp_hotend[0].celsius - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF)
|
||||
_temp_error(H_E0, PSTR(MSG_REDUNDANCY), GET_TEXT(MSG_ERR_REDUNDANT_TEMP));
|
||||
_temp_error(H_E0, PSTR(STR_REDUNDANCY), GET_TEXT(MSG_ERR_REDUNDANT_TEMP));
|
||||
#endif
|
||||
|
||||
} // HOTEND_LOOP
|
||||
@ -1107,14 +1110,14 @@ void Temperature::manage_heater() {
|
||||
|
||||
#if ENABLED(THERMAL_PROTECTION_BED)
|
||||
if (degBed() > BED_MAXTEMP)
|
||||
_temp_error(H_BED, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
_temp_error(H_BED, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
#endif
|
||||
|
||||
#if WATCH_BED
|
||||
// Make sure temperature is increasing
|
||||
if (watch_bed.elapsed(ms)) { // Time to check the bed?
|
||||
if (degBed() < watch_bed.target) // Failed to increase enough?
|
||||
_temp_error(H_BED, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
_temp_error(H_BED, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
else // Start again if the target is still far off
|
||||
start_watching_bed();
|
||||
}
|
||||
@ -1185,14 +1188,14 @@ void Temperature::manage_heater() {
|
||||
|
||||
#if ENABLED(THERMAL_PROTECTION_CHAMBER)
|
||||
if (degChamber() > CHAMBER_MAXTEMP)
|
||||
_temp_error(H_CHAMBER, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
_temp_error(H_CHAMBER, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
#endif
|
||||
|
||||
#if WATCH_CHAMBER
|
||||
// Make sure temperature is increasing
|
||||
if (watch_chamber.elapsed(ms)) { // Time to check the chamber?
|
||||
if (degChamber() < watch_chamber.target) // Failed to increase enough?
|
||||
_temp_error(H_CHAMBER, PSTR(MSG_T_HEATING_FAILED), GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
_temp_error(H_CHAMBER, str_t_heating_failed, GET_TEXT(MSG_HEATING_FAILED_LCD));
|
||||
else
|
||||
start_watching_chamber(); // Start again if the target is still far off
|
||||
}
|
||||
@ -1404,7 +1407,7 @@ void Temperature::manage_heater() {
|
||||
{
|
||||
SERIAL_ERROR_START();
|
||||
SERIAL_ECHO((int)e);
|
||||
SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER_NUM);
|
||||
SERIAL_ECHOLNPGM(STR_INVALID_EXTRUDER_NUM);
|
||||
kill();
|
||||
return 0;
|
||||
}
|
||||
@ -2067,7 +2070,7 @@ void Temperature::init() {
|
||||
sm.state = TRRunaway;
|
||||
|
||||
case TRRunaway:
|
||||
_temp_error(heater_id, PSTR(MSG_T_THERMAL_RUNAWAY), GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
_temp_error(heater_id, str_t_thermal_runaway, GET_TEXT(MSG_THERMAL_RUNAWAY));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -700,7 +700,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a
|
||||
inline void invalid_extruder_error(const uint8_t e) {
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_CHAR('T'); SERIAL_ECHO(int(e));
|
||||
SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(MSG_INVALID_EXTRUDER);
|
||||
SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(STR_INVALID_EXTRUDER);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -843,7 +843,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
|
||||
#endif
|
||||
if (should_swap) {
|
||||
if (too_cold) {
|
||||
SERIAL_ECHO_MSG(MSG_ERR_HOTEND_TOO_COLD);
|
||||
SERIAL_ECHO_MSG(STR_ERR_HOTEND_TOO_COLD);
|
||||
#if ENABLED(SINGLENOZZLE)
|
||||
active_extruder = new_tool;
|
||||
return;
|
||||
@ -1073,7 +1073,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
|
||||
#endif
|
||||
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, int(active_extruder));
|
||||
SERIAL_ECHOLNPAIR(STR_ACTIVE_EXTRUDER, int(active_extruder));
|
||||
|
||||
#endif // EXTRUDERS > 1
|
||||
}
|
||||
|
@ -248,7 +248,7 @@ void CardReader::printListing(SdFile parent, const char * const prepend/*=nullpt
|
||||
SdFile child;
|
||||
if (!child.open(&parent, dosFilename, O_READ)) {
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_CANT_OPEN_SUBDIR, dosFilename);
|
||||
SERIAL_ECHOLNPAIR(STR_SD_CANT_OPEN_SUBDIR, dosFilename);
|
||||
}
|
||||
printListing(child, path);
|
||||
// close() is done automatically by destructor of SdFile
|
||||
@ -318,7 +318,7 @@ void CardReader::ls() {
|
||||
if (!dir.open(&diveDir, segment, O_READ)) {
|
||||
SERIAL_EOL();
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOPAIR(MSG_SD_CANT_OPEN_SUBDIR, segment);
|
||||
SERIAL_ECHOPAIR(STR_SD_CANT_OPEN_SUBDIR, segment);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -362,14 +362,14 @@ void CardReader::mount() {
|
||||
#if defined(LCD_SDSS) && (LCD_SDSS != SDSS)
|
||||
&& !sd2card.init(SPI_SPEED, LCD_SDSS)
|
||||
#endif
|
||||
) SERIAL_ECHO_MSG(MSG_SD_INIT_FAIL);
|
||||
) SERIAL_ECHO_MSG(STR_SD_INIT_FAIL);
|
||||
else if (!volume.init(&sd2card))
|
||||
SERIAL_ERROR_MSG(MSG_SD_VOL_INIT_FAIL);
|
||||
SERIAL_ERROR_MSG(STR_SD_VOL_INIT_FAIL);
|
||||
else if (!root.openRoot(&volume))
|
||||
SERIAL_ERROR_MSG(MSG_SD_OPENROOT_FAIL);
|
||||
SERIAL_ERROR_MSG(STR_SD_OPENROOT_FAIL);
|
||||
else {
|
||||
flag.mounted = true;
|
||||
SERIAL_ECHO_MSG(MSG_SD_CARD_OK);
|
||||
SERIAL_ECHO_MSG(STR_SD_CARD_OK);
|
||||
#if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
|
||||
settings.first_load();
|
||||
#endif
|
||||
@ -446,7 +446,7 @@ void CardReader::getAbsFilename(char *dst) {
|
||||
}
|
||||
|
||||
void openFailed(const char * const fname) {
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, fname, ".");
|
||||
SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, fname, ".");
|
||||
}
|
||||
|
||||
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*
|
||||
if (file.open(curDir, fname, O_READ)) {
|
||||
filesize = file.fileSize();
|
||||
sdpos = 0;
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_FILE_OPENED, fname, MSG_SD_SIZE, filesize);
|
||||
SERIAL_ECHOLNPGM(MSG_SD_FILE_SELECTED);
|
||||
SERIAL_ECHOLNPAIR(STR_SD_FILE_OPENED, fname, STR_SD_SIZE, filesize);
|
||||
SERIAL_ECHOLNPGM(STR_SD_FILE_SELECTED);
|
||||
|
||||
selectFileByName(fname);
|
||||
ui.set_status(longFilename[0] ? longFilename : fname);
|
||||
@ -521,6 +521,10 @@ void CardReader::openFileRead(char * const path, const uint8_t subcall_type/*=0*
|
||||
openFailed(fname);
|
||||
}
|
||||
|
||||
inline void echo_write_to_file(char * const fname) {
|
||||
SERIAL_ECHOLNPAIR(STR_SD_WRITE_TO_FILE, fname);
|
||||
}
|
||||
|
||||
//
|
||||
// Open a file by DOS path for write
|
||||
//
|
||||
@ -542,7 +546,7 @@ void CardReader::openFileWrite(char * const path) {
|
||||
#if ENABLED(EMERGENCY_PARSER)
|
||||
emergency_parser.disable();
|
||||
#endif
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_WRITE_TO_FILE, fname);
|
||||
echo_write_to_file(fname);
|
||||
ui.set_status(fname);
|
||||
}
|
||||
else
|
||||
@ -574,13 +578,13 @@ void CardReader::removeFile(const char * const name) {
|
||||
|
||||
void CardReader::report_status() {
|
||||
if (isPrinting()) {
|
||||
SERIAL_ECHOPGM(MSG_SD_PRINTING_BYTE);
|
||||
SERIAL_ECHOPGM(STR_SD_PRINTING_BYTE);
|
||||
SERIAL_ECHO(sdpos);
|
||||
SERIAL_CHAR('/');
|
||||
SERIAL_ECHOLN(filesize);
|
||||
}
|
||||
else
|
||||
SERIAL_ECHOLNPGM(MSG_SD_NOT_PRINTING);
|
||||
SERIAL_ECHOLNPGM(STR_SD_NOT_PRINTING);
|
||||
}
|
||||
|
||||
void CardReader::write_command(char * const buf) {
|
||||
@ -598,7 +602,7 @@ void CardReader::write_command(char * const buf) {
|
||||
end[3] = '\0';
|
||||
file.write(begin);
|
||||
|
||||
if (file.writeError) SERIAL_ERROR_MSG(MSG_SD_ERR_WRITE_TO_FILE);
|
||||
if (file.writeError) SERIAL_ERROR_MSG(STR_SD_ERR_WRITE_TO_FILE);
|
||||
}
|
||||
|
||||
//
|
||||
@ -739,7 +743,7 @@ const char* CardReader::diveToFile(const bool update_cwd, SdFile*& curDir, const
|
||||
|
||||
// Open curDir
|
||||
if (!sub->open(curDir, dosSubdirname, O_READ)) {
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, dosSubdirname, ".");
|
||||
SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, dosSubdirname, ".");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -779,7 +783,7 @@ void CardReader::cd(const char * relpath) {
|
||||
}
|
||||
else {
|
||||
SERIAL_ECHO_START();
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_CANT_ENTER_SUBDIR, relpath);
|
||||
SERIAL_ECHOLNPAIR(STR_SD_CANT_ENTER_SUBDIR, relpath);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1113,9 +1117,9 @@ void CardReader::fileHasFinished() {
|
||||
if (!isMounted()) return;
|
||||
if (recovery.file.isOpen()) return;
|
||||
if (!recovery.file.open(&root, recovery.filename, read ? O_READ : O_CREAT | O_WRITE | O_TRUNC | O_SYNC))
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_OPEN_FILE_FAIL, recovery.filename, ".");
|
||||
SERIAL_ECHOLNPAIR(STR_SD_OPEN_FILE_FAIL, recovery.filename, ".");
|
||||
else if (!read)
|
||||
SERIAL_ECHOLNPAIR(MSG_SD_WRITE_TO_FILE, recovery.filename);
|
||||
echo_write_to_file(recovery.filename);
|
||||
}
|
||||
|
||||
// Removing the job recovery file currently requires closing
|
||||
|
Loading…
Reference in New Issue
Block a user