diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b7e27f7ed4..fe877a5947 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2583,7 +2583,8 @@ static void gcode_G80() { constexpr float XY_AXIS_FEEDRATE = (homing_feedrate[X_AXIS] * 3) / 60; constexpr float Z_LIFT_FEEDRATE = homing_feedrate[Z_AXIS] / 60; - constexpr float Z_CALIBRATION_THRESHOLD = 0.35f; + constexpr float Z_CALIBRATION_THRESHOLD_TIGHT = 0.35f; // used for 7x7 MBL + constexpr float Z_CALIBRATION_THRESHOLD_RELAXED = 1.f; // used for 3x3 MBL constexpr float MESH_HOME_Z_SEARCH_FAST = 0.35f; st_synchronize(); if (planner_aborted) @@ -2618,6 +2619,10 @@ static void gcode_G80() if (uint8_t codeSeen = code_seen('N'), value = code_value_uint8(); codeSeen && (value == 7 || value == 3)) nMeasPoints = value; + // 7x7 region MBL needs tighter thresholds for triggering a Z realignment. This is because you want to have as little of a misalignment as possible between + // the "inner" MBL region and "outer" MBL region which is interpolated from Z calibration values. + const float Z_CALIBRATION_THRESHOLD = (nMeasPoints == 3) ? Z_CALIBRATION_THRESHOLD_RELAXED : Z_CALIBRATION_THRESHOLD_TIGHT; + uint8_t nProbeRetryCount = eeprom_read_byte((uint8_t*)EEPROM_MBL_PROBE_NR); if (uint8_t codeSeen = code_seen('C'), value = code_value_uint8(); codeSeen && value >= 1 && value <= 10) nProbeRetryCount = value; @@ -2766,8 +2771,11 @@ static void gcode_G80() st_synchronize(); static uint8_t g80_fail_cnt = 0; if (mesh_point != MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS) { - if (g80_fail_cnt++ >= 2) { - kill(_T(MSG_MBL_FAILED_Z_CAL)); + if (g80_fail_cnt++ >= 1) { + print_stop(); + lcd_show_fullscreen_message_and_wait_P(_T(MSG_MBL_FAILED)); + lcd_z_calibration_prompt(false); + goto exit; } Sound_MakeSound(e_SOUND_TYPE_StandardAlert); bool bState; @@ -2812,44 +2820,47 @@ static void gcode_G80() #endif babystep_apply(); // Apply Z height correction aka baby stepping before mesh bed leveing gets activated. - // Apply the bed level correction to the mesh - bool eeprom_bed_correction_valid = eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1; - auto bedCorrectHelper = [eeprom_bed_correction_valid] (char code, uint8_t *eep_address) -> int8_t { - if (code_seen(code)) { - // Verify value is within allowed range - int16_t temp = code_value_short(); - if (abs(temp) > BED_ADJUSTMENT_UM_MAX) { - printf_P(PSTR("%SExcessive bed leveling correction: %i microns\n"), errormagic, temp); - } else { - return (int8_t)temp; // Value is valid, use it + { // Apply the bed level correction to the mesh + bool eeprom_bed_correction_valid = eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1; + auto bedCorrectHelper = [eeprom_bed_correction_valid] (char code, uint8_t *eep_address) -> int8_t { + if (code_seen(code)) { + // Verify value is within allowed range + int16_t temp = code_value_short(); + if (abs(temp) > BED_ADJUSTMENT_UM_MAX) { + printf_P(PSTR("%SExcessive bed leveling correction: %i microns\n"), errormagic, temp); + } else { + return (int8_t)temp; // Value is valid, use it + } + } else if (eeprom_bed_correction_valid) { + return (int8_t)eeprom_read_byte(eep_address); + } + return 0; + }; + const int8_t correction[4] = { + bedCorrectHelper('L', (uint8_t*)EEPROM_BED_CORRECTION_LEFT), + bedCorrectHelper('R', (uint8_t*)EEPROM_BED_CORRECTION_RIGHT), + bedCorrectHelper('F', (uint8_t*)EEPROM_BED_CORRECTION_FRONT), + bedCorrectHelper('B', (uint8_t*)EEPROM_BED_CORRECTION_REAR), + }; + for (uint8_t row = 0; row < MESH_NUM_Y_POINTS; row++) { + for (uint8_t col = 0; col < MESH_NUM_X_POINTS; col++) { + constexpr float scaler = 0.001f / (MESH_NUM_X_POINTS - 1); + mbl.z_values[row][col] += scaler * ( + + correction[0] * (MESH_NUM_X_POINTS - 1 - col) + + correction[1] * col + + correction[2] * (MESH_NUM_Y_POINTS - 1 - row) + + correction[3] * row); } - } else if (eeprom_bed_correction_valid) { - return (int8_t)eeprom_read_byte(eep_address); - } - return 0; - }; - const int8_t correction[4] = { - bedCorrectHelper('L', (uint8_t*)EEPROM_BED_CORRECTION_LEFT), - bedCorrectHelper('R', (uint8_t*)EEPROM_BED_CORRECTION_RIGHT), - bedCorrectHelper('F', (uint8_t*)EEPROM_BED_CORRECTION_FRONT), - bedCorrectHelper('B', (uint8_t*)EEPROM_BED_CORRECTION_REAR), - }; - for (uint8_t row = 0; row < MESH_NUM_Y_POINTS; row++) { - for (uint8_t col = 0; col < MESH_NUM_X_POINTS; col++) { - constexpr float scaler = 0.001f / (MESH_NUM_X_POINTS - 1); - mbl.z_values[row][col] += scaler * ( - + correction[0] * (MESH_NUM_X_POINTS - 1 - col) - + correction[1] * col - + correction[2] * (MESH_NUM_Y_POINTS - 1 - row) - + correction[3] * row); } } mbl.upsample_3x3(); //interpolation from 3x3 to 7x7 points using largrangian polynomials while using the same array z_values[iy][ix] for storing (just coppying measured data to new destination and interpolating between them) - uint8_t useMagnetCompensation = code_seen('M') ? code_value_uint8() : eeprom_read_byte((uint8_t*)EEPROM_MBL_MAGNET_ELIMINATION); - if (nMeasPoints == 7 && useMagnetCompensation) { - mbl_magnet_elimination(); + { // apply magnet compensation + uint8_t useMagnetCompensation = code_seen('M') ? code_value_uint8() : eeprom_read_byte((uint8_t*)EEPROM_MBL_MAGNET_ELIMINATION); + if (nMeasPoints == 7 && useMagnetCompensation) { + mbl_magnet_elimination(); + } } mbl.active = 1; //activate mesh bed leveling @@ -2869,6 +2880,7 @@ static void gcode_G80() plan_buffer_line_curposXYZE(400); } #endif // !PINDA_THERMISTOR +exit: KEEPALIVE_STATE(NOT_BUSY); // Restore custom message state lcd_setstatuspgm(MSG_WELCOME); @@ -2945,9 +2957,9 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) if (lcd_calibrate_z_end_stop_manual(onlyZ)) { #endif //TMC2130 - lcd_show_fullscreen_message_and_wait_P(_T(MSG_CONFIRM_NOZZLE_CLEAN)); if(onlyZ){ + prompt_steel_sheet_on_bed(true); lcd_display_message_fullscreen_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1)); lcd_puts_at_P(0,3,_n("1/9")); }else{ @@ -2966,12 +2978,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) if(!onlyZ) { KEEPALIVE_STATE(PAUSED_FOR_USER); - #ifdef STEEL_SHEET - uint8_t result = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false); - if(result == LCD_LEFT_BUTTON_CHOICE) { - lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_STEEL_SHEET)); - } - #endif //STEEL_SHEET + prompt_steel_sheet_on_bed(false); lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER)); KEEPALIVE_STATE(IN_HANDLER); lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1)); diff --git a/Firmware/messages.cpp b/Firmware/messages.cpp index 75073c4bd0..75303059b8 100644 --- a/Firmware/messages.cpp +++ b/Firmware/messages.cpp @@ -125,6 +125,7 @@ const char MSG_SILENT[] PROGMEM_I1 = ISTR("Silent"); ////MSG_SILENT c=7 const char MSG_NORMAL[] PROGMEM_I1 = ISTR("Normal"); ////MSG_NORMAL c=7 const char MSG_STEALTH[] PROGMEM_I1 = ISTR("Stealth"); ////MSG_STEALTH c=7 const char MSG_STEEL_SHEET_CHECK[] PROGMEM_I1 = ISTR("Is steel sheet on heatbed?"); ////MSG_STEEL_SHEET_CHECK c=20 r=3 +const char MSG_Z_CALIBRATION_PROMPT[] PROGMEM_I1 = ISTR("Z calibration recommended. Run it now?"); ////MSG_Z_CALIBRATION_PROMPT c=20 r=3 const char MSG_STOP_PRINT[] PROGMEM_I1 = ISTR("Stop print"); ////MSG_STOP_PRINT c=18 const char MSG_STOPPED[] PROGMEM_I1 = ISTR("STOPPED."); ////MSG_STOPPED c=20 const char MSG_PINDA_CALIBRATION[] PROGMEM_I1 = ISTR("PINDA cal."); ////MSG_PINDA_CALIBRATION c=13 @@ -211,7 +212,7 @@ extern const char MSG_CHANGED_PRINTER [] PROGMEM_I1 = ISTR("Warning: printer typ extern const char MSG_CHANGED_BOTH [] PROGMEM_I1 = ISTR("Warning: both printer type and motherboard type changed."); ////MSG_CHANGED_BOTH c=20 r=4 extern const char MSG_DEFAULT_SETTINGS_LOADED [] PROGMEM_I1 = ISTR("Old settings found. Default PID, Esteps etc. will be set."); ////MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 extern const char MSG_FORCE_SELFTEST [] PROGMEM_I1 = ISTR("Selftest will be run to calibrate accurate sensorless rehoming."); ////MSG_FORCE_SELFTEST c=20 r=8 -extern const char MSG_MBL_FAILED_Z_CAL [] PROGMEM_I1 = ISTR("Mesh bed leveling failed. Please run Z calibration."); ////MSG_MBL_FAILED_Z_CAL c=20 r=4 +extern const char MSG_MBL_FAILED [] PROGMEM_I1 = ISTR("Mesh bed leveling failed. Print canceled."); ////MSG_MBL_FAILED c=20 r=4 extern const char MSG_ZLEVELING_ENFORCED [] PROGMEM_I1 = ISTR("Some problem encountered, Z-leveling enforced ..."); ////MSG_ZLEVELING_ENFORCED c=20 r=4 extern const char MSG_UNLOAD_SUCCESSFUL [] PROGMEM_I1 = ISTR("Was filament unload successful?"); ////MSG_UNLOAD_SUCCESSFUL c=20 r=3 extern const char MSG_CHECK_IDLER [] PROGMEM_I1 = ISTR("Please open idler and remove filament manually."); ////MSG_CHECK_IDLER c=20 r=4 diff --git a/Firmware/messages.h b/Firmware/messages.h index 0122d18b5e..4d1e6c99e7 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -127,6 +127,7 @@ extern const char MSG_SILENT[]; extern const char MSG_NORMAL[]; extern const char MSG_STEALTH[]; extern const char MSG_STEEL_SHEET_CHECK[]; +extern const char MSG_Z_CALIBRATION_PROMPT[]; extern const char MSG_STOP_PRINT[]; extern const char MSG_STOPPED[]; extern const char MSG_PINDA_CALIBRATION[]; @@ -210,7 +211,7 @@ extern const char MSG_CHANGED_PRINTER []; extern const char MSG_CHANGED_BOTH []; extern const char MSG_DEFAULT_SETTINGS_LOADED []; extern const char MSG_FORCE_SELFTEST []; -extern const char MSG_MBL_FAILED_Z_CAL []; +extern const char MSG_MBL_FAILED []; extern const char MSG_ZLEVELING_ENFORCED []; extern const char MSG_UNLOAD_SUCCESSFUL []; extern const char MSG_CHECK_IDLER []; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 2d8ee2214c..1ac744c11a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3748,6 +3748,22 @@ static void wizard_lay1cal_message(bool cold) _T(MSG_WIZARD_V2_CAL_2)); } +void lcd_z_calibration_prompt(bool allowTimeouting) { + uint8_t result = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_Z_CALIBRATION_PROMPT), allowTimeouting, 0); + if (result == LCD_LEFT_BUTTON_CHOICE) { + lcd_mesh_calibration_z(); + } +} + +void prompt_steel_sheet_on_bed(bool wantedState) { +#ifdef STEEL_SHEET + bool sheetIsOnBed = !lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, !wantedState); + if (sheetIsOnBed != wantedState) { + lcd_show_fullscreen_message_and_wait_P(_T(wantedState ? MSG_PLACE_STEEL_SHEET : MSG_REMOVE_STEEL_SHEET)); + } +#endif //STEEL_SHEET +} + //! @brief Printer first run wizard (Selftest and calibration) //! //! @@ -3865,10 +3881,6 @@ void lcd_wizard(WizState state) case S::Z: lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_SHIPPING_HELPERS)); lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_TEST_PRINT)); - wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false); - if (wizard_event == LCD_MIDDLE_BUTTON_CHOICE) { - lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET)); - } lcd_show_fullscreen_message_and_wait_P(_T(MSG_WIZARD_Z_CAL)); wizard_event = gcode_M45(true, 0); if (!wizard_event) { @@ -5533,10 +5545,16 @@ static void lcd_mesh_bed_leveling_settings() bool magnet_elimination = (eeprom_read_byte((uint8_t*)EEPROM_MBL_MAGNET_ELIMINATION) > 0); uint8_t points_nr = eeprom_read_byte((uint8_t*)EEPROM_MBL_POINTS_NR); - uint8_t mbl_z_probe_nr = eeprom_read_byte((uint8_t*)EEPROM_MBL_PROBE_NR); + uint8_t mbl_z_probe_nr = eeprom_read_byte((uint8_t*)EEPROM_MBL_PROBE_NR); char sToggle[4]; //enough for nxn format MENU_BEGIN(); + ON_MENU_LEAVE( + // Prompt user to run Z calibration for best results with region MBL. + if (points_nr == 7) { + lcd_z_calibration_prompt(true); + } + ); MENU_ITEM_BACK_P(_T(MSG_SETTINGS)); sToggle[0] = points_nr + '0'; sToggle[1] = 'x'; diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 972739008c..f2446110cf 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -220,6 +220,9 @@ void lcd_temp_calibration_set(); void lcd_language(); #endif +void lcd_z_calibration_prompt(bool allowTimeouting); +void prompt_steel_sheet_on_bed(bool wantedState); + void lcd_wizard(); //! @brief Wizard state diff --git a/lang/po/Firmware.pot b/lang/po/Firmware.pot index 1b1b8773e9..0723ec4b01 100644 --- a/lang/po/Firmware.pot +++ b/lang/po/Firmware.pot @@ -1203,9 +1203,9 @@ msgstr "" msgid "Mesh Bed Leveling" msgstr "" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." +msgid "Mesh bed leveling failed. Print canceled." msgstr "" #. MSG_MODE c=6 @@ -2452,6 +2452,11 @@ msgstr "" msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "" + #. MSG_Z_CORRECTION c=13 #: ../../Firmware/messages.cpp:306 ../../Firmware/ultralcd.cpp:3988 msgid "Z-correct" diff --git a/lang/po/Firmware_cs.po b/lang/po/Firmware_cs.po index 701ee97bf3..c7eae95482 100644 --- a/lang/po/Firmware_cs.po +++ b/lang/po/Firmware_cs.po @@ -2551,10 +2551,10 @@ msgstr "Výměna filamentu M600. Vložte nový filament nebo vysuňte starý." msgid "Sensitivity" msgstr "Citlivost" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Mesh Bed Leveling selhal. Spusťte kalibraci osy Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Mesh Bed Leveling selhal. Tisk zrušen." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2602,6 +2602,11 @@ msgstr "Není vložen filament. Pokračovat?" msgid "There is no filament loaded. Print cancelled." msgstr "Není vložen filament. Tisk zrušen." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Doporučujeme kalibraci osy Z. Spustit nyní?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." diff --git a/lang/po/Firmware_de.po b/lang/po/Firmware_de.po index 9feaae55b1..af35b56438 100644 --- a/lang/po/Firmware_de.po +++ b/lang/po/Firmware_de.po @@ -2579,10 +2579,10 @@ msgstr "" msgid "Sensitivity" msgstr "Sensitivität" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "MeshBett Ausgleich fehlgeschlagen. Z Kalibrierung ausführen." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "MeshBett Ausgleich fehlgeschlagen. Druck abgebrochen." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2630,6 +2630,11 @@ msgstr "Kein Filament geladen. Fortfahren?" msgid "There is no filament loaded. Print cancelled." msgstr "Kein Filament geladen. Druck abgebrochen." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Z-Kalibrierung empfohlen. Jetzt ausführen?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Entferne das alte Fil. und drücke den Knopf, um das neue zu laden." diff --git a/lang/po/Firmware_es.po b/lang/po/Firmware_es.po index 6a3a5f4027..7afcd94373 100644 --- a/lang/po/Firmware_es.po +++ b/lang/po/Firmware_es.po @@ -2574,10 +2574,10 @@ msgstr "" msgid "Sensitivity" msgstr "Sensibilidad" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Nivelación fallida. Ejecute la calibración Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Nivelación fallida. Impresión cancelada." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2625,6 +2625,11 @@ msgstr "No hay ningún filamento cargado. ¿Continuar?" msgid "There is no filament loaded. Print cancelled." msgstr "No hay ningún filamento cargado. Impresión cancelada." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Se recomienda calibrar Z. ¿Ejecutarlo ahora?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Retira el fil. viejo y presiona el dial para comenzar a cargar el nuevo." diff --git a/lang/po/Firmware_fr.po b/lang/po/Firmware_fr.po index 216db88a5d..cfd2d49781 100644 --- a/lang/po/Firmware_fr.po +++ b/lang/po/Firmware_fr.po @@ -2586,10 +2586,10 @@ msgstr "" msgid "Sensitivity" msgstr "Sensibilité" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Mesh bed leveling a échoué. Veuillez procéder à l'étalonnage Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Mesh bed leveling a échoué. Impression annulée." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2637,6 +2637,11 @@ msgstr "Il n'y a pas de filament chargé. Continuer?" msgid "There is no filament loaded. Print cancelled." msgstr "Il n'y a pas de filament chargé. Impression annulée." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Calibrage Z recommandé. Exécuter maintenant?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Retirez l'ancien fil. puis appuyez sur le bouton pour charger le nouveau." diff --git a/lang/po/Firmware_hr.po b/lang/po/Firmware_hr.po index 2e93887938..f6dc1e9add 100644 --- a/lang/po/Firmware_hr.po +++ b/lang/po/Firmware_hr.po @@ -2568,10 +2568,10 @@ msgstr "Promjena filamenta M600. Stavite novu nit ili izbacite staru." msgid "Sensitivity" msgstr "Osjetljivost" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Niveliranje podloge nije uspijelo. Pokrenite Z kalibraciju." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Niveliranje podloge nije uspijelo. Print je otkazan." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2619,6 +2619,11 @@ msgstr "Nema umetnute niti. Nastavite?" msgid "There is no filament loaded. Print cancelled." msgstr "Nema umetnute niti. Print je otkazan." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Preporuča se Z kalibracija. Pokrenuti ga sada?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Uklonite stari fil. i pritisnite gumb za pocetak stavljanja novog." diff --git a/lang/po/Firmware_hu.po b/lang/po/Firmware_hu.po index f2aa699180..478eb78515 100644 --- a/lang/po/Firmware_hu.po +++ b/lang/po/Firmware_hu.po @@ -2573,10 +2573,10 @@ msgstr "" msgid "Sensitivity" msgstr "Érzékenység" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Sikertelen asztal szintezés. Kérjük, futtasd a Z kalibrálást." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Sikertelen asztal szintezés. Nyomtatas megallitva." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2624,6 +2624,11 @@ msgstr "Nincs befűzve filament. Folytassam?" msgid "There is no filament loaded. Print cancelled." msgstr "Nincs befűzve filament. Nyomtatás megállítva." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Z kalibráció javasolt. Futtassam most?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vedd ki a regi fil., majd nyomd meg a gombot az uj fil. betoltesehez." diff --git a/lang/po/Firmware_it.po b/lang/po/Firmware_it.po index 6b34d0c3c3..b7f6e00846 100644 --- a/lang/po/Firmware_it.po +++ b/lang/po/Firmware_it.po @@ -2574,10 +2574,10 @@ msgstr "" msgid "Sensitivity" msgstr "Sensibilità" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Livellamento piano fallito. Si prega di eseguire la calibrazione Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Livellamento piano fallito. Stampa annullata." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2625,6 +2625,11 @@ msgstr "Nessun filamento caricato. Continuare?" msgid "There is no filament loaded. Print cancelled." msgstr "Nessun filamento caricato. Stampa annullata." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Si consiglia la calibrazione Z. Eseguirla ora?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Rimuovi il fil. precedente e premi la manopola per caricare il nuovo." diff --git a/lang/po/Firmware_nl.po b/lang/po/Firmware_nl.po index 59d2896442..3d5f3ad97a 100644 --- a/lang/po/Firmware_nl.po +++ b/lang/po/Firmware_nl.po @@ -2576,10 +2576,10 @@ msgstr "M600-filamentwissel. Laad een nieuw filament of werp het oude uit." msgid "Sensitivity" msgstr "Sensitiviteit" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Bed leveling mislukt. Voer de Z-kalibratie uit." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Bed leveling mislukt. Printen geannuleerd." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2627,6 +2627,11 @@ msgstr "Geen filament geladen. Doorgaan?" msgid "There is no filament loaded. Print cancelled." msgstr "Geen filament geladen. Printen geannuleerd." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Z-kalibratie aanbevolen. Nu uitvoeren?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "" #~ "Verwijder de oude filament en druk op de knop om nieuwe filament te laden." diff --git a/lang/po/Firmware_no.po b/lang/po/Firmware_no.po index fbd5d0e6c9..17f942a078 100644 --- a/lang/po/Firmware_no.po +++ b/lang/po/Firmware_no.po @@ -2550,10 +2550,10 @@ msgstr "M600 filamentskifte. Sett inn en ny filament eller løs ut den gamle." msgid "Sensitivity" msgstr "Sensitivitet" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Sengeplanering feilet. Kjør Z-kalibrering." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Sengeplanering feilet. Print avbrutt." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2601,6 +2601,11 @@ msgstr "Det er ingen filament lastet. Fortsette?" msgid "There is no filament loaded. Print cancelled." msgstr "Det er ingen filament lastet. Print avbrutt." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Z-kalibrering anbefales. Kjøre det nå?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Ta bort det gamle filamentet og trykk valghjulet for å laste et nytt." diff --git a/lang/po/Firmware_pl.po b/lang/po/Firmware_pl.po index 1d8af030ed..0deeaf4ec7 100644 --- a/lang/po/Firmware_pl.po +++ b/lang/po/Firmware_pl.po @@ -2566,10 +2566,10 @@ msgstr "Załaduj nowy filament lub wyładuj poprzedni." msgid "Sensitivity" msgstr "Czułość" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Poziomowanie stołu nieudane. Proszę uruchomić kalibrację Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Poziomowanie stołu nieudane. Druk anulowany." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2617,6 +2617,11 @@ msgstr "Nie ma załadowanego filamentu. Kontynuować?" msgid "There is no filament loaded. Print cancelled." msgstr "Nie ma załadowanego filamentu. Druk anulowany." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Zalecana kalibracja Z. Uruchomić teraz?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Wyciągnij poprzedni filament i naciśnij pokrętło aby załadować nowy." diff --git a/lang/po/Firmware_ro.po b/lang/po/Firmware_ro.po index a1375ac46d..10d5a4a147 100644 --- a/lang/po/Firmware_ro.po +++ b/lang/po/Firmware_ro.po @@ -2575,10 +2575,10 @@ msgstr "" msgid "Sensitivity" msgstr "Sensibilitate" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Nivelarea patului a eșuat. Rulează Calibrare Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Nivelarea patului a eșuat. Print anulat." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2626,6 +2626,11 @@ msgstr "Filamentul nu este detectat. Continuați?" msgid "There is no filament loaded. Print cancelled." msgstr "Filamentul nu este detectat. Print anulat." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Calibrarea Z este recomandată. Calibrează acum?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Scoateți fil. vechi și apăsați butonul pentru a încărca unul nou." diff --git a/lang/po/Firmware_sk.po b/lang/po/Firmware_sk.po index f375e1ee4d..765d907c4f 100644 --- a/lang/po/Firmware_sk.po +++ b/lang/po/Firmware_sk.po @@ -2556,10 +2556,10 @@ msgstr "Výmena filamentu M600. Vložte nový filament alebo vysuňte starý." msgid "Sensitivity" msgstr "Citlivosť" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Vyrovnanie platne zlyhalo. Spustite kalibráciu Z." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Vyrovnanie platne zlyhalo. Tlač zrušená." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2607,6 +2607,11 @@ msgstr "Nie je zavedený žiaden filament. Pokračovať?" msgid "There is no filament loaded. Print cancelled." msgstr "Nie je zavedený žiaden filament. Tlač zrušená." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Odporúča sa kalibrácia Z. Spustiť ju teraz?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Vyberte starý filament a stlačte tlačidlo pre zavedenie nového." diff --git a/lang/po/Firmware_sv.po b/lang/po/Firmware_sv.po index e26b9074b8..7207d5f75c 100644 --- a/lang/po/Firmware_sv.po +++ b/lang/po/Firmware_sv.po @@ -2563,10 +2563,10 @@ msgstr "M600 filamentbyte. Ladda en ny filament eller mata ut den gamla." msgid "Sensitivity" msgstr "Känslighet" -#. MSG_MBL_FAILED_Z_CAL c=20 r=4 +#. MSG_MBL_FAILED c=20 r=4 #: ../../Firmware/Marlin_main.cpp:3038 ../../Firmware/messages.cpp:203 -msgid "Mesh bed leveling failed. Please run Z calibration." -msgstr "Bäddnivelleringen felade. Kör Z-kalibrering." +msgid "Mesh bed leveling failed. Print canceled." +msgstr "Bäddnivelleringen felade. Utskriften avbröts." #. MSG_SET_READY c=18 #: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 @@ -2614,6 +2614,11 @@ msgstr "Det finns ingen filament laddad. Fortsätta?" msgid "There is no filament loaded. Print cancelled." msgstr "Det finns ingen filament laddad. Utskriften avbröts." +#. MSG_Z_CALIBRATION_PROMPT c=20 r=3 +#: ../../Firmware/messages.cpp:128 ../../Firmware/ultralcd.cpp:3752 +msgid "Z calibration recommended. Run it now?" +msgstr "Z-kalibrering rekommenderas. Kör den nu?" + #~ msgid "Remove old filament and press the knob to start loading new filament." #~ msgstr "Ta bort det gamla fil. och tryck på knappen för att börja ladda nytt."