Merge pull request #4765 from leptun/MBL_fixes

Region MBL fixes
This commit is contained in:
3d-gussner 2024-09-04 07:42:48 +02:00 committed by GitHub
commit 6ea47967da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 190 additions and 90 deletions

View File

@ -2583,7 +2583,8 @@ static void gcode_G80()
{ {
constexpr float XY_AXIS_FEEDRATE = (homing_feedrate[X_AXIS] * 3) / 60; constexpr float XY_AXIS_FEEDRATE = (homing_feedrate[X_AXIS] * 3) / 60;
constexpr float Z_LIFT_FEEDRATE = homing_feedrate[Z_AXIS] / 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; constexpr float MESH_HOME_Z_SEARCH_FAST = 0.35f;
st_synchronize(); st_synchronize();
if (planner_aborted) 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)) if (uint8_t codeSeen = code_seen('N'), value = code_value_uint8(); codeSeen && (value == 7 || value == 3))
nMeasPoints = value; 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); 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) if (uint8_t codeSeen = code_seen('C'), value = code_value_uint8(); codeSeen && value >= 1 && value <= 10)
nProbeRetryCount = value; nProbeRetryCount = value;
@ -2766,8 +2771,11 @@ static void gcode_G80()
st_synchronize(); st_synchronize();
static uint8_t g80_fail_cnt = 0; static uint8_t g80_fail_cnt = 0;
if (mesh_point != MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS) { if (mesh_point != MESH_NUM_X_POINTS * MESH_NUM_Y_POINTS) {
if (g80_fail_cnt++ >= 2) { if (g80_fail_cnt++ >= 1) {
kill(_T(MSG_MBL_FAILED_Z_CAL)); 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); Sound_MakeSound(e_SOUND_TYPE_StandardAlert);
bool bState; bool bState;
@ -2812,44 +2820,47 @@ static void gcode_G80()
#endif #endif
babystep_apply(); // Apply Z height correction aka baby stepping before mesh bed leveing gets activated. babystep_apply(); // Apply Z height correction aka baby stepping before mesh bed leveing gets activated.
// Apply the bed level correction to the mesh { // Apply the bed level correction to the mesh
bool eeprom_bed_correction_valid = eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1; 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 { auto bedCorrectHelper = [eeprom_bed_correction_valid] (char code, uint8_t *eep_address) -> int8_t {
if (code_seen(code)) { if (code_seen(code)) {
// Verify value is within allowed range // Verify value is within allowed range
int16_t temp = code_value_short(); int16_t temp = code_value_short();
if (abs(temp) > BED_ADJUSTMENT_UM_MAX) { if (abs(temp) > BED_ADJUSTMENT_UM_MAX) {
printf_P(PSTR("%SExcessive bed leveling correction: %i microns\n"), errormagic, temp); printf_P(PSTR("%SExcessive bed leveling correction: %i microns\n"), errormagic, temp);
} else { } else {
return (int8_t)temp; // Value is valid, use it 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) 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); { // apply magnet compensation
if (nMeasPoints == 7 && useMagnetCompensation) { uint8_t useMagnetCompensation = code_seen('M') ? code_value_uint8() : eeprom_read_byte((uint8_t*)EEPROM_MBL_MAGNET_ELIMINATION);
mbl_magnet_elimination(); if (nMeasPoints == 7 && useMagnetCompensation) {
mbl_magnet_elimination();
}
} }
mbl.active = 1; //activate mesh bed leveling mbl.active = 1; //activate mesh bed leveling
@ -2869,6 +2880,7 @@ static void gcode_G80()
plan_buffer_line_curposXYZE(400); plan_buffer_line_curposXYZE(400);
} }
#endif // !PINDA_THERMISTOR #endif // !PINDA_THERMISTOR
exit:
KEEPALIVE_STATE(NOT_BUSY); KEEPALIVE_STATE(NOT_BUSY);
// Restore custom message state // Restore custom message state
lcd_setstatuspgm(MSG_WELCOME); 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)) if (lcd_calibrate_z_end_stop_manual(onlyZ))
{ {
#endif //TMC2130 #endif //TMC2130
lcd_show_fullscreen_message_and_wait_P(_T(MSG_CONFIRM_NOZZLE_CLEAN)); lcd_show_fullscreen_message_and_wait_P(_T(MSG_CONFIRM_NOZZLE_CLEAN));
if(onlyZ){ if(onlyZ){
prompt_steel_sheet_on_bed(true);
lcd_display_message_fullscreen_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1)); lcd_display_message_fullscreen_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1));
lcd_puts_at_P(0,3,_n("1/9")); lcd_puts_at_P(0,3,_n("1/9"));
}else{ }else{
@ -2966,12 +2978,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
if(!onlyZ) if(!onlyZ)
{ {
KEEPALIVE_STATE(PAUSED_FOR_USER); KEEPALIVE_STATE(PAUSED_FOR_USER);
#ifdef STEEL_SHEET prompt_steel_sheet_on_bed(false);
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
lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER)); lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER));
KEEPALIVE_STATE(IN_HANDLER); KEEPALIVE_STATE(IN_HANDLER);
lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1)); lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1));

View File

@ -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_NORMAL[] PROGMEM_I1 = ISTR("Normal"); ////MSG_NORMAL c=7
const char MSG_STEALTH[] PROGMEM_I1 = ISTR("Stealth"); ////MSG_STEALTH 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_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_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_STOPPED[] PROGMEM_I1 = ISTR("STOPPED."); ////MSG_STOPPED c=20
const char MSG_PINDA_CALIBRATION[] PROGMEM_I1 = ISTR("PINDA cal."); ////MSG_PINDA_CALIBRATION c=13 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_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_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_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_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_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 extern const char MSG_CHECK_IDLER [] PROGMEM_I1 = ISTR("Please open idler and remove filament manually."); ////MSG_CHECK_IDLER c=20 r=4

View File

@ -127,6 +127,7 @@ extern const char MSG_SILENT[];
extern const char MSG_NORMAL[]; extern const char MSG_NORMAL[];
extern const char MSG_STEALTH[]; extern const char MSG_STEALTH[];
extern const char MSG_STEEL_SHEET_CHECK[]; extern const char MSG_STEEL_SHEET_CHECK[];
extern const char MSG_Z_CALIBRATION_PROMPT[];
extern const char MSG_STOP_PRINT[]; extern const char MSG_STOP_PRINT[];
extern const char MSG_STOPPED[]; extern const char MSG_STOPPED[];
extern const char MSG_PINDA_CALIBRATION[]; 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_CHANGED_BOTH [];
extern const char MSG_DEFAULT_SETTINGS_LOADED []; extern const char MSG_DEFAULT_SETTINGS_LOADED [];
extern const char MSG_FORCE_SELFTEST []; 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_ZLEVELING_ENFORCED [];
extern const char MSG_UNLOAD_SUCCESSFUL []; extern const char MSG_UNLOAD_SUCCESSFUL [];
extern const char MSG_CHECK_IDLER []; extern const char MSG_CHECK_IDLER [];

View File

@ -3748,6 +3748,22 @@ static void wizard_lay1cal_message(bool cold)
_T(MSG_WIZARD_V2_CAL_2)); _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) //! @brief Printer first run wizard (Selftest and calibration)
//! //!
//! //!
@ -3865,10 +3881,6 @@ void lcd_wizard(WizState state)
case S::Z: 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_SHIPPING_HELPERS));
lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_TEST_PRINT)); 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)); lcd_show_fullscreen_message_and_wait_P(_T(MSG_WIZARD_Z_CAL));
wizard_event = gcode_M45(true, 0); wizard_event = gcode_M45(true, 0);
if (!wizard_event) { 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); 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 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 char sToggle[4]; //enough for nxn format
MENU_BEGIN(); 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)); MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
sToggle[0] = points_nr + '0'; sToggle[0] = points_nr + '0';
sToggle[1] = 'x'; sToggle[1] = 'x';

View File

@ -220,6 +220,9 @@ void lcd_temp_calibration_set();
void lcd_language(); void lcd_language();
#endif #endif
void lcd_z_calibration_prompt(bool allowTimeouting);
void prompt_steel_sheet_on_bed(bool wantedState);
void lcd_wizard(); void lcd_wizard();
//! @brief Wizard state //! @brief Wizard state

View File

@ -1203,9 +1203,9 @@ msgstr ""
msgid "Mesh Bed Leveling" msgid "Mesh Bed Leveling"
msgstr "" 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 #: ../../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 "" msgstr ""
#. MSG_MODE c=6 #. MSG_MODE c=6
@ -2452,6 +2452,11 @@ msgstr ""
msgid "You can always resume the Wizard from Calibration -> Wizard." msgid "You can always resume the Wizard from Calibration -> Wizard."
msgstr "" 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 #. MSG_Z_CORRECTION c=13
#: ../../Firmware/messages.cpp:306 ../../Firmware/ultralcd.cpp:3988 #: ../../Firmware/messages.cpp:306 ../../Firmware/ultralcd.cpp:3988
msgid "Z-correct" msgid "Z-correct"

View File

@ -2551,10 +2551,10 @@ msgstr "Výměna filamentu M600. Vložte nový filament nebo vysuňte starý."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Citlivost" 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 #: ../../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 "Mesh Bed Leveling selhal. Spusťte kalibraci osy Z." msgstr "Mesh Bed Leveling selhal. Tisk zrušen."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Není vložen filament. Tisk zrušen." 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." #~ msgid "Remove old filament and press the knob to start loading new filament."
#~ msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." #~ msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho."

View File

@ -2579,10 +2579,10 @@ msgstr ""
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensitivität" 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 #: ../../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 "MeshBett Ausgleich fehlgeschlagen. Z Kalibrierung ausführen." msgstr "MeshBett Ausgleich fehlgeschlagen. Druck abgebrochen."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Kein Filament geladen. Druck abgebrochen." 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." #~ 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." #~ msgstr "Entferne das alte Fil. und drücke den Knopf, um das neue zu laden."

View File

@ -2574,10 +2574,10 @@ msgstr ""
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensibilidad" 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 #: ../../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 "Nivelación fallida. Ejecute la calibración Z." msgstr "Nivelación fallida. Impresión cancelada."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "No hay ningún filamento cargado. Impresión cancelada." 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." #~ msgid "Remove old filament and press the knob to start loading new filament."
#~ msgstr "" #~ msgstr ""
#~ "Retira el fil. viejo y presiona el dial para comenzar a cargar el nuevo." #~ "Retira el fil. viejo y presiona el dial para comenzar a cargar el nuevo."

View File

@ -2586,10 +2586,10 @@ msgstr ""
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensibilité" 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 #: ../../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 "Mesh bed leveling a échoué. Veuillez procéder à l'étalonnage Z." msgstr "Mesh bed leveling a échoué. Impression annulée."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Il n'y a pas de filament chargé. Impression annulée." 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." #~ msgid "Remove old filament and press the knob to start loading new filament."
#~ msgstr "" #~ msgstr ""
#~ "Retirez l'ancien fil. puis appuyez sur le bouton pour charger le nouveau." #~ "Retirez l'ancien fil. puis appuyez sur le bouton pour charger le nouveau."

View File

@ -2568,10 +2568,10 @@ msgstr "Promjena filamenta M600. Stavite novu nit ili izbacite staru."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Osjetljivost" 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 #: ../../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 "Niveliranje podloge nije uspijelo. Pokrenite Z kalibraciju." msgstr "Niveliranje podloge nije uspijelo. Print je otkazan."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Nema umetnute niti. Print je otkazan." 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." #~ msgid "Remove old filament and press the knob to start loading new filament."
#~ msgstr "Uklonite stari fil. i pritisnite gumb za pocetak stavljanja novog." #~ msgstr "Uklonite stari fil. i pritisnite gumb za pocetak stavljanja novog."

View File

@ -2573,10 +2573,10 @@ msgstr ""
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Érzékenység" 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 #: ../../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 "Sikertelen asztal szintezés. Kérjük, futtasd a Z kalibrálást." msgstr "Sikertelen asztal szintezés. Nyomtatas megallitva."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Nincs befűzve filament. Nyomtatás megállítva." 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." #~ 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." #~ msgstr "Vedd ki a regi fil., majd nyomd meg a gombot az uj fil. betoltesehez."

View File

@ -2574,10 +2574,10 @@ msgstr ""
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensibilità" 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 #: ../../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 "Livellamento piano fallito. Si prega di eseguire la calibrazione Z." msgstr "Livellamento piano fallito. Stampa annullata."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Nessun filamento caricato. Stampa annullata." 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." #~ 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." #~ msgstr "Rimuovi il fil. precedente e premi la manopola per caricare il nuovo."

View File

@ -2576,10 +2576,10 @@ msgstr "M600-filamentwissel. Laad een nieuw filament of werp het oude uit."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensitiviteit" 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 #: ../../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 "Bed leveling mislukt. Voer de Z-kalibratie uit." msgstr "Bed leveling mislukt. Printen geannuleerd."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Geen filament geladen. Printen geannuleerd." 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." #~ msgid "Remove old filament and press the knob to start loading new filament."
#~ msgstr "" #~ msgstr ""
#~ "Verwijder de oude filament en druk op de knop om nieuwe filament te laden." #~ "Verwijder de oude filament en druk op de knop om nieuwe filament te laden."

View File

@ -2550,10 +2550,10 @@ msgstr "M600 filamentskifte. Sett inn en ny filament eller løs ut den gamle."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensitivitet" 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 #: ../../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 "Sengeplanering feilet. Kjør Z-kalibrering." msgstr "Sengeplanering feilet. Print avbrutt."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Det er ingen filament lastet. Print avbrutt." 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." #~ 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." #~ msgstr "Ta bort det gamle filamentet og trykk valghjulet for å laste et nytt."

View File

@ -2566,10 +2566,10 @@ msgstr "Załaduj nowy filament lub wyładuj poprzedni."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Czułość" 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 #: ../../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 "Poziomowanie stołu nieudane. Proszę uruchomić kalibrację Z." msgstr "Poziomowanie stołu nieudane. Druk anulowany."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Nie ma załadowanego filamentu. Druk anulowany." 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." #~ 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." #~ msgstr "Wyciągnij poprzedni filament i naciśnij pokrętło aby załadować nowy."

View File

@ -2575,10 +2575,10 @@ msgstr ""
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Sensibilitate" 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 #: ../../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 "Nivelarea patului a eșuat. Rulează Calibrare Z." msgstr "Nivelarea patului a eșuat. Print anulat."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Filamentul nu este detectat. Print anulat." 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." #~ 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." #~ msgstr "Scoateți fil. vechi și apăsați butonul pentru a încărca unul nou."

View File

@ -2556,10 +2556,10 @@ msgstr "Výmena filamentu M600. Vložte nový filament alebo vysuňte starý."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Citlivosť" 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 #: ../../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 "Vyrovnanie platne zlyhalo. Spustite kalibráciu Z." msgstr "Vyrovnanie platne zlyhalo. Tlač zrušená."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Nie je zavedený žiaden filament. Tlač zrušená." 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." #~ 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." #~ msgstr "Vyberte starý filament a stlačte tlačidlo pre zavedenie nového."

View File

@ -2563,10 +2563,10 @@ msgstr "M600 filamentbyte. Ladda en ny filament eller mata ut den gamla."
msgid "Sensitivity" msgid "Sensitivity"
msgstr "Känslighet" 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 #: ../../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 "Bäddnivelleringen felade. Kör Z-kalibrering." msgstr "Bäddnivelleringen felade. Utskriften avbröts."
#. MSG_SET_READY c=18 #. MSG_SET_READY c=18
#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:5265 #: ../../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." msgid "There is no filament loaded. Print cancelled."
msgstr "Det finns ingen filament laddad. Utskriften avbröts." 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." #~ 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." #~ msgstr "Ta bort det gamla fil. och tryck på knappen för att börja ladda nytt."