diff --git a/.gitignore b/.gitignore index b0a83687c..a107aa09d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ /lang/tmp/ /lang/Firmware-intl.hex /lang/Firmware-intl-en_*.hex +/lang/*.map # Temporary files and directories *[~#] diff --git a/.travis.yml b/.travis.yml index 3609fb30c..0d638b4a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,12 +9,13 @@ before_install: - sudo iptables -A OUTPUT -o lo -j ACCEPT - sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT script: - - bash -x test.sh - cp Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h Firmware/Configuration_prusa.h - bash -x build.sh || { echo "1_75mm_MK3S-EINSy10a-E3Dv6full variant failed" && false; } + - bash -x build.sh EN_ONLY || { echo "1_75mm_MK3S-EINSy10a-E3Dv6full EN_ONLY failed" && false; } - rm Firmware/Configuration_prusa.h - cp Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h Firmware/Configuration_prusa.h - bash -x build.sh || { echo "1_75mm_MK3-EINSy10a-E3Dv6full variant failed" && false; } + - bash -x build.sh EN_ONLY || { echo "1_75mm_MK3-EINSy10a-E3Dv6full EN_ONLY failed" && false; } - rm Firmware/Configuration_prusa.h - cp Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h Firmware/Configuration_prusa.h - bash -x build.sh || { echo "1_75mm_MK25S-RAMBo13a-E3Dv6full variant failed" && false; } diff --git a/CMakeLists.txt b/CMakeLists.txt index 370d4c080..4538ba40c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,61 +100,74 @@ add_compile_options(-g) # Firmware - get file lists. # SET(FW_SOURCES - adc.c - bootapp.c - timer02.c - sm4.c - spi.c - rbuf.c - swi2c.c - language.c - tone04.c - uart2.c - xflash.c - Marlin_main.cpp - AutoDeplete.cpp - Configuration.cpp + adc.cpp + backlight.cpp BlinkM.cpp - Dcodes.cpp - MarlinSerial.cpp + bootapp.c + cardreader.cpp + cmdqueue.cpp + Configuration.cpp ConfigurationStore.cpp + conv2str.cpp + Dcodes.cpp + eeprom.cpp + fancheck.cpp + Filament_sensor.cpp + first_lay_cal.cpp + heatbed_pwm.cpp + la10compat.cpp + language.c + lcd.cpp + Marlin_main.cpp + MarlinSerial.cpp + menu.cpp + mesh_bed_calibration.cpp + mesh_bed_leveling.cpp + messages.cpp + mmu2.cpp + mmu2_crc.cpp + mmu2_error_converter.cpp + mmu2_fsensor.cpp + mmu2_log.cpp + mmu2_power.cpp + mmu2_progress_converter.cpp + mmu2_protocol.cpp + mmu2_protocol_logic.cpp + mmu2_reporting.cpp + mmu2_serial.cpp + motion_control.cpp + optiboot_xflash.cpp + pat9125.cpp + planner.cpp + Prusa_farm.cpp + qr_solve.cpp + rbuf.c Sd2Card.cpp SdBaseFile.cpp SdFatUtil.cpp SdFile.cpp SdVolume.cpp Servo.cpp - Timer.cpp - backlight.cpp - cardreader.cpp - cmdqueue.cpp - conv2str.cpp - eeprom.cpp - first_lay_cal.cpp - fsensor.cpp - heatbed_pwm.cpp - la10compat.cpp - lcd.cpp - menu.cpp - mesh_bed_calibration.cpp - mesh_bed_leveling.cpp - messages.cpp - mmu.cpp - motion_control.cpp - optiboot_xflash.cpp - pat9125.cpp - planner.cpp - qr_solve.cpp + sm4.c sound.cpp speed_lookuptable.cpp + spi.c + SpoolJoin.cpp stepper.cpp + swi2c.c swspi.cpp + Tcodes.cpp temperature.cpp + timer02.c + Timer.cpp tmc2130.cpp + tone04.c twi.cpp + uart2.c ultralcd.cpp util.cpp vector_3.cpp + xflash.c xflash_dump.cpp xyzcal.cpp ) diff --git a/Firmware/AutoDeplete.cpp b/Firmware/AutoDeplete.cpp deleted file mode 100644 index 9c4340f09..000000000 --- a/Firmware/AutoDeplete.cpp +++ /dev/null @@ -1,79 +0,0 @@ -//! @file -//! @author: Marek Bel -//! @date Jan 3, 2019 - -#include "AutoDeplete.h" -#include "assert.h" - -//! @brief bit field marking depleted filaments -//! -//! binary 1 marks filament as depleted -//! Zero initialized value means, that no filament is depleted. -static uint8_t depleted; -static const uint8_t filamentCount = 5; - -//! @return binary 1 for all filaments -//! @par fCount number of filaments -static constexpr uint8_t allDepleted(uint8_t fCount) -{ - return fCount == 1 ? 1 : ((1 << (fCount - 1)) | allDepleted(fCount - 1)); -} - -//! @brief Is filament available for printing? -//! @par filament Filament number to be checked -//! @retval true Filament is available for printing. -//! @retval false Filament is not available for printing. -static bool loaded(uint8_t filament) -{ - if (depleted & (1 << filament)) return false; - return true; -} - -//! @brief Mark filament as not available for printing. -//! @par filament filament to be marked -void ad_markDepleted(uint8_t filament) -{ - assert(filament < filamentCount); - if (filament < filamentCount) - { - depleted |= 1 << filament; - } -} - -//! @brief Mark filament as available for printing. -//! @par filament filament to be marked -void ad_markLoaded(uint8_t filament) -{ - assert(filament < filamentCount); - if (filament < filamentCount) - { - depleted &= ~(1 << filament); - } -} - -//! @brief Get alternative filament, which is not depleted -//! @par filament filament -//! @return Filament, if it is depleted, returns next available, -//! if all filaments are depleted, returns filament function parameter. -uint8_t ad_getAlternative(uint8_t filament) -{ - assert(filament < filamentCount); - for (uint8_t i = 0; i - -void ad_markDepleted(uint8_t filament); -void ad_markLoaded(uint8_t filament); -uint8_t ad_getAlternative(uint8_t filament); -bool ad_allDepleted(); - -#endif /* AUTODEPLETE_H */ diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index f1afb8612..af36b3616 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -17,9 +17,9 @@ extern PGM_P sPrinterName; // Firmware version #define FW_MAJOR 3 -#define FW_MINOR 11 -#define FW_REVISION 1 -//#define FW_FLAVOR RC //uncomment if DEBUG, DEVEL, APLHA, BETA or RC +#define FW_MINOR 13 +#define FW_REVISION 0 +//#define FW_FLAVOR RC //uncomment if DEBUG, DEVEL, ALPHA, BETA or RC //#define FW_FLAVERSION 1 //uncomment if FW_FLAVOR is defined and versioning is needed. #ifndef FW_FLAVOR #define FW_VERSION STR(FW_MAJOR) "." STR(FW_MINOR) "." STR(FW_REVISION) @@ -444,10 +444,12 @@ your extruder heater takes 2 minutes to hit the target on heating. // Custom M code points #define CUSTOM_M_CODES #ifdef CUSTOM_M_CODES +#ifdef ENABLE_AUTO_BED_LEVELING #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 #define Z_PROBE_OFFSET_RANGE_MIN -15 #define Z_PROBE_OFFSET_RANGE_MAX -5 -#endif +#endif // ENABLE_AUTO_BED_LEVELING +#endif // CUSTOM_M_CODES // EEPROM @@ -565,5 +567,4 @@ enum CalibrationStatus #include "Configuration_adv.h" #include "thermistortables.h" - #endif //__CONFIGURATION_H diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp index 77ef6df66..0917ee181 100644 --- a/Firmware/ConfigurationStore.cpp +++ b/Firmware/ConfigurationStore.cpp @@ -75,6 +75,9 @@ void Config_StoreSettings() if (EEPROM_writeData(reinterpret_cast(EEPROM_M500_base),reinterpret_cast(&cs),sizeof(cs),0), "cs, invalid version") { +#ifdef TEMP_MODEL + temp_model_save_settings(); +#endif strcpy(cs.version,EEPROM_VERSION); //!< validate data if write succeed EEPROM_writeData(reinterpret_cast(EEPROM_M500_base->version), reinterpret_cast(cs.version), sizeof(cs.version), "cs.version valid"); } @@ -173,6 +176,9 @@ void Config_PrintSettings(uint8_t level) printf_P(PSTR( "%SArc Settings: P:Max length(mm) S:Min length (mm) N:Corrections R:Min segments F:Segments/sec.\n%S M214 P%.2f S%.2f N%d R%d F%d\n"), echomagic, echomagic, cs.mm_per_arc_segment, cs.min_mm_per_arc_segment, cs.n_arc_correction, cs.min_arc_segments, cs.arc_segments_per_sec); +#ifdef TEMP_MODEL + temp_model_report_settings(); +#endif } #endif @@ -321,6 +327,10 @@ bool Config_RetrieveSettings() // Call updatePID (similar to when we have processed M301) updatePID(); +#ifdef TEMP_MODEL + temp_model_load_settings(); +#endif + SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Stored settings retrieved"); } @@ -353,6 +363,9 @@ void Config_ResetDefault() #ifdef PIDTEMP updatePID(); #endif//PIDTEMP +#ifdef TEMP_MODEL + temp_model_reset_settings(); +#endif calculate_extruder_multipliers(); diff --git a/Firmware/ConfigurationStore.h b/Firmware/ConfigurationStore.h index ec40ebc0a..595b0d6d1 100644 --- a/Firmware/ConfigurationStore.h +++ b/Firmware/ConfigurationStore.h @@ -19,7 +19,7 @@ typedef struct unsigned long minsegmenttime; float max_jerk[4]; //!< Jerk is a maximum immediate velocity change. float add_homing[3]; - float zprobe_zoffset; + float zprobe_zoffset; //!< Only used with define ENABLE_AUTO_BED_LEVELING float Kp; float Ki; float Kd; diff --git a/Firmware/Configuration_adv.h b/Firmware/Configuration_adv.h index c6f8a81f0..d115e558d 100644 --- a/Firmware/Configuration_adv.h +++ b/Firmware/Configuration_adv.h @@ -346,6 +346,62 @@ const unsigned int dropsegments=5; //everything with less than this number of st // 2nd and 3rd byte (LSB first) contains a 16bit length of a command including its preceding comments. #define CMDHDRSIZE 3 +/** + * Advanced Pause for Filament Change + * - Adds the G-code M600 Filament Change to initiate a filament change. + * - This feature is required for the default FILAMENT_RUNOUT_SCRIPT. + * + * Requirements: + * - For Filament Change parking enable and configure NOZZLE_PARK_FEATURE. + * - For user interaction enable an LCD display, HOST_PROMPT_SUPPORT, or EMERGENCY_PARSER. + * + * Enable PARK_HEAD_ON_PAUSE to add the G-code M125 Pause and Park. + */ + +#define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. +#define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. + // This short retract is done immediately, before parking the nozzle. +#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. +#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. +#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. + // Set to 0 for manual unloading. +#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. +#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. + // 0 to disable start loading and skip to fast load only +#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. +#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. +#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. + // For Bowden, the full length of the tube and nozzle. + // For direct drive, the full length of the nozzle. +//#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. +#define ADVANCED_PAUSE_PURGE_FEEDRATE 3 // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate. +#define ADVANCED_PAUSE_PURGE_LENGTH 50 // (mm) Length to extrude after loading. + // Set to 0 for manual extrusion. + // Filament can be extruded repeatedly from the Filament Change menu + // until extrusion is consistent, and to purge old filament. +#define ADVANCED_PAUSE_RESUME_PRIME 0 // (mm) Extra distance to prime nozzle after returning from park. +//#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. + + // Filament Unload does a Retract, Delay, and Purge first: +#define FILAMENT_UNLOAD_PURGE_RETRACT 13 // (mm) Unload initial retract length. +#define FILAMENT_UNLOAD_PURGE_DELAY 5000 // (ms) Delay for the filament to cool after retract. +#define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. +#define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload + +#define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. +#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. +#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. +//#define FILAMENT_CHANGE_RESUME_ON_INSERT // Automatically continue / load filament when runout sensor is triggered again. +//#define PAUSE_REHEAT_FAST_RESUME // Reduce number of waits by not prompting again post-timeout before continuing. + +//#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. +//#define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change + +//#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. +//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + // Firmware based and LCD controlled retract // M207 and M208 can be used to define parameters for the retraction. diff --git a/Firmware/Dcodes.cpp b/Firmware/Dcodes.cpp index 4a51b4d74..f5db9b0fe 100644 --- a/Firmware/Dcodes.cpp +++ b/Firmware/Dcodes.cpp @@ -44,7 +44,7 @@ void print_hex_word(daddr_t val) print_hex_byte(val & 0xFF); } -int parse_hex(char* hex, uint8_t* data, int count) +int parse_hex(const char* hex, uint8_t* data, int count) { int parsed = 0; while (*hex) @@ -573,6 +573,7 @@ void dcode_9() for (uint8_t i = 0; i < ADC_CHAN_CNT; i++) printf_P(PSTR("\tADC%d=%4d\t(%S)\n"), i, dcode_9_ADC_val(i) >> 4, dcode_9_ADC_name(i)); } +#if 0 else { uint8_t index = 0xff; @@ -583,11 +584,12 @@ void dcode_9() if (code_seen('V')) // value to be written as simulated { adc_sim_mask |= (1 << index); - adc_values[index] = (((int)code_value()) << 4); + adc_values[index] = ((uint16_t)code_value_short() << 4); printf_P(PSTR("ADC%d=%4d\n"), index, adc_values[index] >> 4); } } } +#endif } /*! @@ -863,7 +865,7 @@ void dcode_2130() } #endif //TMC2130 -#ifdef PAT9125 +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) /*! ### D9125 - PAT9125 filament sensor D9125: PAT9125 filament sensor #### Usage @@ -876,7 +878,6 @@ void dcode_2130() - `R` - Resolution. Not active in code - `X` - X values - `Y` - Y values - - `L` - Activate filament sensor log */ void dcode_9125() { @@ -910,15 +911,8 @@ void dcode_9125() pat9125_y = (int)code_value(); LOG("pat9125_y=%d\n", pat9125_y); } -#ifdef DEBUG_FSENSOR_LOG - if (code_seen('L')) - { - fsensor_log = (int)code_value(); - LOG("fsensor_log=%d\n", fsensor_log); - } -#endif //DEBUG_FSENSOR_LOG } -#endif //PAT9125 +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) #endif //DEBUG_DCODES diff --git a/Firmware/Dcodes.h b/Firmware/Dcodes.h index 964f6d748..c2762830d 100644 --- a/Firmware/Dcodes.h +++ b/Firmware/Dcodes.h @@ -53,9 +53,9 @@ extern void dcode_81(); //D81 - Bed analysis. This command will log data to SD c extern void dcode_2130(); //D2130 - TMC2130 #endif //TMC2130 -#ifdef PAT9125 +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) extern void dcode_9125(); //D9125 - PAT9125 -#endif //PAT9125 +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) #endif //DCODES_H diff --git a/Firmware/Filament_sensor.cpp b/Firmware/Filament_sensor.cpp new file mode 100644 index 000000000..5b235f121 --- /dev/null +++ b/Firmware/Filament_sensor.cpp @@ -0,0 +1,525 @@ +#include +#include +#include + +#include "Filament_sensor.h" +#include "Timer.h" +#include "cardreader.h" +#include "eeprom.h" +#include "menu.h" +#include "planner.h" +#include "temperature.h" +#include "ultralcd.h" + +#ifdef FILAMENT_SENSOR +FSensorBlockRunout::FSensorBlockRunout() { + fsensor.setRunoutEnabled(false); //suppress filament runouts while loading filament. + fsensor.setAutoLoadEnabled(false); //suppress filament autoloads while loading filament. +#if (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + fsensor.setJamDetectionEnabled(false); //suppress filament jam detection while loading filament. +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) +// SERIAL_ECHOLNPGM("FSBlockRunout"); +} + +FSensorBlockRunout::~FSensorBlockRunout() { + fsensor.settings_init(); // restore filament runout state. +// SERIAL_ECHOLNPGM("FSUnBlockRunout"); +} + +# if FILAMENT_SENSOR_TYPE == FSENSOR_IR +IR_sensor fsensor; +# elif FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG +IR_sensor_analog fsensor; +# elif FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 +PAT9125_sensor fsensor; +# endif + +#else // FILAMENT_SENSOR +FSensorBlockRunout::FSensorBlockRunout() { } +FSensorBlockRunout::~FSensorBlockRunout() { } +#endif // FILAMENT_SENSOR + +void Filament_sensor::setEnabled(bool enabled) { + eeprom_update_byte((uint8_t *)EEPROM_FSENSOR, enabled); + if (enabled) { + fsensor.init(); + } else { + fsensor.deinit(); + } +} + +void Filament_sensor::setAutoLoadEnabled(bool state, bool updateEEPROM) { + autoLoadEnabled = state; + if (updateEEPROM) { + eeprom_update_byte((uint8_t *)EEPROM_FSENS_AUTOLOAD_ENABLED, state); + } +} + +void Filament_sensor::setRunoutEnabled(bool state, bool updateEEPROM) { + runoutEnabled = state; + if (updateEEPROM) { + eeprom_update_byte((uint8_t *)EEPROM_FSENS_RUNOUT_ENABLED, state); + } +} + +void Filament_sensor::setActionOnError(SensorActionOnError state, bool updateEEPROM) { + sensorActionOnError = state; + if (updateEEPROM) { + eeprom_update_byte((uint8_t *)EEPROM_FSENSOR_ACTION_NA, (uint8_t)state); + } +} + +void Filament_sensor::settings_init_common() { + bool enabled = eeprom_read_byte((uint8_t *)EEPROM_FSENSOR); + if ((state != State::disabled) != enabled) { + state = enabled ? State::initializing : State::disabled; + } + + autoLoadEnabled = eeprom_read_byte((uint8_t *)EEPROM_FSENS_AUTOLOAD_ENABLED); + runoutEnabled = eeprom_read_byte((uint8_t *)EEPROM_FSENS_RUNOUT_ENABLED); + sensorActionOnError = (SensorActionOnError)eeprom_read_byte((uint8_t *)EEPROM_FSENSOR_ACTION_NA); + if (sensorActionOnError == SensorActionOnError::_Undef) { + sensorActionOnError = SensorActionOnError::_Continue; + } +} + +bool Filament_sensor::checkFilamentEvents() { + if (state != State::ready) + return false; + if (eventBlankingTimer.running() && !eventBlankingTimer.expired(100)) { // event blanking for 100ms + return false; + } + + bool newFilamentPresent = fsensor.getFilamentPresent(); + if (oldFilamentPresent != newFilamentPresent) { + oldFilamentPresent = newFilamentPresent; + eventBlankingTimer.start(); + if (newFilamentPresent) { // filament insertion +// puts_P(PSTR("filament inserted")); + triggerFilamentInserted(); + postponedLoadEvent = true; + } else { // filament removal +// puts_P(PSTR("filament removed")); + triggerFilamentRemoved(); + } + return true; + } + return false; +} + +void Filament_sensor::triggerFilamentInserted() { + if (autoLoadEnabled + && (eFilamentAction == FilamentAction::None) + && (! MMU2::mmu2.Enabled() ) // quick and dirty hack to prevent spurious runouts while the MMU is in charge + && !( + moves_planned() != 0 + || IS_SD_PRINTING + || usb_timer.running() + || (lcd_commands_type == LcdCommands::Layer1Cal) + || eeprom_read_byte((uint8_t *)EEPROM_WIZARD_ACTIVE) + ) + ) { + filAutoLoad(); + } +} + +void Filament_sensor::triggerFilamentRemoved() { +// SERIAL_ECHOLNPGM("triggerFilamentRemoved"); + if (runoutEnabled + && (! MMU2::mmu2.Enabled() ) // quick and dirty hack to prevent spurious runouts just before the toolchange + && (eFilamentAction == FilamentAction::None) + && !saved_printing + && ( + moves_planned() != 0 + || IS_SD_PRINTING + || usb_timer.running() + || (lcd_commands_type == LcdCommands::Layer1Cal) + || eeprom_read_byte((uint8_t *)EEPROM_WIZARD_ACTIVE) + ) + ){ +// SERIAL_ECHOPGM("runoutEnabled="); SERIAL_ECHOLN((int)runoutEnabled); +// SERIAL_ECHOPGM("eFilamentAction="); SERIAL_ECHOLN((int)eFilamentAction); +// SERIAL_ECHOPGM("saved_printing="); SERIAL_ECHOLN((int)saved_printing); + filRunout(); + } +} + +void Filament_sensor::filAutoLoad() { + eFilamentAction = FilamentAction::AutoLoad; + if (target_temperature[0] >= EXTRUDE_MINTEMP) { + bFilamentPreheatState = true; + menu_submenu(mFilamentItemForce); + } else { + menu_submenu(lcd_generic_preheat_menu); + lcd_timeoutToStatus.start(); + } +} + +void Filament_sensor::filRunout() { +// SERIAL_ECHOLNPGM("filRunout"); + runoutEnabled = false; + autoLoadEnabled = false; + stop_and_save_print_to_ram(0, 0); + restore_print_from_ram_and_continue(0); + eeprom_update_byte((uint8_t *)EEPROM_FERROR_COUNT, eeprom_read_byte((uint8_t *)EEPROM_FERROR_COUNT) + 1); + eeprom_update_word((uint16_t *)EEPROM_FERROR_COUNT_TOT, eeprom_read_word((uint16_t *)EEPROM_FERROR_COUNT_TOT) + 1); + enquecommand_front_P((PSTR("M600"))); +} + +void Filament_sensor::triggerError() { + state = State::error; + + /// some message, idk + ; // +} + +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) +void IR_sensor::init() { + if (state == State::error) { + fsensor.deinit(); // deinit first if there was an error. + } +// puts_P(PSTR("fsensor::init()")); + SET_INPUT(IR_SENSOR_PIN); // input mode + WRITE(IR_SENSOR_PIN, 1); // pullup + settings_init(); // also sets the state to State::initializing +} + +void IR_sensor::deinit() { +// puts_P(PSTR("fsensor::deinit()")); + SET_INPUT(IR_SENSOR_PIN); // input mode + WRITE(IR_SENSOR_PIN, 0); // no pullup + state = State::disabled; +} + +bool IR_sensor::update() { + switch (state) { + case State::initializing: + state = State::ready; // the IR sensor gets ready instantly as it's just a gpio read operation. + // initialize the current filament state so that we don't create a switching event right after the sensor is ready. + oldFilamentPresent = fsensor.getFilamentPresent(); + [[fallthrough]]; + case State::ready: { + postponedLoadEvent = false; + return checkFilamentEvents(); + } break; + case State::disabled: + case State::error: + default: + return false; + } + return false; +} + + + +#ifdef FSENSOR_PROBING +bool IR_sensor::probeOtherType() { return pat9125_probe(); } +#endif + +void IR_sensor::settings_init() { Filament_sensor::settings_init_common(); } + +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) +void IR_sensor_analog::init() { + IR_sensor::init(); + IR_sensor::settings_init(); + sensorRevision = (SensorRevision)eeprom_read_byte((uint8_t *)EEPROM_FSENSOR_PCB); +} + +bool IR_sensor_analog::update() { + bool event = IR_sensor::update(); + if (state == State::ready) { + if (getVoltReady()) { + clearVoltReady(); + uint16_t volt = getVoltRaw(); +// printf_P(PSTR("newVoltRaw:%u\n"), volt / OVERSAMPLENR); + + // detect min-max, some long term sliding window for filtration may be added + // avoiding floating point operations, thus computing in raw + if (volt > maxVolt) { + maxVolt = volt; + } else if (volt < minVolt) { + minVolt = volt; + } + //! The trouble is, I can hold the filament in the hole in such a way, that it creates the exact voltage + //! to be detected as the new fsensor + //! We can either fake it by extending the detection window to a looooong time + //! or do some other countermeasures + + //! what we want to detect: + //! if minvolt gets below ~0.3V, it means there is an old fsensor + //! if maxvolt gets above 4.6V, it means we either have an old fsensor or broken cables/fsensor + //! So I'm waiting for a situation, when minVolt gets to range <0, 1.5> and maxVolt gets into range <3.0, 5> + //! If and only if minVolt is in range <0.3, 1.5> and maxVolt is in range <3.0, 4.6>, I'm considering a situation with the new fsensor + if (minVolt >= IRsensor_Ldiode_TRESHOLD && minVolt <= IRsensor_Lmax_TRESHOLD && maxVolt >= IRsensor_Hmin_TRESHOLD && + maxVolt <= IRsensor_Hopen_TRESHOLD) { + IR_ANALOG_Check(SensorRevision::_Old, SensorRevision::_Rev04); + } + //! If and only if minVolt is in range <0.0, 0.3> and maxVolt is in range <4.6, 5.0V>, I'm considering a situation with the old fsensor + //! Note, we are not relying on one voltage here - getting just +5V can mean an old fsensor or a broken new sensor - that's why + //! we need to have both voltages detected correctly to allow switching back to the old fsensor. + else if (minVolt < IRsensor_Ldiode_TRESHOLD && maxVolt > IRsensor_Hopen_TRESHOLD && maxVolt <= IRsensor_VMax_TRESHOLD) { + IR_ANALOG_Check(SensorRevision::_Rev04, SensorRevision::_Old); + } + + if (!checkVoltage(volt)) { + triggerError(); + } + } + } + + ; // + + return event; +} + +void IR_sensor_analog::voltUpdate(uint16_t raw) { // to be called from the ADC ISR when a cycle is finished + voltRaw = raw; + voltReady = true; +} + +uint16_t IR_sensor_analog::getVoltRaw() { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { return voltRaw; } +} + +const char *IR_sensor_analog::getIRVersionText() { + switch (sensorRevision) { + case SensorRevision::_Old: + return _T(MSG_IR_03_OR_OLDER); + case SensorRevision::_Rev04: + return _T(MSG_IR_04_OR_NEWER); + default: + return _T(MSG_IR_UNKNOWN); + } +} + +void IR_sensor_analog::setSensorRevision(SensorRevision rev, bool updateEEPROM) { + sensorRevision = rev; + if (updateEEPROM) { + eeprom_update_byte((uint8_t *)EEPROM_FSENSOR_PCB, (uint8_t)rev); + } +} + +bool IR_sensor_analog::checkVoltage(uint16_t raw) { + if (IRsensor_Lmax_TRESHOLD <= raw && raw <= IRsensor_Hmin_TRESHOLD) { + /// If the voltage is in forbidden range, the fsensor is ok, but the lever is mounted improperly. + /// Or the user is so creative so that he can hold a piece of fillament in the hole in such a genius way, + /// that the IR fsensor reading is within 1.5 and 3V ... this would have been highly unusual + /// and would have been considered more like a sabotage than normal printer operation + if (voltageErrorCnt++ > 4) { + puts_P(PSTR("fsensor in forbidden range 1.5-3V - check sensor")); + return false; + } + } else { + voltageErrorCnt = 0; + } + if (sensorRevision == SensorRevision::_Rev04) { + /// newer IR sensor cannot normally produce 4.6-5V, this is considered a failure/bad mount + if (IRsensor_Hopen_TRESHOLD <= raw && raw <= IRsensor_VMax_TRESHOLD) { + puts_P(PSTR("fsensor v0.4 in fault range 4.6-5V - unconnected")); + return false; + } + /// newer IR sensor cannot normally produce 0-0.3V, this is considered a failure +#if 0 // Disabled as it has to be decided if we gonna use this or not. + if(IRsensor_Hopen_TRESHOLD <= raw && raw <= IRsensor_VMax_TRESHOLD) { + puts_P(PSTR("fsensor v0.4 in fault range 0.0-0.3V - wrong IR sensor")); + return false; + } +#endif + } + /// If IR sensor is "uknown state" and filament is not loaded > 1.5V return false +#if 0 +#error "I really think this code can't be enabled anymore because we are constantly checking this voltage." + if((sensorRevision == SensorRevision::_Undef) && (raw > IRsensor_Lmax_TRESHOLD)) { + puts_P(PSTR("Unknown IR sensor version and no filament loaded detected.")); + return false; + } +#endif + // otherwise the IR fsensor is considered working correctly + return true; +} + +bool IR_sensor_analog::getVoltReady() const { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE){ return voltReady; } +} + +void IR_sensor_analog::clearVoltReady(){ + ATOMIC_BLOCK(ATOMIC_RESTORESTATE){ voltReady = false; } +} + +void IR_sensor_analog::IR_ANALOG_Check(SensorRevision isVersion, SensorRevision switchTo) { + bool bTemp = (!CHECK_ALL_HEATERS); + bTemp = bTemp && (menu_menu == lcd_status_screen); + bTemp = bTemp && ((sensorRevision == isVersion) || (sensorRevision == SensorRevision::_Undef)); + bTemp = bTemp && (state == State::ready); + if (bTemp) { + nFSCheckCount++; + if (nFSCheckCount > FS_CHECK_COUNT) { + nFSCheckCount = 0; // not necessary + setSensorRevision(switchTo, true); + printf_IRSensorAnalogBoardChange(); + switch (switchTo) { + case SensorRevision::_Old: + lcd_setstatuspgm(_T(MSG_IR_03_OR_OLDER)); + break; + case SensorRevision::_Rev04: + lcd_setstatuspgm(_T(MSG_IR_04_OR_NEWER)); + break; + default: + break; + } + } + } else { + nFSCheckCount = 0; + } +} +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) + +#if (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) +void PAT9125_sensor::init() { + if (state == State::error) { + deinit(); // deinit first if there was an error. + } +// puts_P(PSTR("fsensor::init()")); + + settings_init(); // also sets the state to State::initializing + + calcChunkSteps(cs.axis_steps_per_unit[E_AXIS]); // for jam detection + + if (!pat9125_init()) { + deinit(); + triggerError(); + ; // + } +#ifdef IR_SENSOR_PIN + else if (!READ(IR_SENSOR_PIN)) { + ; // MK3 fw on MK3S printer + } +#endif // IR_SENSOR_PIN +} + +void PAT9125_sensor::deinit() { +// puts_P(PSTR("fsensor::deinit()")); + ; // + state = State::disabled; + filter = 0; +} + +bool PAT9125_sensor::update() { + switch (state) { + case State::initializing: + if (!updatePAT9125()) { + break; // still not stable. Stay in the initialization state. + } + oldFilamentPresent = + getFilamentPresent(); // initialize the current filament state so that we don't create a switching event right after the sensor is ready. + oldPos = pat9125_y; + state = State::ready; + break; + case State::ready: { + updatePAT9125(); + postponedLoadEvent = false; + bool event = checkFilamentEvents(); + + ; // + + return event; + } break; + case State::disabled: + case State::error: + default: + return false; + } + return false; +} + +#ifdef FSENSOR_PROBING +bool PAT9125_sensor::probeOtherType() { + SET_INPUT(IR_SENSOR_PIN); // input mode + WRITE(IR_SENSOR_PIN, 1); // pullup + _delay_us(100); // wait for the pullup to pull the line high (might be needed, not really sure. The internal pullups are quite weak and there might be a + // long wire attached). + bool fsensorDetected = !READ(IR_SENSOR_PIN); + WRITE(IR_SENSOR_PIN, 0); // no pullup + return fsensorDetected; +} +#endif + +void PAT9125_sensor::setJamDetectionEnabled(bool state, bool updateEEPROM) { + jamDetection = state; + oldPos = pat9125_y; + resetStepCount(); + jamErrCnt = 0; + if (updateEEPROM) { + eeprom_update_byte((uint8_t *)EEPROM_FSENSOR_JAM_DETECTION, state); + } +} + +void PAT9125_sensor::settings_init() { +// puts_P(PSTR("settings_init")); + Filament_sensor::settings_init_common(); + setJamDetectionEnabled(eeprom_read_byte((uint8_t *)EEPROM_FSENSOR_JAM_DETECTION)); +} + +int16_t PAT9125_sensor::getStepCount() { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { return stepCount; } +} + +void PAT9125_sensor::resetStepCount() { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { stepCount = 0; } +} + +void PAT9125_sensor::filJam() { + runoutEnabled = false; + autoLoadEnabled = false; + jamDetection = false; + stop_and_save_print_to_ram(0, 0); + restore_print_from_ram_and_continue(0); + eeprom_update_byte((uint8_t *)EEPROM_FERROR_COUNT, eeprom_read_byte((uint8_t *)EEPROM_FERROR_COUNT) + 1); + eeprom_update_word((uint16_t *)EEPROM_FERROR_COUNT_TOT, eeprom_read_word((uint16_t *)EEPROM_FERROR_COUNT_TOT) + 1); + enquecommand_front_P((PSTR("M600"))); +} + +bool PAT9125_sensor::updatePAT9125() { + if (jamDetection) { + int16_t _stepCount = getStepCount(); + if (abs(_stepCount) >= chunkSteps) { // end of chunk. Check distance + resetStepCount(); + if (!pat9125_update()) { // get up to date data. reinit on error. + init(); // try to reinit. + } + bool fsDir = (pat9125_y - oldPos) > 0; + bool stDir = _stepCount > 0; + if (fsDir != stDir) { + jamErrCnt++; + } else if (jamErrCnt) { + jamErrCnt--; + } + oldPos = pat9125_y; + } + if (jamErrCnt > 10) { + jamErrCnt = 0; + filJam(); + } + } + + if (!pollingTimer.running() || pollingTimer.expired(pollingPeriod)) { + pollingTimer.start(); + if (!pat9125_update()) { + init(); // try to reinit. + } + + bool present = (pat9125_s < 17) || (pat9125_s >= 17 && pat9125_b >= 50); + if (present != filterFilPresent) { + filter++; + } else if (filter) { + filter--; + } + if (filter >= filterCnt) { + filter = 0; + filterFilPresent = present; + } + } + return (filter == 0); // return stability +} +#endif // #if (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) diff --git a/Firmware/Filament_sensor.h b/Firmware/Filament_sensor.h new file mode 100644 index 000000000..e5c488a3a --- /dev/null +++ b/Firmware/Filament_sensor.h @@ -0,0 +1,214 @@ +#pragma once +#include + +#include "cmdqueue.h" +#include "pins.h" +#include "fastio.h" +#include "adc.h" +#include "pat9125.h" + +#define FSENSOR_IR 1 +#define FSENSOR_IR_ANALOG 2 +#define FSENSOR_PAT9125 3 + +/// Can be used to block printer's filament sensor handling - to avoid errorneous injecting of M600 +/// while doing a toolchange with the MMU +/// In case of "no filament sensor" these methods default to an empty implementation +class FSensorBlockRunout { +public: + FSensorBlockRunout(); + ~FSensorBlockRunout(); +}; + +/// Base class Filament sensor +/// +/// Ideally, there could have been a nice class hierarchy of filament sensor types with common functionality +/// extracted into this base class. +/// But: +/// - virtual methods take more space +/// - we don't need to switch among different filament sensors at runtime +/// Therefore the class hierarchy carefully avoids using virtual methods and doesn't look too fancy. +#ifdef FILAMENT_SENSOR +class Filament_sensor { +public: + enum class State : uint8_t { + disabled = 0, + initializing, + ready, + error, + }; + + enum class SensorActionOnError : uint8_t { + _Continue = 0, + _Pause = 1, + _Undef = EEPROM_EMPTY_VALUE + }; + + static void setEnabled(bool enabled); + + void setAutoLoadEnabled(bool state, bool updateEEPROM = false); + bool getAutoLoadEnabled() const { return autoLoadEnabled; } + + void setRunoutEnabled(bool state, bool updateEEPROM = false); + bool getRunoutEnabled() const { return runoutEnabled; } + + void setActionOnError(SensorActionOnError state, bool updateEEPROM = false); + SensorActionOnError getActionOnError() const { return sensorActionOnError; } + + bool getFilamentLoadEvent() const { return postponedLoadEvent; } + + bool isError() const { return state == State::error; } + bool isReady() const { return state == State::ready; } + bool isEnabled() const { return state != State::disabled; } + +protected: + void settings_init_common(); + + bool checkFilamentEvents(); + + void triggerFilamentInserted(); + + void triggerFilamentRemoved(); + + static void filAutoLoad(); + + void filRunout(); + + void triggerError(); + + State state; + bool autoLoadEnabled; + bool runoutEnabled; + bool oldFilamentPresent; //for creating filament presence switching events. + bool postponedLoadEvent; //this event lasts exactly one update cycle. It is long enough to be able to do polling for load event. + ShortTimer eventBlankingTimer; + SensorActionOnError sensorActionOnError; +}; + +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) +class IR_sensor: public Filament_sensor { +public: + void init(); + void deinit(); + bool update(); + bool getFilamentPresent() const { return !READ(IR_SENSOR_PIN); } +#ifdef FSENSOR_PROBING + static bool probeOtherType(); //checks if the wrong fsensor type is detected. +#endif + void settings_init(); +}; + +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) +constexpr static uint16_t Voltage2Raw(float V) { + return (V * 1023 * OVERSAMPLENR / VOLT_DIV_REF ) + 0.5F; +} +constexpr static float Raw2Voltage(uint16_t raw) { + return VOLT_DIV_REF * (raw / (1023.F * OVERSAMPLENR)); +} + +class IR_sensor_analog: public IR_sensor { +public: + void init(); + bool update(); + void voltUpdate(uint16_t raw); + + uint16_t __attribute__((noinline)) getVoltRaw(); + + enum class SensorRevision : uint8_t { + _Old = 0, + _Rev04 = 1, + _Undef = EEPROM_EMPTY_VALUE + }; + + SensorRevision getSensorRevision() const { return sensorRevision; } + + const char* __attribute__((noinline)) getIRVersionText(); + + void setSensorRevision(SensorRevision rev, bool updateEEPROM = false); + + constexpr static uint16_t IRsensor_Ldiode_TRESHOLD = Voltage2Raw(0.3F); // ~0.3V, raw value=982 + constexpr static uint16_t IRsensor_Lmax_TRESHOLD = Voltage2Raw(1.5F); // ~1.5V (0.3*Vcc), raw value=4910 + constexpr static uint16_t IRsensor_Hmin_TRESHOLD = Voltage2Raw(3.0F); // ~3.0V (0.6*Vcc), raw value=9821 + constexpr static uint16_t IRsensor_Hopen_TRESHOLD = Voltage2Raw(4.6F); // ~4.6V (N.C. @ Ru~20-50k, Rd'=56k, Ru'=10k), raw value=15059 + constexpr static uint16_t IRsensor_VMax_TRESHOLD = Voltage2Raw(5.F); // ~5V, raw value=16368 + +private: + SensorRevision sensorRevision; + + bool voltReady; // set by the adc ISR, therefore avoid accessing the variable directly but use getVoltReady() + bool getVoltReady()const; + void clearVoltReady(); + + uint16_t voltRaw; // set by the adc ISR, therefore avoid accessing the variable directly but use getVoltRaw() + bool checkVoltage(uint16_t raw); + + uint16_t minVolt = Voltage2Raw(6.F); + uint16_t maxVolt = 0; + uint16_t nFSCheckCount; + uint8_t voltageErrorCnt; + + static constexpr uint16_t FS_CHECK_COUNT = 4; + /// Switching mechanism of the fsensor type. + /// Called from 2 spots which have a very similar behavior + /// 1: SensorRevision::_Old -> SensorRevision::_Rev04 and print _i("FS v0.4 or newer") + /// 2: SensorRevision::_Rev04 -> sensorRevision=SensorRevision::_Old and print _i("FS v0.3 or older") + void IR_ANALOG_Check(SensorRevision isVersion, SensorRevision switchTo); +}; +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) + +#if (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) +class PAT9125_sensor: public Filament_sensor { +public: + void init(); + void deinit(); + bool update(); + bool getFilamentPresent() const { return filterFilPresent; } +#ifdef FSENSOR_PROBING + bool probeOtherType(); //checks if the wrong fsensor type is detected. +#endif + + void setJamDetectionEnabled(bool state, bool updateEEPROM = false); + bool getJamDetectionEnabled() const { return jamDetection; } + + void stStep(bool rev) { //from stepper isr + stepCount += rev ? -1 : 1; + } + + void settings_init(); +private: + static constexpr uint16_t pollingPeriod = 10; //[ms] + static constexpr uint8_t filterCnt = 5; //how many checks need to be done in order to determine the filament presence precisely. + ShortTimer pollingTimer; + uint8_t filter; + uint8_t filterFilPresent; + + bool jamDetection; + int16_t oldPos; + int16_t stepCount; + int16_t chunkSteps; + uint8_t jamErrCnt; + + constexpr void calcChunkSteps(float u) { + chunkSteps = (int16_t)(1.25 * u); //[mm] + } + + int16_t getStepCount(); + + void resetStepCount(); + + void filJam(); + + bool updatePAT9125(); +}; +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + +#if FILAMENT_SENSOR_TYPE == FSENSOR_IR +extern IR_sensor fsensor; +#elif FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG +extern IR_sensor_analog fsensor; +#elif FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 +extern PAT9125_sensor fsensor; +#endif + +#endif //FILAMENT_SENSOR diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index f98e0148c..f5148fe6c 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -21,6 +21,7 @@ #include "Configuration.h" #include "pins.h" #include "Timer.h" +#include "mmu2.h" extern uint8_t mbl_z_probe_nr; #ifndef AT90USB @@ -220,9 +221,6 @@ void manage_inactivity(bool ignore_stepper_queue=false); #endif -#define FARM_FILAMENT_COLOR_NONE 99; - - enum AxisEnum {X_AXIS=0, Y_AXIS=1, Z_AXIS=2, E_AXIS=3, X_HEAD=4, Y_HEAD=5}; #define X_AXIS_MASK 1 #define Y_AXIS_MASK 2 @@ -236,14 +234,13 @@ void FlushSerialRequestResend(); void ClearToSend(); void update_currents(); -void get_coordinates(); -void prepare_move(); void kill(const char *full_screen_message = NULL, unsigned char id = 0); void finishAndDisableSteppers(); -void UnconditionalStop(); // Stop heaters, motion and clear current print status -void Stop(); // Emergency stop used by overtemp functions which allows recovery -bool IsStopped(); // Returns true if the print has been stopped +void UnconditionalStop(); // Stop heaters, motion and clear current print status +void ThermalStop(bool allow_pause = false); // Emergency stop used by overtemp functions which allows + // recovery (with pause=true) +bool IsStopped(); // Returns true if the print has been stopped //put an ASCII command at the end of the current buffer, read from flash #define enquecommand_P(cmd) enquecommand(cmd, true) @@ -251,31 +248,9 @@ bool IsStopped(); // Returns true if the print has been stopped //put an ASCII command at the begin of the current buffer, read from flash #define enquecommand_front_P(cmd) enquecommand_front(cmd, true) -void prepare_arc_move(bool isclockwise); void clamp_to_software_endstops(float target[3]); void refresh_cmd_timeout(void); -// Timer counter, incremented by the 1ms Arduino timer. -// The standard Arduino timer() function returns this value atomically -// by disabling / enabling interrupts. This is costly, if the interrupts are known -// to be disabled. -#ifdef SYSTEM_TIMER_2 -extern volatile unsigned long timer2_millis; -#else //SYSTEM_TIMER_2 -extern volatile unsigned long timer0_millis; -#endif //SYSTEM_TIMER_2 - -// An unsynchronized equivalent to a standard Arduino _millis() function. -// To be used inside an interrupt routine. - -FORCE_INLINE unsigned long millis_nc() { -#ifdef SYSTEM_TIMER_2 - return timer2_millis; -#else //SYSTEM_TIMER_2 - return timer0_millis; -#endif //SYSTEM_TIMER_2 -} - #ifdef FAST_PWM_FAN void setPwmFrequency(uint8_t pin, int val); #endif @@ -306,27 +281,25 @@ extern float max_pos[3]; extern bool axis_known_position[3]; extern int fanSpeed; extern uint8_t newFanSpeed; -extern int8_t lcd_change_fil_state; extern float default_retraction; +void get_coordinates(); +void prepare_move(uint16_t start_segment_idx = 0); +void prepare_arc_move(bool isclockwise, uint16_t start_segment_idx = 0); +uint16_t restore_interrupted_gcode(); + #ifdef TMC2130 void homeaxis(uint8_t axis, uint8_t cnt = 1, uint8_t* pstep = 0); #else void homeaxis(uint8_t axis, uint8_t cnt = 1); #endif //TMC2130 - -#ifdef FAN_SOFT_PWM -extern unsigned char fanSpeedSoftPwm; -#endif - #ifdef FWRETRACT extern bool retracted[EXTRUDERS]; extern float retract_length_swap; extern float retract_recover_length_swap; #endif - extern uint8_t host_keepalive_interval; extern unsigned long starttime; @@ -336,19 +309,15 @@ extern bool homing_flag; extern bool loading_flag; extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); -extern uint8_t status_number; extern uint8_t heating_status_counter; -extern unsigned long PingTime; -extern bool no_response; -extern uint8_t important_status; -extern uint8_t saved_filament_type; extern bool fan_state[2]; extern int fan_edge_counter[2]; extern int fan_speed[2]; -// Handling multiple extruders pins -extern uint8_t active_extruder; +// Active extruder becomes a #define to make the whole firmware compilable. +// We may even remove the references to it wherever possible in the future +#define active_extruder 0 //Long pause extern unsigned long pause_time; @@ -364,6 +333,10 @@ extern uint8_t saved_printing_type; #define PRINTING_TYPE_USB 1 #define PRINTING_TYPE_NONE 2 +extern float saved_extruder_temperature; //!< Active extruder temperature +extern float saved_bed_temperature; //!< Bed temperature +extern int saved_fan_speed; //!< Print fan speed + //save/restore printing in case that mmu is not responding extern bool mmu_print_saved; @@ -383,7 +356,8 @@ extern uint16_t gcode_in_progress; extern LongTimer safetyTimer; #define PRINT_PERCENT_DONE_INIT 0xff -#define PRINTER_ACTIVE (IS_SD_PRINTING || usb_timer.running() || isPrintPaused || (custom_message_type == CustomMsg::TempCal) || saved_printing || (lcd_commands_type == LcdCommands::Layer1Cal) || mmu_print_saved || homing_flag || mesh_bed_leveling_flag) + +extern bool printer_active(); //! Beware - mcode_in_progress is set as soon as the command gets really processed, //! which is not the same as posting the M600 command into the command queue @@ -440,6 +414,7 @@ extern void print_physical_coordinates(); extern void print_mesh_bed_leveling_table(); extern void stop_and_save_print_to_ram(float z_move, float e_move); +void restore_extruder_temperature_from_ram(); extern void restore_print_from_ram_and_continue(float e_move); extern void cancel_saved_printing(); @@ -467,6 +442,7 @@ extern uint8_t calc_percent_done(); #define KEEPALIVE_STATE(n) do { busy_state = n;} while (0) extern void host_keepalive(); +extern void host_autoreport(); //extern MarlinBusyState busy_state; extern int8_t busy_state; @@ -487,12 +463,10 @@ void gcode_M114(); #if (defined(FANCHECK) && (((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1))))) void gcode_M123(); #endif //FANCHECK and TACH_0 and TACH_1 -void gcode_M701(); +void gcode_M701(float fastLoadLength, uint8_t mmuSlotIndex); #define UVLO !(PINE & (1<<4)) -void proc_commands(); - void M600_load_filament(); void M600_load_filament_movements(); @@ -500,11 +474,11 @@ void M600_wait_for_user(float HotendTempBckp); void M600_check_state(float nozzle_temp); void load_filament_final_feed(); void marlin_wait_for_click(); -void raise_z_above(float target, bool plan=true); +float raise_z(float delta); +void raise_z_above(float target); extern "C" void softReset(); void stack_error(); -void pullup_error(bool fromTempISR); extern uint32_t IP_address; diff --git a/Firmware/MarlinSerial.h b/Firmware/MarlinSerial.h index 3bb0926b2..61da27603 100644 --- a/Firmware/MarlinSerial.h +++ b/Firmware/MarlinSerial.h @@ -37,11 +37,10 @@ // These are macros to build serial port register names for the selected SERIAL_PORT (C preprocessor // requires two levels of indirection to expand macro values properly) -#define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) #if SERIAL_PORT == 0 && (!defined(UBRR0H) || !defined(UDR0)) // use un-numbered registers if necessary -#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##suffix +#define SERIAL_REGNAME(registerbase,number,suffix) _REGNAME_SHORT(registerbase, suffix) #else -#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix +#define SERIAL_REGNAME(registerbase,number,suffix) _REGNAME(registerbase, number, suffix) #endif // Registers used by MarlinSerial class (these are expanded diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index e2069d204..504c0c727 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -72,6 +72,7 @@ #include "planner.h" #include "stepper.h" #include "temperature.h" +#include "fancheck.h" #include "motion_control.h" #include "cardreader.h" #include "ConfigurationStore.h" @@ -80,12 +81,14 @@ #include "math.h" #include "util.h" #include "Timer.h" +#include "Prusa_farm.h" #include #include +#include "Tcodes.h" #include "Dcodes.h" -#include "AutoDeplete.h" +#include "SpoolJoin.h" #ifndef LA_NOCOMPAT #include "la10compat.h" @@ -93,12 +96,7 @@ #include "spi.h" -#ifdef FILAMENT_SENSOR -#include "fsensor.h" -#ifdef IR_SENSOR -#include "pat9125.h" // for pat9125_probe -#endif -#endif //FILAMENT_SENSOR +#include "Filament_sensor.h" #ifdef TMC2130 #include "tmc2130.h" @@ -128,7 +126,7 @@ #include #endif -#include "mmu.h" +#include "mmu2.h" #define VERSION_STRING "1.0.2" @@ -160,8 +158,6 @@ CardReader card; #endif -unsigned long PingTime = _millis(); - uint8_t mbl_z_probe_nr = 3; //numer of Z measurements for each point in mesh bed leveling calibration //used for PINDA temp calibration and pause print @@ -193,8 +189,6 @@ int extruder_multiply[EXTRUDERS] = {100 bool homing_flag = false; -int8_t lcd_change_fil_state = 0; - unsigned long pause_time = 0; unsigned long start_pause_print = _millis(); unsigned long t_fan_rising_edge = _millis(); @@ -205,12 +199,6 @@ static LongTimer crashDetTimer; bool mesh_bed_leveling_flag = false; -#ifdef PRUSA_M28 -bool prusa_sd_card_upload = false; -#endif - -uint8_t status_number = 0; - unsigned long total_filament_used; HeatingStatus heating_status; uint8_t heating_status_counter; @@ -254,7 +242,6 @@ float extruder_offset[NUM_EXTRUDER_OFFSETS][EXTRUDERS] = { }; #endif -uint8_t active_extruder = 0; int fanSpeed=0; uint8_t newFanSpeed = 0; @@ -296,20 +283,14 @@ const char errormagic[] PROGMEM = "Error:"; const char echomagic[] PROGMEM = "echo:"; const char G28W0[] PROGMEM = "G28 W0"; -bool no_response = false; -uint8_t important_status; -uint8_t saved_filament_type; - // Define some coordinates outside the clamp limits (making them invalid past the parsing stage) so // that they can be used later for various logical checks #define X_COORD_INVALID (X_MIN_POS-1) -#define Y_COORD_INVALID (Y_MIN_POS-1) -#define SAVED_TARGET_UNSET X_COORD_INVALID -float saved_target[NUM_AXIS] = {SAVED_TARGET_UNSET, 0, 0, 0}; +#define SAVED_START_POSITION_UNSET X_COORD_INVALID +float saved_start_position[NUM_AXIS] = {SAVED_START_POSITION_UNSET, 0, 0, 0}; -// save/restore printing in case that mmu was not responding -bool mmu_print_saved = false; +uint16_t saved_segment_idx = 0; // storing estimated time to end of print counted by slicer uint8_t print_percent_done_normal = PRINT_PERCENT_DONE_INIT; @@ -378,10 +359,10 @@ uint8_t saved_printing_type = PRINTING_TYPE_SD; static float saved_pos[4] = { X_COORD_INVALID, 0, 0, 0 }; static uint16_t saved_feedrate2 = 0; //!< Default feedrate (truncated from float) static int saved_feedmultiply2 = 0; -static uint8_t saved_active_extruder = 0; -static float saved_extruder_temperature = 0.0; //!< Active extruder temperature +float saved_extruder_temperature = 0.0; //!< Active extruder temperature +float saved_bed_temperature = 0.0; static bool saved_extruder_relative_mode = false; -static int saved_fanSpeed = 0; //!< Print fan speed +int saved_fan_speed = 0; //!< Print fan speed //! @} static int saved_feedmultiply_mm = 100; @@ -443,7 +424,6 @@ AutoReportFeatures autoReportFeatures; //=============================Routines====================================== //=========================================================================== -static void get_arc_coordinates(); static bool setTargetedHotend(int code, uint8_t &extruder); static void print_time_remaining_init(); static void wait_for_heater(long codenum, uint8_t extruder); @@ -571,6 +551,17 @@ void servo_init() #endif } +bool __attribute__((noinline)) printer_active() { + return IS_SD_PRINTING + || usb_timer.running() + || isPrintPaused + || (custom_message_type == CustomMsg::TempCal) + || saved_printing + || (lcd_commands_type == LcdCommands::Layer1Cal) + || MMU2::mmu2.MMU_PRINT_SAVED() + || homing_flag + || mesh_bed_leveling_flag; +} bool fans_check_enabled = true; @@ -635,7 +626,6 @@ void crashdet_detected(uint8_t mask) lcd_setstatus(msg); gcode_G28(true, true, false); //home X and Y - st_synchronize(); if (automatic_recovery_after_crash) { enquecommand_P(PSTR("CRASH_RECOVER")); @@ -653,13 +643,12 @@ void crashdet_detected(uint8_t mask) lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_RESUME_PRINT)); lcd_putc('?'); - bool yesno = lcd_show_yes_no_and_wait(false); - lcd_update_enable(true); - if (yesno) + uint8_t yesno = lcd_show_yes_no_and_wait(false); + if (yesno == LCD_LEFT_BUTTON_CHOICE) { enquecommand_P(PSTR("CRASH_RECOVER")); } - else + else // LCD_MIDDLE_BUTTON_CHOICE { enquecommand_P(PSTR("CRASH_CANCEL")); } @@ -694,9 +683,6 @@ void failstats_reset_print() eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0); eeprom_update_byte((uint8_t *)EEPROM_MMU_FAIL, 0); eeprom_update_byte((uint8_t *)EEPROM_MMU_LOAD_FAIL, 0); -#if defined(FILAMENT_SENSOR) && defined(PAT9125) - fsensor_softfail = 0; -#endif } void softReset() @@ -760,12 +746,15 @@ static void factory_reset(char level) // Force the "Follow calibration flow" message at the next boot up. calibration_status_store(CALIBRATION_STATUS_Z_CALIBRATION); eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 2); //run wizard - farm_mode = false; - eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); + farm_disable(); #ifdef FILAMENT_SENSOR - fsensor_enable(); - fsensor_autoload_set(true); + fsensor.setEnabled(true); + fsensor.setAutoLoadEnabled(true, true); + fsensor.setRunoutEnabled(true, true); +#if (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + fsensor.setJamDetectionEnabled(true, true); +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) #endif //FILAMENT_SENSOR break; @@ -798,7 +787,7 @@ int uart_putchar(char c, FILE *) void lcd_splash() { lcd_clear(); // clears display and homes screen - lcd_puts_P(PSTR("\n Original Prusa i3\n Prusa Research")); + lcd_printf_P(PSTR("\n Original Prusa i3\n Prusa Research\n%20.20S"), PSTR(FW_VERSION)); } @@ -864,24 +853,14 @@ void show_fw_version_warnings() { lcd_update_enable(true); } +#if defined(FILAMENT_SENSOR) && defined(FSENSOR_PROBING) //! @brief try to check if firmware is on right type of printer -static void check_if_fw_is_on_right_printer(){ -#ifdef FILAMENT_SENSOR - if((PRINTER_TYPE == PRINTER_MK3) || (PRINTER_TYPE == PRINTER_MK3S)){ - #ifdef IR_SENSOR - if (pat9125_probe()){ - lcd_show_fullscreen_message_and_wait_P(_i("MK3S firmware detected on MK3 printer"));}////MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 - #endif //IR_SENSOR - - #ifdef PAT9125 - //will return 1 only if IR can detect filament in bondtech extruder so this may fail even when we have IR sensor - const uint8_t ir_detected = !READ(IR_SENSOR_PIN); - if (ir_detected){ - lcd_show_fullscreen_message_and_wait_P(_i("MK3 firmware detected on MK3S printer"));}////MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 - #endif //PAT9125 - } -#endif //FILAMENT_SENSOR +static void check_if_fw_is_on_right_printer() { + if (fsensor.probeOtherType()) { + lcd_show_fullscreen_message_and_wait_P(_i(PRINTER_NAME " firmware detected on " PRINTER_NAME_ALTERNATE " printer"));////c=20 r=4 + } } +#endif //defined(FILAMENT_SENSOR) && defined(FSENSOR_PROBING) uint8_t check_printer_version() { @@ -1061,7 +1040,6 @@ void setup() { timer2_init(); // enables functional millis - mmu_init(); ultralcd_init(); @@ -1095,25 +1073,7 @@ void setup() setup_killpin(); setup_powerhold(); - farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); - if (farm_mode == 0xFF) { - farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode - eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); - } else if (farm_mode) { - no_response = true; //we need confirmation by recieving PRUSA thx - important_status = 8; - prusa_statistics(8); -#ifdef HAS_SECOND_SERIAL_PORT - selectedSerialPort = 1; -#endif //HAS_SECOND_SERIAL_PORT - MYSERIAL.begin(BAUDRATE); -#ifdef FILAMENT_SENSOR - //disabled filament autoload (PFW360) - fsensor_autoload_set(false); -#endif //FILAMENT_SENSOR - // ~ FanCheck -> on - eeprom_update_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED, true); - } + farm_mode_init(); #ifdef TMC2130 if( FarmOrUserECool() ){ @@ -1152,6 +1112,11 @@ void setup() SERIAL_ECHO_START; puts_P(PSTR(" " FW_VERSION_FULL)); + if (eeprom_read_byte((uint8_t *)EEPROM_MMU_ENABLED)) { + MMU2::mmu2.Start(); + } + SpoolJoin::spooljoin.initSpoolJoinStatus(); + //SERIAL_ECHOPAIR("Active sheet before:", static_cast(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))); #ifdef DEBUG_SEC_LANG @@ -1272,9 +1237,15 @@ void setup() else { //printer version was changed so use default settings Config_ResetDefault(); } - SdFatUtil::set_stack_guard(); //writes magic number at the end of static variables to protect against overwriting static memory by stack - tp_init(); // Initialize temperature loop + // writes a magic number at the end of static variables to monitor against incorrect overwriting + // of static memory by stack (this needs to be done before soft_pwm_init, since the check is + // performed inside the soft_pwm_isr) + SdFatUtil::set_stack_guard(); + + // Initialize pwm/temperature loops + soft_pwm_init(); + temp_mgr_init(); #ifdef EXTRUDER_ALTFAN_DETECT SERIAL_ECHORPGM(_n("Extruder fan type: ")); @@ -1359,7 +1330,9 @@ void setup() setup_photpin(); +#if 0 servo_init(); +#endif // Reset the machine correction matrix. // It does not make sense to load the correction matrix until the machine is homed. @@ -1375,7 +1348,7 @@ void setup() xflash_err_msg(); #ifdef FILAMENT_SENSOR - fsensor_init(); + fsensor.init(); #endif //FILAMENT_SENSOR @@ -1389,11 +1362,9 @@ void setup() enable_z(); #endif - if (farm_mode) { - // The farm monitoring SW may accidentally expect - // 2 messages of "printer started" to consider a printer working. - prusa_statistics(8); - } + // The farm monitoring SW may accidentally expect + // 2 messages of "printer started" to consider a printer working. + prusa_statistics(8); // Enable Toshiba FlashAir SD card / WiFi enahanced card. card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1); @@ -1509,15 +1480,13 @@ void setup() setup_fan_interrupt(); #endif //DEBUG_DISABLE_FANCHECK -#ifdef PAT9125 - fsensor_setup_interrupt(); -#endif //PAT9125 - #ifndef DEBUG_DISABLE_STARTMSGS KEEPALIVE_STATE(PAUSED_FOR_USER); if (!farm_mode) { +#if defined(FILAMENT_SENSOR) && defined(FSENSOR_PROBING) check_if_fw_is_on_right_printer(); +#endif //defined(FILAMENT_SENSOR) && defined(FSENSOR_PROBING) show_fw_version_warnings(); } @@ -1613,7 +1582,7 @@ void setup() #ifdef UVLO_SUPPORT if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) != 0) { //previous print was terminated by UVLO /* - if (lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false)) recover_print(); + if (!lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false)) recover_print(); else { eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0); lcd_update_enable(true); @@ -1635,8 +1604,9 @@ void setup() #ifdef DEBUG_UVLO_AUTOMATIC_RECOVER puts_P(_N("Normal recovery!")); #endif - if ( lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false) ) recover_print(0); - else { + if ( lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false) == LCD_LEFT_BUTTON_CHOICE) { + recover_print(0); + } else { eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0); lcd_update_enable(true); lcd_update(2); @@ -1651,7 +1621,6 @@ void setup() #endif //UVLO_SUPPORT fCheckModeInit(); - fSetMmuMode(mmu_enabled); KEEPALIVE_STATE(NOT_BUSY); #ifdef WATCHDOG wdt_enable(WDTO_4S); @@ -1692,89 +1661,12 @@ void stack_error() { crash_and_burn(dump_crash_reason::stack_error); } -void pullup_error(bool fromTempISR) { - crash_and_burn(fromTempISR ? dump_crash_reason::bad_pullup_temp_isr : dump_crash_reason::bad_pullup_step_isr); -} - -#ifdef PRUSA_M28 -void trace(); - -#define CHUNK_SIZE 64 // bytes -#define SAFETY_MARGIN 1 -char chunk[CHUNK_SIZE+SAFETY_MARGIN]; - -void serial_read_stream() { - - setAllTargetHotends(0); - setTargetBed(0); - - lcd_clear(); - lcd_puts_P(PSTR(" Upload in progress")); - - // first wait for how many bytes we will receive - uint32_t bytesToReceive; - - // receive the four bytes - char bytesToReceiveBuffer[4]; - for (int i=0; i<4; i++) { - int data; - while ((data = MYSERIAL.read()) == -1) {}; - bytesToReceiveBuffer[i] = data; - - } - - // make it a uint32 - memcpy(&bytesToReceive, &bytesToReceiveBuffer, 4); - - // we're ready, notify the sender - MYSERIAL.write('+'); - - // lock in the routine - uint32_t receivedBytes = 0; - while (prusa_sd_card_upload) { - int i; - for (i=0; i= target) - return; + float travel_z = current_position[Z_AXIS]; - // Z needs raising - current_position[Z_AXIS] = target; + // Prepare to move Z axis + current_position[Z_AXIS] += delta; #if defined(Z_MIN_PIN) && (Z_MIN_PIN > -1) && !defined(DEBUG_DISABLE_ZMINLIMIT) bool z_min_endstop = (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING); @@ -2216,31 +2107,54 @@ void raise_z_above(float target, bool plan) if (axis_known_position[Z_AXIS] || z_min_endstop) { // current position is known or very low, it's safe to raise Z - if(plan) plan_buffer_line_curposXYZE(max_feedrate[Z_AXIS]); + clamp_to_software_endstops(current_position); + plan_buffer_line_curposXYZE(max_feedrate[Z_AXIS]); + st_synchronize(); + + // Get the final travel distance + travel_z = current_position[Z_AXIS] - travel_z; + } else { + // ensure Z is powered in normal mode to overcome initial load + enable_z(); + st_synchronize(); + + // rely on crashguard to limit damage + bool z_endstop_enabled = enable_z_endstop(true); +#ifdef TMC2130 + tmc2130_home_enter(Z_AXIS_MASK); +#endif //TMC2130 + plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60); + st_synchronize(); + + // Get the final travel distance + travel_z = st_get_position_mm(Z_AXIS) - travel_z; +#ifdef TMC2130 + if (endstop_z_hit_on_purpose()) + { + // not necessarily exact, but will avoid further vertical moves + current_position[Z_AXIS] = max_pos[Z_AXIS]; + plan_set_position_curposXYZE(); + } + tmc2130_home_exit(); +#endif //TMC2130 + enable_z_endstop(z_endstop_enabled); + } + + return travel_z; +} + +// raise_z_above: slowly raise Z to the requested height +// +// contrarily to a simple move, this function will carefully plan a move +// when the current Z position is unknown. In such cases, stallguard is +// enabled and will prevent prolonged pushing against the Z tops +void raise_z_above(float target) +{ + if (current_position[Z_AXIS] >= target) return; - } - // ensure Z is powered in normal mode to overcome initial load - enable_z(); - st_synchronize(); - - // rely on crashguard to limit damage - bool z_endstop_enabled = enable_z_endstop(true); -#ifdef TMC2130 - tmc2130_home_enter(Z_AXIS_MASK); -#endif //TMC2130 - plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60); - st_synchronize(); -#ifdef TMC2130 - if (endstop_z_hit_on_purpose()) - { - // not necessarily exact, but will avoid further vertical moves - current_position[Z_AXIS] = max_pos[Z_AXIS]; - plan_set_position_curposXYZE(); - } - tmc2130_home_exit(); -#endif //TMC2130 - enable_z_endstop(z_endstop_enabled); + // Use absolute value in case the current position is unknown + raise_z(fabs(current_position[Z_AXIS] - target)); } @@ -2263,7 +2177,6 @@ bool calibrate_z_auto() // current_position[axis] = 0; // plan_set_position_curposXYZE(); tmc2130_home_exit(); - enable_endstops(false); current_position[Z_AXIS] = 0; plan_set_position_curposXYZE(); set_destination_to_current(); @@ -2286,7 +2199,7 @@ bool calibrate_z_auto() #ifdef TMC2130 static void check_Z_crash(void) { - if (READ(Z_TMC2130_DIAG) != 0) { //Z crash + if (!READ(Z_TMC2130_DIAG)) { //Z crash FORCE_HIGH_POWER_END; current_position[Z_AXIS] = 0; plan_set_position_curposXYZE(); @@ -2496,96 +2409,7 @@ void retract(bool retracting, bool swapretract = false) { } //retract #endif //FWRETRACT -#ifdef PRUSA_M28 -void trace() { - Sound_MakeCustom(25,440,true); -} -#endif -/* -void ramming() { -// float tmp[4] = DEFAULT_MAX_FEEDRATE; - if (current_temperature[0] < 230) { - //PLA - - max_feedrate[E_AXIS] = 50; - //current_position[E_AXIS] -= 8; - //plan_buffer_line_curposXYZE(2100 / 60, active_extruder); - //current_position[E_AXIS] += 8; - //plan_buffer_line_curposXYZE(2100 / 60, active_extruder); - current_position[E_AXIS] += 5.4; - plan_buffer_line_curposXYZE(2800 / 60, active_extruder); - current_position[E_AXIS] += 3.2; - plan_buffer_line_curposXYZE(3000 / 60, active_extruder); - current_position[E_AXIS] += 3; - plan_buffer_line_curposXYZE(3400 / 60, active_extruder); - st_synchronize(); - max_feedrate[E_AXIS] = 80; - current_position[E_AXIS] -= 82; - plan_buffer_line_curposXYZE(9500 / 60, active_extruder); - max_feedrate[E_AXIS] = 50;//tmp[E_AXIS]; - current_position[E_AXIS] -= 20; - plan_buffer_line_curposXYZE(1200 / 60, active_extruder); - current_position[E_AXIS] += 5; - plan_buffer_line_curposXYZE(400 / 60, active_extruder); - current_position[E_AXIS] += 5; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - current_position[E_AXIS] -= 10; - st_synchronize(); - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - current_position[E_AXIS] += 10; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - current_position[E_AXIS] -= 10; - plan_buffer_line_curposXYZE(800 / 60, active_extruder); - current_position[E_AXIS] += 10; - plan_buffer_line_curposXYZE(800 / 60, active_extruder); - current_position[E_AXIS] -= 10; - plan_buffer_line_curposXYZE(800 / 60, active_extruder); - st_synchronize(); - } - else { - //ABS - max_feedrate[E_AXIS] = 50; - //current_position[E_AXIS] -= 8; - //plan_buffer_line_curposXYZE(2100 / 60, active_extruder); - //current_position[E_AXIS] += 8; - //plan_buffer_line_curposXYZE(2100 / 60, active_extruder); - current_position[E_AXIS] += 3.1; - plan_buffer_line_curposXYZE(2000 / 60, active_extruder); - current_position[E_AXIS] += 3.1; - plan_buffer_line_curposXYZE(2500 / 60, active_extruder); - current_position[E_AXIS] += 4; - plan_buffer_line_curposXYZE(3000 / 60, active_extruder); - st_synchronize(); - //current_position[X_AXIS] += 23; //delay - //plan_buffer_line_curposXYZE(600/60, active_extruder); //delay - //current_position[X_AXIS] -= 23; //delay - //plan_buffer_line_curposXYZE(600/60, active_extruder); //delay - _delay(4700); - max_feedrate[E_AXIS] = 80; - current_position[E_AXIS] -= 92; - plan_buffer_line_curposXYZE(9900 / 60, active_extruder); - max_feedrate[E_AXIS] = 50;//tmp[E_AXIS]; - current_position[E_AXIS] -= 5; - plan_buffer_line_curposXYZE(800 / 60, active_extruder); - current_position[E_AXIS] += 5; - plan_buffer_line_curposXYZE(400 / 60, active_extruder); - current_position[E_AXIS] -= 5; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - st_synchronize(); - current_position[E_AXIS] += 5; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - current_position[E_AXIS] -= 5; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - current_position[E_AXIS] += 5; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - current_position[E_AXIS] -= 5; - plan_buffer_line_curposXYZE(600 / 60, active_extruder); - st_synchronize(); - - } - } -*/ #ifdef TMC2130 void force_high_power_mode(bool start_high_power_section) { @@ -2634,7 +2458,7 @@ void gcode_M105(uint8_t extruder) } #else SERIAL_ERROR_START; - SERIAL_ERRORLNRPGM(_i("No thermistors - no temperature"));////MSG_ERR_NO_THERMISTORS + SERIAL_ERRORLNRPGM(_n("No thermistors - no temperature"));////MSG_ERR_NO_THERMISTORS #endif SERIAL_PROTOCOLPGM(" @:"); @@ -2729,7 +2553,6 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon //if we are homing all axes, first move z higher to protect heatbed/steel sheet if (home_all_axes) { raise_z_above(MESH_HOME_Z_SEARCH); - st_synchronize(); } #ifdef ENABLE_AUTO_BED_LEVELING plan_bed_level_matrix.set_to_identity(); //Reset the plane ("erase" all leveling data) @@ -2834,11 +2657,9 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon if(home_z) { #if defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) raise_z_above(Z_RAISE_BEFORE_HOMING); - st_synchronize(); #endif // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0) #ifdef MESH_BED_LEVELING // If Mesh bed leveling, move X&Y to safe position for home raise_z_above(MESH_HOME_Z_SEARCH); - st_synchronize(); if (!axis_known_position[X_AXIS]) homeaxis(X_AXIS); if (!axis_known_position[Y_AXIS]) homeaxis(Y_AXIS); // 1st mesh bed leveling measurement point, corrected. @@ -2956,7 +2777,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon } #endif - if (farm_mode) { prusa_statistics(20); }; + prusa_statistics(20); st_synchronize(); homing_flag = false; @@ -2982,7 +2803,7 @@ static void gcode_G28(bool home_x_axis, bool home_y_axis, bool home_z_axis) static void gcode_G80() { st_synchronize(); - if (waiting_inside_plan_buffer_line_print_aborted) + if (planner_aborted) return; mesh_bed_leveling_flag = true; @@ -3076,7 +2897,7 @@ static void gcode_G80() plan_buffer_line_curposXYZE(XY_AXIS_FEEDRATE); // Wait until the move is finished. st_synchronize(); - if (waiting_inside_plan_buffer_line_print_aborted) + if (planner_aborted) { custom_message_type = custom_message_type_old; custom_message_state = custom_message_state_old; @@ -3151,7 +2972,7 @@ static void gcode_G80() //printf_P(PSTR("after clamping: [%f;%f]\n"), current_position[X_AXIS], current_position[Y_AXIS]); plan_buffer_line_curposXYZE(XY_AXIS_FEEDRATE); st_synchronize(); - if (waiting_inside_plan_buffer_line_print_aborted) + if (planner_aborted) { custom_message_type = custom_message_type_old; custom_message_state = custom_message_state_old; @@ -3238,9 +3059,7 @@ static void gcode_G80() #endif // TMC2130 // ~ Z-homing (can not be used "G28", because X & Y-homing would have been done before (Z-homing)) bState=enable_z_endstop(false); - current_position[Z_AXIS] -= 1; - plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40); - st_synchronize(); + raise_z(-1); enable_z_endstop(true); #ifdef TMC2130 tmc2130_home_enter(Z_AXIS_MASK); @@ -3441,7 +3260,6 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) int l_feedmultiply = setup_for_endstop_move(); lcd_display_message_fullscreen_P(_T(MSG_AUTO_HOME)); raise_z_above(MESH_HOME_Z_SEARCH); - st_synchronize(); home_xy(); enable_endstops(false); @@ -3480,19 +3298,19 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) { KEEPALIVE_STATE(PAUSED_FOR_USER); #ifdef STEEL_SHEET - bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false); - if(result) lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_STEEL_SHEET)); + uint8_t result = lcd_show_fullscreen_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); lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1)); lcd_puts_at_P(0,3,_n("1/4")); } bool endstops_enabled = enable_endstops(false); - current_position[Z_AXIS] -= 1; //move 1mm down with disabled endstop - plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 40); - st_synchronize(); + raise_z(-1); // Move the print head close to the bed. current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; @@ -3635,221 +3453,254 @@ void gcode_M123() } #endif //FANCHECK and TACH_0 or TACH_1 -//! extracted code to compute z_shift for M600 in case of filament change operation -//! requested from fsensors. -//! The function ensures, that the printhead lifts to at least 25mm above the heat bed -//! unlike the previous implementation, which was adding 25mm even when the head was -//! printing at e.g. 24mm height. -//! A safety margin of FILAMENTCHANGE_ZADD is added in all cases to avoid touching -//! the printout. -//! This function is templated to enable fast change of computation data type. -//! @return new z_shift value -template -static T gcode_M600_filament_change_z_shift() -{ -#ifdef FILAMENTCHANGE_ZADD - static_assert(Z_MAX_POS < (255 - FILAMENTCHANGE_ZADD), "Z-range too high, change the T type from uint8_t to uint16_t"); - // avoid floating point arithmetics when not necessary - results in shorter code - T z_shift = T(FILAMENTCHANGE_ZADD); // always move above printout - T ztmp = T( current_position[Z_AXIS] ); - if((ztmp + z_shift) < T(MIN_Z_FOR_SWAP)){ - z_shift = T(MIN_Z_FOR_SWAP) - ztmp; // make sure to be at least 25mm above the heat bed - } - return z_shift; -#else - return T(0); -#endif -} +static void mmu_M600_wait_and_beep() { + // Beep and wait for user to remove old filament and prepare new filament for load + KEEPALIVE_STATE(PAUSED_FOR_USER); -static void gcode_M600(bool automatic, float x_position, float y_position, float z_shift, float e_shift, float /*e_shift_late*/) -{ + int counterBeep = 0; + lcd_display_message_fullscreen_P(_i("Remove old filament and press the knob to start loading new filament.")); ////MSG_REMOVE_OLD_FILAMENT c=20 r=5 + bool bFirst = true; + + while (!lcd_clicked()) { + manage_heater(); + manage_inactivity(true); + +#if BEEPER > 0 + if (counterBeep == 500) { + counterBeep = 0; + } + SET_OUTPUT(BEEPER); + if (counterBeep == 0) { + if ((eSoundMode == e_SOUND_MODE_BLIND) || (eSoundMode == e_SOUND_MODE_LOUD) || ((eSoundMode == e_SOUND_MODE_ONCE) && bFirst)) { + bFirst = false; + WRITE(BEEPER, HIGH); + } + } + if (counterBeep == 20) { + WRITE(BEEPER, LOW); + } + + counterBeep++; +#endif // BEEPER > 0 + + delay_keep_alive(4); + } + WRITE(BEEPER, LOW); +} + +/** + * @brief Handling of unload when using MMU with M600 + * A fullscreen message showing "Unloading Filament x" + * should be shown on the LCD and LCD updates should be + * are disabled in the meantime. + */ +static void mmu_M600_unload_filament() { + if (MMU2::mmu2.get_current_tool() == (uint8_t)MMU2::FILAMENT_UNKNOWN) return; + + lcd_update_enable(false); + lcd_clear(); + lcd_puts_at_P(0, 1, _T(MSG_UNLOADING_FILAMENT)); + lcd_print(' '); + lcd_print(MMU2::mmu2.get_current_tool() + 1); + + // unload just current filament for multimaterial printers (used also in M702) + MMU2::mmu2.unload(); + lcd_update_enable(true); +} + +/// @brief load filament for mmu v2 +/// @par nozzle_temp nozzle temperature to load filament +static void mmu_M600_load_filament(bool automatic, float nozzle_temp) { + uint8_t slot; + if (automatic) { + slot = SpoolJoin::spooljoin.nextSlot(); + } else { + // Only ask for the slot if automatic/SpoolJoin is off + slot = choose_menu_P(_T(MSG_SELECT_EXTRUDER), _T(MSG_EXTRUDER)); + } + + setTargetHotend(nozzle_temp, active_extruder); + + MMU2::mmu2.load_filament_to_nozzle(slot); + + load_filament_final_feed(); // @@TODO verify + st_synchronize(); +} + +static void gcode_M600(bool automatic, float x_position, float y_position, float z_shift, float e_shift, float /*e_shift_late*/) { st_synchronize(); float lastpos[4]; - if (farm_mode) - { prusa_statistics(22); - } - + //First backup current position and settings int feedmultiplyBckp = feedmultiply; float HotendTempBckp = degTargetHotend(active_extruder); int fanSpeedBckp = fanSpeed; - lastpos[X_AXIS] = current_position[X_AXIS]; - lastpos[Y_AXIS] = current_position[Y_AXIS]; - lastpos[Z_AXIS] = current_position[Z_AXIS]; - lastpos[E_AXIS] = current_position[E_AXIS]; + memcpy(lastpos, current_position, sizeof(lastpos)); - //Retract E + // Retract E current_position[E_AXIS] += e_shift; plan_buffer_line_curposXYZE(FILAMENTCHANGE_RFEED); st_synchronize(); - //Lift Z - current_position[Z_AXIS] += z_shift; - clamp_to_software_endstops(current_position); - plan_buffer_line_curposXYZE(FILAMENTCHANGE_ZFEED); - st_synchronize(); + // Raise the Z axis + raise_z(z_shift); - //Move XY to side + // Move XY to side current_position[X_AXIS] = x_position; current_position[Y_AXIS] = y_position; plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED); st_synchronize(); - //Beep, manage nozzle heater and wait for user to start unload filament - if(!mmu_enabled) M600_wait_for_user(HotendTempBckp); - - lcd_change_fil_state = 0; + // Beep, manage nozzle heater and wait for user to start unload filament + if (!MMU2::mmu2.Enabled()) + M600_wait_for_user(HotendTempBckp); // Unload filament - if (mmu_enabled) extr_unload(); //unload just current filament for multimaterial printers (used also in M702) - else unload_filament(true); //unload filament for single material (used also in M702) - //finish moves - st_synchronize(); - - if (!mmu_enabled) + if (MMU2::mmu2.Enabled()) + mmu_M600_unload_filament(); + else + unload_filament(FILAMENTCHANGE_FINALRETRACT, true); // unload filament for single material (used also in M702) + st_synchronize(); // finish moves { - KEEPALIVE_STATE(PAUSED_FOR_USER); - lcd_change_fil_state = lcd_show_fullscreen_message_yes_no_and_wait_P( - _i("Was filament unload successful?"), ////MSG_UNLOAD_SUCCESSFUL c=20 r=2 - false, true); - if (lcd_change_fil_state == 0) + FSensorBlockRunout fsBlockRunout; + + if (!MMU2::mmu2.Enabled()) { - lcd_clear(); - lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT)); - current_position[X_AXIS] -= 100; - plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED); - st_synchronize(); - lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually."));////MSG_CHECK_IDLER c=20 r=5 - } - } - - if (mmu_enabled) - { - if (!automatic) { - if (saved_printing) mmu_eject_filament(mmu_extruder, false); //if M600 was invoked by filament senzor (FINDA) eject filament so user can easily remove it - mmu_M600_wait_and_beep(); - if (saved_printing) { - + KEEPALIVE_STATE(PAUSED_FOR_USER); + uint8_t choice = + lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Was filament unload successful?"), false, LCD_LEFT_BUTTON_CHOICE); ////MSG_UNLOAD_SUCCESSFUL c=20 r=2 + if (choice == LCD_MIDDLE_BUTTON_CHOICE) { lcd_clear(); lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT)); - - mmu_command(MmuCmd::R0); - manage_response(false, false); + current_position[X_AXIS] -= 100; + plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED); + st_synchronize(); + lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually.")); ////MSG_CHECK_IDLER c=20 r=5 } + M600_load_filament(); } - mmu_M600_load_filament(automatic, HotendTempBckp); + else // MMU is enabled + { + if (!automatic) { + if (saved_printing){ + // if M600 was invoked by filament senzor (FINDA) eject filament so user can easily remove it + MMU2::mmu2.eject_filament(MMU2::mmu2.get_current_tool(), false); + } + mmu_M600_wait_and_beep(); + if (saved_printing) { + lcd_clear(); + lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT)); +//@@TODO mmu_command(MmuCmd::R0); +// manage_response(false, false); + } + } + mmu_M600_load_filament(automatic, HotendTempBckp); + } + if (!automatic) + M600_check_state(HotendTempBckp); + + lcd_update_enable(true); + + // Not let's go back to print + fanSpeed = fanSpeedBckp; + + // Feed a little of filament to stabilize pressure + if (!automatic) { + current_position[E_AXIS] += FILAMENTCHANGE_RECFEED; + plan_buffer_line_curposXYZE(FILAMENTCHANGE_EXFEED); + } + + // Move XY back + plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], FILAMENTCHANGE_XYFEED, active_extruder); + st_synchronize(); + + // Move Z back + plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], current_position[E_AXIS], FILAMENTCHANGE_ZFEED, active_extruder); + st_synchronize(); + + // Set E position to original + plan_set_e_position(lastpos[E_AXIS]); + + memcpy(current_position, lastpos, sizeof(lastpos)); + set_destination_to_current(); + + // Recover feed rate + feedmultiply = feedmultiplyBckp; + char cmd[9]; + sprintf_P(cmd, PSTR("M220 S%i"), feedmultiplyBckp); + enquecommand(cmd); + } - else - M600_load_filament(); - - if (!automatic) M600_check_state(HotendTempBckp); - - lcd_update_enable(true); - - //Not let's go back to print - fanSpeed = fanSpeedBckp; - - //Feed a little of filament to stabilize pressure - if (!automatic) - { - current_position[E_AXIS] += FILAMENTCHANGE_RECFEED; - plan_buffer_line_curposXYZE(FILAMENTCHANGE_EXFEED); - } - - //Move XY back - plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], - FILAMENTCHANGE_XYFEED, active_extruder); - st_synchronize(); - //Move Z back - plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], current_position[E_AXIS], - FILAMENTCHANGE_ZFEED, active_extruder); - st_synchronize(); - - //Set E position to original - plan_set_e_position(lastpos[E_AXIS]); - - memcpy(current_position, lastpos, sizeof(lastpos)); - set_destination_to_current(); - - //Recover feed rate - feedmultiply = feedmultiplyBckp; - char cmd[9]; - sprintf_P(cmd, PSTR("M220 S%i"), feedmultiplyBckp); - enquecommand(cmd); - -#ifdef IR_SENSOR - //this will set fsensor_watch_autoload to correct value and prevent possible M701 gcode enqueuing when M600 is finished - fsensor_check_autoload(); -#endif //IR_SENSOR - + lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; } -void gcode_M701() -{ - printf_P(PSTR("gcode_M701 begin\n")); +void gcode_M701(float fastLoadLength, uint8_t mmuSlotIndex){ + FSensorBlockRunout fsBlockRunout; + + prusa_statistics(22); - if (farm_mode) - { - prusa_statistics(22); - } + if (MMU2::mmu2.Enabled() && mmuSlotIndex < MMU_FILAMENT_COUNT) { + MMU2::mmu2.load_filament_to_nozzle(mmuSlotIndex); + } else { + custom_message_type = CustomMsg::FilamentLoading; + lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT)); - if (mmu_enabled) - { - extr_adj(tmp_extruder);//loads current extruder - mmu_extruder = tmp_extruder; - } - else - { - enable_z(); - custom_message_type = CustomMsg::FilamentLoading; + current_position[E_AXIS] += fastLoadLength; + plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST); //fast sequence -#ifdef FSENSOR_QUALITY - fsensor_oq_meassure_start(40); -#endif //FSENSOR_QUALITY + load_filament_final_feed(); // slow sequence + st_synchronize(); - lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT)); - current_position[E_AXIS] += 40; - plan_buffer_line_curposXYZE(400 / 60); //fast sequence - st_synchronize(); + Sound_MakeCustom(50, 500, false); - raise_z_above(MIN_Z_FOR_LOAD, false); - current_position[E_AXIS] += 30; - plan_buffer_line_curposXYZE(400 / 60); //fast sequence - - load_filament_final_feed(); //slow sequence - st_synchronize(); - - Sound_MakeCustom(50,500,false); - - if (!farm_mode && loading_flag) { - lcd_load_filament_color_check(); - } - lcd_update_enable(true); - lcd_update(2); - lcd_setstatuspgm(MSG_WELCOME); - disable_z(); - loading_flag = false; - custom_message_type = CustomMsg::Status; - -#ifdef FSENSOR_QUALITY - fsensor_oq_meassure_stop(); - - if (!fsensor_oq_result()) - { - bool disable = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Fil. sensor response is poor, disable it?"), false, true); - lcd_update_enable(true); - lcd_update(2); - if (disable) - fsensor_disable(); + if (!farm_mode && loading_flag) { + lcd_load_filament_color_check(); } -#endif //FSENSOR_QUALITY - } + lcd_update_enable(true); + lcd_update(2); + lcd_setstatuspgm(MSG_WELCOME); + loading_flag = false; + custom_message_type = CustomMsg::Status; + } + + eFilamentAction = FilamentAction::None; } + +// Common gcode shared by the gcodes. This saves some flash memory +static void gcodes_M704_M705_M706(uint16_t gcode) +{ + uint8_t mmuSlotIndex = 0xffU; + if (MMU2::mmu2.Enabled() && code_seen('P')) + { + mmuSlotIndex = code_value_uint8(); + if (mmuSlotIndex < MMU_FILAMENT_COUNT) { + switch (gcode) + { + case 704: + MMU2::mmu2.load_filament(mmuSlotIndex); + break; + case 705: + MMU2::mmu2.eject_filament(mmuSlotIndex, false); + break; + case 706: +#ifdef MMU_HAS_CUTTER + if (eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED) != 0){ + MMU2::mmu2.cut_filament(mmuSlotIndex); + } +#endif // MMU_HAS_CUTTER + break; + default: + break; + } + } + } +} + /** * @brief Get serial number from 32U2 processor * @@ -4135,6 +3986,7 @@ extern uint8_t st_backlash_y; //!@n M302 - Allow cold extrudes, or set the minimum extrude S. //!@n M303 - PID relay autotune S sets the target temperature. (default target temperature = 150C) //!@n M304 - Set bed PID parameters P I and D +//!@n M310 - Temperature model settings //!@n M400 - Finish all moves //!@n M401 - Lower z-probe if present //!@n M402 - Raise z-probe if present @@ -4176,16 +4028,6 @@ There are reasons why some G Codes aren't in numerical order. void process_commands() { -#ifdef FANCHECK - if(fan_check_error == EFCE_DETECTED) { - fan_check_error = EFCE_REPORTED; - if (usb_timer.running()) - lcd_pause_usb_print(); - else - lcd_pause_print(); - } -#endif - if (!buflen) return; //empty command #ifdef CMDBUFFER_DEBUG @@ -4248,7 +4090,7 @@ void process_commands() */ else if (code_seen_P(PSTR("M0")) || code_seen_P(PSTR("M1 "))) {// M0 and M1 - (Un)conditional stop - Wait for user button press on LCD - char *src = strchr_pointer + 2; + const char *src = strchr_pointer + 2; codenum = 0; bool hasP = false, hasS = false; if (code_seen('P')) { @@ -4411,13 +4253,11 @@ void process_commands() Set of internal PRUSA commands #### Usage - PRUSA [ Ping | PRN | FAN | fn | thx | uvlo | MMURES | RESET | fv | M28 | SN | Fir | Rev | Lang | Lz | FR ] + PRUSA [ PRN | FAN | thx | uvlo | MMURES | RESET | fv | M28 | SN | Fir | Rev | Lang | Lz | FR ] #### Parameters - - `Ping` - `PRN` - Prints revision of the printer - `FAN` - Prints fan details - - `fn` - Prints farm no. - `thx` - `uvlo` - `MMURES` - Reset MMU @@ -4435,32 +4275,20 @@ void process_commands() - `nozzle` - prints nozzle diameter (farm mode only), works like M862.1 P, e.g. `PRUSA nozzle` */ - - if (code_seen_P(PSTR("Ping"))) { // PRUSA Ping - if (farm_mode) { - PingTime = _millis(); - } - } - else if (code_seen_P(PSTR("PRN"))) { // PRUSA PRN - printf_P(_N("%u"), status_number); - - } else if( code_seen_P(PSTR("FANPINTST"))){ + if (farm_prusa_code_seen()) {} + else if(code_seen_P(PSTR("FANPINTST"))) { gcode_PRUSA_BadRAMBoFanTest(); - }else if (code_seen_P(PSTR("FAN"))) { // PRUSA FAN - printf_P(_N("E0:%d RPM\nPRN0:%d RPM\n"), 60*fan_speed[0], 60*fan_speed[1]); - } - else if (code_seen_P(PSTR("thx"))) // PRUSA thx - { - no_response = false; - } - else if (code_seen_P(PSTR("uvlo"))) // PRUSA uvlo - { - eeprom_update_byte((uint8_t*)EEPROM_UVLO,0); - enquecommand_P(PSTR("M24")); - } + } + else if (code_seen_P(PSTR("FAN"))) { // PRUSA FAN + printf_P(_N("E0:%d RPM\nPRN0:%d RPM\n"), 60*fan_speed[0], 60*fan_speed[1]); + } + else if (code_seen_P(PSTR("uvlo"))) { // PRUSA uvlo + eeprom_update_byte((uint8_t*)EEPROM_UVLO,0); + enquecommand_P(PSTR("M24")); + } else if (code_seen_P(PSTR("MMURES"))) // PRUSA MMURES { - mmu_reset(); + MMU2::mmu2.Reset(MMU2::MMU2::Software); } else if (code_seen_P(PSTR("RESET"))) { // PRUSA RESET #ifdef WATCHDOG @@ -4472,30 +4300,7 @@ void process_commands() #elif defined(BOOTAPP) //this is a safety precaution. This is because the new bootloader turns off the heaters, but the old one doesn't. The watchdog should be used most of the time. asm volatile("jmp 0x3E000"); #endif - } else if (code_seen_P(PSTR("fv"))) { // PRUSA fv - // get file version - #ifdef SDSUPPORT - card.openFileReadFilteredGcode(strchr_pointer + 3,true); - while (true) { - uint16_t readByte = card.getFilteredGcodeChar(); - MYSERIAL.write(readByte); - if (readByte=='\n') { - break; - } } - card.closefile(); - - #endif // SDSUPPORT - - } -#ifdef PRUSA_M28 - else if (code_seen_P(PSTR("M28"))) { // PRUSA M28 - trace(); - prusa_sd_card_upload = true; - card.openFileWrite(strchr_pointer+4); - - } -#endif //PRUSA_M28 #ifdef PRUSA_SN_SUPPORT else if (code_seen_P(PSTR("SN"))) { // PRUSA SN char SN[20]; @@ -4508,11 +4313,11 @@ void process_commands() #endif //PRUSA_SN_SUPPORT else if(code_seen_P(PSTR("Fir"))){ // PRUSA Fir - SERIAL_PROTOCOLLN(FW_VERSION_FULL); + SERIAL_PROTOCOLLNPGM(FW_VERSION_FULL); } else if(code_seen_P(PSTR("Rev"))){ // PRUSA Rev - SERIAL_PROTOCOLLN(FILAMENT_SIZE "-" ELECTRONICS "-" NOZZLE_TYPE ); + SERIAL_PROTOCOLLNPGM(FILAMENT_SIZE "-" ELECTRONICS "-" NOZZLE_TYPE ); } else if(code_seen_P(PSTR("Lang"))) { // PRUSA Lang lang_reset(); @@ -4639,19 +4444,9 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); */ case 0: // G0 -> G1 case 1: // G1 - if(Stopped == false) { - get_coordinates(); // For X Y Z E F - - // When recovering from a previous print move, restore the originally - // calculated target position on the first USB/SD command. This accounts - // properly for relative moves - if ((saved_target[0] != SAVED_TARGET_UNSET) && - ((CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_SDCARD) || - (CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR))) - { - memcpy(destination, saved_target, sizeof(destination)); - saved_target[0] = SAVED_TARGET_UNSET; - } + { + uint16_t start_segment_idx = restore_interrupted_gcode(); + get_coordinates(); // For X Y Z E F if (total_filament_used > ((current_position[E_AXIS] - destination[E_AXIS]) * 100)) { //protection against total_filament_used overflow total_filament_used = total_filament_used + ((destination[E_AXIS] - current_position[E_AXIS]) * 100); @@ -4672,7 +4467,7 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); } #endif //FWRETRACT - prepare_move(); + prepare_move(start_segment_idx); //ClearToSend(); } break; @@ -4697,21 +4492,24 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); - `F` - The feedrate per minute of the move between the starting point and ending point (if supplied) */ - case 2: - if(Stopped == false) { - get_arc_coordinates(); - prepare_arc_move(true); - } - break; - - // ------------------------------- - case 3: - if(Stopped == false) { - get_arc_coordinates(); - prepare_arc_move(false); - } - break; + case 2: + case 3: + { + uint16_t start_segment_idx = restore_interrupted_gcode(); +#ifdef SF_ARC_FIX + bool relative_mode_backup = relative_mode; + relative_mode = true; +#endif + get_coordinates(); // For X Y Z E F +#ifdef SF_ARC_FIX + relative_mode=relative_mode_backup; +#endif + offset[0] = code_seen('I') ? code_value() : 0.f; + offset[1] = code_seen('J') ? code_value() : 0.f; + + prepare_arc_move((gcode_in_progress == 2), start_segment_idx); + } break; /*! ### G4 - Dwell G4: Dwell @@ -4806,11 +4604,11 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); long home_z_value = 0; // Which axes should be homed? bool home_x = code_seen(axis_codes[X_AXIS]); - home_x_value = code_value_long(); + if (home_x) home_x_value = code_value_long(); bool home_y = code_seen(axis_codes[Y_AXIS]); - home_y_value = code_value_long(); + if (home_y) home_y_value = code_value_long(); bool home_z = code_seen(axis_codes[Z_AXIS]); - home_z_value = code_value_long(); + if (home_z) home_z_value = code_value_long(); bool without_mbl = code_seen('W'); // calibrate? #ifdef TMC2130 @@ -5110,9 +4908,9 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); break; } lcd_show_fullscreen_message_and_wait_P(_i("Stable ambient temperature 21-26C is needed a rigid stand is required."));////MSG_TEMP_CAL_WARNING c=20 r=4 - bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false); + uint8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false); - if (result) + if (result == LCD_LEFT_BUTTON_CHOICE) { current_position[Z_AXIS] = MESH_HOME_Z_SEARCH; plan_buffer_line_curposXYZE(3000 / 60); @@ -5545,30 +5343,23 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); } break; +#ifdef PRUSA_FARM /*! ### G98 - Activate farm mode G98: Activate farm mode - Enable Prusa-specific Farm functions and g-code. + Enable Prusa-specific Farm functions and g-code. See Internal Prusa commands. */ - case 98: - farm_mode = 1; - PingTime = _millis(); - eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode); - SilentModeMenu = SILENT_MODE_OFF; - eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); - fCheckModeInit(); // alternatively invoke printer reset - break; + case 98: + farm_gcode_g98(); + break; /*! ### G99 - Deactivate farm mode G99: Deactivate farm mode - Disables Prusa-specific Farm functions and g-code. - */ - case 99: - farm_mode = 0; - lcd_printer_connected(); - eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode); - lcd_update(2); - fCheckModeInit(); // alternatively invoke printer reset - break; + Disables Prusa-specific Farm functions and g-code. + */ + case 99: + farm_gcode_g99(); + break; +#endif //PRUSA_FARM default: printf_P(MSG_UNKNOWN_CODE, 'G', cmdbuffer + bufindr + CMDHDRSIZE); } @@ -5667,23 +5458,32 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); ### M24 - Start SD print M24: Start/resume SD print */ case 24: - if (isPrintPaused) - lcd_resume_print(); - else + if (isPrintPaused) + lcd_resume_print(); + else + { + if (!card.get_sdpos()) { - if (!card.get_sdpos()) - { // A new print has started from scratch, reset stats failstats_reset_print(); + sdpos_atomic = 0; #ifndef LA_NOCOMPAT - la10c_reset(); + la10c_reset(); #endif - } - - card.startFileprint(); - starttime=_millis(); } - break; + + card.startFileprint(); + starttime=_millis(); + if (MMU2::mmu2.Enabled()) + { + if (MMU2::mmu2.FindaDetectsFilament() && !fsensor.getFilamentPresent()) + { // Filament only half way into the PTFE. Unload the filament. + MMU2::mmu2.unload(); + // Tx and Tc gcodes take care of loading the filament to the nozzle. + } + } + } + break; /*! ### M26 - Set SD index M26: Set SD position @@ -5773,7 +5573,7 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); } starpos = (strchr(strchr_pointer + 4,'*')); - char* namestartpos = (strchr(strchr_pointer + 4,'!')); //find ! to indicate filename string start. + const char* namestartpos = (strchr(strchr_pointer + 4,'!')); //find ! to indicate filename string start. if(namestartpos==NULL) { namestartpos=strchr_pointer + 4; //default name position, 4 letters after the M @@ -5802,6 +5602,7 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF); { // A new print has started from scratch, reset stats failstats_reset_print(); + sdpos_atomic = 0; #ifndef LA_NOCOMPAT la10c_reset(); #endif @@ -6434,7 +6235,7 @@ Sigma_Exit: } LCD_MESSAGERPGM(_T(MSG_HEATING)); heating_status = HeatingStatus::EXTRUDER_HEATING; - if (farm_mode) { prusa_statistics(1); }; + prusa_statistics(1); #ifdef AUTOTEMP autotemp_enabled=false; @@ -6465,7 +6266,7 @@ Sigma_Exit: LCD_MESSAGERPGM(_T(MSG_HEATING_COMPLETE)); heating_status = HeatingStatus::EXTRUDER_HEATING_COMPLETE; - if (farm_mode) { prusa_statistics(2); }; + prusa_statistics(2); //starttime=_millis(); previous_millis_cmd.start(); @@ -6491,7 +6292,7 @@ Sigma_Exit: bool CooldownNoWait = false; LCD_MESSAGERPGM(_T(MSG_BED_HEATING)); heating_status = HeatingStatus::BED_HEATING; - if (farm_mode) { prusa_statistics(1); }; + prusa_statistics(1); if (code_seen('S')) { setTargetBed(code_value()); @@ -6740,9 +6541,9 @@ Sigma_Exit: axis_steps_per_sqr_second[i] *= factor; } cs.axis_steps_per_unit[i] = value; -#if defined(FILAMENT_SENSOR) && defined(PAT9125) - fsensor_set_axis_steps_per_unit(value); -#endif +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + fsensor.init(); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) } else { cs.axis_steps_per_unit[i] = code_value(); @@ -7755,6 +7556,69 @@ Sigma_Exit: PID_autotune(temp, e, c); } break; + +#ifdef TEMP_MODEL + /*! + ### M310 - Temperature model settings M310: Temperature model settings + #### Usage + + M310 ; report values + M310 [ A ] [ F ] ; autotune + M310 [ S ] ; set 0=disable 1=enable + M310 [ I ] [ R ] ; set resistance at index + M310 [ P | C ] ; set power, capacitance + M310 [ B | E | W ] ; set beeper, warning and error threshold + M310 [ T ] ; set ambient temperature correction + + #### Parameters + - `I` - resistance index position (0-15) + - `R` - resistance value at index (K/W; requires `I`) + - `P` - power (W) + - `C` - capacitance (J/K) + - `S` - set 0=disable 1=enable + - `B` - beep and warn when reaching warning threshold 0=disable 1=enable (default: 1) + - `E` - error threshold (K/s; default in variant) + - `W` - warning threshold (K/s; default in variant) + - `T` - ambient temperature correction (K; default in variant) + - `A` - autotune C+R values + - `F` - force model self-test state (0=off 1=on) during autotune using current values + */ + case 310: + { + // parse all parameters + float P = NAN, C = NAN, R = NAN, E = NAN, W = NAN, T = NAN; + int8_t I = -1, S = -1, B = -1, A = -1, F = -1; + if(code_seen('C')) C = code_value(); + if(code_seen('P')) P = code_value(); + if(code_seen('I')) I = code_value_short(); + if(code_seen('R')) R = code_value(); + if(code_seen('S')) S = code_value_short(); + if(code_seen('B')) B = code_value_short(); + if(code_seen('E')) E = code_value(); + if(code_seen('W')) W = code_value(); + if(code_seen('T')) T = code_value(); + if(code_seen('A')) A = code_value_short(); + if(code_seen('F')) F = code_value_short(); + + // report values if nothing has been requested + if(isnan(C) && isnan(P) && isnan(R) && isnan(E) && isnan(W) && isnan(T) && I < 0 && S < 0 && B < 0 && A < 0) { + temp_model_report_settings(); + break; + } + + // update all parameters + if(B >= 0) temp_model_set_warn_beep(B); + if(!isnan(C) || !isnan(P) || !isnan(T) || !isnan(W) || !isnan(E)) temp_model_set_params(C, P, T, W, E); + if(I >= 0 && !isnan(R)) temp_model_set_resistance(I, R); + + // enable the model last, if requested + if(S >= 0) temp_model_set_enabled(S); + + // run autotune + if(A >= 0) temp_model_autotune(A, F > 0); + } + break; +#endif /*! ### M400 - Wait for all moves to finish M400: Wait for current moves to finish @@ -7783,14 +7647,13 @@ Sigma_Exit: { // currently three different materials are needed (default, flex and PVA) // add storing this information for different load/unload profiles etc. in the future - // firmware does not wait for "ok" from mmu - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { uint8_t extruder = 255; uint8_t filament = FILAMENT_UNDEFINED; if(code_seen('E')) extruder = code_value_uint8(); if(code_seen('F')) filament = code_value_uint8(); - mmu_set_filament_type(extruder, filament); + MMU2::mmu2.set_filament_type(extruder, filament); } } break; @@ -7866,6 +7729,7 @@ Sigma_Exit: break; #endif +#ifdef ENABLE_AUTO_BED_LEVELING /*! ### M851 - Set Z-Probe Offset M851: Set Z-Probe Offset" Sets the Z-probe Z offset. This offset is used to determine the actual Z position of the nozzle when using a probe to home Z with G28. This value may also be used by G81 (Prusa) / G29 (Marlin) to apply correction to the Z position. @@ -7912,6 +7776,7 @@ Sigma_Exit: break; } #endif // CUSTOM_M_CODE_SET_Z_PROBE_OFFSET +#endif // ENABLE_AUTO_BED_LEVELING /*! ### M552 - Set IP address M552: Set IP address, enable/disable network interface" @@ -7955,7 +7820,7 @@ Sigma_Exit: - `X` - X position, default 211 - `Y` - Y position, default 0 - - `Z` - relative lift Z, default 2. + - `Z` - relative lift Z, default MIN_Z_FOR_SWAP. - `E` - initial retract, default -2 - `L` - later retract distance for removal, default -80 - `AUTO` - Automatically (only with MMU) @@ -7966,7 +7831,7 @@ Sigma_Exit: float x_position = current_position[X_AXIS]; float y_position = current_position[Y_AXIS]; - float z_shift = 0; // is it necessary to be a float? + float z_shift = MIN_Z_FOR_SWAP; float e_shift_init = 0; float e_shift_late = 0; bool automatic = false; @@ -7995,16 +7860,10 @@ Sigma_Exit: #endif } - //Lift Z - if(code_seen('Z')) - { - z_shift = code_value(); - } - else - { - z_shift = gcode_M600_filament_change_z_shift(); - } - //Move XY to side + // Z lift. For safety only allow positive values + if (code_seen('Z')) z_shift = fabs(code_value()); + + //Move XY to side if(code_seen('X')) { x_position = code_value(); @@ -8026,7 +7885,7 @@ Sigma_Exit: #endif } - if (mmu_enabled && code_seen_P(PSTR("AUTO"))) + if (MMU2::mmu2.Enabled() && code_seen_P(PSTR("AUTO"))) automatic = true; gcode_M600(automatic, x_position, y_position, z_shift, e_shift_init, e_shift_late); @@ -8265,14 +8124,6 @@ Sigma_Exit: nDiameter=(uint16_t)(code_value()*1000.0+0.5); // [,um] nozzle_diameter_check(nDiameter); } -/* - else if(code_seen('S')&&farm_mode) - { - nDiameter=(uint16_t)(code_value()*1000.0+0.5); // [,um] - eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)ClNozzleDiameter::_Diameter_Undef); // for correct synchronization after farm-mode exiting - eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,nDiameter); - } -*/ else if(code_seen('Q')) SERIAL_PROTOCOLLN((float)eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)/1000.0); break; @@ -8281,6 +8132,8 @@ Sigma_Exit: { uint16_t nPrinterModel; nPrinterModel=(uint16_t)code_value_long(); + // based on current state of MMU (active/stopped/connecting) perform a runtime update of the printer type + fSetMmuMode(MMU2::mmu2.Enabled()); printer_model_check(nPrinterModel); } else if(code_seen('Q')) @@ -8288,7 +8141,10 @@ Sigma_Exit: break; case ClPrintChecking::_Smodel: // ~ .3 if(code_seen('P')) - printer_smodel_check(strchr_pointer); + { + fSetMmuMode(MMU2::mmu2.Enabled()); + printer_smodel_check(strchr_pointer); + } else if(code_seen('Q')) SERIAL_PROTOCOLLNRPGM(sPrinterName); break; @@ -8619,10 +8475,10 @@ Sigma_Exit: cs.axis_steps_per_unit[i] /= fac; position[i] /= fac; } -#if defined(FILAMENT_SENSOR) && defined(PAT9125) - if (i == E_AXIS) - fsensor_set_axis_steps_per_unit(cs.axis_steps_per_unit[i]); -#endif +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + if (i == E_AXIS) + fsensor.init(); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) } } } @@ -8673,44 +8529,213 @@ Sigma_Exit: break; /*! - ### M701 - Load filament M701: Load filament + ### M701 - Load filament to extruder M701: Load filament + Load filament into the active extruder. #### Usage - M701 [ E | T ] + M701 [ P | T | L | Z ] #### Parameters - - `E` - ID of filament to load, ranges from 0 to 4 - - `T` - Alias of `E`. Used for compatibility with Marlin + - `P` - n index of MMU slot (zero based, so 0-4 like T0 and T4) + - `T` - Alias of `P`. Used for compatibility with Marlin + - `L` - Extrude distance for insertion (positive value)(manual reload) + - `Z` - Move the Z axis by this distance. Default value MIN_Z_FOR_LOAD */ - case 701: - { - if (mmu_enabled && (code_seen('E') || code_seen('T'))) - tmp_extruder = code_value_uint8(); - gcode_M701(); - } - break; + case 701: + { + uint8_t mmuSlotIndex = 0xffU; + float fastLoadLength = FILAMENTCHANGE_FIRSTFEED; // Only used without MMU + float z_target = MIN_Z_FOR_LOAD; + if( MMU2::mmu2.Enabled() ) + { + if( code_seen('P') || code_seen('T') ) { + mmuSlotIndex = code_value_uint8(); + } + } + + if (code_seen('L')) fastLoadLength = code_value(); + + // Z lift. For safety only allow positive values + if (code_seen('Z')) z_target = fabs(code_value()); + + // Raise the Z axis + float delta = raise_z(z_target); + + // Load filament + gcode_M701(fastLoadLength, mmuSlotIndex); + + // Restore Z axis + raise_z(-delta); + } + break; /*! ### M702 - Unload filament G32: Undock Z Probe sled #### Usage - M702 [ C ] + M702 [ U | Z ] #### Parameters - - `C` - Unload just current filament - - without any parameters unload all filaments + - `U` - Retract distance for removal (manual reload). Default value is 0. + - `Z` - Move the Z axis by this distance. Default value MIN_Z_FOR_UNLOAD. */ - case 702: - { - if (code_seen('C')) { - if(mmu_enabled) extr_unload(); //! if "C" unload current filament; if mmu is not present no action is performed - } - else { - if(mmu_enabled) extr_unload(); //! unload current filament - else unload_filament(); - } - } - break; + case 702: + { + float z_target = MIN_Z_FOR_UNLOAD; + float unloadLength = FILAMENTCHANGE_FINALRETRACT; + if (code_seen('U')) unloadLength = code_value(); + + // For safety only allow positive values + if (code_seen('Z')) z_target = fabs(code_value()); + + // Raise the Z axis + float delta = raise_z(z_target); + + // Unload filament + if (MMU2::mmu2.Enabled()) MMU2::mmu2.unload(); + else unload_filament(unloadLength); + + // Restore Z axis + raise_z(-delta); + } + break; + + /*! + ### M704 - Load to MMU M704: Load to MMU + #### Usage + + M704 [ P ] + + #### Parameters + - `P` - n index of slot (zero based, so 0-4 like T0 and T4) + */ + case 704: + { + gcodes_M704_M705_M706(704); + } + break; + + /*! + ### M705 - Eject filament M705: Eject filament + #### Usage + + M705 [ P ] + + #### Parameters + - `P` - n index of slot (zero based, so 0-4 like T0 and T4) + */ + case 705: + { + gcodes_M704_M705_M706(705); + } + break; + + + /*! + ### M706 - Cut filament M706: Cut filament + #### Usage + + M706 [ P ] + + #### Parameters + - `P` - n index of slot (zero based, so 0-4 like T0 and T4) + */ + case 706: + { + gcodes_M704_M705_M706(706); + } + break; + + /*! + ### M707 - Read from MMU register M707: Read from MMU register + #### Usage + + M707 [ A ] + + #### Parameters + - `A` - Address of register in hexidecimal. + + #### Example + + M707 A0x1b - Read a 8bit integer from register 0x1b and prints the result onto the serial line. + + Does nothing if the A parameter is not present or if MMU is not enabled. + + */ + case 707: { + if ( MMU2::mmu2.Enabled() ) { + if( code_seen('A') ) { + MMU2::mmu2.ReadRegister(uint8_t(strtol(strchr_pointer+1, NULL, 16))); + } + } + } break; + + /*! + ### M708 - Write to MMU register M707: Write to MMU register + #### Usage + + M708 [ A | X ] + + #### Parameters + - `A` - Address of register in hexidecimal. + - `X` - Data to write (16-bit integer). Default value 0. + + #### Example + M708 A0x1b X05 - Write to register 0x1b the value 05. + + Does nothing if A parameter is missing or if MMU is not enabled. + */ + case 708: { + if ( MMU2::mmu2.Enabled() ){ + uint8_t addr = 0; + if( code_seen('A') ) { + addr = uint8_t(strtol(strchr_pointer+1, NULL, 16)); + } + uint16_t data = 0; + if( code_seen('X') ) { + data = code_value_short(); + } + if(addr){ + MMU2::mmu2.WriteRegister(addr, data); + } + } + } break; + + /*! + ### M709 - MMU reset M709: MMU reset + The MK3S cannot not power off the MMU, for that reason the functionality is not supported. + #### Usage + + M709 [ X ] + + #### Parameters + - `X` - Reset MMU (0:soft reset | 1:hardware reset) + + #### Example + + M709 X0 - issue an X0 command via communication into the MMU (soft reset) + + M709 X1 - toggle the MMU's reset pin (hardware reset) + + */ + case 709: + { + if (MMU2::mmu2.Enabled() && code_seen('X')) + { + switch (code_value_uint8()) + { + case 0: + MMU2::mmu2.Reset(MMU2::MMU2::Software); + break; + case 1: + MMU2::mmu2.Reset(MMU2::MMU2::ResetPin); + break; + default: + break; + } + } + } + break; /*! ### M999 - Restart after being stopped M999: Restart after being stopped by error @@ -8719,7 +8744,7 @@ Sigma_Exit: case 999: Stopped = false; lcd_reset_alert_level(); - gcode_LastN = Stopped_gcode_LastN; +//@@TODO gcode_LastN = Stopped_gcode_LastN; FlushSerialRequestResend(); break; /*! @@ -8743,139 +8768,8 @@ Sigma_Exit: @n Tx Same as T?, except nozzle doesn't have to be preheated. Tc must be placed after extruder nozzle is preheated to finish filament load. @n Tc Load to nozzle after filament was prepared by Tc and extruder nozzle is already heated. */ - else if(code_seen('T')) - { - static const char duplicate_Tcode_ignored[] PROGMEM = "Duplicate T-code ignored."; - - int index; - bool load_to_nozzle = false; - for (index = 1; *(strchr_pointer + index) == ' ' || *(strchr_pointer + index) == '\t'; index++); - - *(strchr_pointer + index) = tolower(*(strchr_pointer + index)); - - if ((*(strchr_pointer + index) < '0' || *(strchr_pointer + index) > '4') && *(strchr_pointer + index) != '?' && *(strchr_pointer + index) != 'x' && *(strchr_pointer + index) != 'c') { - SERIAL_ECHOLNPGM("Invalid T code."); - } - else if (*(strchr_pointer + index) == 'x'){ //load to bondtech gears; if mmu is not present do nothing - if (mmu_enabled) - { - tmp_extruder = choose_menu_P(_T(MSG_SELECT_FILAMENT), _T(MSG_FILAMENT)); - if ((tmp_extruder == mmu_extruder) && mmu_fil_loaded) //dont execute the same T-code twice in a row - { - puts_P(duplicate_Tcode_ignored); - } - else - { - st_synchronize(); - mmu_command(MmuCmd::T0 + tmp_extruder); - manage_response(true, true, MMU_TCODE_MOVE); - } - } - } - else if (*(strchr_pointer + index) == 'c') { //load to from bondtech gears to nozzle (nozzle should be preheated) - if (mmu_enabled) - { - st_synchronize(); - mmu_continue_loading(usb_timer.running() || (lcd_commands_type == LcdCommands::Layer1Cal)); - mmu_extruder = tmp_extruder; //filament change is finished - mmu_load_to_nozzle(); - } - } - else { - if (*(strchr_pointer + index) == '?') - { - if(mmu_enabled) - { - tmp_extruder = choose_menu_P(_T(MSG_SELECT_FILAMENT), _T(MSG_FILAMENT)); - load_to_nozzle = true; - } else - { - tmp_extruder = choose_menu_P(_T(MSG_SELECT_EXTRUDER), _T(MSG_EXTRUDER)); - } - } - else { - tmp_extruder = code_value(); - if (mmu_enabled && lcd_autoDepleteEnabled()) - { - tmp_extruder = ad_getAlternative(tmp_extruder); - } - } - st_synchronize(); - - if (mmu_enabled) - { - if ((tmp_extruder == mmu_extruder) && mmu_fil_loaded) //dont execute the same T-code twice in a row - { - puts_P(duplicate_Tcode_ignored); - } - else - { -#if defined(MMU_HAS_CUTTER) && defined(MMU_ALWAYS_CUT) - if (EEPROM_MMU_CUTTER_ENABLED_always == eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED)) - { - mmu_command(MmuCmd::K0 + tmp_extruder); - manage_response(true, true, MMU_UNLOAD_MOVE); - } -#endif //defined(MMU_HAS_CUTTER) && defined(MMU_ALWAYS_CUT) - mmu_command(MmuCmd::T0 + tmp_extruder); - manage_response(true, true, MMU_TCODE_MOVE); - mmu_continue_loading(usb_timer.running() || (lcd_commands_type == LcdCommands::Layer1Cal)); - - mmu_extruder = tmp_extruder; //filament change is finished - - if (load_to_nozzle)// for single material usage with mmu - { - mmu_load_to_nozzle(); - } - } - } - else - { - if (tmp_extruder >= EXTRUDERS) { - SERIAL_ECHO_START; - SERIAL_ECHO('T'); - SERIAL_PROTOCOLLN((int)tmp_extruder); - SERIAL_ECHOLNRPGM(_n("Invalid extruder"));////MSG_INVALID_EXTRUDER - } - else { -#if EXTRUDERS > 1 - bool make_move = false; -#endif - if (code_seen('F')) { -#if EXTRUDERS > 1 - make_move = true; -#endif - next_feedrate = code_value(); - if (next_feedrate > 0.0) { - feedrate = next_feedrate; - } - } -#if EXTRUDERS > 1 - if (tmp_extruder != active_extruder) { - // Save current position to return to after applying extruder offset - set_destination_to_current(); - // Offset extruder (only by XY) - int i; - for (i = 0; i < 2; i++) { - current_position[i] = current_position[i] - - extruder_offset[i][active_extruder] + - extruder_offset[i][tmp_extruder]; - } - // Set the new active extruder and position - active_extruder = tmp_extruder; - plan_set_position_curposXYZE(); - // Move to the old position if 'F' was in the parameters - if (make_move && Stopped == false) { - prepare_move(); - } - } -#endif - SERIAL_ECHO_START; - SERIAL_ECHORPGM(_n("Active Extruder: "));////MSG_ACTIVE_EXTRUDER - SERIAL_PROTOCOLLN((int)active_extruder); - } - } - } + else if(code_seen('T')){ + TCodes(strchr_pointer, code_value()); } // end if(code_seen('T')) (end of T codes) /*! #### End of T-Codes @@ -9139,6 +9033,23 @@ Sigma_Exit: }; #endif +#ifdef TEMP_MODEL_DEBUG + /*! + ## D70 - Enable low-level temperature model logging for offline simulation + #### Usage + + D70 [ S ] + + #### Parameters + - `S` - Enable 0-1 (default 0) + */ + case 70: { + if(code_seen('S')) + temp_model_log_enable(code_value_short()); + break; + } +#endif + #ifdef HEATBED_ANALYSIS /*! @@ -9246,7 +9157,7 @@ Sigma_Exit: dcode_2130(); break; #endif //TMC2130 -#if (defined (FILAMENT_SENSOR) && defined(PAT9125)) +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) /*! ### D9125 - PAT9125 filament sensor D9125: PAT9125 filament sensor @@ -9264,7 +9175,7 @@ Sigma_Exit: */ case 9125: dcode_9125(); break; -#endif //FILAMENT_SENSOR +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) #endif //DEBUG_DCODES @@ -9348,8 +9259,7 @@ void update_currents() { } #endif //MOTHERBOARD == BOARD_RAMBO_MINI_1_0 || MOTHERBOARD == BOARD_RAMBO_MINI_1_3 -void get_coordinates() -{ +void get_coordinates() { bool seen[4]={false,false,false,false}; for(int8_t i=0; i < NUM_AXIS; i++) { if(code_seen(axis_codes[i])) @@ -9386,31 +9296,6 @@ void get_coordinates() } } -void get_arc_coordinates() -{ -#ifdef SF_ARC_FIX - bool relative_mode_backup = relative_mode; - relative_mode = true; -#endif - get_coordinates(); -#ifdef SF_ARC_FIX - relative_mode=relative_mode_backup; -#endif - - if(code_seen('I')) { - offset[0] = code_value(); - } - else { - offset[0] = 0.0; - } - if(code_seen('J')) { - offset[1] = code_value(); - } - else { - offset[1] = 0.0; - } -} - void clamp_to_software_endstops(float target[3]) { #ifdef DEBUG_DISABLE_SWLIMITS @@ -9432,59 +9317,70 @@ void clamp_to_software_endstops(float target[3]) } } +uint16_t restore_interrupted_gcode() { + // When recovering from a previous print move, restore the originally + // calculated start position on the first USB/SD command. This accounts + // properly for relative moves + if ( + (saved_start_position[0] != SAVED_START_POSITION_UNSET) && ( + (CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_SDCARD) || + (CMDBUFFER_CURRENT_TYPE == CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR) + ) + ) { + memcpy(current_position, saved_start_position, sizeof(current_position)); + saved_start_position[0] = SAVED_START_POSITION_UNSET; + return saved_segment_idx; + } + else + return 1; //begin with the first segment +} + #ifdef MESH_BED_LEVELING -void mesh_plan_buffer_line(const float &x, const float &y, const float &z, const float &e, const float &feed_rate, const uint8_t extruder) { +void mesh_plan_buffer_line(const float &x, const float &y, const float &z, const float &e, const float &feed_rate, const uint8_t extruder, uint16_t start_segment_idx = 0) { float dx = x - current_position[X_AXIS]; float dy = y - current_position[Y_AXIS]; - int n_segments = 0; + uint16_t n_segments = 0; if (mbl.active) { float len = fabs(dx) + fabs(dy); if (len > 0) // Split to 3cm segments or shorter. - n_segments = int(ceil(len / 30.f)); + n_segments = uint16_t(ceil(len / 30.f)); } - if (n_segments > 1) { - // In a multi-segment move explicitly set the final target in the plan - // as the move will be recalculated in it's entirety - float gcode_target[NUM_AXIS]; - gcode_target[X_AXIS] = x; - gcode_target[Y_AXIS] = y; - gcode_target[Z_AXIS] = z; - gcode_target[E_AXIS] = e; + if (n_segments > 1 && start_segment_idx) { float dz = z - current_position[Z_AXIS]; float de = e - current_position[E_AXIS]; - for (int i = 1; i < n_segments; ++ i) { + for (uint16_t i = start_segment_idx; i < n_segments; ++ i) { float t = float(i) / float(n_segments); plan_buffer_line(current_position[X_AXIS] + t * dx, current_position[Y_AXIS] + t * dy, current_position[Z_AXIS] + t * dz, current_position[E_AXIS] + t * de, - feed_rate, extruder, gcode_target); - if (waiting_inside_plan_buffer_line_print_aborted) + feed_rate, extruder, current_position, i); + if (planner_aborted) return; } } // The rest of the path. - plan_buffer_line(x, y, z, e, feed_rate, extruder); + plan_buffer_line(x, y, z, e, feed_rate, extruder, current_position); } #endif // MESH_BED_LEVELING -void prepare_move() +void prepare_move(uint16_t start_segment_idx) { clamp_to_software_endstops(destination); previous_millis_cmd.start(); // Do not use feedmultiply for E or Z only moves - if( (current_position[X_AXIS] == destination [X_AXIS]) && (current_position[Y_AXIS] == destination [Y_AXIS])) { + if((current_position[X_AXIS] == destination[X_AXIS]) && (current_position[Y_AXIS] == destination[Y_AXIS])) { plan_buffer_line_destinationXYZE(feedrate/60); } else { #ifdef MESH_BED_LEVELING - mesh_plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply*(1./(60.f*100.f)), active_extruder); + mesh_plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply*(1./(60.f*100.f)), active_extruder, start_segment_idx); #else plan_buffer_line_destinationXYZE(feedrate*feedmultiply*(1./(60.f*100.f))); #endif @@ -9493,10 +9389,10 @@ void prepare_move() set_current_to_destination(); } -void prepare_arc_move(bool isclockwise) { +void prepare_arc_move(bool isclockwise, uint16_t start_segment_idx) { float r = hypot(offset[X_AXIS], offset[Y_AXIS]); // Compute arc radius for mc_arc // Trace the arc - mc_arc(current_position, destination, offset, feedrate * feedmultiply / 60 / 100.0, r, isclockwise, active_extruder); + mc_arc(current_position, destination, offset, feedrate * feedmultiply / 60 / 100.0, r, isclockwise, active_extruder, start_segment_idx); // As far as the parser is concerned, the position is now == target. In reality the // motion control system might still be processing the action and the real tool position // in any intermediate location. @@ -9566,7 +9462,7 @@ static void handleSafetyTimer() #if (EXTRUDERS > 1) #error Implemented only for one extruder. #endif //(EXTRUDERS > 1) - if ((PRINTER_ACTIVE) || (!degTargetBed() && !degTargetHotend(0)) || (!safetytimer_inactive_time)) + if (printer_active() || (!degTargetBed() && !degTargetHotend(0)) || (!safetytimer_inactive_time)) { safetyTimer.stop(); } @@ -9583,134 +9479,13 @@ static void handleSafetyTimer() } #endif //SAFETYTIMER -#ifdef IR_SENSOR_ANALOG -#define FS_CHECK_COUNT 16 -/// Switching mechanism of the fsensor type. -/// Called from 2 spots which have a very similar behavior -/// 1: ClFsensorPCB::_Old -> ClFsensorPCB::_Rev04 and print _i("FS v0.4 or newer") -/// 2: ClFsensorPCB::_Rev04 -> oFsensorPCB=ClFsensorPCB::_Old and print _i("FS v0.3 or older") -void manage_inactivity_IR_ANALOG_Check(uint16_t &nFSCheckCount, ClFsensorPCB isVersion, ClFsensorPCB switchTo, const char *statusLineTxt_P) { - bool bTemp = (!CHECK_ALL_HEATERS); - bTemp = bTemp && (menu_menu == lcd_status_screen); - bTemp = bTemp && ((oFsensorPCB == isVersion) || (oFsensorPCB == ClFsensorPCB::_Undef)); - bTemp = bTemp && fsensor_enabled; - if (bTemp) { - nFSCheckCount++; - if (nFSCheckCount > FS_CHECK_COUNT) { - nFSCheckCount = 0; // not necessary - oFsensorPCB = switchTo; - eeprom_update_byte((uint8_t *)EEPROM_FSENSOR_PCB, (uint8_t)oFsensorPCB); - printf_IRSensorAnalogBoardChange(); - lcd_setstatuspgm(statusLineTxt_P); - } - } else { - nFSCheckCount = 0; - } -} -#endif - void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument set in Marlin.h { #ifdef FILAMENT_SENSOR -bool bInhibitFlag = false; -#ifdef IR_SENSOR_ANALOG -static uint16_t nFSCheckCount=0; -#endif // IR_SENSOR_ANALOG - - if (mmu_enabled == false) - { -//-// if (mcode_in_progress != 600) //M600 not in progress - if (!PRINTER_ACTIVE) bInhibitFlag=(menu_menu==lcd_menu_show_sensors_state); //Block Filament sensor actions if PRINTER is not active and Support::SensorInfo menu active -#ifdef IR_SENSOR_ANALOG - bInhibitFlag=bInhibitFlag||bMenuFSDetect; // Block Filament sensor actions if Settings::HWsetup::FSdetect menu active -#endif // IR_SENSOR_ANALOG - if ((mcode_in_progress != 600) && (eFilamentAction != FilamentAction::AutoLoad) && (!bInhibitFlag) && (menu_menu != lcd_move_e)) //M600 not in progress, preHeat @ autoLoad menu not active - { - if (!moves_planned() && !IS_SD_PRINTING && !usb_timer.running() && (lcd_commands_type != LcdCommands::Layer1Cal) && ! eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE)) - { -#ifdef IR_SENSOR_ANALOG - static uint16_t minVolt = Voltage2Raw(6.F), maxVolt = 0; - // detect min-max, some long term sliding window for filtration may be added - // avoiding floating point operations, thus computing in raw - if( current_voltage_raw_IR > maxVolt )maxVolt = current_voltage_raw_IR; - if( current_voltage_raw_IR < minVolt )minVolt = current_voltage_raw_IR; - -#if 0 // Start: IR Sensor debug info - { // debug print - static uint16_t lastVolt = ~0U; - if( current_voltage_raw_IR != lastVolt ){ - printf_P(PSTR("fs volt=%4.2fV (min=%4.2f max=%4.2f)\n"), Raw2Voltage(current_voltage_raw_IR), Raw2Voltage(minVolt), Raw2Voltage(maxVolt) ); - lastVolt = current_voltage_raw_IR; - } - } -#endif // End: IR Sensor debug info - //! The trouble is, I can hold the filament in the hole in such a way, that it creates the exact voltage - //! to be detected as the new fsensor - //! We can either fake it by extending the detection window to a looooong time - //! or do some other countermeasures - - //! what we want to detect: - //! if minvolt gets below ~0.3V, it means there is an old fsensor - //! if maxvolt gets above 4.6V, it means we either have an old fsensor or broken cables/fsensor - //! So I'm waiting for a situation, when minVolt gets to range <0, 1.5> and maxVolt gets into range <3.0, 5> - //! If and only if minVolt is in range <0.3, 1.5> and maxVolt is in range <3.0, 4.6>, I'm considering a situation with the new fsensor - if( minVolt >= IRsensor_Ldiode_TRESHOLD && minVolt <= IRsensor_Lmax_TRESHOLD - && maxVolt >= IRsensor_Hmin_TRESHOLD && maxVolt <= IRsensor_Hopen_TRESHOLD - ){ - manage_inactivity_IR_ANALOG_Check(nFSCheckCount, ClFsensorPCB::_Old, ClFsensorPCB::_Rev04, _i("FS v0.4 or newer") ); ////MSG_FS_V_04_OR_NEWER c=18 - } - //! If and only if minVolt is in range <0.0, 0.3> and maxVolt is in range <4.6, 5.0V>, I'm considering a situation with the old fsensor - //! Note, we are not relying on one voltage here - getting just +5V can mean an old fsensor or a broken new sensor - that's why - //! we need to have both voltages detected correctly to allow switching back to the old fsensor. - else if( minVolt < IRsensor_Ldiode_TRESHOLD - && maxVolt > IRsensor_Hopen_TRESHOLD && maxVolt <= IRsensor_VMax_TRESHOLD - ){ - manage_inactivity_IR_ANALOG_Check(nFSCheckCount, ClFsensorPCB::_Rev04, oFsensorPCB=ClFsensorPCB::_Old, _i("FS v0.3 or older")); ////MSG_FS_V_03_OR_OLDER c=18 - } -#endif // IR_SENSOR_ANALOG - if (fsensor_check_autoload()) - { -#ifdef PAT9125 - fsensor_autoload_check_stop(); -#endif //PAT9125 -//-// if ((int)degHotend0() > extrude_min_temp) -if(0) - { - Sound_MakeCustom(50,1000,false); - loading_flag = true; - enquecommand_front_P((PSTR("M701"))); - } - else - { -/* - lcd_update_enable(false); - show_preheat_nozzle_warning(); - lcd_update_enable(true); -*/ - eFilamentAction=FilamentAction::AutoLoad; - bFilamentFirstRun=false; - if(target_temperature[0] >= extrude_min_temp){ - bFilamentPreheatState=true; -// mFilamentItem(target_temperature[0],target_temperature_bed); - menu_submenu(mFilamentItemForce); - } else { - menu_submenu(lcd_generic_preheat_menu); - lcd_timeoutToStatus.start(); - } - } - } - } - else - { -#ifdef PAT9125 - fsensor_autoload_check_stop(); -#endif //PAT9125 - if (fsensor_enabled && !saved_printing) - fsensor_update(); - } - } - } -#endif //FILAMENT_SENSOR + if (fsensor.update()) { + lcd_draw_update = 1; //cause lcd update so that fsensor event polling can be done from the lcd draw routine. + } +#endif #ifdef SAFETYTIMER handleSafetyTimer(); @@ -9795,7 +9570,7 @@ if(0) } #endif check_axes_activity(); - mmu_loop(); + MMU2::mmu2.mmu_loop(); // handle longpress if(lcd_longpress_trigger) @@ -9866,6 +9641,7 @@ void UnconditionalStop() // Disable all heaters and unroll the temperature wait loop stack disable_heater(); cancel_heatup = true; + heating_status = HeatingStatus::NO_HEATING; // Clear any saved printing state cancel_saved_printing(); @@ -9885,39 +9661,60 @@ void UnconditionalStop() CRITICAL_SECTION_END; } -// Stop: Emergency stop used by overtemp functions which allows recovery +// Emergency stop used by overtemp functions which allows recovery +// WARNING: This function is called *continuously* during a thermal failure. // -// In addition to stopping the print, this prevents subsequent G[0-3] commands to be -// processed via USB (using "Stopped") until the print is resumed via M999 or -// manually started from scratch with the LCD. -// -// Note that the current instruction is completely discarded, so resuming from Stop() -// will introduce either over/under extrusion on the current segment, and will not -// survive a power panic. Switching Stop() to use the pause machinery instead (with -// the addition of disabling the headers) could allow true recovery in the future. -void Stop() +// This either pauses (for thermal model errors) or stops *without recovery* depending on +// "allow_pause". If pause is allowed, this forces a printer-initiated instantanenous pause (just +// like an LCD pause) that bypasses the host pausing functionality. In this state the printer is +// kept in busy state and *must* be recovered from the LCD. +void ThermalStop(bool allow_pause) { - // Keep disabling heaters - disable_heater(); + if(Stopped == false) { + Stopped = true; + if(allow_pause && (IS_SD_PRINTING || usb_timer.running())) { + if (!isPrintPaused) { + lcd_setalertstatuspgm(_T(MSG_PAUSED_THERMAL_ERROR), LCD_STATUS_CRITICAL); - // Call the regular stop function if that's the first time during a new print - if(Stopped == false) { - Stopped = true; - lcd_print_stop(); - Stopped_gcode_LastN = gcode_LastN; // Save last g_code for restart + // we cannot make a distinction for the host here, the pause must be instantaneous + // so we call the lcd_pause_print to save the print state internally. Thermal errors + // disable heaters and save the original temperatures to saved_*, which will get + // overwritten by stop_and_save_print_to_ram. For this corner-case, re-instate the + // original values after the pause handler is called. + float bed_temp = saved_bed_temperature; + float ext_temp = saved_extruder_temperature; + int fan_speed = saved_fan_speed; + lcd_pause_print(); + saved_bed_temperature = bed_temp; + saved_extruder_temperature = ext_temp; + saved_fan_speed = fan_speed; + } + } else { + // We got a hard thermal error and/or there is no print going on. Just stop. + lcd_print_stop(); - // Eventually report the stopped status (though this is usually overridden by a - // higher-priority alert status message) - SERIAL_ERROR_START; - SERIAL_ERRORLNRPGM(MSG_ERR_STOPPED); - LCD_MESSAGERPGM(_T(MSG_STOPPED)); - } + // Also prevent further menu entry + menu_set_block(MENU_BLOCK_THERMAL_ERROR); + } - // Return to the status screen to stop any pending menu action which could have been - // started by the user while stuck in the Stopped state. This also ensures the NEW - // error is immediately shown. - if (menu_menu != lcd_status_screen) - lcd_return_to_status(); + // Report the status on the serial, switch to a busy state + SERIAL_ERROR_START; + SERIAL_ERRORLNRPGM(MSG_ERR_STOPPED); + + // Eventually report the stopped status on the lcd (though this is usually overridden by a + // higher-priority alert status message) + LCD_MESSAGERPGM(_T(MSG_STOPPED)); + + // Make a warning sound! We cannot use Sound_MakeCustom as this would stop further moves. + // Turn on the speaker here (if not already), and turn it off when back in the main loop. + WRITE(BEEPER, HIGH); + } + + // Return to the status screen to stop any pending menu action which could have been + // started by the user while stuck in the Stopped state. This also ensures the NEW + // error is immediately shown. + if (menu_menu != lcd_status_screen) + lcd_return_to_status(); } bool IsStopped() { return Stopped; }; @@ -10029,23 +9826,9 @@ bool setTargetedHotend(int code, uint8_t &extruder) extruder = code_value_uint8(); if(extruder >= EXTRUDERS) { SERIAL_ECHO_START; - switch(code){ - case 104: - SERIAL_ECHORPGM(_n("M104 Invalid extruder "));////MSG_M104_INVALID_EXTRUDER - break; - case 105: - SERIAL_ECHORPGM(_n("M105 Invalid extruder "));////MSG_M105_INVALID_EXTRUDER - break; - case 109: - SERIAL_ECHORPGM(_n("M109 Invalid extruder "));////MSG_M109_INVALID_EXTRUDER - break; - case 218: - SERIAL_ECHORPGM(_n("M218 Invalid extruder "));////MSG_M218_INVALID_EXTRUDER - break; - case 221: - SERIAL_ECHORPGM(_n("M221 Invalid extruder "));////MSG_M221_INVALID_EXTRUDER - break; - } + serialprintPGM(PSTR("M")); + SERIAL_ECHO(code); + SERIAL_ECHOPGM(" Invalid extruder "); SERIAL_PROTOCOLLN((int)extruder); return true; } @@ -10749,20 +10532,27 @@ void long_pause() //long pause print start_pause_print = _millis(); // Stop heaters + heating_status = HeatingStatus::NO_HEATING; setAllTargetHotends(0); - //lift z - current_position[Z_AXIS] += Z_PAUSE_LIFT; - clamp_to_software_endstops(current_position); - plan_buffer_line_curposXYZE(15); + // Lift z + raise_z(Z_PAUSE_LIFT); - //Move XY to side - current_position[X_AXIS] = X_PAUSE_POS; - current_position[Y_AXIS] = Y_PAUSE_POS; - plan_buffer_line_curposXYZE(50); + // Move XY to side + if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) { + current_position[X_AXIS] = X_PAUSE_POS; + current_position[Y_AXIS] = Y_PAUSE_POS; + plan_buffer_line_curposXYZE(50); + } - // Turn off the print fan - fanSpeed = 0; + // did we come here from a thermal error? + if(get_temp_error()) { + // time to stop the error beep + WRITE(BEEPER, LOW); + } else { + // Turn off the print fan + fanSpeed = 0; + } } void serialecho_temperatures() { @@ -10829,13 +10619,15 @@ void uvlo_() uint16_t feedrate_bckp; if (current_block && !pos_invalid) { - memcpy(saved_target, current_block->gcode_target, sizeof(saved_target)); + memcpy(saved_start_position, current_block->gcode_start_position, sizeof(saved_start_position)); feedrate_bckp = current_block->gcode_feedrate; + saved_segment_idx = current_block->segment_idx; } else { - saved_target[0] = SAVED_TARGET_UNSET; + saved_start_position[0] = SAVED_START_POSITION_UNSET; feedrate_bckp = feedrate; + saved_segment_idx = 0; } // From this point on and up to the print recovery, Z should not move during X/Y travels and @@ -10866,6 +10658,7 @@ void uvlo_() // Enable stepper driver interrupt to move Z axis. This should be fine as the planner and // command queues are empty, SD card printing is disabled, usb is inhibited. + planner_aborted = false; sei(); // Retract @@ -10933,10 +10726,12 @@ void uvlo_() eeprom_update_float((float*)(EEPROM_UVLO_TRAVEL_ACCELL), cs.travel_acceleration); // Store the saved target - eeprom_update_float((float*)(EEPROM_UVLO_SAVED_TARGET+0*4), saved_target[X_AXIS]); - eeprom_update_float((float*)(EEPROM_UVLO_SAVED_TARGET+1*4), saved_target[Y_AXIS]); - eeprom_update_float((float*)(EEPROM_UVLO_SAVED_TARGET+2*4), saved_target[Z_AXIS]); - eeprom_update_float((float*)(EEPROM_UVLO_SAVED_TARGET+3*4), saved_target[E_AXIS]); + eeprom_update_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+0*4), saved_start_position[X_AXIS]); + eeprom_update_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+1*4), saved_start_position[Y_AXIS]); + eeprom_update_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+2*4), saved_start_position[Z_AXIS]); + eeprom_update_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+3*4), saved_start_position[E_AXIS]); + + eeprom_update_word((uint16_t*)EEPROM_UVLO_SAVED_SEGMENT_IDX, saved_segment_idx); #ifdef LIN_ADVANCE eeprom_update_float((float*)(EEPROM_UVLO_LA_K), extruder_advance_K); @@ -10998,6 +10793,7 @@ void uvlo_tiny() // Enable stepper driver interrupt to move Z axis. This should be fine as the planner and // command queues are empty, SD card printing is disabled, usb is inhibited. + planner_aborted = false; sei(); // The axis was moved: adjust Z as done on a regular UVLO. @@ -11092,7 +10888,7 @@ ISR(INT4_vect) { EIMSK &= ~(1 << 4); //disable INT4 interrupt to make sure that this code will be executed just once SERIAL_ECHOLNPGM("INT4"); //fire normal uvlo only in case where EEPROM_UVLO is 0 or if IS_SD_PRINTING is 1. - if(PRINTER_ACTIVE && (!(eeprom_read_byte((uint8_t*)EEPROM_UVLO)))) uvlo_(); + if(printer_active() && (!(eeprom_read_byte((uint8_t*)EEPROM_UVLO)))) uvlo_(); if(eeprom_read_byte((uint8_t*)EEPROM_UVLO)) uvlo_tiny(); } @@ -11119,7 +10915,7 @@ void recover_print(uint8_t automatic) { // Set the target bed and nozzle temperatures and wait. sprintf_P(cmd, PSTR("M104 S%d"), target_temperature[active_extruder]); enquecommand(cmd); - sprintf_P(cmd, PSTR("M190 S%d"), target_temperature_bed); + sprintf_P(cmd, PSTR("M140 S%d"), target_temperature_bed); enquecommand(cmd); sprintf_P(cmd, PSTR("M109 S%d"), target_temperature[active_extruder]); enquecommand(cmd); @@ -11205,10 +11001,12 @@ bool recover_machine_state_after_power_panic() extrudemultiply = (int)eeprom_read_word((uint16_t*)(EEPROM_EXTRUDEMULTIPLY)); // 9) Recover the saved target - saved_target[X_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_TARGET+0*4)); - saved_target[Y_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_TARGET+1*4)); - saved_target[Z_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_TARGET+2*4)); - saved_target[E_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_TARGET+3*4)); + saved_start_position[X_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+0*4)); + saved_start_position[Y_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+1*4)); + saved_start_position[Z_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+2*4)); + saved_start_position[E_AXIS] = eeprom_read_float((float*)(EEPROM_UVLO_SAVED_START_POSITION+3*4)); + + saved_segment_idx = eeprom_read_word((uint16_t*)EEPROM_UVLO_SAVED_SEGMENT_IDX); #ifdef LIN_ADVANCE extruder_advance_K = eeprom_read_float((float*)EEPROM_UVLO_LA_K); @@ -11222,7 +11020,7 @@ void restore_print_from_eeprom(bool mbl_was_active) { int feedmultiply_rec; uint8_t fan_speed_rec; char cmd[48]; - char filename[13]; + char filename[FILENAME_LENGTH]; uint8_t depth = 0; char dir_name[9]; @@ -11450,13 +11248,16 @@ void stop_and_save_print_to_ram(float z_move, float e_move) bool pos_invalid = XY_NO_RESTORE_FLAG; if (current_block && !pos_invalid) { - memcpy(saved_target, current_block->gcode_target, sizeof(saved_target)); + memcpy(saved_start_position, current_block->gcode_start_position, sizeof(saved_start_position)); saved_feedrate2 = current_block->gcode_feedrate; + saved_segment_idx = current_block->segment_idx; + // printf_P(PSTR("stop_and_save_print_to_ram: %f, %f, %f, %f, %u\n"), saved_start_position[0], saved_start_position[1], saved_start_position[2], saved_start_position[3], saved_segment_idx); } else { - saved_target[0] = SAVED_TARGET_UNSET; + saved_start_position[0] = SAVED_START_POSITION_UNSET; saved_feedrate2 = feedrate; + saved_segment_idx = 0; } planner_abort_hard(); //abort printing @@ -11465,10 +11266,10 @@ void stop_and_save_print_to_ram(float z_move, float e_move) if (pos_invalid) saved_pos[X_AXIS] = X_COORD_INVALID; saved_feedmultiply2 = feedmultiply; //save feedmultiply - saved_active_extruder = active_extruder; //save active_extruder saved_extruder_temperature = degTargetHotend(active_extruder); + saved_bed_temperature = degTargetBed(); saved_extruder_relative_mode = axis_relative_modes & E_AXIS_MASK; - saved_fanSpeed = fanSpeed; + saved_fan_speed = fanSpeed; cmdqueue_reset(); //empty cmdqueue card.sdprinting = false; // card.closefile(); @@ -11477,7 +11278,7 @@ void stop_and_save_print_to_ram(float z_move, float e_move) st_reset_timer(); sei(); if ((z_move != 0) || (e_move != 0)) { // extruder or z move -#if 1 + // Rather than calling plan_buffer_line directly, push the move into the command queue so that // the caller can continue processing. This is used during powerpanic to save the state as we // move away from the print. @@ -11509,16 +11310,19 @@ void stop_and_save_print_to_ram(float z_move, float e_move) // If this call is invoked from the main Arduino loop() function, let the caller know that the command // in the command queue is not the original command, but a new one, so it should not be removed from the queue. repeatcommand_front(); -#else - plan_buffer_line(saved_pos[X_AXIS], saved_pos[Y_AXIS], saved_pos[Z_AXIS] + z_move, saved_pos[E_AXIS] + e_move, homing_feedrate[Z_AXIS], active_extruder); - st_synchronize(); //wait moving - memcpy(current_position, saved_pos, sizeof(saved_pos)); - set_destination_to_current(); -#endif - waiting_inside_plan_buffer_line_print_aborted = true; //unroll the stack } } +void restore_extruder_temperature_from_ram() { + if (degTargetHotend(active_extruder) != saved_extruder_temperature) + { + setTargetHotendSafe(saved_extruder_temperature, active_extruder); + heating_status = HeatingStatus::EXTRUDER_HEATING; + wait_for_heater(_millis(), active_extruder); + heating_status = HeatingStatus::EXTRUDER_HEATING_COMPLETE; + } +} + //! @brief Restore print from ram //! //! Restore print saved by stop_and_save_print_to_ram(). Is blocking, restores @@ -11538,17 +11342,11 @@ void restore_print_from_ram_and_continue(float e_move) if (fan_check_error == EFCE_FIXED) fan_check_error = EFCE_OK; //reenable serial stream processing if printing from usb #endif -// for (int axis = X_AXIS; axis <= E_AXIS; axis++) -// current_position[axis] = st_get_position_mm(axis); - active_extruder = saved_active_extruder; //restore active_extruder - fanSpeed = saved_fanSpeed; - if (degTargetHotend(saved_active_extruder) != saved_extruder_temperature) - { - setTargetHotendSafe(saved_extruder_temperature, saved_active_extruder); - heating_status = HeatingStatus::EXTRUDER_HEATING; - wait_for_heater(_millis(), saved_active_extruder); - heating_status = HeatingStatus::EXTRUDER_HEATING_COMPLETE; - } + // restore bed temperature (bed can be disabled during a thermal warning) + if (degBed() != saved_bed_temperature) + setTargetBed(saved_bed_temperature); + fanSpeed = saved_fan_speed; + restore_extruder_temperature_from_ram(); axis_relative_modes ^= (-saved_extruder_relative_mode ^ axis_relative_modes) & E_AXIS_MASK; float e = saved_pos[E_AXIS] - e_move; plan_set_e_position(e); @@ -11599,14 +11397,14 @@ void restore_print_from_ram_and_continue(float e_move) lcd_setstatuspgm(MSG_WELCOME); saved_printing_type = PRINTING_TYPE_NONE; saved_printing = false; - waiting_inside_plan_buffer_line_print_aborted = true; //unroll the stack + planner_aborted = true; // unroll the stack } // Cancel the state related to a currently saved print void cancel_saved_printing() { eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0); - saved_target[0] = SAVED_TARGET_UNSET; + saved_start_position[0] = SAVED_START_POSITION_UNSET; saved_printing_type = PRINTING_TYPE_NONE; saved_printing = false; } @@ -11678,21 +11476,28 @@ void load_filament_final_feed() //! @par nozzle_temp nozzle temperature to load filament void M600_check_state(float nozzle_temp) { - lcd_change_fil_state = 0; - while (lcd_change_fil_state != 1) + uint8_t lcd_change_filament_state = 0; + while (lcd_change_filament_state != 1) { - lcd_change_fil_state = 0; KEEPALIVE_STATE(PAUSED_FOR_USER); - lcd_alright(); + lcd_change_filament_state = lcd_alright(); KEEPALIVE_STATE(IN_HANDLER); - switch(lcd_change_fil_state) + switch(lcd_change_filament_state) { // Filament failed to load so load it again case 2: - if (mmu_enabled) - mmu_M600_load_filament(false, nozzle_temp); //nonautomatic load; change to "wrong filament loaded" option? - else + if (MMU2::mmu2.Enabled()){ + // Unload filament + mmu_M600_unload_filament(); + + // Ask to remove any old filament and load new + mmu_M600_wait_and_beep(); + + // After user clicks knob, MMU will load the filament + mmu_M600_load_filament(false, nozzle_temp); + } else { M600_load_filament_movements(); + } break; // Filament loaded properly but color is not clear @@ -11810,46 +11615,23 @@ void M600_load_filament() { //load_filament_time = _millis(); KEEPALIVE_STATE(PAUSED_FOR_USER); -#ifdef PAT9125 - fsensor_autoload_check_start(); -#endif //PAT9125 while(!lcd_clicked()) { manage_heater(); manage_inactivity(true); #ifdef FILAMENT_SENSOR - if (fsensor_check_autoload()) - { - Sound_MakeCustom(50,1000,false); + if (fsensor.getFilamentLoadEvent()) { + Sound_MakeCustom(50,1000,false); break; } #endif //FILAMENT_SENSOR } -#ifdef PAT9125 - fsensor_autoload_check_stop(); -#endif //PAT9125 KEEPALIVE_STATE(IN_HANDLER); -#ifdef FSENSOR_QUALITY - fsensor_oq_meassure_start(70); -#endif //FSENSOR_QUALITY - M600_load_filament_movements(); - Sound_MakeCustom(50,1000,false); + Sound_MakeCustom(50,1000,false); -#ifdef FSENSOR_QUALITY - fsensor_oq_meassure_stop(); - - if (!fsensor_oq_result()) - { - bool disable = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Fil. sensor response is poor, disable it?"), false, true); - lcd_update_enable(true); - lcd_update(2); - if (disable) - fsensor_disable(); - } -#endif //FSENSOR_QUALITY lcd_update_enable(false); } @@ -11871,8 +11653,6 @@ void marlin_wait_for_click() KEEPALIVE_STATE(busy_state_backup); } -#define FIL_LOAD_LENGTH 60 - #ifdef PSU_Delta bool bEnableForce_z; diff --git a/Firmware/Prusa_farm.cpp b/Firmware/Prusa_farm.cpp new file mode 100644 index 000000000..b6fca0f52 --- /dev/null +++ b/Firmware/Prusa_farm.cpp @@ -0,0 +1,500 @@ +#include "Prusa_farm.h" +#include "macros.h" +#include "Marlin.h" +#include "cmdqueue.h" +#include "temperature.h" +#include "cardreader.h" +#include "conv2str.h" +#include "util.h" +#include "ultralcd.h" +#include "Filament_sensor.h" + +#ifdef PRUSA_FARM +uint8_t farm_mode = 0; + +static ShortTimer NcTime; +static uint8_t farm_timer = 8; +static uint8_t status_number = 0; +static bool no_response = false; +#ifdef PRUSA_M28 +#define CHUNK_SIZE 64 // bytes +#define SAFETY_MARGIN 1 +bool prusa_sd_card_upload = false; +char chunk[CHUNK_SIZE+SAFETY_MARGIN]; +#endif + + +static void prusa_statistics_err(char c); +static void prusa_stat_printerstatus(uint8_t _status); +static void prusa_stat_farm_number(); +static void prusa_stat_diameter(); +static void prusa_stat_temperatures(); +static void prusa_stat_printinfo(); +static void lcd_send_status(); +#ifdef FARM_CONNECT_MESSAGE +static void proc_commands(); +static void lcd_connect_printer(); +#endif //FARM_CONNECT_MESSAGE +#ifdef PRUSA_M28 +static void trace(); +#endif + + +static void prusa_statistics_err(char c) { + SERIAL_ECHOPGM("{[ERR:"); + SERIAL_ECHO(c); + SERIAL_ECHO(']'); + prusa_stat_farm_number(); +} + +static void prusa_statistics_case0(uint8_t statnr) { + SERIAL_ECHO('{'); + prusa_stat_printerstatus(statnr); + prusa_stat_farm_number(); + prusa_stat_printinfo(); +} + +static void prusa_stat_printerstatus(uint8_t _status) { + SERIAL_ECHOPGM("[PRN:"); + SERIAL_ECHO(_status); + SERIAL_ECHO(']'); +} + +static void prusa_stat_farm_number() { + SERIAL_ECHOPGM("[PFN:0]"); +} + +static void prusa_stat_diameter() { + SERIAL_ECHOPGM("[DIA:"); + SERIAL_ECHO(eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)); + SERIAL_ECHO(']'); +} + +static void prusa_stat_temperatures() { + SERIAL_ECHOPGM("[ST0:"); + SERIAL_ECHO(target_temperature[0]); + SERIAL_ECHOPGM("][STB:"); + SERIAL_ECHO(target_temperature_bed); + SERIAL_ECHOPGM("][AT0:"); + SERIAL_ECHO(current_temperature[0]); + SERIAL_ECHOPGM("][ATB:"); + SERIAL_ECHO(current_temperature_bed); + SERIAL_ECHO(']'); +} + +static void prusa_stat_printinfo() { + SERIAL_ECHOPGM("[TFU:"); + SERIAL_ECHO(total_filament_used); + SERIAL_ECHOPGM("][PCD:"); + SERIAL_ECHO(itostr3(card.percentDone())); + SERIAL_ECHOPGM("][FEM:"); + SERIAL_ECHO(itostr3(feedmultiply)); + SERIAL_ECHOPGM("][FNM:"); + SERIAL_ECHO(card.longFilename[0] ? card.longFilename : card.filename); + SERIAL_ECHOPGM("][TIM:"); + if (starttime != 0) { + SERIAL_ECHO(_millis() / 1000 - starttime / 1000); + } + else { + SERIAL_ECHO(0); + } + SERIAL_ECHOPGM("][FWR:"); + SERIAL_ECHORPGM(FW_VERSION_STR_P()); + SERIAL_ECHO(']'); + prusa_stat_diameter(); +} + +static void lcd_send_status() { + if (farm_mode && no_response && (NcTime.expired(NC_TIME * 1000))) { + //send important status messages periodicaly + prusa_statistics(8); + NcTime.start(); +#ifdef FARM_CONNECT_MESSAGE + lcd_connect_printer(); +#endif //FARM_CONNECT_MESSAGE + } +} + +#ifdef FARM_CONNECT_MESSAGE +static void proc_commands() { + if (buflen) { + process_commands(); + if (!cmdbuffer_front_already_processed) + cmdqueue_pop_front(); + cmdbuffer_front_already_processed = false; + } +} + +static void lcd_connect_printer() { + lcd_update_enable(false); + lcd_clear(); + + int i = 0; + int t = 0; + lcd_puts_at_P(0, 0, PSTR("Connect printer to")); + lcd_puts_at_P(0, 1, PSTR("monitoring or hold")); + lcd_puts_at_P(0, 2, PSTR("the knob to continue")); + while (no_response) { + i++; + t++; + delay_keep_alive(100); + proc_commands(); + if (t == 10) { + prusa_statistics(8); + t = 0; + } + if (READ(BTN_ENC)) { //if button is not pressed + i = 0; + lcd_puts_at_P(0, 3, PSTR(" ")); + } + if (i != 0) + lcd_putc_at((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, LCD_STR_SOLID_BLOCK[0]); + if (i == NC_BUTTON_LONG_PRESS * 10) + no_response = false; + } + lcd_update_enable(true); + lcd_update(2); +} +#endif //FARM_CONNECT_MESSAGE + +#ifdef PRUSA_M28 +static void trace() { + Sound_MakeCustom(25,440,true); +} + +void serial_read_stream() { + + setAllTargetHotends(0); + setTargetBed(0); + + lcd_clear(); + lcd_puts_P(PSTR(" Upload in progress")); + + // first wait for how many bytes we will receive + uint32_t bytesToReceive; + + // receive the four bytes + char bytesToReceiveBuffer[4]; + for (int i=0; i<4; i++) { + int data; + while ((data = MYSERIAL.read()) == -1) {}; + bytesToReceiveBuffer[i] = data; + + } + + // make it a uint32 + memcpy(&bytesToReceive, &bytesToReceiveBuffer, 4); + + // we're ready, notify the sender + MYSERIAL.write('+'); + + // lock in the routine + uint32_t receivedBytes = 0; + while (prusa_sd_card_upload) { + int i; + for (i=0; i on + eeprom_update_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED, true); + } +} + +bool farm_prusa_code_seen() { + if (!farm_mode) + return false; + + if (code_seen_P(PSTR("PRN"))) { // PRUSA PRN + printf_P(_N("%u"), status_number); + } + else if (code_seen_P(PSTR("thx"))) { // PRUSA thx + no_response = false; + } +#ifdef PRUSA_M28 + else if (code_seen_P(PSTR("M28"))) { // PRUSA M28 + trace(); + prusa_sd_card_upload = true; + card.openFileWrite(strchr_pointer+4); + } +#endif //PRUSA_M28 + else if (code_seen_P(PSTR("fv"))) { // PRUSA fv + // get file version +#ifdef SDSUPPORT + card.openFileReadFilteredGcode(strchr_pointer + 3, true); + while (true) { + uint16_t readByte = card.getFilteredGcodeChar(); + MYSERIAL.write(readByte); + if (readByte == '\n') { + break; + } + } + card.closefile(); +#endif // SDSUPPORT + } + else { + return false; + } + + return true; +} + +void farm_gcode_g98() { + farm_mode = 1; + eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode); + SilentModeMenu = SILENT_MODE_OFF; + eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); + fCheckModeInit(); // alternatively invoke printer reset +} + +void farm_gcode_g99() { + farm_disable(); + lcd_update(2); + fCheckModeInit(); // alternatively invoke printer reset +} + +void farm_disable() { + farm_mode = false; + eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); +} + +#else //PRUSA_FARM + +void prusa_statistics(_UNUSED uint8_t message) { +} + +void prusa_statistics_update_from_status_screen() { +} + +void prusa_statistics_update_from_lcd_update() { +} + +void farm_mode_init() { +} + +bool farm_prusa_code_seen() { + return false; +} + +void farm_gcode_g98() { +} + +void farm_gcode_g99() { +} + +void farm_disable() { +} + +#endif //PRUSA_FARM + diff --git a/Firmware/Prusa_farm.h b/Firmware/Prusa_farm.h new file mode 100644 index 000000000..21f7e6986 --- /dev/null +++ b/Firmware/Prusa_farm.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include "config.h" + +#define FARM_PREHEAT_HOTEND_TEMP 250 +#define FARM_PREHEAT_HPB_TEMP 80 + +#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) +#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring +#define NC_BUTTON_LONG_PRESS 15 //time in s + +//#define FARM_CONNECT_MESSAGE + +#ifdef PRUSA_FARM +extern uint8_t farm_mode; +#else +#define farm_mode 0 +#endif + +#ifdef PRUSA_M28 +extern bool prusa_sd_card_upload; +extern void serial_read_stream(); +#endif +extern void prusa_statistics(uint8_t _message); +extern void prusa_statistics_update_from_status_screen(); +extern void prusa_statistics_update_from_lcd_update(); +extern void farm_mode_init(); +extern bool farm_prusa_code_seen(); +extern void farm_gcode_g98(); +extern void farm_gcode_g99(); +extern void farm_disable(); diff --git a/Firmware/SdBaseFile.cpp b/Firmware/SdBaseFile.cpp index e3b1c18c8..08b55651a 100644 --- a/Firmware/SdBaseFile.cpp +++ b/Firmware/SdBaseFile.cpp @@ -1015,7 +1015,7 @@ void SdBaseFile::printFatTime( uint16_t fatTime) { * the value zero, false, is returned for failure. */ bool SdBaseFile::printName() { - char name[13]; + char name[FILENAME_LENGTH]; if (!getFilename(name)) return false; MYSERIAL.print(name); return true; diff --git a/Firmware/SpoolJoin.cpp b/Firmware/SpoolJoin.cpp new file mode 100644 index 000000000..91f975adb --- /dev/null +++ b/Firmware/SpoolJoin.cpp @@ -0,0 +1,82 @@ +#include "SpoolJoin.h" +#include "Marlin.h" +#include "eeprom.h" +#include "messages.h" +#include "language.h" + +namespace SpoolJoin { + +SpoolJoin spooljoin; + +SpoolJoin::SpoolJoin() + : status(EEPROM::Unknown) + , currentMMUSlot(0) +{ +} + +void SpoolJoin::updateSpoolJoinStatus(EEPROM newStatus) +{ + status = newStatus; + eeprom_write_byte((uint8_t*)EEPROM_SPOOL_JOIN, (uint8_t)status); +} + +void SpoolJoin::initSpoolJoinStatus() +{ + EEPROM currentStatus = (EEPROM)eeprom_read_byte((uint8_t*)EEPROM_SPOOL_JOIN); + if( currentStatus == EEPROM::Empty) + { + // By default SpoolJoin is disabled + updateSpoolJoinStatus(EEPROM::Disabled); + } else { + updateSpoolJoinStatus(currentStatus); + } + + // Useful information to see during bootup + SERIAL_ECHOPGM("SpoolJoin is "); + if (isSpoolJoinEnabled()) + { + SERIAL_ECHOLNRPGM(_O(MSG_ON)); + } else { + SERIAL_ECHOLNRPGM(_O(MSG_OFF)); + } +} + +void SpoolJoin::toggleSpoolJoin() +{ + if (eeprom_read_byte((uint8_t*)EEPROM_SPOOL_JOIN) == (uint8_t)EEPROM::Disabled) + { + eeprom_write_byte((uint8_t*)EEPROM_SPOOL_JOIN, (uint8_t)EEPROM::Enabled); + } else { + eeprom_write_byte((uint8_t*)EEPROM_SPOOL_JOIN, (uint8_t)EEPROM::Disabled); + } +} + +bool SpoolJoin::isSpoolJoinEnabled() +{ + if(eeprom_read_byte((uint8_t*)EEPROM_SPOOL_JOIN) == (uint8_t)EEPROM::Enabled) { + return true; + } else { + return false; + } +} + +void SpoolJoin::setSlot(uint8_t slot) +{ + currentMMUSlot = slot; +} + +uint8_t SpoolJoin::nextSlot() +{ + SERIAL_ECHOPGM("SpoolJoin: "); + SERIAL_ECHO((int)currentMMUSlot); + + if (currentMMUSlot >= 4) currentMMUSlot = 0; + else currentMMUSlot++; + + SERIAL_ECHOPGM(" -> "); + SERIAL_ECHOLN((int)currentMMUSlot); + + return currentMMUSlot; +} + +} diff --git a/Firmware/SpoolJoin.h b/Firmware/SpoolJoin.h new file mode 100644 index 000000000..736139286 --- /dev/null +++ b/Firmware/SpoolJoin.h @@ -0,0 +1,60 @@ +/// @file +#pragma once +#include +#include "eeprom.h" + +// See documentation here: https://help.prusa3d.com/article/spooljoin-mmu2s_134252 + +namespace SpoolJoin { + +class SpoolJoin { +public: + SpoolJoin(); + + enum class EEPROM : uint8_t { + Unknown, ///< SpoolJoin is unknown while printer is booting up + Enabled, ///< SpoolJoin is enabled in EEPROM + Disabled, ///< SpoolJoin is disabled in EEPROM + Empty = 0xFF ///< EEPROM has not been set before and all bits are 1 (0xFF) - either a new printer or user erased the memory + }; + + /// @brief Called when EEPROM is ready to be read + void initSpoolJoinStatus(); + + /// @brief Enable SpoolJoin + inline void enableSpoolJoin() { updateSpoolJoinStatus(EEPROM::Enabled); }; + + /// @brief Disable SpoolJoin + inline void disableSpoolJoin() { updateSpoolJoinStatus(EEPROM::Disabled); }; + + /// @brief Toggle SpoolJoin + static void toggleSpoolJoin(); + + /// @brief Check if SpoolJoin is enabled + /// @returns true if enabled, false if disabled + bool isSpoolJoinEnabled(); + + /// @brief Update the saved MMU slot number so SpoolJoin can determine the next slot to use + /// @param slot number of the slot to set + void setSlot(uint8_t slot); + + /// @brief Fetch the next slot number should count from 0 to 4. + /// When filament slot 4 is depleted, the next slot should be 0. + /// @returns the next slot, ranges from 0 to 4 + uint8_t nextSlot(); + +private: + /// @brief Update EEPROM + /// @param newStatus Status to write into EEPROM + void updateSpoolJoinStatus(EEPROM newStatus); + + /// @brief SpoolJoin status + enum EEPROM status; + + /// @brief Currently used slot, ranges from 0 to 4 + uint8_t currentMMUSlot; +}; + +extern SpoolJoin spooljoin; + +} // namespace SpoolJoin diff --git a/Firmware/Tcodes.cpp b/Firmware/Tcodes.cpp new file mode 100644 index 000000000..30ea49c7b --- /dev/null +++ b/Firmware/Tcodes.cpp @@ -0,0 +1,105 @@ +#include "Tcodes.h" +#include "SpoolJoin.h" +#include "Marlin.h" +#include "language.h" +#include "messages.h" +#include "mmu2.h" +#include "stepper.h" +#include "ultralcd.h" +#include +#include +#include +#include + +static const char duplicate_Tcode_ignored[] PROGMEM = "Duplicate T-code ignored."; + +inline bool IsInvalidTCode(char *const s, uint8_t i) { + return ((s[i] < '0' || s[i] > '4') && s[i] != '?' && s[i] != 'x' && s[i] != 'c'); +} + +inline void TCodeInvalid() { + SERIAL_ECHOLNPGM("Invalid T code."); +} + +struct SChooseFromMenu { + uint8_t slot:7; + uint8_t loadToNozzle:1; + inline constexpr SChooseFromMenu(uint8_t slot, bool loadToNozzle):slot(slot), loadToNozzle(loadToNozzle){} + inline constexpr SChooseFromMenu():slot(0), loadToNozzle(false) { } +}; + +SChooseFromMenu TCodeChooseFromMenu() { + if (MMU2::mmu2.Enabled()) { + return SChooseFromMenu( choose_menu_P(_T(MSG_SELECT_FILAMENT), _T(MSG_FILAMENT)), true ); + } else { + return SChooseFromMenu( choose_menu_P(_T(MSG_SELECT_EXTRUDER), _T(MSG_EXTRUDER)), false ); + } +} + +void TCodes(char *const strchr_pointer, uint8_t codeValue) { + uint8_t index = 1; + for ( /*nothing*/ ; strchr_pointer[index] == ' ' || strchr_pointer[index] == '\t'; index++) + ; + + strchr_pointer[index] = tolower(strchr_pointer[index]); + + if (IsInvalidTCode(strchr_pointer, index)){ + TCodeInvalid(); + } else if (strchr_pointer[index] == 'x'){ + // load to extruder gears; if mmu is not present do nothing + if (MMU2::mmu2.Enabled()) { + MMU2::mmu2.tool_change(strchr_pointer[index], choose_menu_P(_T(MSG_SELECT_EXTRUDER), _T(MSG_EXTRUDER))); + } + } else if (strchr_pointer[index] == 'c'){ + // load from extruder gears to nozzle (nozzle should be preheated) + if (MMU2::mmu2.Enabled()) { + MMU2::mmu2.tool_change(strchr_pointer[index], MMU2::mmu2.get_current_tool()); + } + } else { + SChooseFromMenu selectedSlot; + if (strchr_pointer[index] == '?') { + selectedSlot = TCodeChooseFromMenu(); + /*} else if (MMU2::mmu2.Enabled() && SpoolJoin::spooljoin.isSpoolJoinEnabled()) { + // TODO: What if the next slot has no filament? + selectedSlot.slot = SpoolJoin::spooljoin.nextSlot();*/ + } else { + selectedSlot.slot = codeValue; + } + st_synchronize(); + + if (MMU2::mmu2.Enabled()) { + if (selectedSlot.slot == MMU2::mmu2.get_current_tool()){ + // don't execute the same T-code twice in a row + puts_P(duplicate_Tcode_ignored); + } else { +#if defined(MMU_HAS_CUTTER) && defined(MMU_ALWAYS_CUT) + if (EEPROM_MMU_CUTTER_ENABLED_always == eeprom_read_byte((uint8_t *)EEPROM_MMU_CUTTER_ENABLED)) { + MMU2::mmu2.cut_filament(selectedSlot.slot); + } +#endif // defined(MMU_HAS_CUTTER) && defined(MMU_ALWAYS_CUT) + if (selectedSlot.loadToNozzle){ // for single material usage with mmu + MMU2::mmu2.load_filament_to_nozzle(selectedSlot.slot); + } else { + MMU2::mmu2.tool_change(selectedSlot.slot); + } + } + } else { + if (selectedSlot.slot >= EXTRUDERS) { + SERIAL_ECHO_START; + SERIAL_ECHO('T'); + SERIAL_ECHOLN(selectedSlot.slot + '0'); + SERIAL_ECHOLNRPGM(_n("Invalid extruder")); ////MSG_INVALID_EXTRUDER + } else { +// @@TODO if (code_seen('F')) { +// next_feedrate = code_value(); +// if (next_feedrate > 0.0) { +// feedrate = next_feedrate; +// } +// } + SERIAL_ECHO_START; + SERIAL_ECHORPGM(_n("Active Extruder: ")); ////MSG_ACTIVE_EXTRUDER + SERIAL_ECHOLN(active_extruder + '0'); // this is not changed in our FW at all, can be optimized away + } + } + } +} diff --git a/Firmware/Tcodes.h b/Firmware/Tcodes.h new file mode 100644 index 000000000..684475780 --- /dev/null +++ b/Firmware/Tcodes.h @@ -0,0 +1,5 @@ +/// @file +#pragma once +#include + +void TCodes(char * const strchr_pointer, uint8_t codeValue); diff --git a/Firmware/Timer.cpp b/Firmware/Timer.cpp index f63bf2969..d0a552b0a 100644 --- a/Firmware/Timer.cpp +++ b/Firmware/Timer.cpp @@ -77,5 +77,11 @@ T Timer::elapsed() { return m_isRunning ? (_millis() - m_started) : 0; } +template +bool Timer::expired_cont(T msPeriod) +{ + return !m_isRunning || expired(msPeriod); +} + template class Timer; template class Timer; diff --git a/Firmware/Timer.h b/Firmware/Timer.h index dcff52232..9cb18a304 100644 --- a/Firmware/Timer.h +++ b/Firmware/Timer.h @@ -21,8 +21,9 @@ public: void start(); void stop(){m_isRunning = false;} bool running()const {return m_isRunning;} - bool expired(T msPeriod); - T elapsed(); + bool expired(T msPeriod); // returns true only once after expiration, then stops running + T elapsed(); // returns the time in milliseconds since the timer was started or 0 otherwise + bool expired_cont(T msPeriod); // return true when continuosly when expired / not running protected: T started()const {return m_started;} private: diff --git a/Firmware/adc.c b/Firmware/adc.c deleted file mode 100644 index b41e58f69..000000000 --- a/Firmware/adc.c +++ /dev/null @@ -1,95 +0,0 @@ -//adc.c - -#include "adc.h" -#include -#include -#include -#include "pins.h" - -uint8_t adc_state; -uint8_t adc_count; -uint16_t adc_values[ADC_CHAN_CNT]; -uint16_t adc_sim_mask; - - -#ifdef ADC_CALLBACK - extern void ADC_CALLBACK(void); -#endif //ADC_CALLBACK - - -void adc_init(void) -{ - puts_P(PSTR("adc_init")); - adc_sim_mask = 0x00; - ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0); - ADMUX |= (1 << REFS0); - ADCSRA |= (1 << ADEN); -// ADCSRA |= (1 << ADIF) | (1 << ADSC); - DIDR0 = ((ADC_CHAN_MSK & ADC_DIDR_MSK) & 0xff); - DIDR2 = ((ADC_CHAN_MSK & ADC_DIDR_MSK) >> 8); - adc_reset(); -// adc_sim_mask = 0b0101; -// adc_sim_mask = 0b100101; -// adc_values[0] = 1023 * 16; -// adc_values[2] = 1023 * 16; -// adc_values[5] = 1002 * 16; -} - -void adc_reset(void) -{ - adc_state = 0; - adc_count = 0; - uint8_t i; for (i = 0; i < ADC_CHAN_CNT; i++) - if ((adc_sim_mask & (1 << i)) == 0) - adc_values[i] = 0; -} - -void adc_setmux(uint8_t ch) -{ - ch &= 0x0f; - if (ch & 0x08) ADCSRB |= (1 << MUX5); - else ADCSRB &= ~(1 << MUX5); - ADMUX = (ADMUX & ~(0x07)) | (ch & 0x07); -} - -uint8_t adc_chan(uint8_t index) -{ - uint8_t chan = 0; - uint16_t mask = 1; - while (mask) - { - if ((mask & ADC_CHAN_MSK) && (index-- == 0)) break; - mask <<= 1; - chan++; - } - return chan; -} - -void adc_cycle(void) -{ - if (adc_state & 0x80) - { - uint8_t index = adc_state & 0x0f; - if ((adc_sim_mask & (1 << index)) == 0) - adc_values[index] += ADC; - if (++index >= ADC_CHAN_CNT) - { - index = 0; - adc_count++; - if (adc_count >= ADC_OVRSAMPL) - { -#ifdef ADC_CALLBACK - ADC_CALLBACK(); -#endif //ADC_CALLBACK - adc_reset(); - } - } - adc_setmux(adc_chan(index)); - adc_state = index; - } - else - { - ADCSRA |= (1 << ADSC); //start conversion - adc_state |= 0x80; - } -} diff --git a/Firmware/adc.cpp b/Firmware/adc.cpp new file mode 100644 index 000000000..7503fdcba --- /dev/null +++ b/Firmware/adc.cpp @@ -0,0 +1,81 @@ +#include "adc.h" +#include +#include +#include +#include +#include +#include "pins.h" + +static uint8_t adc_count; //used for oversampling +static uint8_t adc_channel_idx; //bitmask index +volatile uint8_t adc_channel; //regular index +volatile uint16_t adc_values[ADC_CHAN_CNT]; + +static void adc_reset(); +static void adc_setmux(uint8_t ch); + +void adc_init() +{ + puts_P(PSTR("adc_init")); + DIDR0 = ((ADC_CHAN_MSK & ADC_DIDR_MSK) & 0xff); //disable digital inputs PORTF + DIDR2 = ((ADC_CHAN_MSK & ADC_DIDR_MSK) >> 8); //disable digital inputs PORTK + ADMUX |= (1 << REFS0); //use AVCC as reference + + //enable ADC, set prescaler/128, enable interrupt + ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADIF) | (1 << ADIE); +} + +static void adc_reset() +{ + static const uint8_t first_channel_idx = 0; + static_assert((1 << first_channel_idx) & ADC_CHAN_MSK); + + ADCSRA &= ~(1 << ADSC); //stop conversion just in case + adc_count = 0; + adc_channel = 0; + adc_channel_idx = first_channel_idx; + adc_setmux(adc_channel_idx); + memset((void*)adc_values, 0, sizeof(adc_values)); +} + +static void adc_setmux(uint8_t ch) +{ + ch &= 0x0f; + if (ch & 0x08) ADCSRB |= (1 << MUX5); + else ADCSRB &= ~(1 << MUX5); + ADMUX = (ADMUX & ~(0x07)) | (ch & 0x07); +} + +void adc_start_cycle() { + adc_reset(); + ADCSRA |= (1 << ADSC); //start conversion +} + +#ifdef ADC_CALLBACK +extern void ADC_CALLBACK(); +#endif //ADC_CALLBACK + +ISR(ADC_vect) +{ + adc_values[adc_channel] += ADC; + if (++adc_count == ADC_OVRSAMPL) + { + // go to the next channel + if (++adc_channel == ADC_CHAN_CNT) { +#ifdef ADC_CALLBACK + ADC_CALLBACK(); +#endif + return; // do not start the next measurement since there are no channels remaining + } + + // find the next channel + while (++adc_channel_idx) { + if (ADC_CHAN_MSK & (1 << adc_channel_idx)) { + adc_setmux(adc_channel_idx); + adc_count = 0; + break; + } + } + } + ADCSRA |= (1 << ADSC); //start conversion +} diff --git a/Firmware/adc.h b/Firmware/adc.h index 9ff137dfd..ac110dc04 100644 --- a/Firmware/adc.h +++ b/Firmware/adc.h @@ -1,15 +1,8 @@ -//adc.h -#ifndef _ADC_H -#define _ADC_H +#pragma once #include #include "config.h" - -#if defined(__cplusplus) -extern "C" { -#endif //defined(__cplusplus) - /* http://resnet.uoregon.edu/~gurney_j/jmpc/bitwise.html */ @@ -22,24 +15,11 @@ http://resnet.uoregon.edu/~gurney_j/jmpc/bitwise.html # error "ADC_CHAN_MSK oes not match ADC_CHAN_CNT" #endif -extern uint8_t adc_state; -extern uint8_t adc_count; -extern uint16_t adc_values[ADC_CHAN_CNT]; -extern uint16_t adc_sim_mask; +#define VOLT_DIV_REF 5 //[V] +extern volatile uint8_t adc_channel; +extern volatile uint16_t adc_values[ADC_CHAN_CNT]; -extern void adc_init(void); - -extern void adc_reset(void); - -extern void adc_setmux(uint8_t ch); - -extern uint8_t adc_chan(uint8_t index); - -extern void adc_cycle(void); - - -#if defined(__cplusplus) -} -#endif //defined(__cplusplus) -#endif //_ADC_H +extern void adc_init(); +extern void adc_start_cycle(); //should be called from an atomic context only +static inline bool adc_cycle_done() { return adc_channel >= ADC_CHAN_CNT; } diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 630b0cbd1..c311f221b 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -7,6 +7,7 @@ #include "stepper.h" #include "temperature.h" #include "language.h" +#include "Prusa_farm.h" #ifdef SDSUPPORT @@ -290,7 +291,7 @@ void CardReader::getDirName(char* name, uint8_t level) workDirParents[level].getFilename(name); } -uint16_t CardReader::getWorkDirDepth() { +uint8_t CardReader::getWorkDirDepth() { return workDirDepth; } @@ -304,7 +305,7 @@ void CardReader::getAbsFilename(char *t) while(*t!=0 && cnt< MAXPATHNAMELENGTH) {t++;cnt++;} //crawl counter forward. } - if(cnt0) //heading up to a parent file that called current as a procedure. { - file.close(); file_subcall_ctr--; openFileReadFilteredGcode(filenames[file_subcall_ctr],true); setIndex(filespos[file_subcall_ctr]); @@ -1018,8 +1020,6 @@ void CardReader::printingHasFinished() } else { - quickStop(); - file.close(); sdprinting = false; if(SD_FINISHED_STEPPERRELEASE) { diff --git a/Firmware/cardreader.h b/Firmware/cardreader.h index 0ccde2323..9fb3f0b4f 100644 --- a/Firmware/cardreader.h +++ b/Firmware/cardreader.h @@ -53,7 +53,7 @@ public: void getAbsFilename(char *t); void printAbsFilenameFast(); void getDirName(char* name, uint8_t level); - uint16_t getWorkDirDepth(); + uint8_t getWorkDirDepth(); void ls(ls_param params); @@ -89,7 +89,7 @@ public: bool logging; bool sdprinting ; bool cardOK ; - char filename[13]; + char filename[FILENAME_LENGTH]; // There are scenarios when simple modification time is not enough (on MS Windows) // Therefore these timestamps hold the most recent one of creation/modification date/times uint16_t crmodTime, crmodDate; @@ -103,7 +103,7 @@ public: char dir_names[MAX_DIR_DEPTH][9]; private: SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH]; - uint16_t workDirDepth; + uint8_t workDirDepth; // Sort files and folders alphabetically. #ifdef SDCARD_SORT_ALPHA diff --git a/Firmware/cmdqueue.cpp b/Firmware/cmdqueue.cpp index 0380c16d1..ab9aca7bc 100755 --- a/Firmware/cmdqueue.cpp +++ b/Firmware/cmdqueue.cpp @@ -1,6 +1,8 @@ +#include #include "cmdqueue.h" #include "cardreader.h" #include "ultralcd.h" +#include "Prusa_farm.h" // Reserve BUFSIZE lines of length MAX_CMD_SIZE plus CMDBUFFER_RESERVE_FRONT. char cmdbuffer[BUFSIZE * (MAX_CMD_SIZE + 1) + CMDBUFFER_RESERVE_FRONT]; @@ -25,11 +27,7 @@ bool comment_mode = false; char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc ShortTimer serialTimeoutTimer; - -long gcode_N = 0; long gcode_LastN = 0; -long Stopped_gcode_LastN = 0; - uint32_t sdpos_atomic = 0; @@ -155,7 +153,7 @@ static bool cmdqueue_could_enqueue_front(size_t len_asked) // len_asked does not contain the zero terminator size. // This function may update bufindw, therefore for the power panic to work, this function must be called // with the interrupts disabled! -static bool cmdqueue_could_enqueue_back(size_t len_asked, bool atomic_update = false) +static bool __attribute__((noinline)) cmdqueue_could_enqueue_back(size_t len_asked) { // MAX_CMD_SIZE has to accommodate the zero terminator. if (len_asked >= MAX_CMD_SIZE) @@ -165,61 +163,29 @@ static bool cmdqueue_could_enqueue_back(size_t len_asked, bool atomic_update = f // Full buffer. return false; - if (serial_count > 0) { - // If there is some data stored starting at bufindw, len_asked is certainly smaller than - // the allocated data buffer. Try to reserve a new buffer and to move the already received - // serial data. - // How much memory to reserve for the commands pushed to the front? - // End of the queue, when pushing to the end. - size_t endw = bufindw + len_asked + (1 + CMDHDRSIZE); - if (bufindw < bufindr) - // Simple case. There is a contiguous space between the write buffer and the read buffer. - return endw + CMDBUFFER_RESERVE_FRONT <= bufindr; - // Otherwise the free space is split between the start and end. - if (// Could one fit to the end, including the reserve? - endw + CMDBUFFER_RESERVE_FRONT <= sizeof(cmdbuffer) || - // Could one fit to the end, and the reserve to the start? - (endw <= sizeof(cmdbuffer) && CMDBUFFER_RESERVE_FRONT <= bufindr)) - return true; - // Could one fit both to the start? - if (len_asked + (1 + CMDHDRSIZE) + CMDBUFFER_RESERVE_FRONT <= bufindr) { - // Mark the rest of the buffer as used. - memset(cmdbuffer+bufindw, 0, sizeof(cmdbuffer)-bufindw); - // and point to the start. - // Be careful! The bufindw needs to be changed atomically for the power panic & filament panic to work. - if (atomic_update) - cli(); - bufindw = 0; - if (atomic_update) - sei(); - return true; - } - } else { - // How much memory to reserve for the commands pushed to the front? - // End of the queue, when pushing to the end. - size_t endw = bufindw + len_asked + (1 + CMDHDRSIZE); - if (bufindw < bufindr) - // Simple case. There is a contiguous space between the write buffer and the read buffer. - return endw + CMDBUFFER_RESERVE_FRONT <= bufindr; - // Otherwise the free space is split between the start and end. - if (// Could one fit to the end, including the reserve? - endw + CMDBUFFER_RESERVE_FRONT <= sizeof(cmdbuffer) || - // Could one fit to the end, and the reserve to the start? - (endw <= sizeof(cmdbuffer) && CMDBUFFER_RESERVE_FRONT <= bufindr)) - return true; - // Could one fit both to the start? - if (len_asked + (1 + CMDHDRSIZE) + CMDBUFFER_RESERVE_FRONT <= bufindr) { - // Mark the rest of the buffer as used. - memset(cmdbuffer+bufindw, 0, sizeof(cmdbuffer)-bufindw); - // and point to the start. - // Be careful! The bufindw needs to be changed atomically for the power panic & filament panic to work. - if (atomic_update) - cli(); - bufindw = 0; - if (atomic_update) - sei(); - return true; - } + // If there is some data stored starting at bufindw, len_asked is certainly smaller than + // the allocated data buffer. Try to reserve a new buffer and to move the already received + // serial data. + // How much memory to reserve for the commands pushed to the front? + // End of the queue, when pushing to the end. + size_t endw = bufindw + len_asked + (1 + CMDHDRSIZE); + if (bufindw < bufindr) + // Simple case. There is a contiguous space between the write buffer and the read buffer. + return endw + CMDBUFFER_RESERVE_FRONT <= bufindr; + // Otherwise the free space is split between the start and end. + if (// Could one fit to the end, including the reserve? + endw + CMDBUFFER_RESERVE_FRONT <= sizeof(cmdbuffer) || + // Could one fit to the end, and the reserve to the start? + (endw <= sizeof(cmdbuffer) && CMDBUFFER_RESERVE_FRONT <= bufindr)) + return true; + // Could one fit both to the start? + if (len_asked + (1 + CMDHDRSIZE) + CMDBUFFER_RESERVE_FRONT <= bufindr) { + // Mark the rest of the buffer as used. + memset(cmdbuffer+bufindw, 0, sizeof(cmdbuffer)-bufindw); + // and point to the start. + // Be careful! The bufindw needs to be changed atomically for the power panic & filament panic to work. + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { bufindw = 0; } + return true; } return false; } @@ -368,20 +334,10 @@ void repeatcommand_front() cmdbuffer_front_already_processed = true; } -void proc_commands() { - if (buflen) - { - process_commands(); - if (!cmdbuffer_front_already_processed) - cmdqueue_pop_front(); - cmdbuffer_front_already_processed = false; - } -} - void get_command() { // Test and reserve space for the new command string. - if (! cmdqueue_could_enqueue_back(MAX_CMD_SIZE - 1, true)) + if (! cmdqueue_could_enqueue_back(MAX_CMD_SIZE - 1)) return; if (MYSERIAL.available() == RX_BUFFER_SIZE - 1) { //compare number of chars buffered in rx buffer with rx buffer size @@ -413,11 +369,11 @@ void get_command() cmdbuffer[bufindw+serial_count+CMDHDRSIZE] = 0; //terminate string if(!comment_mode){ - gcode_N = 0; + long gcode_N = -1; // Line numbers must be first in buffer - if ((strstr(cmdbuffer+bufindw+CMDHDRSIZE, "PRUSA") == NULL) && + if ((strstr_P(cmdbuffer+bufindw+CMDHDRSIZE, PSTR("PRUSA")) == NULL) && (cmdbuffer[bufindw+CMDHDRSIZE] == 'N')) { // Line number met. When sending a G-code over a serial line, each line may be stamped with its index, @@ -464,8 +420,6 @@ void get_command() // Don't parse N again with code_seen('N') cmdbuffer[bufindw + CMDHDRSIZE] = '$'; - //if no errors, continue parsing - gcode_LastN = gcode_N; } // if we don't receive 'N' but still see '*' if ((cmdbuffer[bufindw + CMDHDRSIZE] != 'N') && (cmdbuffer[bufindw + CMDHDRSIZE] != '$') && (strchr(cmdbuffer+bufindw+CMDHDRSIZE, '*') != NULL)) @@ -478,35 +432,49 @@ void get_command() serial_count = 0; return; } + // Handle KILL early, even when Stopped + if(strcmp(cmdbuffer+bufindw+CMDHDRSIZE, "M112") == 0) + kill(MSG_M112_KILL, 2); + // Handle the USB timer if ((strchr_pointer = strchr(cmdbuffer+bufindw+CMDHDRSIZE, 'G')) != NULL) { if (!IS_SD_PRINTING) { usb_timer.start(); } - if (Stopped == true) { - if (code_value_uint8() <= 3) { - SERIAL_ERRORLNRPGM(MSG_ERR_STOPPED); - LCD_MESSAGERPGM(_T(MSG_STOPPED)); - } - } - } // end of 'G' command + } + if (Stopped == true) { + // Stopped can be set either during error states (thermal error: cannot continue), or + // when a printer-initiated action is processed. In such case the printer will send to + // the host an action, but cannot know if the action has been processed while new + // commands are being sent. In this situation we just drop the command while issuing + // periodic "busy" messages in the main loop. Since we're not incrementing the received + // line number, a request for resend will happen (if necessary), ensuring we don't skip + // commands whenever Stopped is cleared and processing resumes. + serial_count = 0; + return; + } + + // Command is complete: store the current line into buffer, move to the next line. - //If command was e-stop process now - if(strcmp(cmdbuffer+bufindw+CMDHDRSIZE, "M112") == 0) - kill(MSG_M112_KILL, 2); - - // Store the current line into buffer, move to the next line. // Store type of entry - cmdbuffer[bufindw] = gcode_N ? CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR : CMDBUFFER_CURRENT_TYPE_USB; + cmdbuffer[bufindw] = gcode_N >= 0 ? CMDBUFFER_CURRENT_TYPE_USB_WITH_LINENR : CMDBUFFER_CURRENT_TYPE_USB; + #ifdef CMDBUFFER_DEBUG SERIAL_ECHO_START; SERIAL_ECHOPGM("Storing a command line to buffer: "); SERIAL_ECHO(cmdbuffer+bufindw+CMDHDRSIZE); SERIAL_ECHOLNPGM(""); #endif /* CMDBUFFER_DEBUG */ + + // Store command itself bufindw += strlen(cmdbuffer+bufindw+CMDHDRSIZE) + (1 + CMDHDRSIZE); if (bufindw == sizeof(cmdbuffer)) bufindw = 0; ++ buflen; + + // Update the processed gcode line + if (gcode_N >= 0) + gcode_LastN = gcode_N; + #ifdef CMDBUFFER_DEBUG SERIAL_ECHOPGM("Number of commands in the buffer: "); SERIAL_ECHO(buflen); @@ -516,7 +484,7 @@ void get_command() serial_count = 0; //clear buffer // Don't call cmdqueue_could_enqueue_back if there are no characters waiting // in the queue, as this function will reserve the memory. - if (MYSERIAL.available() == 0 || ! cmdqueue_could_enqueue_back(MAX_CMD_SIZE-1, true)) + if (MYSERIAL.available() == 0 || ! cmdqueue_could_enqueue_back(MAX_CMD_SIZE-1)) return; } // end of "end of line" processing else { @@ -534,7 +502,7 @@ void get_command() } #ifdef SDSUPPORT - if(!card.sdprinting || serial_count!=0){ + if(!card.sdprinting || !card.isFileOpen() || serial_count!=0){ // If there is a half filled buffer from serial line, wait until return before // continuing with the serial line. return; @@ -572,7 +540,7 @@ void get_command() // This is either an empty line, or a line with just a comment. // Continue to the following line, and continue accumulating the number of bytes // read from the sdcard into sd_count, - // so that the lenght of the already read empty lines and comments will be added + // so that the length of the already read empty lines and comments will be added // to the following non-empty line. return; // prevent cycling indefinitely - let manage_heaters do their job } @@ -614,7 +582,7 @@ void get_command() if(card.eof()) break; // The following line will reserve buffer space if available. - if (! cmdqueue_could_enqueue_back(MAX_CMD_SIZE-1, true)) + if (! cmdqueue_could_enqueue_back(MAX_CMD_SIZE-1)) return; } else @@ -631,6 +599,10 @@ void get_command() // cleared by printingHasFinished after peforming all remaining moves. if(!cmdqueue_calc_sd_length()) { + // queue is complete, but before we process EOF commands prevent + // re-entry by disabling SD processing from any st_synchronize call + card.closefile(); + SERIAL_PROTOCOLLNRPGM(_n("Done printing file"));////MSG_FILE_PRINTED stoptime=_millis(); char time[30]; diff --git a/Firmware/cmdqueue.h b/Firmware/cmdqueue.h index 0a573c477..3573d5020 100644 --- a/Firmware/cmdqueue.h +++ b/Firmware/cmdqueue.h @@ -52,9 +52,7 @@ extern int serial_count; extern bool comment_mode; extern char *strchr_pointer; -extern long gcode_N; extern long gcode_LastN; -extern long Stopped_gcode_LastN; extern bool cmdqueue_pop_front(); extern void cmdqueue_reset(); diff --git a/Firmware/config.h b/Firmware/config.h index 2efd71ea2..358c8ab81 100644 --- a/Firmware/config.h +++ b/Firmware/config.h @@ -6,7 +6,8 @@ #include "pins.h" #if (defined(VOLT_IR_PIN) && defined(IR_SENSOR)) -# define IR_SENSOR_ANALOG +// TODO: IR_SENSOR_ANALOG currently disabled as being incompatible with the new thermal regulation +// # define IR_SENSOR_ANALOG #endif //ADC configuration @@ -20,7 +21,7 @@ #define ADC_CHAN_CNT 8 //number of used channels) #endif //!IR_SENSOR_ANALOG #define ADC_OVRSAMPL 16 //oversampling multiplier -#define ADC_CALLBACK adc_ready //callback function () +#define ADC_CALLBACK adc_callback //callback function () //SWI2C configuration //#define SWI2C_SDA 20 //SDA on P3 @@ -42,7 +43,12 @@ //#define PAT9125_I2C_ADDR 0x73 //ID=NC #define PAT9125_XRES 0 #define PAT9125_YRES 240 // maximum resolution (5*X cpi) -#define PAT9124_YRES_MM (5*PAT9125_YRES/25.4) // counts per mm +#define PAT9125_YRES_MM (5*PAT9125_YRES/25.4) // counts per mm +#define PAT9125_INVERT_X 0 //1 means flipped +#define PAT9125_INVERT_Y 1 //1 means flipped +#define PAT9125_SWAP_XY 0 //X is Y and Y is X +#define PAT9125_12B_RES 1 //8bit or 12bit signed motion data +#define PAT9125_NEW_INIT 1 //set to 1 to use the magic sequence provided by pixart. //SM4 configuration #define SM4_DEFDELAY 500 //default step delay [us] @@ -62,7 +68,9 @@ #define LANG_MODE 1 // sec. language support #endif -#define LANG_SIZE_RESERVED 0x3000 // reserved space for secondary language (12288 bytes). Maximum 32768 bytes +#define LANG_SIZE_RESERVED 0x3500 // reserved space for secondary language (13568 bytes). + // 0x3D00 Maximum 15616 bytes as it depends on xflash_layout.h + // 16 Languages max. per group including stock #if (LANG_SIZE_RESERVED % 256) #error "LANG_SIZE_RESERVED should be a multiple of a page size" @@ -82,9 +90,12 @@ //#define COMMUNITY_LANG_GROUP1_DA // Community Danish language //#define COMMUNITY_LANG_GROUP1_SL // Community Slovanian language //#define COMMUNITY_LANG_GROUP1_LB // Community Luxembourgish language -//#define COMMUNITY_LANG_GROUP1_LT // Community Lithuanian language +#endif //COMMUNITY_LANG_GROUP 1 + +#if (COMMUNITY_LANG_GROUP == 2) +#define COMMUNITY_LANG_GROUP2_LT // Community Lithuanian language //#define COMMUNITY_LANG_GROUP1_QR // Community new language //..use this as a template and replace 'QR' -#endif +#endif //COMMUNITY_LANG_GROUP 2 #if (COMMUNITY_LANG_GROUP >=1 ) #define COMMUNITY_LANGUAGE_SUPPORT @@ -111,4 +122,11 @@ #define EMERGENCY_HANDLERS #endif +//FARM_MODE +#if ( LANG_MODE == 0 ) && defined(XFLASH) //Save resources on EINSY and disable FARM_MODE on multi-language version +#define PRUSA_FARM +#endif //PRUSA_FARM only in english on EINSYs +#ifndef XFLASH //enable FARM_MODE on miniRAMBo boards +#define PRUSA_FARM +#endif #endif //_CONFIG_H diff --git a/Firmware/conv2str.cpp b/Firmware/conv2str.cpp index 10aa711e4..291c15848 100644 --- a/Firmware/conv2str.cpp +++ b/Firmware/conv2str.cpp @@ -104,7 +104,7 @@ char *ftostr43(const float &x, uint8_t offset) //Float to string with 1.23 format char *ftostr12ns(const float &x) { - long xx = x * 100; + int xx = x * 100; xx = abs(xx); conv[0] = (xx / 100) % 10 + '0'; diff --git a/Firmware/eeprom.cpp b/Firmware/eeprom.cpp index 03e02475f..f0dc61893 100644 --- a/Firmware/eeprom.cpp +++ b/Firmware/eeprom.cpp @@ -105,6 +105,8 @@ if (eeprom_read_byte((uint8_t*)EEPROM_PINDA_TEMP_COMPENSATION) == 0xff) eeprom_u eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0); eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0); } +//Set Cutter OFF if 0xff + if (eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED) == 0xff) eeprom_update_byte((uint8_t *)EEPROM_MMU_CUTTER_ENABLED, 0); } //! @brief Get default sheet name for index diff --git a/Firmware/eeprom.h b/Firmware/eeprom.h index abfe33b58..d442cde3f 100644 --- a/Firmware/eeprom.h +++ b/Firmware/eeprom.h @@ -142,9 +142,8 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP | 0x0F75h 3957 | uint16 | EEPROM_UVLO_MESH_BED_LEVELING | ??? | ff ffh 65535 | Power Panic Mesh Bed Leveling | ??? | D3 Ax0f75 C18 | 0x0F73h 3955 | uint16 | EEPROM_UVLO_Z_MICROSTEPS | ??? | ff ffh 65535 | Power Panic Z microsteps | ??? | D3 Ax0f73 C2 | 0x0F72h 3954 | uint8 | EEPROM_UVLO_E_ABS | ??? | ffh 255 | Power Panic ??? position | ??? | D3 Ax0f72 C1 -| 0x0F6Eh 3950 | foat | EEPROM_UVLO_CURRENT_POSITION_E | ??? | ff ff ff ffh | Power Panic E position | ??? | D3 Ax0f6e C4 -| 0x0F6Dh 3949 | ??? | _EEPROM_FREE_NR2_ | ??? | ffh 255 | _Free EEPROM space_ | _free space_ | D3 Ax0f6d C1 -| 0x0F6Ch 3948 | ??? | _EEPROM_FREE_NR3_ | ??? | ffh 255 | _Free EEPROM space_ | _free space_ | D3 Ax0f6c C1 +| 0x0F6Eh 3950 | float | EEPROM_UVLO_CURRENT_POSITION_E | ??? | ff ff ff ffh | Power Panic E position | ??? | D3 Ax0f6e C4 +| 0x0F6Ch 3948 | uint16_t | EEPROM_UVLO_SAVED_SEGMENT_IDX | all | ff ffh 65535 | Power Panic index of multi-segment move | ??? | D3 Ax0f6c C2 | 0x0F6Bh 3947 | ??? | _EEPROM_FREE_NR4_ | ??? | ffh 255 | _Free EEPROM space_ | _free space_ | D3 Ax0f6b C1 | 0x0F6Ah 3946 | ??? | _EEPROM_FREE_NR5_ | ??? | ffh 255 | _Free EEPROM space_ | _free space_ | D3 Ax0f6a C1 | 0x0F69h 3945 | uint8 | EEPROM_CRASH_DET | ffh 255 | ffh 255 | Crash detection: __enabled__ | LCD menu | D3 Ax0f69 C1 @@ -217,10 +216,10 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP | ^ | ^ | ^ | 01h 1 | ^ | Sound mode: __once__ | ^ | ^ | ^ | ^ | ^ | 02h 1 | ^ | Sound mode: __silent__ | ^ | ^ | ^ | ^ | ^ | 03h 1 | ^ | Sound mode: __assist__ | ^ | ^ -| 0x0ED6 3798 | bool | EEPROM_AUTO_DEPLETE | 01h 1 | ffh 255 | MMU2/s autodeplete: __on__ | ??? | D3 Ax0ed6 C1 +| 0x0ED6 3798 | bool | EEPROM_SPOOL_JOIN | 01h 1 | ffh 255 | MMU2/s autodeplete: __on__ | ??? | D3 Ax0ed6 C1 | ^ | ^ | ^ | 00h 0 | ^ | MMU2/s autodeplete: __off__ | ^ | ^ -| 0x0ED5 3797 | bool | EEPROM_FSENS_OQ_MEASS_ENABLED | ??? | ffh 255 | PAT1925 ??? | ??? | D3 Ax0ed5 C1 -| ^ | ^ | ^ | ??? | ^ | PAT1925 ??? | ^ | ^ +| 0x0ED5 3797 | bool | EEPROM_FSENS_RUNOUT_ENABLED | 01h 1 | ffh 255 __P__ | Filament runout: __enabled__ | LCD menu | D3 Ax0ed5 C1 +| ^ | ^ | ^ | 00h 0 | ^ | Filament runout: __disabled__ | LCD menu | ^ | 0x0ED3 3795 | uint16 | EEPROM_MMU_FAIL_TOT | ??? | ff ffh 65535 __S/P__ | MMU2/s total failures | ??? | D3 Ax0ed3 C2 | 0x0ED2 3794 | uint8 | EEPROM_MMU_FAIL | ??? | ffh 255 __S/P__ | MMU2/s fails during print | ??? | D3 Ax0ed2 C1 | 0x0ED0 3792 | uint16 | EEPROM_MMU_LOAD_FAIL_TOT | ??? | ff ffh 65535 __S/P__ | MMU2/s total load failures | ??? | D3 Ax0ed0 C2 @@ -298,11 +297,11 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP | ^ | ^ | ^ | 01h 1 | ^ | Filament Sensor type IR 0.4 or newer | ^ | ^ | 0x0D47 3399 | uint8 | EEPROM_FSENSOR_ACTION_NA | 00h 0 | ffh 255 | Filament Sensor action: __Continue__ | LCD menu | D3 Ax0d47 C1 | ^ | ^ | ^ | 01h 1 | ^ | Filament Sensor action: __Pause__ | ^ | ^ -| 0x0D37 3383 | float | EEPROM_UVLO_SAVED_TARGET | ??? | ff ff ff ffh | Power panic saved target all-axis | ??? | D3 Ax0d37 C16 -| ^ | ^ | ^ | ??? | ^ | Power panic saved target e-axis | ^ | D3 Ax0d43 C4 -| ^ | ^ | ^ | ??? | ^ | Power panic saved target z-axis | ^ | D3 Ax0d3f C4 -| ^ | ^ | ^ | ??? | ^ | Power panic saved target y-axis | ^ | D3 Ax0d3b C4 -| ^ | ^ | ^ | ??? | ^ | Power panic saved target x-axis | ^ | D3 Ax0d37 C4 +| 0x0D37 3383 | float | EEPROM_UVLO_SAVED_START_POSITION | ??? | ff ff ff ffh | Power panic saved start position all-axis | ??? | D3 Ax0d37 C16 +| ^ | ^ | ^ | ??? | ^ | Power panic saved start position e-axis | ^ | D3 Ax0d43 C4 +| ^ | ^ | ^ | ??? | ^ | Power panic saved start position z-axis | ^ | D3 Ax0d3f C4 +| ^ | ^ | ^ | ??? | ^ | Power panic saved start position y-axis | ^ | D3 Ax0d3b C4 +| ^ | ^ | ^ | ??? | ^ | Power panic saved start position x-axis | ^ | D3 Ax0d37 C4 | 0x0D35 3381 | uint16 | EEPROM_UVLO_FEEDMULTIPLY | ??? | ff ffh 65355 | Power panic saved feed multiplier | ??? | D3 Ax0d35 C2 | 0x0D34 3380 | uint8 | EEPROM_BACKLIGHT_LEVEL_HIGH | 00h - ffh | 82h 130 | LCD backlight bright: __128__ Dim value to 255 | LCD menu | D3 Ax0d34 C1 | 0x0D33 3379 | uint8 | EEPROM_BACKLIGHT_LEVEL_LOW | 00h - ffh | 32h 50 | LCD backlight dim: __50__ 0 to Bright value | LCD menu | D3 Ax0d33 C1 @@ -334,6 +333,8 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP | ^ | ^ | ^ | 03h 3 | ^ | bad_isr | ^ | ^ | ^ | ^ | ^ | 04h 4 | ^ | bad_pullup_temp_isr | ^ | ^ | ^ | ^ | ^ | 05h 5 | ^ | bad_pullup_step_isr | ^ | ^ +| 0x0D02 3320 | uint8_t | EEPROM_FSENSOR_JAM_DETECTION | 01h 1 | ff/01 | fsensor pat9125 jam detection feature | LCD menu | D3 Ax0d02 C1 +| 0x0D01 3319 | uint8_t | EEPROM_MMU_ENABLED | 01h 1 | ff/01 | MMU enabled | LCD menu | D3 Ax0d01 C1 | Address begin | Bit/Type | Name | Valid values | Default/FactoryReset | Description | Gcode/Function| Debug code | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: @@ -398,15 +399,14 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP #define EEPROM_UVLO_FAN_SPEED (EEPROM_UVLO_FEEDRATE - 1) #define EEPROM_FAN_CHECK_ENABLED (EEPROM_UVLO_FAN_SPEED - 1) #define EEPROM_UVLO_MESH_BED_LEVELING (EEPROM_FAN_CHECK_ENABLED - 9*2) - #define EEPROM_UVLO_Z_MICROSTEPS (EEPROM_UVLO_MESH_BED_LEVELING - 2) // uint16_t (could be removed) #define EEPROM_UVLO_E_ABS (EEPROM_UVLO_Z_MICROSTEPS - 1) #define EEPROM_UVLO_CURRENT_POSITION_E (EEPROM_UVLO_E_ABS - 4) //float for current position in E +#define EEPROM_UVLO_SAVED_SEGMENT_IDX (EEPROM_UVLO_CURRENT_POSITION_E - 2) //uint16_t -#define EEPROM_FREE_NR2 (EEPROM_UVLO_CURRENT_POSITION_E - 1) // FREE EEPROM SPACE -#define EEPROM_FREE_NR3 (EEPROM_FREE_NR2 - 1) // FREE EEPROM SPACE -#define EEPROM_FREE_NR4 (EEPROM_FREE_NR3 - 1) // FREE EEPROM SPACE +#define EEPROM_FREE_NR4 (EEPROM_UVLO_SAVED_SEGMENT_IDX - 1) // FREE EEPROM SPACE #define EEPROM_FREE_NR5 (EEPROM_FREE_NR4 - 1) // FREE EEPROM SPACE + // Crash detection mode EEPROM setting #define EEPROM_CRASH_DET (EEPROM_FREE_NR5 - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-12) // Crash detection counter Y (last print) @@ -494,11 +494,11 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP // Sound Mode #define EEPROM_SOUND_MODE (EEPROM_UVLO_TARGET_HOTEND-1) // uint8 -#define EEPROM_AUTO_DEPLETE (EEPROM_SOUND_MODE-1) //bool +#define EEPROM_SPOOL_JOIN (EEPROM_SOUND_MODE-1) //bool -#define EEPROM_FSENS_OQ_MEASS_ENABLED (EEPROM_AUTO_DEPLETE - 1) //bool +#define EEPROM_FSENS_RUNOUT_ENABLED (EEPROM_SPOOL_JOIN - 1) //bool -#define EEPROM_MMU_FAIL_TOT (EEPROM_FSENS_OQ_MEASS_ENABLED - 2) //uint16_t +#define EEPROM_MMU_FAIL_TOT (EEPROM_FSENS_RUNOUT_ENABLED - 2) //uint16_t #define EEPROM_MMU_FAIL (EEPROM_MMU_FAIL_TOT - 1) //uint8_t #define EEPROM_MMU_LOAD_FAIL_TOT (EEPROM_MMU_FAIL - 2) //uint16_t @@ -526,8 +526,8 @@ static Sheets * const EEPROM_Sheets_base = (Sheets*)(EEPROM_SHEETS_BASE); #define EEPROM_FSENSOR_PCB (EEPROM_SHEETS_BASE-1) // uint8 #define EEPROM_FSENSOR_ACTION_NA (EEPROM_FSENSOR_PCB-1) // uint8 -#define EEPROM_UVLO_SAVED_TARGET (EEPROM_FSENSOR_ACTION_NA - 4*4) // 4 x float for saved target for all axes -#define EEPROM_UVLO_FEEDMULTIPLY (EEPROM_UVLO_SAVED_TARGET - 2) // uint16_t for feedmultiply +#define EEPROM_UVLO_SAVED_START_POSITION (EEPROM_FSENSOR_ACTION_NA - 4*4) // 4 x float for saved start position for all axes +#define EEPROM_UVLO_FEEDMULTIPLY (EEPROM_UVLO_SAVED_START_POSITION - 2) // uint16_t for feedmultiply #define EEPROM_BACKLIGHT_LEVEL_HIGH (EEPROM_UVLO_FEEDMULTIPLY-1) // uint8 #define EEPROM_BACKLIGHT_LEVEL_LOW (EEPROM_BACKLIGHT_LEVEL_HIGH-1) // uint8 @@ -550,8 +550,18 @@ static Sheets * const EEPROM_Sheets_base = (Sheets*)(EEPROM_SHEETS_BASE); #define EEPROM_ECOOL_ENABLE (EEPROM_JOB_ID-1) // uint8_t #define EEPROM_FW_CRASH_FLAG (EEPROM_ECOOL_ENABLE-1) // uint8_t +#define EEPROM_TEMP_MODEL_ENABLE (EEPROM_FW_CRASH_FLAG-1) // uint8_t +#define EEPROM_TEMP_MODEL_P (EEPROM_TEMP_MODEL_ENABLE-4) // float +#define EEPROM_TEMP_MODEL_C (EEPROM_TEMP_MODEL_P-4) // float +#define EEPROM_TEMP_MODEL_R (EEPROM_TEMP_MODEL_C-4*16) // float[16] +#define EEPROM_TEMP_MODEL_Ta_corr (EEPROM_TEMP_MODEL_R-4) // float +#define EEPROM_TEMP_MODEL_W (EEPROM_TEMP_MODEL_Ta_corr-4) // float +#define EEPROM_TEMP_MODEL_E (EEPROM_TEMP_MODEL_W-4) // float + +#define EEPROM_FSENSOR_JAM_DETECTION (EEPROM_TEMP_MODEL_E-1) // uint8_t +#define EEPROM_MMU_ENABLED (EEPROM_FSENSOR_JAM_DETECTION-1) // uint8_t //This is supposed to point to last item to allow EEPROM overrun check. Please update when adding new items. -#define EEPROM_LAST_ITEM EEPROM_FW_CRASH_FLAG +#define EEPROM_LAST_ITEM EEPROM_MMU_ENABLED // !!!!! // !!!!! this is end of EEPROM section ... all updates MUST BE inserted before this mark !!!!! // !!!!! diff --git a/Firmware/fancheck.cpp b/Firmware/fancheck.cpp new file mode 100755 index 000000000..86797bbc6 --- /dev/null +++ b/Firmware/fancheck.cpp @@ -0,0 +1,300 @@ +// fan control and check +#include "fancheck.h" +#include "cardreader.h" +#include "ultralcd.h" +#include "sound.h" +#include "messages.h" +#include "temperature.h" +#include "stepper.h" + +#define FAN_CHECK_PERIOD 5000 //5s +#define FAN_CHECK_DURATION 100 //100ms + +#ifdef FANCHECK +volatile uint8_t fan_check_error = EFCE_OK; +#endif + +#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) + #ifdef EXTRUDER_ALTFAN_DETECT + static struct + { + uint8_t isAltfan : 1; + uint8_t altfanOverride : 1; + } altfanStatus; + #endif //EXTRUDER_ALTFAN_DETECT + + unsigned long extruder_autofan_last_check = _millis(); + bool fan_measuring = false; + static uint8_t fanState = 0; +#endif + +#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) + #if defined(FAN_PIN) && FAN_PIN > -1 + #if EXTRUDER_0_AUTO_FAN_PIN == FAN_PIN + #error "You cannot set EXTRUDER_0_AUTO_FAN_PIN equal to FAN_PIN" + #endif + #endif + +void setExtruderAutoFanState(uint8_t state) +{ + //If bit 1 is set (0x02), then the extruder fan speed won't be adjusted according to temperature. Useful for forcing + //the fan to either On or Off during certain tests/errors. + + fanState = state; + newFanSpeed = 0; + if (fanState & 0x01) + { +#ifdef EXTRUDER_ALTFAN_DETECT + if (altfanStatus.isAltfan && !altfanStatus.altfanOverride) newFanSpeed = EXTRUDER_ALTFAN_SPEED_SILENT; + else newFanSpeed = EXTRUDER_AUTO_FAN_SPEED; +#else //EXTRUDER_ALTFAN_DETECT + newFanSpeed = EXTRUDER_AUTO_FAN_SPEED; +#endif //EXTRUDER_ALTFAN_DETECT + } + timer4_set_fan0(newFanSpeed); +} + +#if (defined(FANCHECK) && (((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1))))) + +void countFanSpeed() +{ + //SERIAL_ECHOPGM("edge counter 1:"); MYSERIAL.println(fan_edge_counter[1]); + fan_speed[0] = (fan_edge_counter[0] * (float(250) / (_millis() - extruder_autofan_last_check))); + fan_speed[1] = (fan_edge_counter[1] * (float(250) / (_millis() - extruder_autofan_last_check))); + /*SERIAL_ECHOPGM("time interval: "); MYSERIAL.println(_millis() - extruder_autofan_last_check); + SERIAL_ECHOPGM("extruder fan speed:"); MYSERIAL.print(fan_speed[0]); SERIAL_ECHOPGM("; edge counter:"); MYSERIAL.println(fan_edge_counter[0]); + SERIAL_ECHOPGM("print fan speed:"); MYSERIAL.print(fan_speed[1]); SERIAL_ECHOPGM("; edge counter:"); MYSERIAL.println(fan_edge_counter[1]); + SERIAL_ECHOLNPGM(" ");*/ + fan_edge_counter[0] = 0; + fan_edge_counter[1] = 0; +} + +//! Prints serialMsg to serial port, displays lcdMsg onto the LCD and beeps. +//! Extracted from fanSpeedError to save some space. +//! @param serialMsg pointer into PROGMEM, this text will be printed to the serial port +//! @param lcdMsg pointer into PROGMEM, this text will be printed onto the LCD +static void fanSpeedErrorBeep(const char *serialMsg, const char *lcdMsg){ + SERIAL_ECHOLNRPGM(serialMsg); + if (get_message_level() == 0) { + Sound_MakeCustom(200,0,true); + LCD_ALERTMESSAGERPGM(lcdMsg); + } +} + +void fanSpeedError(unsigned char _fan) { + if (fan_check_error == EFCE_REPORTED) return; + fan_check_error = EFCE_REPORTED; + + if (IS_SD_PRINTING || usb_timer.running()) { + // A print is ongoing, pause the print normally + if(!isPrintPaused) { + if (usb_timer.running()) + lcd_pause_usb_print(); + else + lcd_pause_print(); + } + } + else { + // Nothing is going on, but still turn off heaters and report the error + setTargetHotend0(0); + heating_status = HeatingStatus::NO_HEATING; + } + switch (_fan) { + case 0: // extracting the same code from case 0 and case 1 into a function saves 72B + fanSpeedErrorBeep(PSTR("Extruder fan speed is lower than expected"), MSG_FANCHECK_EXTRUDER); + break; + case 1: + fanSpeedErrorBeep(PSTR("Print fan speed is lower than expected"), MSG_FANCHECK_PRINT); + break; + } +} + +void checkFanSpeed() +{ + uint8_t max_fan_errors[2]; +#ifdef FAN_SOFT_PWM + max_fan_errors[1] = 3; // 15 seconds (Print fan) + max_fan_errors[0] = 2; // 10 seconds (Extruder fan) +#else //FAN_SOFT_PWM + max_fan_errors[1] = 15; // 15 seconds (Print fan) + max_fan_errors[0] = 5; // 5 seconds (Extruder fan) +#endif //FAN_SOFT_PWM + + if(fans_check_enabled) + fans_check_enabled = (eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED) > 0); + static uint8_t fan_speed_errors[2] = { 0,0 }; +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 >-1)) + if ((fan_speed[0] < 20) && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)){ fan_speed_errors[0]++;} + else fan_speed_errors[0] = 0; +#endif +#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) + if ((fan_speed[1] < 5) && ((blocks_queued() ? block_buffer[block_buffer_tail].fan_speed : fanSpeed) > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; + else fan_speed_errors[1] = 0; +#endif + + // drop the fan_check_error flag when both fans are ok + if( fan_speed_errors[0] == 0 && fan_speed_errors[1] == 0 && fan_check_error == EFCE_REPORTED){ + // we may even send some info to the LCD from here + fan_check_error = EFCE_FIXED; + } + if ((fan_check_error == EFCE_FIXED) && !printer_active()){ + fan_check_error = EFCE_OK; //if the issue is fixed while the printer is doing nothing, reenable processing immediately. + lcd_reset_alert_level(); //for another fan speed error + } + if (fans_check_enabled && (fan_check_error == EFCE_OK)) + { + for (uint8_t fan = 0; fan < 2; fan++) + { + if (fan_speed_errors[fan] > max_fan_errors[fan]) + { + fan_speed_errors[fan] = 0; + fanSpeedError(fan); + } + } + } +} +#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) + +#ifdef EXTRUDER_ALTFAN_DETECT +ISR(INT6_vect) { + fan_edge_counter[0]++; +} + +bool extruder_altfan_detect() +{ + setExtruderAutoFanState(3); + + SET_INPUT(TACH_0); + + uint8_t overrideVal = eeprom_read_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE); + if (overrideVal == EEPROM_EMPTY_VALUE) + { + overrideVal = (calibration_status() == CALIBRATION_STATUS_CALIBRATED) ? 1 : 0; + eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, overrideVal); + } + altfanStatus.altfanOverride = overrideVal; + + CRITICAL_SECTION_START; + EICRB &= ~(1 << ISC61); + EICRB |= (1 << ISC60); + EIMSK |= (1 << INT6); + fan_edge_counter[0] = 0; + CRITICAL_SECTION_END; + extruder_autofan_last_check = _millis(); + + _delay(1000); + + EIMSK &= ~(1 << INT6); + + countFanSpeed(); + altfanStatus.isAltfan = fan_speed[0] > 100; + setExtruderAutoFanState(1); + return altfanStatus.isAltfan; +} + +void altfanOverride_toggle() +{ + altfanStatus.altfanOverride = !altfanStatus.altfanOverride; + eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, altfanStatus.altfanOverride); +} + +bool altfanOverride_get() +{ + return altfanStatus.altfanOverride; +} + +#endif //EXTRUDER_ALTFAN_DETECT + +void checkExtruderAutoFans() +{ +#if defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1 + if (!(fanState & 0x02)) + { + fanState &= ~1; + fanState |= current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE; + fanState |= get_temp_error(); + } + setExtruderAutoFanState(fanState); +#endif +} + +#endif // any extruder auto fan pins set + +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) +void readFanTach() { +#ifdef FAN_SOFT_PWM + if (READ(TACH_0) != fan_state[0]) { + if(fan_measuring) fan_edge_counter[0] ++; + fan_state[0] = !fan_state[0]; + } +#else //FAN_SOFT_PWM + if (READ(TACH_0) != fan_state[0]) { + fan_edge_counter[0] ++; + fan_state[0] = !fan_state[0]; + } +#endif + //if (READ(TACH_1) != fan_state[1]) { + // fan_edge_counter[1] ++; + // fan_state[1] = !fan_state[1]; + //} +} +#endif //TACH_0 + +void checkFans() +{ +#ifndef DEBUG_DISABLE_FANCHECK +#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) + +#ifdef FAN_SOFT_PWM +#ifdef FANCHECK + if ((_millis() - extruder_autofan_last_check > FAN_CHECK_PERIOD) && (!fan_measuring)) { + extruder_autofan_last_check = _millis(); + fanSpeedBckp = fanSpeedSoftPwm; + + if (fanSpeedSoftPwm >= MIN_PRINT_FAN_SPEED) { //if we are in rage where we are doing fan check, set full PWM range for a short time to measure fan RPM by reading tacho signal without modulation by PWM signal + // printf_P(PSTR("fanSpeedSoftPwm 1: %d\n"), fanSpeedSoftPwm); + fanSpeedSoftPwm = 255; + } + fan_measuring = true; + } + if ((_millis() - extruder_autofan_last_check > FAN_CHECK_DURATION) && (fan_measuring)) { + countFanSpeed(); + checkFanSpeed(); + //printf_P(PSTR("fanSpeedSoftPwm 1: %d\n"), fanSpeedSoftPwm); + fanSpeedSoftPwm = fanSpeedBckp; + //printf_P(PSTR("fan PWM: %d; extr fanSpeed measured: %d; print fan speed measured: %d \n"), fanSpeedBckp, fan_speed[0], fan_speed[1]); + extruder_autofan_last_check = _millis(); + fan_measuring = false; + } +#endif //FANCHECK + checkExtruderAutoFans(); +#else //FAN_SOFT_PWM + if(_millis() - extruder_autofan_last_check > 1000) // only need to check fan state very infrequently + { +#if (defined(FANCHECK) && ((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1)))) + countFanSpeed(); + checkFanSpeed(); +#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) + checkExtruderAutoFans(); + extruder_autofan_last_check = _millis(); + } +#endif //FAN_SOFT_PWM + +#endif +#endif //DEBUG_DISABLE_FANCHECK +} + +void hotendFanSetFullSpeed() +{ +#ifdef EXTRUDER_ALTFAN_DETECT + altfanStatus.altfanOverride = 1; //full speed +#endif //EXTRUDER_ALTFAN_DETECT + setExtruderAutoFanState(3); + SET_OUTPUT(FAN_PIN); +#ifdef FAN_SOFT_PWM + fanSpeedSoftPwm = 255; +#else //FAN_SOFT_PWM + analogWrite(FAN_PIN, 255); +#endif //FAN_SOFT_PWM + fanSpeed = 255; +} diff --git a/Firmware/fancheck.h b/Firmware/fancheck.h new file mode 100755 index 000000000..312143972 --- /dev/null +++ b/Firmware/fancheck.h @@ -0,0 +1,35 @@ +// fan control and check +#pragma once + +#include "Configuration.h" +#include "config.h" + +#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) +enum { + EFCE_OK = 0, //!< normal operation, both fans are ok + EFCE_FIXED, //!< previous fan error was fixed + EFCE_REPORTED //!< fan error detected and reported to LCD and serial +}; +extern volatile uint8_t fan_check_error; + +void readFanTach(); +#endif //(defined(TACH_0)) + +#ifdef EXTRUDER_ALTFAN_DETECT +extern bool extruder_altfan_detect(); +extern void altfanOverride_toggle(); +extern bool altfanOverride_get(); +#endif //EXTRUDER_ALTFAN_DETECT + +#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) +#ifdef FAN_SOFT_PWM +extern bool fan_measuring; +#endif //FAN_SOFT_PWM + +extern unsigned long extruder_autofan_last_check; +void setExtruderAutoFanState(uint8_t state); +void checkExtruderAutoFans(); +#endif + +void checkFans(); +void hotendFanSetFullSpeed(); diff --git a/Firmware/first_lay_cal.cpp b/Firmware/first_lay_cal.cpp index d7ddc5c8d..5d7f0aa9b 100644 --- a/Firmware/first_lay_cal.cpp +++ b/Firmware/first_lay_cal.cpp @@ -8,33 +8,25 @@ #include "language.h" #include "Marlin.h" #include "cmdqueue.h" -#include "mmu.h" +#include "mmu2.h" #include //! @brief Wait for preheat void lay1cal_wait_preheat() { - static const char cmd_preheat_0[] PROGMEM = "M107"; - static const char cmd_preheat_1[] PROGMEM = "M190"; - static const char cmd_preheat_2[] PROGMEM = "M109"; - static const char cmd_preheat_4[] PROGMEM = "G28"; - static const char cmd_preheat_5[] PROGMEM = "G92 E0.0"; - const char * const preheat_cmd[] = { - cmd_preheat_0, - cmd_preheat_1, - cmd_preheat_2, - _T(MSG_M117_V2_CALIBRATION), - cmd_preheat_4, - cmd_preheat_5, + PSTR("M107"), + PSTR("M190"), + PSTR("M109"), + PSTR("G28"), + PSTR("G92 E0.0") }; for (uint8_t i = 0; i < (sizeof(preheat_cmd)/sizeof(preheat_cmd[0])); ++i) { enquecommand_P(preheat_cmd[i]); } - } //! @brief Load filament @@ -42,7 +34,7 @@ void lay1cal_wait_preheat() //! @param filament filament to use (applies for MMU only) void lay1cal_load_filament(char *cmd_buffer, uint8_t filament) { - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { enquecommand_P(PSTR("M83")); enquecommand_P(PSTR("G1 Y-3.0 F1000.0")); @@ -81,7 +73,7 @@ void lay1cal_intro_line() cmd_intro_mmu_12, }; - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { for (uint8_t i = 0; i < (sizeof(intro_mmu_cmd)/sizeof(intro_mmu_cmd[0])); ++i) { diff --git a/Firmware/fsensor.cpp b/Firmware/fsensor.cpp deleted file mode 100755 index 3eab45383..000000000 --- a/Firmware/fsensor.cpp +++ /dev/null @@ -1,788 +0,0 @@ -//! @file - -#include "Marlin.h" - -#include "fsensor.h" -#include -#include "pat9125.h" -#include "stepper.h" -#include "cmdqueue.h" -#include "ultralcd.h" -#include "mmu.h" -#include "cardreader.h" - -#include "adc.h" -#include "temperature.h" -#include "config.h" - -//! @name Basic parameters -//! @{ -#define FSENSOR_CHUNK_LEN 1.25 //!< filament sensor chunk length (mm) -#define FSENSOR_ERR_MAX 4 //!< filament sensor maximum error/chunk count for runout detection - -#define FSENSOR_SOFTERR_CMAX 3 //!< number of contiguous soft failures before a triggering a runout -#define FSENSOR_SOFTERR_DELTA 30000 //!< maximum interval (ms) to consider soft failures contiguous -//! @} - -//! @name Optical quality measurement parameters -//! @{ -#define FSENSOR_OQ_MAX_ES 2 //!< maximum sum of error blocks during filament recheck -#define FSENSOR_OQ_MIN_YD 2 //!< minimum yd sum during filament check (counts per inch) -#define FSENSOR_OQ_MIN_BR 80 //!< minimum brightness value -#define FSENSOR_OQ_MAX_SH 10 //!< maximum shutter value -//! @} - -const char ERRMSG_PAT9125_NOT_RESP[] PROGMEM = "PAT9125 not responding (%d)!\n"; - -// PJ7 can not be used (does not have PinChangeInterrupt possibility) -#define FSENSOR_INT_PIN 75 //!< filament sensor interrupt pin PJ4 -#define FSENSOR_INT_PIN_MASK 0x10 //!< filament sensor interrupt pin mask (bit4) -#define FSENSOR_INT_PIN_PIN_REG PINJ // PIN register @ PJ4 -#define FSENSOR_INT_PIN_VECT PCINT1_vect // PinChange ISR @ PJ4 -#define FSENSOR_INT_PIN_PCMSK_REG PCMSK1 // PinChangeMaskRegister @ PJ4 -#define FSENSOR_INT_PIN_PCMSK_BIT PCINT13 // PinChange Interrupt / PinChange Enable Mask @ PJ4 -#define FSENSOR_INT_PIN_PCICR_BIT PCIE1 // PinChange Interrupt Enable / Flag @ PJ4 - -//! enabled = initialized and sampled every chunk event -bool fsensor_enabled = true; -//! runout watching is done in fsensor_update (called from main loop) -bool fsensor_watch_runout = true; -//! not responding - is set if any communication error occurred during initialization or readout -bool fsensor_not_responding = false; - -#ifdef PAT9125 -uint8_t fsensor_int_pin_old = 0; -//! optical checking "chunk lenght" (already in steps) -int16_t fsensor_chunk_len = 0; -//! enable/disable quality meassurement -bool fsensor_oq_meassure_enabled = false; -//! number of errors, updated in ISR -uint8_t fsensor_err_cnt = 0; -//! variable for accumulating step count (updated callbacks from stepper and ISR) -int16_t fsensor_st_cnt = 0; -//! count of total sensor "soft" failures (filament status checks) -uint8_t fsensor_softfail = 0; -//! timestamp of last soft failure -unsigned long fsensor_softfail_last = 0; -//! count of soft failures within the configured time -uint8_t fsensor_softfail_ccnt = 0; -#endif - -#ifdef DEBUG_FSENSOR_LOG -//! log flag: 0=log disabled, 1=log enabled -uint8_t fsensor_log = 1; -#endif //DEBUG_FSENSOR_LOG - - -//! @name filament autoload variables -//! @{ - -//! autoload feature enabled -bool fsensor_autoload_enabled = true; -//! autoload watching enable/disable flag -bool fsensor_watch_autoload = false; - -#ifdef PAT9125 -// -uint16_t fsensor_autoload_y; -// -uint8_t fsensor_autoload_c; -// -uint32_t fsensor_autoload_last_millis; -// -uint8_t fsensor_autoload_sum; -//! @} -#endif - - -//! @name filament optical quality measurement variables -//! @{ - -//! Measurement enable/disable flag -bool fsensor_oq_meassure = false; -//! skip-chunk counter, for accurate measurement is necessary to skip first chunk... -uint8_t fsensor_oq_skipchunk; -//! number of samples from start of measurement -uint8_t fsensor_oq_samples; -//! sum of steps in positive direction movements -uint16_t fsensor_oq_st_sum; -//! sum of deltas in positive direction movements -uint16_t fsensor_oq_yd_sum; -//! sum of errors during measurement -uint16_t fsensor_oq_er_sum; -//! max error counter value during measurement -uint8_t fsensor_oq_er_max; -//! minimum delta value -int16_t fsensor_oq_yd_min; -//! maximum delta value -int16_t fsensor_oq_yd_max; -//! sum of shutter value -uint16_t fsensor_oq_sh_sum; -//! @} - -#ifdef IR_SENSOR_ANALOG -ClFsensorPCB oFsensorPCB; -ClFsensorActionNA oFsensorActionNA; -bool bIRsensorStateFlag=false; -ShortTimer tIRsensorCheckTimer; -#endif //IR_SENSOR_ANALOG - -void fsensor_stop_and_save_print(void) -{ - puts_P(PSTR("fsensor_stop_and_save_print")); - stop_and_save_print_to_ram(0, 0); - fsensor_watch_runout = false; -} - -#ifdef PAT9125 -// Reset all internal counters to zero, including stepper callbacks -void fsensor_reset_err_cnt() -{ - fsensor_err_cnt = 0; - pat9125_y = 0; - st_reset_fsensor(); -} - -void fsensor_set_axis_steps_per_unit(float u) -{ - fsensor_chunk_len = (int16_t)(FSENSOR_CHUNK_LEN * u); -} -#endif - - -void fsensor_restore_print_and_continue(void) -{ - puts_P(PSTR("fsensor_restore_print_and_continue")); - fsensor_watch_runout = true; -#ifdef PAT9125 - fsensor_reset_err_cnt(); -#endif - restore_print_from_ram_and_continue(0); -} - -// fsensor_checkpoint_print cuts the current print job at the current position, -// allowing new instructions to be inserted in the middle -void fsensor_checkpoint_print(void) -{ - puts_P(PSTR("fsensor_checkpoint_print")); - stop_and_save_print_to_ram(0, 0); - restore_print_from_ram_and_continue(0); -} - -#ifdef IR_SENSOR_ANALOG -const char* FsensorIRVersionText() -{ - switch(oFsensorPCB) - { - case ClFsensorPCB::_Old: - return _T(MSG_IR_03_OR_OLDER); - case ClFsensorPCB::_Rev04: - return _T(MSG_IR_04_OR_NEWER); - default: - return _T(MSG_IR_UNKNOWN); - } -} -#endif //IR_SENSOR_ANALOG - -void fsensor_init(void) -{ -#ifdef PAT9125 - uint8_t pat9125 = pat9125_init(); - printf_P(PSTR("PAT9125_init:%u\n"), pat9125); -#endif //PAT9125 - uint8_t fsensor_enabled = eeprom_read_byte((uint8_t*)EEPROM_FSENSOR); - fsensor_autoload_enabled=eeprom_read_byte((uint8_t*)EEPROM_FSENS_AUTOLOAD_ENABLED); - fsensor_not_responding = false; -#ifdef PAT9125 - uint8_t oq_meassure_enabled = eeprom_read_byte((uint8_t*)EEPROM_FSENS_OQ_MEASS_ENABLED); - fsensor_oq_meassure_enabled = (oq_meassure_enabled == 1)?true:false; - fsensor_set_axis_steps_per_unit(cs.axis_steps_per_unit[E_AXIS]); - - if (!pat9125){ - fsensor_enabled = 0; //disable sensor - fsensor_not_responding = true; - } -#endif //PAT9125 -#ifdef IR_SENSOR_ANALOG - bIRsensorStateFlag=false; - oFsensorPCB = (ClFsensorPCB)eeprom_read_byte((uint8_t*)EEPROM_FSENSOR_PCB); - oFsensorActionNA = (ClFsensorActionNA)eeprom_read_byte((uint8_t*)EEPROM_FSENSOR_ACTION_NA); - - // If the fsensor is not responding even at the start of the printer, - // set this flag accordingly to show N/A in Settings->Filament sensor. - // This is even valid for both fsensor board revisions (0.3 or older and 0.4). - // Must be done after reading what type of fsensor board we have - fsensor_not_responding = ! fsensor_IR_check(); -#endif //IR_SENSOR_ANALOG - if (fsensor_enabled){ - fsensor_enable(false); // (in this case) EEPROM update is not necessary - } else { - fsensor_disable(false); // (in this case) EEPROM update is not necessary - } - printf_P(PSTR("FSensor %S"), (fsensor_enabled?PSTR("ENABLED"):PSTR("DISABLED"))); -#ifdef IR_SENSOR_ANALOG - printf_P(PSTR(" (sensor board revision:%S)\n"), FsensorIRVersionText()); -#else //IR_SENSOR_ANALOG - MYSERIAL.println(); -#endif //IR_SENSOR_ANALOG - if (check_for_ir_sensor()){ - ir_sensor_detected = true; - } -} - -bool fsensor_enable(bool bUpdateEEPROM) -{ -#ifdef PAT9125 - (void)bUpdateEEPROM; // silence unused warning in this variant - - if (mmu_enabled == false) { //filament sensor is pat9125, enable only if it is working - uint8_t pat9125 = pat9125_init(); - printf_P(PSTR("PAT9125_init:%u\n"), pat9125); - if (pat9125) - fsensor_not_responding = false; - else - fsensor_not_responding = true; - fsensor_enabled = pat9125 ? true : false; - fsensor_watch_runout = true; - fsensor_oq_meassure = false; - fsensor_reset_err_cnt(); - eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, fsensor_enabled ? 0x01 : 0x00); - FSensorStateMenu = fsensor_enabled ? 1 : 0; - } - else //filament sensor is FINDA, always enable - { - fsensor_enabled = true; - eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, 0x01); - FSensorStateMenu = 1; - } -#else // PAT9125 -#ifdef IR_SENSOR_ANALOG - if(!fsensor_IR_check()) - { - bUpdateEEPROM=true; - fsensor_enabled=false; - fsensor_not_responding=true; - FSensorStateMenu=0; - } - else { -#endif //IR_SENSOR_ANALOG - fsensor_enabled=true; - fsensor_not_responding=false; - FSensorStateMenu=1; -#ifdef IR_SENSOR_ANALOG - } -#endif //IR_SENSOR_ANALOG - if(bUpdateEEPROM) - eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, FSensorStateMenu); -#endif //PAT9125 - return fsensor_enabled; -} - -void fsensor_disable(bool bUpdateEEPROM) -{ - fsensor_enabled = false; - FSensorStateMenu = 0; - if(bUpdateEEPROM) - eeprom_update_byte((uint8_t*)EEPROM_FSENSOR, 0x00); -} - -void fsensor_autoload_set(bool State) -{ -#ifdef PAT9125 - if (!State) fsensor_autoload_check_stop(); -#endif //PAT9125 - fsensor_autoload_enabled = State; - eeprom_update_byte((unsigned char *)EEPROM_FSENS_AUTOLOAD_ENABLED, fsensor_autoload_enabled); -} - -void pciSetup(byte pin) -{ -// !!! "digitalPinTo?????bit()" does not provide the correct results for some MCU pins - *digitalPinToPCMSK(pin) |= bit (digitalPinToPCMSKbit(pin)); // enable pin - PCIFR |= bit (digitalPinToPCICRbit(pin)); // clear any outstanding interrupt - PCICR |= bit (digitalPinToPCICRbit(pin)); // enable interrupt for the group -} - -#ifdef PAT9125 -void fsensor_autoload_check_start(void) -{ -// puts_P(_N("fsensor_autoload_check_start\n")); - if (!fsensor_enabled) return; - if (!fsensor_autoload_enabled) return; - if (fsensor_watch_autoload) return; - if (!pat9125_update()) //update sensor - { - fsensor_disable(); - fsensor_not_responding = true; - fsensor_watch_autoload = false; - printf_P(ERRMSG_PAT9125_NOT_RESP, 3); - return; - } - puts_P(_N("fsensor_autoload_check_start - autoload ENABLED")); - fsensor_autoload_y = pat9125_y; //save current y value - fsensor_autoload_c = 0; //reset number of changes counter - fsensor_autoload_sum = 0; - fsensor_autoload_last_millis = _millis(); - fsensor_watch_runout = false; - fsensor_watch_autoload = true; -} - - -void fsensor_autoload_check_stop(void) -{ -// puts_P(_N("fsensor_autoload_check_stop\n")); - if (!fsensor_enabled) return; -// puts_P(_N("fsensor_autoload_check_stop 1\n")); - if (!fsensor_autoload_enabled) return; -// puts_P(_N("fsensor_autoload_check_stop 2\n")); - if (!fsensor_watch_autoload) return; - puts_P(_N("fsensor_autoload_check_stop - autoload DISABLED")); - fsensor_autoload_sum = 0; - fsensor_watch_autoload = false; - fsensor_watch_runout = true; - fsensor_reset_err_cnt(); -} -#endif //PAT9125 - -bool fsensor_check_autoload(void) -{ - if (!fsensor_enabled) return false; - if (!fsensor_autoload_enabled) return false; - if (ir_sensor_detected) { - if (READ(IR_SENSOR_PIN)) { - fsensor_watch_autoload = true; - } - else if (fsensor_watch_autoload == true) { - fsensor_watch_autoload = false; - return true; - } - } -#ifdef PAT9125 - if (!fsensor_watch_autoload) - { - fsensor_autoload_check_start(); - return false; - } -#if 0 - uint8_t fsensor_autoload_c_old = fsensor_autoload_c; -#endif - if ((_millis() - fsensor_autoload_last_millis) < 25) return false; - fsensor_autoload_last_millis = _millis(); - if (!pat9125_update_y()) //update sensor - { - fsensor_disable(); - fsensor_not_responding = true; - printf_P(ERRMSG_PAT9125_NOT_RESP, 2); - return false; - } - int16_t dy = pat9125_y - fsensor_autoload_y; - if (dy) //? dy value is nonzero - { - if (dy > 0) //? delta-y value is positive (inserting) - { - fsensor_autoload_sum += dy; - fsensor_autoload_c += 3; //increment change counter by 3 - } - else if (fsensor_autoload_c > 1) - fsensor_autoload_c -= 2; //decrement change counter by 2 - fsensor_autoload_y = pat9125_y; //save current value - } - else if (fsensor_autoload_c > 0) - fsensor_autoload_c--; - if (fsensor_autoload_c == 0) fsensor_autoload_sum = 0; -#if 0 - puts_P(_N("fsensor_check_autoload\n")); - if (fsensor_autoload_c != fsensor_autoload_c_old) - printf_P(PSTR("fsensor_check_autoload dy=%d c=%d sum=%d\n"), dy, fsensor_autoload_c, fsensor_autoload_sum); -#endif -// if ((fsensor_autoload_c >= 15) && (fsensor_autoload_sum > 30)) - if ((fsensor_autoload_c >= 12) && (fsensor_autoload_sum > 20)) - { -// puts_P(_N("fsensor_check_autoload = true !!!\n")); - return true; - } -#endif //PAT9125 - return false; -} - -#ifdef PAT9125 -void fsensor_oq_meassure_set(bool State) -{ - fsensor_oq_meassure_enabled = State; - eeprom_update_byte((unsigned char *)EEPROM_FSENS_OQ_MEASS_ENABLED, fsensor_oq_meassure_enabled); -} - -void fsensor_oq_meassure_start(uint8_t skip) -{ - if (!fsensor_enabled) return; - if (!fsensor_oq_meassure_enabled) return; - puts_P(PSTR("fsensor_oq_meassure_start")); - fsensor_oq_skipchunk = skip; - fsensor_oq_samples = 0; - fsensor_oq_st_sum = 0; - fsensor_oq_yd_sum = 0; - fsensor_oq_er_sum = 0; - fsensor_oq_er_max = 0; - fsensor_oq_yd_min = INT16_MAX; - fsensor_oq_yd_max = 0; - fsensor_oq_sh_sum = 0; - pat9125_update(); - pat9125_y = 0; - fsensor_oq_meassure = true; -} - -void fsensor_oq_meassure_stop(void) -{ - if (!fsensor_enabled) return; - if (!fsensor_oq_meassure_enabled) return; - printf_P(PSTR("fsensor_oq_meassure_stop, %u samples\n"), fsensor_oq_samples); - printf_P(_N(" st_sum=%u yd_sum=%u er_sum=%u er_max=%u\n"), fsensor_oq_st_sum, fsensor_oq_yd_sum, fsensor_oq_er_sum, fsensor_oq_er_max); - printf_P(_N(" yd_min=%u yd_max=%u yd_avg=%u sh_avg=%u\n"), fsensor_oq_yd_min, fsensor_oq_yd_max, (uint16_t)((uint32_t)fsensor_oq_yd_sum * fsensor_chunk_len / fsensor_oq_st_sum), (uint16_t)(fsensor_oq_sh_sum / fsensor_oq_samples)); - fsensor_oq_meassure = false; -} - -#ifdef FSENSOR_QUALITY -const char _OK[] PROGMEM = "OK"; -const char _NG[] PROGMEM = "NG!"; - -bool fsensor_oq_result(void) -{ - if (!fsensor_enabled) return true; - if (!fsensor_oq_meassure_enabled) return true; - puts_P(_N("fsensor_oq_result")); - bool res_er_sum = (fsensor_oq_er_sum <= FSENSOR_OQ_MAX_ES); - printf_P(_N(" er_sum = %u %S\n"), fsensor_oq_er_sum, (res_er_sum?_OK:_NG)); - bool res_er_max = (fsensor_oq_er_max <= FSENSOR_OQ_MAX_EM); - printf_P(_N(" er_max = %u %S\n"), fsensor_oq_er_max, (res_er_max?_OK:_NG)); - uint8_t yd_avg = ((uint32_t)fsensor_oq_yd_sum * fsensor_chunk_len / fsensor_oq_st_sum); - bool res_yd_avg = (yd_avg >= FSENSOR_OQ_MIN_YD) && (yd_avg <= FSENSOR_OQ_MAX_YD); - printf_P(_N(" yd_avg = %u %S\n"), yd_avg, (res_yd_avg?_OK:_NG)); - bool res_yd_max = (fsensor_oq_yd_max <= (yd_avg * FSENSOR_OQ_MAX_PD)); - printf_P(_N(" yd_max = %u %S\n"), fsensor_oq_yd_max, (res_yd_max?_OK:_NG)); - bool res_yd_min = (fsensor_oq_yd_min >= (yd_avg / FSENSOR_OQ_MAX_ND)); - printf_P(_N(" yd_min = %u %S\n"), fsensor_oq_yd_min, (res_yd_min?_OK:_NG)); - - uint16_t yd_dev = (fsensor_oq_yd_max - yd_avg) + (yd_avg - fsensor_oq_yd_min); - printf_P(_N(" yd_dev = %u\n"), yd_dev); - - uint16_t yd_qua = 10 * yd_avg / (yd_dev + 1); - printf_P(_N(" yd_qua = %u %S\n"), yd_qua, ((yd_qua >= 8)?_OK:_NG)); - - uint8_t sh_avg = (fsensor_oq_sh_sum / fsensor_oq_samples); - bool res_sh_avg = (sh_avg <= FSENSOR_OQ_MAX_SH); - if (yd_qua >= 8) res_sh_avg = true; - - printf_P(_N(" sh_avg = %u %S\n"), sh_avg, (res_sh_avg?_OK:_NG)); - bool res = res_er_sum && res_er_max && res_yd_avg && res_yd_max && res_yd_min && res_sh_avg; - printf_P(_N("fsensor_oq_result %S\n"), (res?_OK:_NG)); - return res; -} -#endif //FSENSOR_QUALITY - -FORCE_INLINE static void fsensor_isr(int st_cnt) -{ - uint8_t old_err_cnt = fsensor_err_cnt; - uint8_t pat9125_res = fsensor_oq_meassure?pat9125_update():pat9125_update_y(); - if (!pat9125_res) - { - fsensor_disable(); - fsensor_not_responding = true; - printf_P(ERRMSG_PAT9125_NOT_RESP, 1); - } - - if (st_cnt != 0) - { - // movement was planned, check for sensor movement - int8_t st_dir = st_cnt >= 0; - int8_t pat9125_dir = pat9125_y >= 0; - - if (pat9125_y == 0) - { - if (st_dir) - { - // no movement detected: we might be within a blind sensor range, - // update the frame and shutter parameters we didn't earlier - if (!fsensor_oq_meassure) - pat9125_update_bs(); - - // increment the error count only if underexposed: filament likely missing - if ((pat9125_b < FSENSOR_OQ_MIN_BR) && (pat9125_s > FSENSOR_OQ_MAX_SH)) - { - // check for a dark frame (<30% avg brightness) with long exposure - ++fsensor_err_cnt; - } - else - { - // good frame, filament likely present - if(fsensor_err_cnt) --fsensor_err_cnt; - } - } - } - else if (pat9125_dir != st_dir) - { - // detected direction opposite of motor movement - if (st_dir) ++fsensor_err_cnt; - } - else if (pat9125_dir == st_dir) - { - // direction agreeing with planned movement - if (fsensor_err_cnt) --fsensor_err_cnt; - } - - if (st_dir && fsensor_oq_meassure) - { - // extruding with quality assessment - if (fsensor_oq_skipchunk) - { - fsensor_oq_skipchunk--; - fsensor_err_cnt = 0; - } - else - { - if (st_cnt == fsensor_chunk_len) - { - if (pat9125_y > 0) if (fsensor_oq_yd_min > pat9125_y) fsensor_oq_yd_min = (fsensor_oq_yd_min + pat9125_y) / 2; - if (pat9125_y >= 0) if (fsensor_oq_yd_max < pat9125_y) fsensor_oq_yd_max = (fsensor_oq_yd_max + pat9125_y) / 2; - } - fsensor_oq_samples++; - fsensor_oq_st_sum += st_cnt; - if (pat9125_y > 0) fsensor_oq_yd_sum += pat9125_y; - if (fsensor_err_cnt > old_err_cnt) - fsensor_oq_er_sum += (fsensor_err_cnt - old_err_cnt); - if (fsensor_oq_er_max < fsensor_err_cnt) - fsensor_oq_er_max = fsensor_err_cnt; - fsensor_oq_sh_sum += pat9125_s; - } - } - } - -#ifdef DEBUG_FSENSOR_LOG - if (fsensor_log) - { - printf_P(_N("FSENSOR cnt=%d dy=%d err=%u %S\n"), st_cnt, pat9125_y, fsensor_err_cnt, (fsensor_err_cnt > old_err_cnt)?_N("NG!"):_N("OK")); - if (fsensor_oq_meassure) printf_P(_N("FSENSOR st_sum=%u yd_sum=%u er_sum=%u er_max=%u yd_max=%u\n"), fsensor_oq_st_sum, fsensor_oq_yd_sum, fsensor_oq_er_sum, fsensor_oq_er_max, fsensor_oq_yd_max); - } -#endif //DEBUG_FSENSOR_LOG - - pat9125_y = 0; -} - -ISR(FSENSOR_INT_PIN_VECT) -{ - if (mmu_enabled || ir_sensor_detected) return; - if (!((fsensor_int_pin_old ^ FSENSOR_INT_PIN_PIN_REG) & FSENSOR_INT_PIN_MASK)) return; - fsensor_int_pin_old = FSENSOR_INT_PIN_PIN_REG; - - // prevent isr re-entry - static bool _lock = false; - if (!_lock) - { - // fetch fsensor_st_cnt atomically - int st_cnt = fsensor_st_cnt; - fsensor_st_cnt = 0; - - _lock = true; - sei(); - fsensor_isr(st_cnt); - cli(); - _lock = false; - } -} - -void fsensor_setup_interrupt(void) -{ - WRITE(FSENSOR_INT_PIN, 0); - SET_OUTPUT(FSENSOR_INT_PIN); - fsensor_int_pin_old = 0; - - //pciSetup(FSENSOR_INT_PIN); -// !!! "pciSetup()" does not provide the correct results for some MCU pins -// so interrupt registers settings: - FSENSOR_INT_PIN_PCMSK_REG |= bit(FSENSOR_INT_PIN_PCMSK_BIT); // enable corresponding PinChangeInterrupt (individual pin) - PCIFR |= bit(FSENSOR_INT_PIN_PCICR_BIT); // clear previous occasional interrupt (set of pins) - PCICR |= bit(FSENSOR_INT_PIN_PCICR_BIT); // enable corresponding PinChangeInterrupt (set of pins) -} - -void fsensor_st_block_chunk(int cnt) -{ - if (!fsensor_enabled) return; - fsensor_st_cnt += cnt; - - // !!! bit toggling (PINxn <- 1) (for PinChangeInterrupt) does not work for some MCU pins - WRITE(FSENSOR_INT_PIN, !READ(FSENSOR_INT_PIN)); -} -#endif //PAT9125 - - -//! Common code for enqueing M600 and supplemental codes into the command queue. -//! Used both for the IR sensor and the PAT9125 -void fsensor_enque_M600(){ - puts_P(PSTR("fsensor_update - M600")); - eeprom_update_byte((uint8_t*)EEPROM_FERROR_COUNT, eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT) + 1); - eeprom_update_word((uint16_t*)EEPROM_FERROR_COUNT_TOT, eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT) + 1); - enquecommand_front_P((PSTR("M600"))); -} - -//! @brief filament sensor update (perform M600 on filament runout) -//! -//! Works only if filament sensor is enabled. -//! When the filament sensor error count is larger then FSENSOR_ERR_MAX, pauses print, tries to move filament back and forth. -//! If there is still no plausible signal from filament sensor plans M600 (Filament change). -void fsensor_update(void) -{ -#ifdef PAT9125 - if (fsensor_watch_runout && (fsensor_err_cnt > FSENSOR_ERR_MAX)) - { - fsensor_stop_and_save_print(); - KEEPALIVE_STATE(IN_HANDLER); - - bool autoload_enabled_tmp = fsensor_autoload_enabled; - fsensor_autoload_enabled = false; - bool oq_meassure_enabled_tmp = fsensor_oq_meassure_enabled; - fsensor_oq_meassure_enabled = true; - - // move the nozzle away while checking the filament - current_position[Z_AXIS] += 0.8; - if(current_position[Z_AXIS] > Z_MAX_POS) current_position[Z_AXIS] = Z_MAX_POS; - plan_buffer_line_curposXYZE(max_feedrate[Z_AXIS]); - st_synchronize(); - - // check the filament in isolation - fsensor_reset_err_cnt(); - fsensor_oq_meassure_start(0); - float e_tmp = current_position[E_AXIS]; - current_position[E_AXIS] -= 3; - plan_buffer_line_curposXYZE(250/60); - current_position[E_AXIS] = e_tmp; - plan_buffer_line_curposXYZE(200/60); - st_synchronize(); - fsensor_oq_meassure_stop(); - - bool err = false; - err |= (fsensor_err_cnt > 0); // final error count is non-zero - err |= (fsensor_oq_er_sum > FSENSOR_OQ_MAX_ES); // total error count is above limit - err |= (fsensor_oq_yd_sum < FSENSOR_OQ_MIN_YD); // total measured distance is below limit - - fsensor_restore_print_and_continue(); - fsensor_autoload_enabled = autoload_enabled_tmp; - fsensor_oq_meassure_enabled = oq_meassure_enabled_tmp; - unsigned long now = _millis(); - if (!err && (now - fsensor_softfail_last) > FSENSOR_SOFTERR_DELTA) - fsensor_softfail_ccnt = 0; - if (!err && fsensor_softfail_ccnt <= FSENSOR_SOFTERR_CMAX) - { - puts_P(PSTR("fsensor_err_cnt = 0")); - ++fsensor_softfail; - ++fsensor_softfail_ccnt; - fsensor_softfail_last = now; - } - else - { - fsensor_softfail_ccnt = 0; - fsensor_softfail_last = 0; - fsensor_enque_M600(); - } - } -#else //PAT9125 - if (CHECK_FSENSOR && ir_sensor_detected) - { - if (READ(IR_SENSOR_PIN)) - { // IR_SENSOR_PIN ~ H -#ifdef IR_SENSOR_ANALOG - if(!bIRsensorStateFlag) - { - bIRsensorStateFlag=true; - tIRsensorCheckTimer.start(); - } - else - { - if(tIRsensorCheckTimer.expired(IR_SENSOR_STEADY)) - { - uint8_t nMUX1,nMUX2; - uint16_t nADC; - bIRsensorStateFlag=false; - // sequence for direct data reading from AD converter - DISABLE_TEMPERATURE_INTERRUPT(); - nMUX1=ADMUX; // ADMUX saving - nMUX2=ADCSRB; - adc_setmux(VOLT_IR_PIN); - ADCSRA|=(1<4.6V - // If it does, it means a disconnected cables or faulty board - if( (oFsensorPCB == ClFsensorPCB::_Rev04) && ( (nADC*OVERSAMPLENR) > IRsensor_Hopen_TRESHOLD ) ) - { - fsensor_disable(); - fsensor_not_responding = true; - printf_P(PSTR("IR sensor not responding (%d)!\n"),1); - if((ClFsensorActionNA)eeprom_read_byte((uint8_t*)EEPROM_FSENSOR_ACTION_NA)==ClFsensorActionNA::_Pause) - - // if we are printing and FS action is set to "Pause", force pause the print - if(oFsensorActionNA==ClFsensorActionNA::_Pause) - lcd_pause_print(); - } - else - { -#endif //IR_SENSOR_ANALOG - fsensor_checkpoint_print(); - fsensor_enque_M600(); -#ifdef IR_SENSOR_ANALOG - } - } - } - } - else - { // IR_SENSOR_PIN ~ L - bIRsensorStateFlag=false; -#endif //IR_SENSOR_ANALOG - } - } -#endif //PAT9125 -} - -#ifdef IR_SENSOR_ANALOG -/// This is called only upon start of the printer or when switching the fsensor ON in the menu -/// We cannot do temporal window checks here (aka the voltage has been in some range for a period of time) -bool fsensor_IR_check(){ - if( IRsensor_Lmax_TRESHOLD <= current_voltage_raw_IR && current_voltage_raw_IR <= IRsensor_Hmin_TRESHOLD ){ - /// If the voltage is in forbidden range, the fsensor is ok, but the lever is mounted improperly. - /// Or the user is so creative so that he can hold a piece of fillament in the hole in such a genius way, - /// that the IR fsensor reading is within 1.5 and 3V ... this would have been highly unusual - /// and would have been considered more like a sabotage than normal printer operation - puts_P(PSTR("fsensor in forbidden range 1.5-3V - check sensor")); - return false; - } - if( oFsensorPCB == ClFsensorPCB::_Rev04 ){ - /// newer IR sensor cannot normally produce 4.6-5V, this is considered a failure/bad mount - if( IRsensor_Hopen_TRESHOLD <= current_voltage_raw_IR && current_voltage_raw_IR <= IRsensor_VMax_TRESHOLD ){ - puts_P(PSTR("fsensor v0.4 in fault range 4.6-5V - unconnected")); - return false; - } - /// newer IR sensor cannot normally produce 0-0.3V, this is considered a failure -#if 0 //Disabled as it has to be decided if we gonna use this or not. - if( IRsensor_Hopen_TRESHOLD <= current_voltage_raw_IR && current_voltage_raw_IR <= IRsensor_VMax_TRESHOLD ){ - puts_P(PSTR("fsensor v0.4 in fault range 0.0-0.3V - wrong IR sensor")); - return false; - } -#endif - } - /// If IR sensor is "uknown state" and filament is not loaded > 1.5V return false -#if 0 - if( (oFsensorPCB == ClFsensorPCB::_Undef) && ( current_voltage_raw_IR > IRsensor_Lmax_TRESHOLD ) ){ - puts_P(PSTR("Unknown IR sensor version and no filament loaded detected.")); - return false; - } -#endif - // otherwise the IR fsensor is considered working correctly - return true; -} -#endif //IR_SENSOR_ANALOG diff --git a/Firmware/fsensor.h b/Firmware/fsensor.h deleted file mode 100755 index 7eb09ab8b..000000000 --- a/Firmware/fsensor.h +++ /dev/null @@ -1,124 +0,0 @@ -//! @file -#ifndef FSENSOR_H -#define FSENSOR_H - -#include -#include "config.h" - - -// enable/disable flag -extern bool fsensor_enabled; -// not responding flag -extern bool fsensor_not_responding; -#ifdef PAT9125 -// optical checking "chunk lenght" (already in steps) -extern int16_t fsensor_chunk_len; -// count of soft failures -extern uint8_t fsensor_softfail; -#endif - -//! @name save restore printing -//! @{ -extern void fsensor_stop_and_save_print(void); -//! restore print - restore position and heatup to original temperature -extern void fsensor_restore_print_and_continue(void); -//! split the current gcode stream to insert new instructions -extern void fsensor_checkpoint_print(void); -//! @} - -//! initialize -extern void fsensor_init(void); - -#ifdef PAT9125 -//! update axis resolution -extern void fsensor_set_axis_steps_per_unit(float u); -#endif - -//! @name enable/disable -//! @{ -extern bool fsensor_enable(bool bUpdateEEPROM=true); -extern void fsensor_disable(bool bUpdateEEPROM=true); -//! @} - -//autoload feature enabled -extern bool fsensor_autoload_enabled; -extern void fsensor_autoload_set(bool State); - -extern void fsensor_update(void); -#ifdef PAT9125 -//! setup pin-change interrupt -extern void fsensor_setup_interrupt(void); - -//! @name autoload support -//! @{ - -extern void fsensor_autoload_check_start(void); -extern void fsensor_autoload_check_stop(void); -#endif //PAT9125 -extern bool fsensor_check_autoload(void); -//! @} - -#ifdef PAT9125 -//! @name optical quality measurement support -//! @{ -extern bool fsensor_oq_meassure_enabled; -extern void fsensor_oq_meassure_set(bool State); -extern void fsensor_oq_meassure_start(uint8_t skip); -extern void fsensor_oq_meassure_stop(void); -extern bool fsensor_oq_result(void); -//! @} - -//! @name callbacks from stepper -//! @{ -extern void fsensor_st_block_chunk(int cnt); - -// debugging -extern uint8_t fsensor_log; - -// There's really nothing to do in block_begin: the stepper ISR likely has -// called us already at the end of the last block, making this integration -// redundant. LA1.5 might not always do that during a coasting move, so attempt -// to drain fsensor_st_cnt anyway at the beginning of the new block. -#define fsensor_st_block_begin(rev) fsensor_st_block_chunk(0) -//! @} -#endif //PAT9125 - -#define VOLT_DIV_REF 5 - -#ifdef IR_SENSOR_ANALOG -#define IR_SENSOR_STEADY 10 // [ms] - -enum class ClFsensorPCB:uint_least8_t -{ - _Old=0, - _Rev04=1, - _Undef=EEPROM_EMPTY_VALUE -}; - -enum class ClFsensorActionNA:uint_least8_t -{ - _Continue=0, - _Pause=1, - _Undef=EEPROM_EMPTY_VALUE -}; - -extern ClFsensorPCB oFsensorPCB; -extern ClFsensorActionNA oFsensorActionNA; -extern const char* FsensorIRVersionText(); - -extern bool fsensor_IR_check(); -constexpr uint16_t Voltage2Raw(float V){ - return ( V * 1023 * OVERSAMPLENR / VOLT_DIV_REF ) + 0.5F; -} -constexpr float Raw2Voltage(uint16_t raw){ - return VOLT_DIV_REF*(raw / (1023.F * OVERSAMPLENR) ); -} -constexpr uint16_t IRsensor_Ldiode_TRESHOLD = Voltage2Raw(0.3F); // ~0.3V, raw value=982 -constexpr uint16_t IRsensor_Lmax_TRESHOLD = Voltage2Raw(1.5F); // ~1.5V (0.3*Vcc), raw value=4910 -constexpr uint16_t IRsensor_Hmin_TRESHOLD = Voltage2Raw(3.0F); // ~3.0V (0.6*Vcc), raw value=9821 -constexpr uint16_t IRsensor_Hopen_TRESHOLD = Voltage2Raw(4.6F); // ~4.6V (N.C. @ Ru~20-50k, Rd'=56k, Ru'=10k), raw value=15059 -constexpr uint16_t IRsensor_VMax_TRESHOLD = Voltage2Raw(5.F); // ~5V, raw value=16368 - -#endif //IR_SENSOR_ANALOG - -#endif //FSENSOR_H diff --git a/Firmware/language.c b/Firmware/language.c index ccde92b26..ca54a221a 100644 --- a/Firmware/language.c +++ b/Firmware/language.c @@ -240,9 +240,9 @@ const char* lang_get_name_by_code(uint16_t code) #ifdef COMMUNITY_LANG_GROUP1_HR case LANG_CODE_HR: return _n("Hrvatski"); //community Croatian contribution #endif // COMMUNITY_LANG_GROUP1_HR -#ifdef COMMUNITY_LANG_GROUP1_LT +#ifdef COMMUNITY_LANG_GROUP2_LT case LANG_CODE_LT: return _n("Lietuviu"); //community Lithuanian contribution -#endif // COMMUNITY_LANG_GROUP1_LT +#endif // COMMUNITY_LANG_GROUP2_LT #ifdef COMMUNITY_LANG_GROUP1_RO case LANG_CODE_RO: return _n("Romana"); //community Romanian contribution #endif // COMMUNITY_LANG_GROUP1_RO diff --git a/Firmware/language.h b/Firmware/language.h index 91a76a1c3..db5c53a9d 100644 --- a/Firmware/language.h +++ b/Firmware/language.h @@ -26,10 +26,10 @@ #define PROGMEM_I1 __attribute__((section(".progmem1"))) #define PROGMEM_N1 __attribute__((section(".progmem2"))) #define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = s; &__c[0];})) -#define ISTR(s) s -#define _i(s) _I(s) -#define _T(s) s -#define _O(s) s +#define ISTR(s) (s) // declare a translatable string +#define _i(s) _I(s) // declare a translatable string and return the translated form +#define _T(s) (s) // return translated string from reference +#define _O(s) (s) // return original (untranslated) string from reference #else //(LANG_MODE == 0) // section .loc_sec (originaly .progmem0) will be used for localized translated strings #define PROGMEM_I2 __attribute__((section(".loc_sec"))) @@ -43,8 +43,10 @@ #define _T(s) lang_get_translation(s) #define _O(s) (s + 2) #endif //(LANG_MODE == 0) + #define _N(s) (__extension__({static const char __c[] PROGMEM_N1 = s; &__c[0];})) -#define _n(s) _N(s) +#define _n(s) _N(s) // declare and return untranslated string +#define _R(s) (s) // return reference to translatable string (for warning suppression) /** @brief lang_table_header_t structure - (size= 16byte) */ typedef struct @@ -121,9 +123,9 @@ typedef struct #ifdef COMMUNITY_LANG_GROUP1_HR #define LANG_CODE_HR 0x6872 //!<'hr' #endif // COMMUNITY_LANG_GROUP1_HR -#ifdef COMMUNITY_LANG_GROUP1_LT +#ifdef COMMUNITY_LANG_GROUP2_LT #define LANG_CODE_LT 0x6C74 //!<'lt' -#endif // COMMUNITY_LANG_GROUP1_LT +#endif // COMMUNITY_LANG_GROUP2_LT #ifdef COMMUNITY_LANG_GROUP1_SK #define LANG_CODE_SK 0x736b //!<'sk' #endif // COMMUNITY_LANG_GROUP1_SK diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index 4220ad0a9..0c4652731 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -528,6 +528,12 @@ void lcd_print(const char* s) while (*s) lcd_write(*(s++)); } +void lcd_print_pad(const char* s, uint8_t len) +{ + while (len-- && *s) lcd_write(*(s++)); + lcd_space(len); +} + void lcd_print(char c, int base) { lcd_print((long) c, base); @@ -638,7 +644,6 @@ uint8_t lcd_button_pressed = 0; uint8_t lcd_update_enabled = 1; uint32_t lcd_next_update_millis = 0; -uint8_t lcd_status_update_delay = 0; diff --git a/Firmware/lcd.h b/Firmware/lcd.h index e67715a3c..20c05f3ef 100644 --- a/Firmware/lcd.h +++ b/Firmware/lcd.h @@ -53,6 +53,7 @@ extern void lcd_printNumber(unsigned long n, uint8_t base); extern void lcd_printFloat(double number, uint8_t digits); extern void lcd_print(const char*); +extern void lcd_print_pad(const char*, uint8_t len); extern void lcd_print(char, int = 0); extern void lcd_print(unsigned char, int = 0); extern void lcd_print(int, int = 10); @@ -107,8 +108,6 @@ extern LongTimer lcd_timeoutToStatus; extern uint32_t lcd_next_update_millis; -extern uint8_t lcd_status_update_delay; - extern lcd_longpress_func_t lcd_longpress_func; extern bool lcd_longpress_trigger; @@ -191,14 +190,14 @@ private: //Custom characters defined in the first 8 characters of the LCD #define LCD_STR_BEDTEMP "\x00" #define LCD_STR_DEGREE "\x01" -#define LCD_STR_ARROW_2_DOWN "\x01" #define LCD_STR_THERMOMETER "\x02" -#define LCD_STR_CONFIRM "\x02" #define LCD_STR_UPLEVEL "\x03" #define LCD_STR_REFRESH "\x04" #define LCD_STR_FOLDER "\x05" #define LCD_STR_FEEDRATE "\x06" +#define LCD_STR_ARROW_2_DOWN "\x06" #define LCD_STR_CLOCK "\x07" +#define LCD_STR_CONFIRM "\x07" #define LCD_STR_ARROW_RIGHT "\x7E" //from the default character set #define LCD_STR_SOLID_BLOCK "\xFF" //from the default character set diff --git a/Firmware/macros.h b/Firmware/macros.h index 95a737e1e..aa282dd5e 100644 --- a/Firmware/macros.h +++ b/Firmware/macros.h @@ -11,6 +11,9 @@ #define CRITICAL_SECTION_END SREG = _sreg; #endif //CRITICAL_SECTION_START +#define _REGNAME(registerbase,number,suffix) registerbase##number##suffix +#define _REGNAME_SHORT(registerbase,suffix) registerbase##suffix + // Macros to make a string from a macro #define STRINGIFY_(M) #M #define STRINGIFY(M) STRINGIFY_(M) diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index 2d5c2c9d1..b4761304f 100755 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -24,7 +24,7 @@ uint8_t menu_data[MENU_DATA_SIZE]; #endif uint8_t menu_depth = 0; -uint8_t menu_block_entering_on_serious_errors = SERIOUS_ERR_NONE; +uint8_t menu_block_mask = MENU_BLOCK_NONE; uint8_t menu_line = 0; uint8_t menu_item = 0; uint8_t menu_row = 0; diff --git a/Firmware/menu.h b/Firmware/menu.h index 54c8a2cbb..31d364836 100755 --- a/Firmware/menu.h +++ b/Firmware/menu.h @@ -29,26 +29,26 @@ extern uint8_t menu_data[MENU_DATA_SIZE]; extern uint8_t menu_depth; -//! definition of serious errors possibly blocking the main menu +//! definition of reasons blocking the main menu //! Use them as bit mask, so that the code may set various errors at the same time enum ESeriousErrors { - SERIOUS_ERR_NONE = 0, - SERIOUS_ERR_MINTEMP_HEATER = 0x01, - SERIOUS_ERR_MINTEMP_BED = 0x02 + MENU_BLOCK_NONE = 0, + MENU_BLOCK_THERMAL_ERROR = 0x01, +#ifdef TEMP_MODEL + MENU_BLOCK_TEMP_MODEL_AUTOTUNE = 0x02, +#endif }; // and possibly others in the future. -//! this is a flag for disabling entering the main menu. If this is set -//! to anything != 0, the only the main status screen will be shown on the -//! LCD and the user will be prevented from entering the menu. -//! Now used only to block doing anything with the printer when there is -//! the infamous MINTEMP error (SERIOUS_ERR_MINTEMP). -extern uint8_t menu_block_entering_on_serious_errors; +//! this is a flag for disabling entering the main menu and longpress. If this is set to anything != +//! 0, the only the main status screen will be shown on the LCD and the user will be prevented from +//! entering the menu. +extern uint8_t menu_block_mask; -//! a pair of macros for manipulating the serious errors +//! a pair of macros for manipulating menu entry //! a c++ class would have been better -#define menu_set_serious_error(x) menu_block_entering_on_serious_errors |= x; -#define menu_unset_serious_error(x) menu_block_entering_on_serious_errors &= ~x; -#define menu_is_serious_error(x) (menu_block_entering_on_serious_errors & x) != 0 +#define menu_set_block(x) menu_block_mask |= x; +#define menu_unset_block(x) menu_block_mask &= ~x; +#define menu_is_blocked(x) (menu_block_mask & x) != 0 extern uint8_t menu_line; extern uint8_t menu_item; diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 4de80504f..39dd4836a 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -418,9 +418,9 @@ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS( for (uint8_t i = 0; i < npts; ++i) { float x = vec_x[0] * measured_pts[i * 2] + vec_y[0] * measured_pts[i * 2 + 1] + cntr[0]; float y = vec_x[1] * measured_pts[i * 2] + vec_y[1] * measured_pts[i * 2 + 1] + cntr[1]; - float errX = sqr(pgm_read_float(true_pts + i * 2) - x); - float errY = sqr(pgm_read_float(true_pts + i * 2 + 1) - y); - float err = sqrt(errX + errY); + float errX = pgm_read_float(true_pts + i * 2) - x; + float errY = pgm_read_float(true_pts + i * 2 + 1) - y; + float err = hypot(errX, errY); #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 10) { SERIAL_ECHOPGM("point #"); @@ -434,15 +434,15 @@ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS( if(verbosity_level >= 20) SERIAL_ECHOPGM("Point on first row"); #endif // SUPPORT_VERBOSITY float w = point_weight_y(i, measured_pts[2 * i + 1]); - if (sqrt(errX) > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_X || - (w != 0.f && sqrt(errY) > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_Y)) { + if (errX > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_X || + (w != 0.f && errY > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_Y)) { result = BED_SKEW_OFFSET_DETECTION_FITTING_FAILED; #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 20) { SERIAL_ECHOPGM(", weigth Y: "); MYSERIAL.print(w); - if (sqrt(errX) > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_X) SERIAL_ECHOPGM(", error X > max. error X"); - if (w != 0.f && sqrt(errY) > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_Y) SERIAL_ECHOPGM(", error Y > max. error Y"); + if (errX > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_X) SERIAL_ECHOPGM(", error X > max. error X"); + if (w != 0.f && errY > BED_CALIBRATION_POINT_OFFSET_MAX_1ST_ROW_Y) SERIAL_ECHOPGM(", error Y > max. error Y"); } #endif // SUPPORT_VERBOSITY } @@ -477,9 +477,9 @@ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS( SERIAL_ECHOPGM("error: "); MYSERIAL.print(err); SERIAL_ECHOPGM(", error X: "); - MYSERIAL.print(sqrt(errX)); + MYSERIAL.print(errX); SERIAL_ECHOPGM(", error Y: "); - MYSERIAL.print(sqrt(errY)); + MYSERIAL.print(errY); SERIAL_ECHOLNPGM(""); SERIAL_ECHOLNPGM(""); } @@ -645,7 +645,7 @@ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS( SERIAL_ECHOPGM(", "); MYSERIAL.print(pgm_read_float(true_pts + i * 2 + 1), 5); SERIAL_ECHOPGM("), error: "); - MYSERIAL.print(sqrt(sqr(measured_pts[i * 2] - x) + sqr(measured_pts[i * 2 + 1] - y))); + MYSERIAL.print( hypot(measured_pts[i * 2] - x, measured_pts[i * 2 + 1] - y) ); SERIAL_ECHOLNPGM(""); } if (verbosity_level >= 20) { @@ -810,7 +810,7 @@ void world2machine_read_valid(float vec_x[2], float vec_y[2], float cntr[2]) else { // Length of the vec_x shall be close to unity. - float l = sqrt(vec_x[0] * vec_x[0] + vec_x[1] * vec_x[1]); + float l = hypot(vec_x[0], vec_x[1]); if (l < 0.9 || l > 1.1) { #if 0 @@ -821,7 +821,7 @@ void world2machine_read_valid(float vec_x[2], float vec_y[2], float cntr[2]) reset = true; } // Length of the vec_y shall be close to unity. - l = sqrt(vec_y[0] * vec_y[0] + vec_y[1] * vec_y[1]); + l = hypot(vec_y[0], vec_y[1]); if (l < 0.9 || l > 1.1) { #if 0 @@ -832,7 +832,7 @@ void world2machine_read_valid(float vec_x[2], float vec_y[2], float cntr[2]) reset = true; } // Correction of the zero point shall be reasonably small. - l = sqrt(cntr[0] * cntr[0] + cntr[1] * cntr[1]); + l = hypot(cntr[0], cntr[1]); if (l > 15.f) { #if 0 @@ -974,7 +974,7 @@ bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, int goto error; } #ifdef TMC2130 - if (READ(Z_TMC2130_DIAG) != 0) + if (!READ(Z_TMC2130_DIAG)) { //printf_P(PSTR("crash detected 1, current_pos[Z]: %f \n"), current_position[Z_AXIS]); goto error; //crash Z detected @@ -995,8 +995,7 @@ bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, int //printf_P(PSTR("Zs: %f, Z: %f, delta Z: %f"), z_bckp, current_position[Z_AXIS], (z_bckp - current_position[Z_AXIS])); if (fabs(current_position[Z_AXIS] - z_bckp) < 0.025) { //printf_P(PSTR("PINDA triggered immediately, move Z higher and repeat measurement\n")); - current_position[Z_AXIS] += 0.5; - go_to_current(homing_feedrate[Z_AXIS]/60); + raise_z(0.5); current_position[Z_AXIS] = minimum_z; go_to_current(homing_feedrate[Z_AXIS]/(4*60)); // we have to let the planner know where we are right now as it is not where we said to go. @@ -1011,7 +1010,7 @@ bool find_bed_induction_sensor_point_z(float minimum_z, uint8_t n_iter, int goto error; } #ifdef TMC2130 - if (READ(Z_TMC2130_DIAG) != 0) { + if (!READ(Z_TMC2130_DIAG)) { //printf_P(PSTR("crash detected 2, current_pos[Z]: %f \n"), current_position[Z_AXIS]); goto error; //crash Z detected } @@ -1579,7 +1578,7 @@ inline bool improve_bed_induction_sensor_point() // Trim the vector from center_old_[x,y] to destination[x,y] by the bed dimensions. float vx = destination[X_AXIS] - center_old_x; float vy = destination[Y_AXIS] - center_old_y; - float l = sqrt(vx*vx+vy*vy); + float l = hypot(vx, vy); float t; if (destination[X_AXIS] < X_MIN_POS) { // Exiting the bed at xmin. @@ -2441,16 +2440,16 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level #ifdef SUPPORT_VERBOSITY if (verbosity_level >= 10) { // Length of the vec_x - float l = sqrt(vec_x[0] * vec_x[0] + vec_x[1] * vec_x[1]); + float l = hypot(vec_x[0], vec_x[1]); SERIAL_ECHOLNPGM("X vector length:"); MYSERIAL.println(l); // Length of the vec_y - l = sqrt(vec_y[0] * vec_y[0] + vec_y[1] * vec_y[1]); + l = hypot(vec_y[0], vec_y[1]); SERIAL_ECHOLNPGM("Y vector length:"); MYSERIAL.println(l); // Zero point correction - l = sqrt(cntr[0] * cntr[0] + cntr[1] * cntr[1]); + l = hypot(cntr[0], cntr[1]); SERIAL_ECHOLNPGM("Zero point correction:"); MYSERIAL.println(l); @@ -2528,7 +2527,7 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8 bool endstop_z_enabled = enable_z_endstop(false); #ifdef MESH_BED_CALIBRATION_SHOW_LCD - lcd_display_message_fullscreen_P(_i("Improving bed calibration point"));////MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 + lcd_display_message_fullscreen_P(_i("Improving bed calibration point"));////MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 #endif /* MESH_BED_CALIBRATION_SHOW_LCD */ // Collect a matrix of 9x9 points. @@ -2792,10 +2791,7 @@ canceled: bool sample_z() { bool sampled = true; //make space - current_position[Z_AXIS] += 150; - go_to_current(homing_feedrate[Z_AXIS] / 60); - //plan_buffer_line_curposXYZE(feedrate, active_extruder);); - + raise_z(150); lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET)); // Sample Z heights for the mesh bed leveling. @@ -2857,7 +2853,7 @@ bool sample_mesh_and_store_reference() homeaxis(Z_AXIS); #ifdef TMC2130 - if (!axis_known_position[Z_AXIS] && (READ(Z_TMC2130_DIAG) != 0)) //Z crash + if (!axis_known_position[Z_AXIS] && (!READ(Z_TMC2130_DIAG))) //Z crash { kill(_T(MSG_BED_LEVELING_FAILED_POINT_LOW)); return false; diff --git a/Firmware/messages.cpp b/Firmware/messages.cpp index 35a7e3bf8..6c68a9ea4 100644 --- a/Firmware/messages.cpp +++ b/Firmware/messages.cpp @@ -5,6 +5,7 @@ #include "Configuration_prusa.h" //internationalized messages +const char MSG_ALWAYS[] PROGMEM_I1 = ISTR("Always"); ////MSG_ALWAYS c=6 const char MSG_AUTO_HOME[] PROGMEM_I1 = ISTR("Auto home"); ////MSG_AUTO_HOME c=18 const char MSG_BABYSTEP_Z[] PROGMEM_I1 = ISTR("Live adjust Z"); ////MSG_BABYSTEP_Z c=18 const char MSG_BABYSTEP_Z_NOT_SET[] PROGMEM_I1 = ISTR("Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."); ////MSG_BABYSTEP_Z_NOT_SET c=20 r=12 @@ -14,7 +15,7 @@ const char MSG_BED_HEATING[] PROGMEM_I1 = ISTR("Bed Heating"); ////MSG_BED_HEATI const char MSG_BED_LEVELING_FAILED_POINT_LOW[] PROGMEM_I1 = ISTR("Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."); ////MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED[] PROGMEM_I1 = ISTR("XYZ calibration failed. Please consult the manual."); ////MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 const char MSG_BELT_STATUS[] PROGMEM_I1 = ISTR("Belt status");////MSG_BELT_STATUS c=18 -const char MSG_CANCEL[] PROGMEM_I1 = ISTR(">Cancel");////MSG_CANCEL c=9 +const char MSG_CANCEL[] PROGMEM_I1 = ISTR(">Cancel");////MSG_CANCEL c=10 const char MSG_CALIBRATE_Z_AUTO[] PROGMEM_I1 = ISTR("Calibrating Z"); ////MSG_CALIBRATE_Z_AUTO c=20 r=2 const char MSG_CARD_MENU[] PROGMEM_I1 = ISTR("Print from SD"); ////MSG_CARD_MENU c=18 const char MSG_CHECKING_X[] PROGMEM_I1 = ISTR("Checking X axis"); ////MSG_CHECKING_X c=20 @@ -40,7 +41,9 @@ const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1[] PROGMEM_I1 = ISTR("Searching bed const char MSG_FINISHING_MOVEMENTS[] PROGMEM_I1 = ISTR("Finishing movements"); ////MSG_FINISHING_MOVEMENTS c=20 const char MSG_FOLLOW_CALIBRATION_FLOW[] PROGMEM_I1 = ISTR("Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."); ////MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 const char MSG_FOLLOW_Z_CALIBRATION_FLOW[] PROGMEM_I1 = ISTR("There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."); ////MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 +const char MSG_FSENSOR_RUNOUT[] PROGMEM_I1 = ISTR("F. runout"); ////MSG_FSENSOR_RUNOUT c=13 const char MSG_FSENSOR_AUTOLOAD[] PROGMEM_I1 = ISTR("F. autoload"); ////MSG_FSENSOR_AUTOLOAD c=13 +const char MSG_FSENSOR_JAM_DETECTION[] PROGMEM_I1 = ISTR("F. jam detect"); ////MSG_FSENSOR_JAM_DETECTION c=13 const char MSG_FSENSOR[] PROGMEM_I1 = ISTR("Fil. sensor"); ////MSG_FSENSOR c=12 const char MSG_HEATING[] PROGMEM_I1 = ISTR("Heating"); ////MSG_HEATING c=20 const char MSG_HEATING_COMPLETE[] PROGMEM_I1 = ISTR("Heating done."); ////MSG_HEATING_COMPLETE c=20 @@ -51,10 +54,11 @@ const char MSG_SELECT_FILAMENT[] PROGMEM_I1 = ISTR("Select filament:"); ////MSG_ const char MSG_LAST_PRINT[] PROGMEM_I1 = ISTR("Last print"); ////MSG_LAST_PRINT c=18 const char MSG_LAST_PRINT_FAILURES[] PROGMEM_I1 = ISTR("Last print failures"); ////MSG_LAST_PRINT_FAILURES c=20 const char MSG_LOAD_FILAMENT[] PROGMEM_I1 = ISTR("Load filament"); ////MSG_LOAD_FILAMENT c=17 +const char MSG_LOAD_TO_EXTRUDER[] PROGMEM_I1 = ISTR("Load to extruder"); ////MSG_LOAD_TO_EXTRUDER c=18 const char MSG_LOADING_FILAMENT[] PROGMEM_I1 = ISTR("Loading filament"); ////MSG_LOADING_FILAMENT c=20 +const char MSG_TESTING_FILAMENT[] PROGMEM_I1 = ISTR("Testing filament"); ////MSG_TESTING_FILAMENT c=20 const char MSG_EJECT_FILAMENT[] PROGMEM_I1 = ISTR("Eject filament"); ////MSG_EJECT_FILAMENT c=17 const char MSG_CUT_FILAMENT[] PROGMEM_I1 = ISTR("Cut filament"); ////MSG_CUT_FILAMENT c=17 -const char MSG_M117_V2_CALIBRATION[] PROGMEM_I1 = ISTR("M117 First layer cal."); ////MSG_M117_V2_CALIBRATION c=25 const char MSG_MAIN[] PROGMEM_I1 = ISTR("Main"); ////MSG_MAIN c=18 const char MSG_BACK[] PROGMEM_I1 = ISTR("Back"); ////MSG_BACK c=18 const char MSG_SHEET[] PROGMEM_I1 = ISTR("Sheet"); ////MSG_SHEET c=10 @@ -92,6 +96,8 @@ const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////MSG_SELFTEST_MOT const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor"); ////MSG_SELFTEST_FILAMENT_SENSOR c=17 const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////MSG_SELFTEST_WIRINGERROR c=18 const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////MSG_SETTINGS c=18 +const char MSG_SELECT_LANGUAGE[] PROGMEM_I1 = ISTR("Select language"); ////MSG_SELECT_LANGUAGE c=18 +const char MSG_SORTING_FILES[] PROGMEM_I1 = ISTR("Sorting files"); ////MSG_SORTING_FILES c=20 const char MSG_TOTAL[] PROGMEM_I1 = ISTR("Total"); ////MSG_TOTAL c=6 const char MSG_TOTAL_FAILURES[] PROGMEM_I1 = ISTR("Total failures"); ////MSG_TOTAL_FAILURES c=20 const char MSG_HW_SETUP[] PROGMEM_I1 = ISTR("HW Setup"); ////MSG_HW_SETUP c=18 @@ -106,7 +112,7 @@ const char MSG_STOP_PRINT[] PROGMEM_I1 = ISTR("Stop print"); ////MSG_STOP_PRINT 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_DONE[] PROGMEM_I1 = ISTR("PINDA calibration is finished and active. It can be disabled in menu Settings->PINDA cal."); ////MSG_PINDA_CALIBRATION_DONE c=20 r=8 -const char MSG_UNLOAD_FILAMENT[] PROGMEM_I1 = ISTR("Unload filament"); ////MSG_UNLOAD_FILAMENT c=18 +const char MSG_UNLOAD_FILAMENT[] PROGMEM_I1 = ISTR("Unload filament"); ////MSG_UNLOAD_FILAMENT c=16 const char MSG_UNLOADING_FILAMENT[] PROGMEM_I1 = ISTR("Unloading filament"); ////MSG_UNLOADING_FILAMENT c=20 const char MSG_INFO_SCREEN[] PROGMEM_I1 = ISTR("Info screen"); ////MSG_INFO_SCREEN c=18 const char MSG_WIZARD_CALIBRATION_FAILED[] PROGMEM_I1 = ISTR("Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."); ////MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 @@ -114,7 +120,7 @@ const char MSG_WIZARD_DONE[] PROGMEM_I1 = ISTR("All is done. Happy printing!"); const char MSG_WIZARD_HEATING[] PROGMEM_I1 = ISTR("Preheating nozzle. Please wait."); ////MSG_WIZARD_HEATING c=20 r=3 const char MSG_WIZARD_QUIT[] PROGMEM_I1 = ISTR("You can always resume the Wizard from Calibration -> Wizard."); ////MSG_WIZARD_QUIT c=20 r=8 const char MSG_WIZARD_WELCOME[] PROGMEM_I1 = ISTR("Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"); ////MSG_WIZARD_WELCOME c=20 r=7 -const char MSG_WIZARD_WELCOME_SHIPPING[] PROGMEM_I1 = ISTR("Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."); ////MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 +const char MSG_WIZARD_WELCOME_SHIPPING[] PROGMEM_I1 = ISTR("Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."); ////MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 const char MSG_YES[] PROGMEM_I1 = ISTR("Yes"); ////MSG_YES c=4 const char MSG_V2_CALIBRATION[] PROGMEM_I1 = ISTR("First layer cal."); ////MSG_V2_CALIBRATION c=18 const char MSG_OFF[] PROGMEM_I1 = ISTR("Off"); ////MSG_OFF c=3 @@ -153,18 +159,23 @@ const char MSG_TIMEOUT[] PROGMEM_I1 = ISTR("Timeout"); ////MSG_TIMEOUT c=12 const char MSG_BRIGHT[] PROGMEM_I1 = ISTR("Bright"); ////MSG_BRIGHT c=6 const char MSG_DIM[] PROGMEM_I1 = ISTR("Dim"); ////MSG_DIM c=6 const char MSG_AUTO[] PROGMEM_I1 = ISTR("Auto"); ////MSG_AUTO c=6 -#ifdef IR_SENSOR_ANALOG +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) // Beware - the space at the beginning is necessary since it is reused in LCD menu items which are to be with a space const char MSG_IR_04_OR_NEWER[] PROGMEM_I1 = ISTR(" 0.4 or newer");////MSG_IR_04_OR_NEWER c=18 const char MSG_IR_03_OR_OLDER[] PROGMEM_I1 = ISTR(" 0.3 or older");////MSG_IR_03_OR_OLDER c=18 const char MSG_IR_UNKNOWN[] PROGMEM_I1 = ISTR("unknown state");////MSG_IR_UNKNOWN c=18 #endif +extern const char MSG_PAUSED_THERMAL_ERROR[] PROGMEM_I1 = ISTR("PAUSED THERMAL ERROR");////MSG_PAUSED_THERMAL_ERROR c=20 +#ifdef TEMP_MODEL +extern const char MSG_THERMAL_ANOMALY[] PROGMEM_I1 = ISTR("THERMAL ANOMALY");////MSG_THERMAL_ANOMALY c=20 +#endif +extern const char MSG_LOAD_ALL[] PROGMEM_I1 = ISTR("Load All"); ////MSG_LOAD_ALL c=18 //not internationalized messages -const char MSG_AUTO_DEPLETE[] PROGMEM_N1 = ISTR("SpoolJoin"); ////MSG_AUTO_DEPLETE c=13 -const char MSG_FIRMWARE[] PROGMEM_N1 = ISTR("Firmware"); ////MSG_FIRMWARE c=8 -const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_N1 = ISTR("FlashAir"); ////MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -const char MSG_PINDA[] PROGMEM_N1 = ISTR("PINDA");////MSG_PINDA c=5 +const char MSG_SPOOL_JOIN[] PROGMEM_N1 = "SpoolJoin"; ////MSG_SPOOL_JOIN c=13 +const char MSG_FIRMWARE[] PROGMEM_N1 = "Firmware"; ////MSG_FIRMWARE c=8 +const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_N1 = "FlashAir"; ////MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 +const char MSG_PINDA[] PROGMEM_N1 = "PINDA"; ////MSG_PINDA c=5 const char MSG_WELCOME[] PROGMEM_N1 = WELCOME_MSG; const char MSG_SD_WORKDIR_FAIL[] PROGMEM_N1 = "workDir open failed"; //// const char MSG_BROWNOUT_RESET[] PROGMEM_N1 = " Brown out Reset"; //// @@ -177,7 +188,9 @@ const char MSG_WATCHDOG_RESET[] PROGMEM_N1 = " Watchdog Reset"; //// const char MSG_Z_MAX[] PROGMEM_N1 = "z_max: "; //// const char MSG_Z_MIN[] PROGMEM_N1 = "z_min: "; //// const char MSG_ZPROBE_OUT[] PROGMEM_N1 = "Z probe out. bed"; //// +#ifdef ENABLE_AUTO_BED_LEVELING const char MSG_ZPROBE_ZOFFSET[] PROGMEM_N1 = "Z Offset"; //// +#endif const char MSG_TMC_OVERTEMP[] PROGMEM_N1 = "TMC DRIVER OVERTEMP"; //// const char MSG_Enqueing[] PROGMEM_N1 = "enqueing \""; //// const char MSG_ENDSTOPS_HIT[] PROGMEM_N1 = "endstops hit: "; //// @@ -186,11 +199,11 @@ const char MSG_OK[] PROGMEM_N1 = "ok"; //// const char MSG_SD_OPEN_FILE_FAIL[] PROGMEM_N1 = "open failed, File: "; //// const char MSG_ENDSTOP_OPEN[] PROGMEM_N1 = "open"; //// const char MSG_POWERUP[] PROGMEM_N1 = "PowerUp"; //// -const char MSG_ERR_STOPPED[] PROGMEM_N1 = "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"; //// +const char MSG_ERR_STOPPED[] PROGMEM_N1 = "Printer stopped due to errors. Supervision required."; //// const char MSG_ENDSTOP_HIT[] PROGMEM_N1 = "TRIGGERED"; //// -const char MSG_OCTOPRINT_PAUSE[] PROGMEM_N1 = "// action:pause"; //// +const char MSG_OCTOPRINT_ASK_PAUSE[] PROGMEM_N1 = "// action:pause"; //// const char MSG_OCTOPRINT_PAUSED[] PROGMEM_N1 = "// action:paused"; //// -const char MSG_OCTOPRINT_RESUME[] PROGMEM_N1 = "// action:resume"; //// +const char MSG_OCTOPRINT_ASK_RESUME[] PROGMEM_N1 = "// action:resume"; //// const char MSG_OCTOPRINT_RESUMED[] PROGMEM_N1 = "// action:resumed"; //// const char MSG_OCTOPRINT_CANCEL[] PROGMEM_N1 = "// action:cancel"; //// const char MSG_FANCHECK_EXTRUDER[] PROGMEM_N1 = "Err: EXTR. FAN ERROR"; ////c=20 diff --git a/Firmware/messages.h b/Firmware/messages.h index 2c9a4a5fc..4c1c72c58 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -11,6 +11,7 @@ extern "C" { // LCD Menu Messages //internationalized messages +extern const char MSG_ALWAYS[]; extern const char MSG_AUTO_HOME[]; extern const char MSG_BABYSTEP_Z[]; extern const char MSG_BABYSTEP_Z_NOT_SET[]; @@ -46,7 +47,9 @@ extern const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1[]; extern const char MSG_FINISHING_MOVEMENTS[]; extern const char MSG_FOLLOW_CALIBRATION_FLOW[]; extern const char MSG_FOLLOW_Z_CALIBRATION_FLOW[]; +extern const char MSG_FSENSOR_RUNOUT[]; extern const char MSG_FSENSOR_AUTOLOAD[]; +extern const char MSG_FSENSOR_JAM_DETECTION[]; extern const char MSG_FSENSOR[]; extern const char MSG_HEATING[]; extern const char MSG_HEATING_COMPLETE[]; @@ -57,7 +60,9 @@ extern const char MSG_SELECT_FILAMENT[]; extern const char MSG_LAST_PRINT[]; extern const char MSG_LAST_PRINT_FAILURES[]; extern const char MSG_LOAD_FILAMENT[]; +extern const char MSG_LOAD_TO_EXTRUDER[]; extern const char MSG_LOADING_FILAMENT[]; +extern const char MSG_TESTING_FILAMENT[]; extern const char MSG_M117_V2_CALIBRATION[]; extern const char MSG_MAIN[]; extern const char MSG_BACK[]; @@ -98,6 +103,8 @@ extern const char MSG_SELFTEST_MOTOR[]; extern const char MSG_SELFTEST_FILAMENT_SENSOR[]; extern const char MSG_SELFTEST_WIRINGERROR[]; extern const char MSG_SETTINGS[]; +extern const char MSG_SELECT_LANGUAGE[]; +extern const char MSG_SORTING_FILES[]; extern const char MSG_TOTAL[]; extern const char MSG_TOTAL_FAILURES[]; extern const char MSG_HW_SETUP[]; @@ -127,7 +134,7 @@ extern const char MSG_WELCOME[]; extern const char MSG_OFF[]; extern const char MSG_ON[]; extern const char MSG_NA[]; -extern const char MSG_AUTO_DEPLETE[]; +extern const char MSG_SPOOL_JOIN[]; extern const char MSG_CUTTER[]; extern const char MSG_NONE[]; extern const char MSG_WARN[]; @@ -163,11 +170,16 @@ extern const char MSG_TIMEOUT[]; extern const char MSG_BRIGHT[]; extern const char MSG_DIM[]; extern const char MSG_AUTO[]; -#ifdef IR_SENSOR_ANALOG +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) extern const char MSG_IR_04_OR_NEWER[]; extern const char MSG_IR_03_OR_OLDER[]; extern const char MSG_IR_UNKNOWN[]; #endif +extern const char MSG_PAUSED_THERMAL_ERROR[]; +#ifdef TEMP_MODEL +extern const char MSG_THERMAL_ANOMALY[]; +#endif +extern const char MSG_LOAD_ALL[]; //not internationalized messages extern const char MSG_BROWNOUT_RESET[]; @@ -180,7 +192,9 @@ extern const char MSG_WATCHDOG_RESET[]; extern const char MSG_Z_MAX[]; extern const char MSG_Z_MIN[]; extern const char MSG_ZPROBE_OUT[]; +#ifdef ENABLE_AUTO_BED_LEVELING extern const char MSG_ZPROBE_ZOFFSET[]; +#endif extern const char MSG_TMC_OVERTEMP[]; extern const char MSG_Enqueing[]; extern const char MSG_ENDSTOPS_HIT[]; @@ -193,9 +207,9 @@ extern const char MSG_ERR_STOPPED[]; extern const char MSG_ENDSTOP_HIT[]; extern const char MSG_EJECT_FILAMENT[]; extern const char MSG_CUT_FILAMENT[]; -extern const char MSG_OCTOPRINT_PAUSE[]; +extern const char MSG_OCTOPRINT_ASK_PAUSE[]; extern const char MSG_OCTOPRINT_PAUSED[]; -extern const char MSG_OCTOPRINT_RESUME[]; +extern const char MSG_OCTOPRINT_ASK_RESUME[]; extern const char MSG_OCTOPRINT_RESUMED[]; extern const char MSG_OCTOPRINT_CANCEL[]; extern const char MSG_FANCHECK_EXTRUDER[]; diff --git a/Firmware/mmu.cpp b/Firmware/mmu.cpp deleted file mode 100755 index 3da5c54eb..000000000 --- a/Firmware/mmu.cpp +++ /dev/null @@ -1,1266 +0,0 @@ -//! @file - -#include "mmu.h" -#include "planner.h" -#include "language.h" -#include "lcd.h" -#include "uart2.h" -#include "temperature.h" -#include "Configuration_prusa.h" -#include "fsensor.h" -#include "cardreader.h" -#include "cmdqueue.h" -#include "ultralcd.h" -#include "menu.h" -#include "sound.h" -#include "printers.h" -#include -#include "AutoDeplete.h" -#include "fastio.h" -#include "pins.h" -//-// -#include "util.h" - -#ifdef TMC2130 -#include "tmc2130.h" -#endif //TMC2130 - -#define MMU_TODELAY 100 -#define MMU_TIMEOUT 10 -#define MMU_CMD_TIMEOUT 45000ul //45s timeout for mmu commands (except P0) -#define MMU_P0_TIMEOUT 3000ul //timeout for P0 command: 3seconds -#define MMU_MAX_RESEND_ATTEMPTS 2 - - -namespace -{ - enum class S : uint_least8_t - { - WaitStealthMode, - GetFindaInit, - GetBuildNr, - GetVersion, - Init, - Disabled, - Idle, - GetFinda, - WaitCmd, //!< wait for command response - Pause, - GetDrvError, //!< get power failures count - SwitchMode //switch mmu between stealth and normal mode - }; -} - -bool mmu_enabled = false; -bool mmu_ready = false; -bool mmu_fil_loaded = false; //if true: blocks execution of duplicit T-codes - -static S mmu_state = S::Disabled; - -MmuCmd mmu_cmd = MmuCmd::None; - -//idler ir sensor -static uint8_t mmu_idl_sens = 0; -bool ir_sensor_detected = false; -static bool mmu_loading_flag = false; //when set to true, we assume that mmu2 unload was finished and loading phase is now performed; printer can send 'A' to mmu2 to abort loading process - -uint8_t mmu_extruder = MMU_FILAMENT_UNKNOWN; - -//! This variable probably has no meaning and is planed to be removed -uint8_t tmp_extruder = MMU_FILAMENT_UNKNOWN; - -int8_t mmu_finda = -1; - -int16_t mmu_version = -1; - -int16_t mmu_buildnr = -1; - -LongTimer mmu_last_request; -LongTimer mmu_last_response; -LongTimer mmu_last_finda_response; - -MmuCmd mmu_last_cmd = MmuCmd::None; -uint16_t mmu_power_failures = 0; - - -#ifdef MMU_DEBUG -static const auto DEBUG_PUTCHAR = putchar; -static const auto DEBUG_PUTS_P = puts_P; -static const auto DEBUG_PRINTF_P = printf_P; -#else //MMU_DEBUG -#define DEBUG_PUTCHAR(c) -#define DEBUG_PUTS_P(str) -#define DEBUG_PRINTF_P( __fmt, ... ) -#endif //MMU_DEBUG - -#if defined(MMU_FINDA_DEBUG) && defined(MMU_DEBUG) -static const auto FDEBUG_PUTS_P = puts_P; -static const auto FDEBUG_PRINTF_P = printf_P; -#else -#define FDEBUG_PUTS_P(str) -#define FDEBUG_PRINTF_P( __fmt, ... ) -#endif //defined(MMU_FINDA_DEBUG) && defined(MMU_DEBUG) - - -//clear rx buffer -void mmu_clr_rx_buf(void) -{ - while (fgetc(uart2io) >= 0); -} - -//send command - puts -int mmu_puts_P(const char* str) -{ - mmu_clr_rx_buf(); //clear rx buffer - int r = fputs_P(str, uart2io); //send command - mmu_last_request.start(); - return r; -} - -//send command - printf -int mmu_printf_P(const char* format, ...) -{ - va_list args; - va_start(args, format); - mmu_clr_rx_buf(); //clear rx buffer - int r = vfprintf_P(uart2io, format, args); //send command - va_end(args); - mmu_last_request.start(); - return r; -} - -//check 'ok' response -int8_t mmu_rx_ok(void) -{ - int8_t res = uart2_rx_str_P(PSTR("ok\n")); - if (res == 1) mmu_last_response.start(); - return res; -} - -//check 'start' response -int8_t mmu_rx_start(void) -{ - int8_t res = uart2_rx_str_P(PSTR("start\n")); - if (res == 1) mmu_last_response.start(); - return res; -} - -//initialize mmu2 unit - first part - should be done at begining of startup process -void mmu_init(void) -{ -#ifdef MMU_HWRESET - WRITE(MMU_RST_PIN, 1); - SET_OUTPUT(MMU_RST_PIN); //setup reset pin -#endif //MMU_HWRESET - uart2_init(); //init uart2 - _delay_ms(10); //wait 10ms for sure - mmu_reset(); //reset mmu (HW or SW), do not wait for response - mmu_state = S::Init; - SET_INPUT(IR_SENSOR_PIN); //input mode - WRITE(IR_SENSOR_PIN, 1); //pullup -} - -//if IR_SENSOR defined, always returns true -//otherwise check for ir sensor and returns true if idler IR sensor was detected, otherwise returns false -bool check_for_ir_sensor() -{ -#ifdef IR_SENSOR - return true; -#else //IR_SENSOR - - bool detected = false; - //if IR_SENSOR_PIN input is low and pat9125sensor is not present we detected idler sensor - if ((READ(IR_SENSOR_PIN) == 0) -#ifdef PAT9125 - && fsensor_not_responding -#endif //PAT9125 - ) - { - detected = true; - //printf_P(PSTR("Idler IR sensor detected\n")); - } - else - { - //printf_P(PSTR("Idler IR sensor not detected\n")); - } - return detected; -#endif //IR_SENSOR -} - -static bool activate_stealth_mode() -{ -#ifdef MMU_FORCE_STEALTH_MODE - return true; -#else - return (eeprom_read_byte((uint8_t*)EEPROM_MMU_STEALTH) == 1); -#endif -} - -//mmu main loop - state machine processing -void mmu_loop(void) -{ - static uint8_t mmu_attempt_nr = 0; -// printf_P(PSTR("MMU loop, state=%d\n"), mmu_state); - switch (mmu_state) - { - case S::Disabled: - return; - case S::Init: - if (mmu_rx_start() > 0) - { - DEBUG_PUTS_P(PSTR("MMU => 'start'")); - DEBUG_PUTS_P(PSTR("MMU <= 'S1'")); - mmu_puts_P(PSTR("S1\n")); //send 'read version' request - mmu_state = S::GetVersion; - } - else if (_millis() > 30000) //30sec after reset disable mmu - { - puts_P(PSTR("MMU not responding - DISABLED")); - mmu_state = S::Disabled; - } - return; - case S::GetVersion: - if (mmu_rx_ok() > 0) - { - fscanf_P(uart2io, PSTR("%u"), &mmu_version); //scan version from buffer - DEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_version); - DEBUG_PUTS_P(PSTR("MMU <= 'S2'")); - mmu_puts_P(PSTR("S2\n")); //send 'read buildnr' request - mmu_state = S::GetBuildNr; - } - return; - case S::GetBuildNr: - if (mmu_rx_ok() > 0) - { - fscanf_P(uart2io, PSTR("%u"), &mmu_buildnr); //scan buildnr from buffer - DEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_buildnr); - bool version_valid = mmu_check_version(); - if (!version_valid) mmu_show_warning(); - else puts_P(PSTR("MMU version valid")); - - if (!activate_stealth_mode()) - { - FDEBUG_PUTS_P(PSTR("MMU <= 'P0'")); - mmu_puts_P(PSTR("P0\n")); //send 'read finda' request - mmu_state = S::GetFindaInit; - } - else - { - DEBUG_PUTS_P(PSTR("MMU <= 'M1'")); - mmu_puts_P(PSTR("M1\n")); //set mmu mode to stealth - mmu_state = S::WaitStealthMode; - } - - } - return; - case S::WaitStealthMode: - if (mmu_rx_ok() > 0) - { - FDEBUG_PUTS_P(PSTR("MMU <= 'P0'")); - mmu_puts_P(PSTR("P0\n")); //send 'read finda' request - mmu_state = S::GetFindaInit; - } - return; - case S::GetFindaInit: - if (mmu_rx_ok() > 0) - { - fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer. MUST BE %hhu!!! - mmu_last_finda_response.start(); - FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda); - puts_P(PSTR("MMU - ENABLED")); - mmu_enabled = true; - //-// - // ... PrinterType/Name - fSetMmuMode(true); - mmu_state = S::Idle; - } - return; - case S::Idle: - if (mmu_cmd != MmuCmd::None) //command request ? - { - if ((mmu_cmd >= MmuCmd::T0) && (mmu_cmd <= MmuCmd::T4)) - { - const uint8_t filament = mmu_cmd - MmuCmd::T0; - DEBUG_PRINTF_P(PSTR("MMU <= 'T%d'\n"), filament); - mmu_printf_P(PSTR("T%d\n"), filament); - mmu_state = S::WaitCmd; // wait for response - mmu_fil_loaded = true; - mmu_idl_sens = 1; - } - else if ((mmu_cmd >= MmuCmd::L0) && (mmu_cmd <= MmuCmd::L4)) - { - const uint8_t filament = mmu_cmd - MmuCmd::L0; - DEBUG_PRINTF_P(PSTR("MMU <= 'L%d'\n"), filament); - mmu_printf_P(PSTR("L%d\n"), filament); - mmu_state = S::WaitCmd; // wait for response - } - else if (mmu_cmd == MmuCmd::C0) - { - DEBUG_PRINTF_P(PSTR("MMU <= 'C0'\n")); - mmu_puts_P(PSTR("C0\n")); //send 'continue loading' - mmu_state = S::WaitCmd; - mmu_idl_sens = 1; - } - else if (mmu_cmd == MmuCmd::U0) - { - DEBUG_PRINTF_P(PSTR("MMU <= 'U0'\n")); - mmu_puts_P(PSTR("U0\n")); //send 'unload current filament' - mmu_fil_loaded = false; - mmu_state = S::WaitCmd; - } - else if ((mmu_cmd >= MmuCmd::E0) && (mmu_cmd <= MmuCmd::E4)) - { - const uint8_t filament = mmu_cmd - MmuCmd::E0; - DEBUG_PRINTF_P(PSTR("MMU <= 'E%d'\n"), filament); - mmu_printf_P(PSTR("E%d\n"), filament); //send eject filament - mmu_fil_loaded = false; - mmu_state = S::WaitCmd; - } - else if ((mmu_cmd >= MmuCmd::K0) && (mmu_cmd <= MmuCmd::K4)) - { - const uint8_t filament = mmu_cmd - MmuCmd::K0; - DEBUG_PRINTF_P(PSTR("MMU <= 'K%d'\n"), filament); - mmu_printf_P(PSTR("K%d\n"), filament); //send eject filament - mmu_fil_loaded = false; - mmu_state = S::WaitCmd; - } - else if (mmu_cmd == MmuCmd::R0) - { - DEBUG_PRINTF_P(PSTR("MMU <= 'R0'\n")); - mmu_puts_P(PSTR("R0\n")); //send recover after eject - mmu_state = S::WaitCmd; - } - else if (mmu_cmd == MmuCmd::S3) - { - DEBUG_PRINTF_P(PSTR("MMU <= 'S3'\n")); - mmu_puts_P(PSTR("S3\n")); //send power failures request - mmu_state = S::GetDrvError; - } - else if (mmu_cmd == MmuCmd::W0) - { - DEBUG_PRINTF_P(PSTR("MMU <= 'W0'\n")); - mmu_puts_P(PSTR("W0\n")); - mmu_state = S::Pause; - } - mmu_last_cmd = mmu_cmd; - mmu_cmd = MmuCmd::None; - } - else if ((eeprom_read_byte((uint8_t*)EEPROM_MMU_STEALTH) != SilentModeMenu_MMU) && mmu_ready) { - DEBUG_PRINTF_P(PSTR("MMU <= 'M%d'\n"), SilentModeMenu_MMU); - mmu_printf_P(PSTR("M%d\n"), SilentModeMenu_MMU); - mmu_state = S::SwitchMode; - } - else if (mmu_last_response.expired(300)) //request every 300ms - { -#ifndef IR_SENSOR - if(check_for_ir_sensor()) ir_sensor_detected = true; -#endif //IR_SENSOR not defined - FDEBUG_PUTS_P(PSTR("MMU <= 'P0'")); - mmu_puts_P(PSTR("P0\n")); //send 'read finda' request - mmu_state = S::GetFinda; - } - return; - case S::GetFinda: //response to command P0 - if (mmu_idl_sens) - { - if (READ(IR_SENSOR_PIN) == 0 && mmu_loading_flag) - { -#ifdef MMU_DEBUG - printf_P(PSTR("MMU <= 'A'\n")); -#endif //MMU_DEBUG - mmu_puts_P(PSTR("A\n")); //send 'abort' request - mmu_idl_sens = 0; - //printf_P(PSTR("MMU IDLER_SENSOR = 0 - ABORT\n")); - } - //else - //printf_P(PSTR("MMU IDLER_SENSOR = 1 - WAIT\n")); - } - if (mmu_rx_ok() > 0) - { - fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer. MUST BE %hhu!!! - mmu_last_finda_response.start(); - FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda); - //printf_P(PSTR("Eact: %d\n"), int(e_active())); - if (!mmu_finda && CHECK_FSENSOR && fsensor_enabled) { - fsensor_checkpoint_print(); - if (mmu_extruder != MMU_FILAMENT_UNKNOWN) // Can't deplete unknown extruder. - ad_markDepleted(mmu_extruder); - if (lcd_autoDepleteEnabled() && !ad_allDepleted() && mmu_extruder != MMU_FILAMENT_UNKNOWN) // Can't auto if F=? - { - enquecommand_front_P(PSTR("M600 AUTO")); //save print and run M600 command - } - else - { - enquecommand_front_P(PSTR("M600")); //save print and run M600 command - } - } - mmu_state = S::Idle; - if (mmu_cmd == MmuCmd::None) - mmu_ready = true; - } - else if (mmu_last_request.expired(MMU_P0_TIMEOUT)) - { //resend request after timeout (30s) - mmu_state = S::Idle; - } - return; - case S::WaitCmd: //response to mmu commands - if (mmu_idl_sens) - { - if (READ(IR_SENSOR_PIN) == 0 && mmu_loading_flag) - { - DEBUG_PRINTF_P(PSTR("MMU <= 'A'\n")); - mmu_puts_P(PSTR("A\n")); //send 'abort' request - mmu_idl_sens = 0; - //printf_P(PSTR("MMU IDLER_SENSOR = 0 - ABORT\n")); - } - //else - //printf_P(PSTR("MMU IDLER_SENSOR = 1 - WAIT\n")); - } - if (mmu_rx_ok() > 0) - { - DEBUG_PRINTF_P(PSTR("MMU => 'ok'\n")); - mmu_attempt_nr = 0; - mmu_last_cmd = MmuCmd::None; - mmu_ready = true; - mmu_state = S::Idle; - } - else if (mmu_last_request.expired(MMU_CMD_TIMEOUT)) - { //resend request after timeout (5 min) - if (mmu_last_cmd != MmuCmd::None) - { - if (mmu_attempt_nr++ < MMU_MAX_RESEND_ATTEMPTS && - mmu_last_cmd >= MmuCmd::T0 && mmu_last_cmd <= MmuCmd::T4) - { - DEBUG_PRINTF_P(PSTR("MMU retry attempt nr. %d\n"), mmu_attempt_nr - 1); - mmu_cmd = mmu_last_cmd; - } - else { - mmu_cmd = MmuCmd::None; - mmu_last_cmd = MmuCmd::None; //check - mmu_attempt_nr = 0; - } - } - mmu_state = S::Idle; - } - return; - case S::Pause: - if (mmu_rx_ok() > 0) - { - DEBUG_PRINTF_P(PSTR("MMU => 'ok', resume print\n")); - mmu_attempt_nr = 0; - mmu_last_cmd = MmuCmd::None; - mmu_ready = true; - mmu_state = S::Idle; - lcd_resume_print(); - } - if (mmu_cmd != MmuCmd::None) - { - mmu_state = S::Idle; - } - return; - case S::GetDrvError: - if (mmu_rx_ok() > 0) - { - fscanf_P(uart2io, PSTR("%d"), &mmu_power_failures); //scan power failures - DEBUG_PRINTF_P(PSTR("MMU => 'ok'\n")); - mmu_last_cmd = MmuCmd::None; - mmu_ready = true; - mmu_state = S::Idle; - } - else if (mmu_last_request.expired(MMU_CMD_TIMEOUT)) - { //timeout 45 s - mmu_state = S::Idle; - } - return; - case S::SwitchMode: - if (mmu_rx_ok() > 0) - { - DEBUG_PRINTF_P(PSTR("MMU => 'ok'\n")); - eeprom_update_byte((uint8_t*)EEPROM_MMU_STEALTH, SilentModeMenu_MMU); - mmu_state = S::Idle; - } - else if (mmu_last_request.expired(MMU_CMD_TIMEOUT)) - { //timeout 45 s - mmu_state = S::Idle; - } - return; - } -} - -void mmu_reset(void) -{ -#ifdef MMU_HWRESET //HW - pulse reset pin - WRITE(MMU_RST_PIN, 0); - _delay_us(100); - WRITE(MMU_RST_PIN, 1); -#else //SW - send X0 command - mmu_puts_P(PSTR("X0\n")); -#endif -} - -int8_t mmu_set_filament_type(uint8_t extruder, uint8_t filament) -{ - printf_P(PSTR("MMU <= 'F%d %d'\n"), extruder, filament); - mmu_printf_P(PSTR("F%d %d\n"), extruder, filament); - unsigned char timeout = MMU_TIMEOUT; //10x100ms - while ((mmu_rx_ok() <= 0) && (--timeout)) - delay_keep_alive(MMU_TODELAY); - return timeout?1:0; -} - -//! @brief Enqueue MMUv2 command -//! -//! Call manage_response() after enqueuing to process command. -//! If T command is enqueued, it disables current for extruder motor if TMC2130 driver present. -//! If T or L command is enqueued, it marks filament loaded in AutoDeplete module. -void mmu_command(MmuCmd cmd) -{ - if ((cmd >= MmuCmd::T0) && (cmd <= MmuCmd::T4)) - { - //disable extruder motor -#ifdef TMC2130 - tmc2130_set_pwr(E_AXIS, 0); -#endif //TMC2130 - //printf_P(PSTR("E-axis disabled\n")); - ad_markLoaded(cmd - MmuCmd::T0); - } - if ((cmd >= MmuCmd::L0) && (cmd <= MmuCmd::L4)) - { - ad_markLoaded(cmd - MmuCmd::L0); - } - - mmu_cmd = cmd; - mmu_ready = false; -} - -//! @brief Rotate extruder idler to catch filament -//! @par synchronize -//! * true blocking call -//! * false non-blocking call -void mmu_load_step(bool synchronize) -{ - current_position[E_AXIS] = current_position[E_AXIS] + MMU_LOAD_FEEDRATE * 0.1; - plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE); - if (synchronize) st_synchronize(); -} - -//! @brief Is nozzle hot enough to move extruder wheels and do we have idler sensor? -//! -//! Do load steps only if temperature is higher then min. temp for safe extrusion and -//! idler sensor present. -//! Otherwise "cold extrusion prevented" would be send to serial line periodically -//! and watchdog reset will be triggered by lack of keep_alive processing. -//! -//! @retval true temperature is high enough to move extruder -//! @retval false temperature is not high enough to move extruder, turned -//! off E-stepper to prevent over-heating and allow filament pull-out if necessary -bool can_extrude() -{ - if ((degHotend(active_extruder) < EXTRUDE_MINTEMP) || !ir_sensor_detected) - { - disable_e0(); - delay_keep_alive(100); - return false; - } - return true; -} - -static void get_response_print_info(uint8_t move) { - printf_P(PSTR("mmu_get_response - begin move: "), move); - switch (move) { - case MMU_LOAD_MOVE: puts_P(PSTR("load")); break; - case MMU_UNLOAD_MOVE: puts_P(PSTR("unload")); break; - case MMU_TCODE_MOVE: puts_P(PSTR("T-code")); break; - case MMU_NO_MOVE: puts_P(PSTR("no move")); break; - default: puts_P(PSTR("error: unknown move")); break; - } -} - -bool mmu_get_response(uint8_t move) -{ - - get_response_print_info(move); - KEEPALIVE_STATE(IN_PROCESS); - while (mmu_cmd != MmuCmd::None) - { - delay_keep_alive(100); - } - - while (!mmu_ready) - { - if ((mmu_state != S::WaitCmd) && (mmu_last_cmd == MmuCmd::None)) - break; - - switch (move) { - case MMU_LOAD_MOVE: - mmu_loading_flag = true; - if (can_extrude()) mmu_load_step(); - //don't rely on "ok" signal from mmu unit; if filament detected by idler sensor during loading stop loading movements to prevent infinite loading - if (READ(IR_SENSOR_PIN) == 0) move = MMU_NO_MOVE; - break; - case MMU_UNLOAD_MOVE: - if (READ(IR_SENSOR_PIN) == 0) //filament is still detected by idler sensor, printer helps with unlading - { - if (can_extrude()) - { - puts_P(PSTR("Unload 1")); - current_position[E_AXIS] = current_position[E_AXIS] - MMU_LOAD_FEEDRATE * MMU_LOAD_TIME_MS*0.001; - plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE); - st_synchronize(); - } - } - else //filament was unloaded from idler, no additional movements needed - { - puts_P(PSTR("Unloading finished 1")); - disable_e0(); //turn off E-stepper to prevent overheating and alow filament pull-out if necessary - move = MMU_NO_MOVE; - } - break; - case MMU_TCODE_MOVE: //first do unload and then continue with infinite loading movements - if (READ(IR_SENSOR_PIN) == 0) //filament detected by idler sensor, we must unload first - { - if (can_extrude()) - { - puts_P(PSTR("Unload 2")); - current_position[E_AXIS] = current_position[E_AXIS] - MMU_LOAD_FEEDRATE * MMU_LOAD_TIME_MS*0.001; - plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE); - st_synchronize(); - } - } - else //delay to allow mmu unit to pull out filament from bondtech gears and then start with infinite loading - { - puts_P(PSTR("Unloading finished 2")); - disable_e0(); //turn off E-stepper to prevent overheating and alow filament pull-out if necessary - delay_keep_alive(MMU_LOAD_TIME_MS); - move = MMU_LOAD_MOVE; - get_response_print_info(move); - } - break; - case MMU_NO_MOVE: - default: - delay_keep_alive(100); - break; - } - } - printf_P(PSTR("mmu_get_response() returning: %d\n"), mmu_ready); - bool ret = mmu_ready; - mmu_ready = false; -// printf_P(PSTR("mmu_get_response - end %d\n"), ret?1:0); - return ret; -} - -//! @brief Wait for active extruder to reach temperature set -//! -//! This function is blocking and showing lcd_wait_for_heater() screen -//! which is constantly updated with nozzle temperature. -void mmu_wait_for_heater_blocking() -{ - while ((degTargetHotend(active_extruder) - degHotend(active_extruder)) > 5) - { - delay_keep_alive(1000); - lcd_wait_for_heater(); - } -} - -void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move) -{ - bool response = false; - mmu_print_saved = false; - bool lcd_update_was_enabled = false; - float hotend_temp_bckp = degTargetHotend(active_extruder); - float z_position_bckp = current_position[Z_AXIS]; - float x_position_bckp = current_position[X_AXIS]; - float y_position_bckp = current_position[Y_AXIS]; - uint8_t screen = 0; //used for showing multiscreen messages - mmu_loading_flag = false; - while(!response) - { - response = mmu_get_response(move); //wait for "ok" from mmu - if (!response) { //no "ok" was received in reserved time frame, user will fix the issue on mmu unit - if (!mmu_print_saved) { //first occurence, we are saving current position, park print head in certain position and disable nozzle heater - - uint8_t mmu_fail = eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL); - uint16_t mmu_fail_tot = eeprom_read_word((uint16_t*)EEPROM_MMU_FAIL_TOT); - if(mmu_fail < 255) eeprom_update_byte((uint8_t*)EEPROM_MMU_FAIL, mmu_fail + 1); - if(mmu_fail_tot < 65535) eeprom_update_word((uint16_t*)EEPROM_MMU_FAIL_TOT, mmu_fail_tot + 1); - - if (lcd_update_enabled) { - lcd_update_was_enabled = true; - lcd_update_enable(false); - } - st_synchronize(); - mmu_print_saved = true; - puts_P(PSTR("MMU not responding")); - KEEPALIVE_STATE(PAUSED_FOR_USER); - hotend_temp_bckp = degTargetHotend(active_extruder); - if (move_axes) { - z_position_bckp = current_position[Z_AXIS]; - x_position_bckp = current_position[X_AXIS]; - y_position_bckp = current_position[Y_AXIS]; - - //lift z - current_position[Z_AXIS] += Z_PAUSE_LIFT; - if (current_position[Z_AXIS] > Z_MAX_POS) current_position[Z_AXIS] = Z_MAX_POS; - plan_buffer_line_curposXYZE(15); - st_synchronize(); - - //Move XY to side - current_position[X_AXIS] = X_PAUSE_POS; - current_position[Y_AXIS] = Y_PAUSE_POS; - plan_buffer_line_curposXYZE(50); - st_synchronize(); - } - if (turn_off_nozzle) { - //set nozzle target temperature to 0 - setAllTargetHotends(0); - } - disable_e0(); //turn off E-stepper to prevent overheating and alow filament pull-out if necessary - } - - //first three lines are used for printing multiscreen message; last line contains measured and target nozzle temperature - if (screen == 0) { //screen 0 - lcd_display_message_fullscreen_P(_i("MMU needs user attention."));////MSG_MMU_USER_ATTENTION c=20 r=3 - screen++; - } - else { //screen 1 - if((degTargetHotend(active_extruder) == 0) && turn_off_nozzle) lcd_display_message_fullscreen_P(_i("Press the knob to resume nozzle temperature."));////MSG_RESUME_NOZZLE_TEMP c=20 r=4 - else lcd_display_message_fullscreen_P(_i("Fix the issue and then press button on MMU unit."));////MSG_MMU_FIX_ISSUE c=20 r=4 - screen=0; - } - - //5 seconds delay - for (uint8_t i = 0; i < 5; i++) { - if (lcd_clicked()) { - setTargetHotend(hotend_temp_bckp, active_extruder); - /// mmu_cmd = mmu_last_cmd; - break; - } - - //Print the hotend temperature (9 chars total) and fill rest of the line with space - lcd_set_cursor(0, 4); //line 4 - int chars = lcd_printf_P(_N("%c%3d/%d%c"), LCD_STR_THERMOMETER[0],(int)(degHotend(active_extruder) + 0.5), (int)(degTargetHotend(active_extruder) + 0.5), LCD_STR_DEGREE[0]); - lcd_space(9 - chars); - delay_keep_alive(1000); - } - } - else if (mmu_print_saved) { - puts_P(PSTR("MMU starts responding")); - KEEPALIVE_STATE(IN_HANDLER); - mmu_loading_flag = false; - if (turn_off_nozzle) - { - lcd_clear(); - setTargetHotend(hotend_temp_bckp, active_extruder); - if (((degTargetHotend(active_extruder) - degHotend(active_extruder)) > 5)) { - lcd_display_message_fullscreen_P(_i("MMU OK. Resuming temperature...")); ////MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 - delay_keep_alive(3000); - } - mmu_wait_for_heater_blocking(); - } - if (move_axes) { - lcd_clear(); - lcd_display_message_fullscreen_P(_i("MMU OK. Resuming position...")); ////MSG_MMU_OK_RESUMING_POSITION c=20 r=4 - current_position[X_AXIS] = x_position_bckp; - current_position[Y_AXIS] = y_position_bckp; - plan_buffer_line_curposXYZE(50); - st_synchronize(); - current_position[Z_AXIS] = z_position_bckp; - plan_buffer_line_curposXYZE(15); - st_synchronize(); - } - else { - lcd_clear(); - lcd_display_message_fullscreen_P(_i("MMU OK. Resuming...")); ////MSG_MMU_OK_RESUMING c=20 r=4 - delay_keep_alive(1000); //delay just for showing MMU OK message for a while in case that there are no xyz movements - } - } - } - if (lcd_update_was_enabled) lcd_update_enable(true); -#ifdef TMC2130 - //enable extruder motor (disabled in mmu_command, start of T-code processing) - tmc2130_set_pwr(E_AXIS, 1); - //printf_P(PSTR("E-axis enabled\n")); -#endif //TMC2130 -} - -//! @brief load filament to nozzle of multimaterial printer -//! -//! This function is used only only after T? (user select filament) and M600 (change filament). -//! It is not used after T0 .. T4 command (select filament), in such case, gcode is responsible for loading -//! filament to nozzle. -//! -void mmu_load_to_nozzle() -{ - st_synchronize(); - - const bool saved_e_relative_mode = axis_relative_modes & E_AXIS_MASK; - if (!saved_e_relative_mode) axis_relative_modes |= E_AXIS_MASK; - if (ir_sensor_detected) - { - current_position[E_AXIS] += 3.0f; - } - else - { - current_position[E_AXIS] += 7.2f; - } - float feedrate = 562; - plan_buffer_line_curposXYZE(feedrate / 60); - st_synchronize(); - current_position[E_AXIS] += 14.4f; - feedrate = 871; - plan_buffer_line_curposXYZE(feedrate / 60); - st_synchronize(); - current_position[E_AXIS] += 36.0f; - feedrate = 1393; - plan_buffer_line_curposXYZE(feedrate / 60); - st_synchronize(); - current_position[E_AXIS] += 14.4f; - feedrate = 871; - plan_buffer_line_curposXYZE(feedrate / 60); - st_synchronize(); - if (!saved_e_relative_mode) axis_relative_modes &= ~E_AXIS_MASK; -} - -void mmu_M600_wait_and_beep() { - //Beep and wait for user to remove old filament and prepare new filament for load - - KEEPALIVE_STATE(PAUSED_FOR_USER); - - int counterBeep = 0; - lcd_display_message_fullscreen_P(_i("Remove old filament and press the knob to start loading new filament.")); ////MSG_REMOVE_OLD_FILAMENT c=20 r=5 - bool bFirst=true; - - while (!lcd_clicked()){ - manage_heater(); - manage_inactivity(true); - - #if BEEPER > 0 - if (counterBeep == 500) { - counterBeep = 0; - } - SET_OUTPUT(BEEPER); - if (counterBeep == 0) { - if((eSoundMode==e_SOUND_MODE_BLIND)|| (eSoundMode==e_SOUND_MODE_LOUD)||((eSoundMode==e_SOUND_MODE_ONCE)&&bFirst)) - { - bFirst=false; - WRITE(BEEPER, HIGH); - } - } - if (counterBeep == 20) { - WRITE(BEEPER, LOW); - } - - counterBeep++; - #endif //BEEPER > 0 - - delay_keep_alive(4); - } - WRITE(BEEPER, LOW); -} - -//! @brief load filament for mmu v2 -//! @par nozzle_temp nozzle temperature to load filament -void mmu_M600_load_filament(bool automatic, float nozzle_temp) -{ - tmp_extruder = mmu_extruder; - if (automatic) { - tmp_extruder = ad_getAlternative(tmp_extruder); - } - lcd_update_enable(false); - lcd_clear(); - lcd_puts_at_P(0, 1, _T(MSG_LOADING_FILAMENT)); - lcd_print(' '); - lcd_print(tmp_extruder + 1); - - //printf_P(PSTR("T code: %d \n"), tmp_extruder); - //mmu_printf_P(PSTR("T%d\n"), tmp_extruder); - setTargetHotend(nozzle_temp,active_extruder); - mmu_wait_for_heater_blocking(); - - mmu_command(MmuCmd::T0 + tmp_extruder); - - manage_response(false, true, MMU_LOAD_MOVE); - mmu_continue_loading(usb_timer.running() || (lcd_commands_type == LcdCommands::Layer1Cal)); - mmu_extruder = tmp_extruder; //filament change is finished - - mmu_load_to_nozzle(); - load_filament_final_feed(); - st_synchronize(); -} - -void extr_adj(uint8_t extruder) //loading filament into the MMU unit -{ - MmuCmd cmd = MmuCmd::L0 + extruder; - if (extruder > (MmuCmd::L4 - MmuCmd::L0)) - { - printf_P(PSTR("Filament out of range %d \n"),extruder); - return; - } - mmu_command(cmd); - - //show which filament is currently loaded - - lcd_update_enable(false); - lcd_clear(); - lcd_puts_at_P(0, 1, _T(MSG_LOADING_FILAMENT)); - //if(strlen(_T(MSG_LOADING_FILAMENT))>18) lcd.setCursor(0, 1); - //else lcd.print(" "); - lcd_print(' '); - lcd_print(extruder + 1); - - // get response - manage_response(false, false); - - lcd_update_enable(true); - - - //lcd_return_to_status(); -} - -struct E_step -{ - float extrude; //!< extrude distance in mm - float feed_rate; //!< feed rate in mm/s -}; -static const E_step ramming_sequence[] PROGMEM = -{ - {1.0, 1000.0/60}, - {1.0, 1500.0/60}, - {2.0, 2000.0/60}, - {1.5, 3000.0/60}, - {2.5, 4000.0/60}, - {-15.0, 5000.0/60}, - {-14.0, 1200.0/60}, - {-6.0, 600.0/60}, - {10.0, 700.0/60}, - {-10.0, 400.0/60}, - {-50.0, 2000.0/60}, -}; - -//! @brief Unload sequence to optimize shape of the tip of the unloaded filament -void mmu_filament_ramming() -{ - for(uint8_t i = 0; i < (sizeof(ramming_sequence)/sizeof(E_step));++i) - { - current_position[E_AXIS] += pgm_read_float(&(ramming_sequence[i].extrude)); - plan_buffer_line_curposXYZE(pgm_read_float(&(ramming_sequence[i].feed_rate))); - st_synchronize(); - } -} - - -//! @brief show which filament is currently unloaded -void extr_unload_view() -{ - lcd_clear(); - lcd_puts_at_P(0, 1, _T(MSG_UNLOADING_FILAMENT)); - lcd_print(' '); - if (mmu_extruder == MMU_FILAMENT_UNKNOWN) lcd_print(' '); - else lcd_print(mmu_extruder + 1); -} - -void extr_unload() -{ //unload just current filament for multimaterial printers - if (degHotend0() > EXTRUDE_MINTEMP) - { - st_synchronize(); - - menu_submenu(extr_unload_view); - - mmu_filament_ramming(); - - mmu_command(MmuCmd::U0); - // get response - manage_response(false, true, MMU_UNLOAD_MOVE); - - menu_back(); - } - else - { - show_preheat_nozzle_warning(); - } -} - -void load_all() -{ - enquecommand_P(PSTR("M701 E0")); - enquecommand_P(PSTR("M701 E1")); - enquecommand_P(PSTR("M701 E2")); - enquecommand_P(PSTR("M701 E3")); - enquecommand_P(PSTR("M701 E4")); -} - -bool mmu_check_version() -{ - return (mmu_buildnr >= MMU_REQUIRED_FW_BUILDNR); -} - -void mmu_show_warning() -{ - printf_P(PSTR("MMU2 firmware version invalid. Required version: build number %d or higher."), MMU_REQUIRED_FW_BUILDNR); - kill(_i("Please update firmware in your MMU2. Waiting for reset.")); ////MSG_UPDATE_MMU2_FW c=20 r=4 -} - -void lcd_mmu_load_to_nozzle(uint8_t filament_nr) -{ - menu_back(); - bFilamentAction = false; // NOT in "mmu_load_to_nozzle_menu()" - if (degHotend0() > EXTRUDE_MINTEMP) - { - tmp_extruder = filament_nr; - lcd_update_enable(false); - lcd_clear(); - lcd_puts_at_P(0, 1, _T(MSG_LOADING_FILAMENT)); - lcd_print(' '); - lcd_print(tmp_extruder + 1); - mmu_command(MmuCmd::T0 + tmp_extruder); - manage_response(true, true, MMU_TCODE_MOVE); - mmu_continue_loading(false); - mmu_extruder = tmp_extruder; //filament change is finished - raise_z_above(MIN_Z_FOR_LOAD, false); - mmu_load_to_nozzle(); - load_filament_final_feed(); - st_synchronize(); - custom_message_type = CustomMsg::FilamentLoading; - lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT)); - lcd_return_to_status(); - lcd_update_enable(true); - lcd_load_filament_color_check(); - lcd_setstatuspgm(MSG_WELCOME); - custom_message_type = CustomMsg::Status; - } - else - { - show_preheat_nozzle_warning(); - } -} - -#ifdef MMU_HAS_CUTTER -void mmu_cut_filament(uint8_t filament_nr) -{ - menu_back(); - bFilamentAction=false; // NOT in "mmu_load_to_nozzle_menu()" - if (degHotend0() > EXTRUDE_MINTEMP) - { - LcdUpdateDisabler disableLcdUpdate; - lcd_clear(); - lcd_puts_at_P(0, 1, _i("Cutting filament")); ////MSG_MMU_CUTTING_FIL c=18 - lcd_print(' '); - lcd_print(filament_nr + 1); - mmu_filament_ramming(); - mmu_command(MmuCmd::K0 + filament_nr); - manage_response(false, false, MMU_UNLOAD_MOVE); - } - else - { - show_preheat_nozzle_warning(); - } -} -#endif //MMU_HAS_CUTTER - -void mmu_eject_filament(uint8_t filament, bool recover) -{ -//-// -bFilamentAction=false; // NOT in "mmu_fil_eject_menu()" - if (filament < 5) - { - - if (degHotend0() > EXTRUDE_MINTEMP) - { - st_synchronize(); - - { - LcdUpdateDisabler disableLcdUpdate; - lcd_clear(); - lcd_puts_at_P(0, 1, _i("Ejecting filament")); ////MSG_EJECTING_FILAMENT c=20 - mmu_filament_ramming(); - mmu_command(MmuCmd::E0 + filament); - manage_response(false, false, MMU_UNLOAD_MOVE); - if (recover) - { - lcd_show_fullscreen_message_and_wait_P(_i("Please remove filament and then press the knob.")); ////MSG_EJECT_REMOVE c=20 r=4 - mmu_command(MmuCmd::R0); - manage_response(false, false); - } - - } - } - else - { - show_preheat_nozzle_warning(); - } - } - else - { - puts_P(PSTR("Filament nr out of range!")); - } -} - -//! @brief Fits filament tip into heatbreak? -//! -//! If PTFE tube is jammed, this causes filament to be unloaded and no longer -//! being detected by the pulley IR sensor. -//! @retval true Fits -//! @retval false Doesn't fit -static bool can_load() -{ - current_position[E_AXIS] += 60; - plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE); - current_position[E_AXIS] -= 52; - plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE); - st_synchronize(); - - uint_least8_t filament_detected_count = 0; - const float e_increment = 0.2; - const uint_least8_t steps = 6.0 / e_increment; - DEBUG_PUTS_P(PSTR("MMU can_load:")); - for(uint_least8_t i = 0; i < steps; ++i) - { - current_position[E_AXIS] -= e_increment; - plan_buffer_line_curposXYZE(MMU_LOAD_FEEDRATE); - st_synchronize(); - if(0 == READ(IR_SENSOR_PIN)) - { - ++filament_detected_count; - DEBUG_PUTCHAR('O'); - } - else - { - DEBUG_PUTCHAR('o'); - } - } - if (filament_detected_count > steps - 4) - { - DEBUG_PUTS_P(PSTR(" succeeded.")); - return true; - } - else - { - DEBUG_PUTS_P(PSTR(" failed.")); - return false; - } -} - -//! @brief load more -//! -//! Try to feed more filament from MMU if it is not detected by filament sensor. -//! @retval true Success, filament detected by IR sensor -//! @retval false Failed, filament not detected by IR sensor after maximum number of attempts -static bool load_more() -{ - for (uint8_t i = 0; i < MMU_IDLER_SENSOR_ATTEMPTS_NR; i++) - { - if (READ(IR_SENSOR_PIN) == 0) return true; - DEBUG_PRINTF_P(PSTR("Additional load attempt nr. %d\n"), i); - mmu_command(MmuCmd::C0); - manage_response(true, true, MMU_LOAD_MOVE); - } - return false; -} - -static void increment_load_fail() -{ - uint8_t mmu_load_fail = eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL); - uint16_t mmu_load_fail_tot = eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT); - if(mmu_load_fail < 255) eeprom_update_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL, mmu_load_fail + 1); - if(mmu_load_fail_tot < 65535) eeprom_update_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT, mmu_load_fail_tot + 1); -} - -//! @brief continue loading filament -//! @par blocking -//! * true blocking - do not return until successful load -//! * false non-blocking - pause print and return on load failure -//! -//! @startuml -//! [*] --> [*] : !ir_sensor_detected /\n send MmuCmd::C0 -//! [*] --> LoadMore -//! LoadMore --> [*] : filament \ndetected -//! LoadMore --> Retry : !filament detected /\n increment load fail -//! Retry --> [*] : filament \ndetected -//! Retry --> Unload : !filament \ndetected -//! Unload --> [*] : non-blocking -//! Unload --> Retry : button \nclicked -//! -//! Retry : Cut filament if enabled -//! Retry : repeat last T-code -//! Unload : unload filament -//! Unload : pause print -//! Unload : show error message -//! -//! @enduml -void mmu_continue_loading(bool blocking) -{ - if (!ir_sensor_detected) - { - mmu_command(MmuCmd::C0); - return; - } - - bool success = load_more(); - if (success) success = can_load(); - - enum class Ls : uint_least8_t - { - Enter, - Retry, - Unload, - }; - Ls state = Ls::Enter; - - const uint_least8_t max_retry = 3; - uint_least8_t retry = 0; - - while (!success) - { - switch (state) - { - case Ls::Enter: - increment_load_fail(); - // FALLTHRU - case Ls::Retry: - ++retry; // overflow not handled, as it is not dangerous. - if (retry >= max_retry) - { - state = Ls::Unload; -#ifdef MMU_HAS_CUTTER - if (1 == eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED)) - { - mmu_command(MmuCmd::K0 + tmp_extruder); - manage_response(true, true, MMU_UNLOAD_MOVE); - } -#endif //MMU_HAS_CUTTER - } - mmu_command(MmuCmd::T0 + tmp_extruder); - manage_response(true, true, MMU_TCODE_MOVE); - success = load_more(); - if (success) success = can_load(); - - break; - case Ls::Unload: - stop_and_save_print_to_ram(0, 0); - long_pause(); - - mmu_command(MmuCmd::U0); - manage_response(false, true, MMU_UNLOAD_MOVE); - - setAllTargetHotends(0); - lcd_setstatuspgm(_i("MMU load failed"));////MSG_MMU_LOAD_FAILED c=20 - - if (blocking) - { - marlin_wait_for_click(); - st_synchronize(); - restore_print_from_ram_and_continue(0); - state = Ls::Retry; - } - else - { - mmu_fil_loaded = false; //so we can retry same T-code again - isPrintPaused = true; - mmu_command(MmuCmd::W0); - return; - } - break; - } - } -} diff --git a/Firmware/mmu.h b/Firmware/mmu.h deleted file mode 100644 index 12dad9d41..000000000 --- a/Firmware/mmu.h +++ /dev/null @@ -1,120 +0,0 @@ -//! @file - -#ifndef MMU_H -#define MMU_H - -#include -#include "Timer.h" - - -extern bool mmu_enabled; -extern bool mmu_fil_loaded; - -extern uint8_t mmu_extruder; - -extern uint8_t tmp_extruder; - -extern int8_t mmu_finda; -extern LongTimer mmu_last_finda_response; -extern bool ir_sensor_detected; - -extern int16_t mmu_version; -extern int16_t mmu_buildnr; - -extern uint16_t mmu_power_failures; - -#define MMU_FILAMENT_UNKNOWN 255 - -#define MMU_NO_MOVE 0 -#define MMU_UNLOAD_MOVE 1 -#define MMU_LOAD_MOVE 2 -#define MMU_TCODE_MOVE 3 - -#define MMU_LOAD_FEEDRATE 19.02f //mm/s -#define MMU_LOAD_TIME_MS 2000 //should be fine tuned to load time for shortest allowed PTFE tubing and maximum loading speed - -enum class MmuCmd : uint_least8_t -{ - None, - T0, - T1, - T2, - T3, - T4, - L0, - L1, - L2, - L3, - L4, - C0, - U0, - E0, - E1, - E2, - E3, - E4, - K0, - K1, - K2, - K3, - K4, - R0, - S3, - W0, //!< Wait and signal load error -}; - -inline MmuCmd operator+ (MmuCmd cmd, uint8_t filament) -{ - return static_cast(static_cast(cmd) + filament ); -} - -inline uint8_t operator- (MmuCmd cmda, MmuCmd cmdb) -{ - return (static_cast(cmda) - static_cast(cmdb)); -} - -extern int mmu_puts_P(const char* str); - -extern int mmu_printf_P(const char* format, ...); - -extern int8_t mmu_rx_ok(void); - -extern bool check_for_ir_sensor(); - -extern void mmu_init(void); - -extern void mmu_loop(void); - - -extern void mmu_reset(void); - -extern int8_t mmu_set_filament_type(uint8_t extruder, uint8_t filament); - -extern void mmu_command(MmuCmd cmd); - -extern bool mmu_get_response(uint8_t move = 0); - -extern void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move = MMU_NO_MOVE); - -extern void mmu_load_to_nozzle(); - -extern void mmu_M600_load_filament(bool automatic, float nozzle_temp); -extern void mmu_M600_wait_and_beep(); - -extern void extr_adj(uint8_t extruder); -extern void extr_unload(); -extern void load_all(); - -extern bool mmu_check_version(); -extern void mmu_show_warning(); -extern void lcd_mmu_load_to_nozzle(uint8_t filament_nr); -extern void mmu_eject_filament(uint8_t filament, bool recover); -#ifdef MMU_HAS_CUTTER -extern void mmu_cut_filament(uint8_t filament_nr); -#endif //MMU_HAS_CUTTER -extern void mmu_continue_loading(bool blocking); -extern void mmu_filament_ramming(); -extern void mmu_wait_for_heater_blocking(); -extern void mmu_load_step(bool synchronize = true); - -#endif //MMU_H diff --git a/Firmware/mmu2.cpp b/Firmware/mmu2.cpp new file mode 100644 index 000000000..95e234e74 --- /dev/null +++ b/Firmware/mmu2.cpp @@ -0,0 +1,926 @@ +#include "mmu2.h" +#include "mmu2_error_converter.h" +#include "mmu2_fsensor.h" +#include "mmu2_log.h" +#include "mmu2_power.h" +#include "mmu2_progress_converter.h" +#include "mmu2_reporting.h" + +#include "Marlin.h" +#include "language.h" +#include "messages.h" +#include "sound.h" +#include "stepper.h" +#include "strlen_cx.h" +#include "temperature.h" +#include "ultralcd.h" +#include "cardreader.h" // for IS_SD_PRINTING +#include "SpoolJoin.h" + +// As of FW 3.12 we only support building the FW with only one extruder, all the multi-extruder infrastructure will be removed. +// Saves at least 800B of code size +static_assert(EXTRUDERS==1); + +// Settings for filament load / unload from the LCD menu. +// This is for Prusa MK3-style extruders. Customize for your hardware. +#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 + +#define NOZZLE_PARK_XY_FEEDRATE 50 +#define NOZZLE_PARK_Z_FEEDRATE 15 + +// Nominal distance from the extruder gear to the nozzle tip is 87mm +// However, some slipping may occur and we need separate distances for +// LoadToNozzle and ToolChange. +// - +5mm seemed good for LoadToNozzle, +// - but too much (made blobs) for a ToolChange +static constexpr float MMU2_LOAD_TO_NOZZLE_LENGTH = 87.0F + 5.0F; + +// As discussed with our PrusaSlicer profile specialist +// - ToolChange shall not try to push filament into the very tip of the nozzle +// to have some space for additional G-code to tune the extruded filament length +// in the profile +static constexpr float MMU2_TOOL_CHANGE_LOAD_LENGTH = 30.0F; + +static constexpr float MMU2_LOAD_TO_NOZZLE_FEED_RATE = 20.0F; // mm/s +static constexpr float MMU2_UNLOAD_TO_FINDA_FEED_RATE = 120.0F; // mm/s + +// The first the MMU does is initialise its axis. Meanwhile the E-motor will unload 20mm of filament in approx. 1 second. +static constexpr float MMU2_RETRY_UNLOAD_TO_FINDA_LENGTH = 20.0f; // mm +static constexpr float MMU2_RETRY_UNLOAD_TO_FINDA_FEED_RATE = 20.0f; // mm/s + +static constexpr uint8_t MMU2_NO_TOOL = 99; +static constexpr uint32_t MMU_BAUD = 115200; + +struct E_Step { + float extrude; ///< extrude distance in mm + float feedRate; ///< feed rate in mm/s +}; + +static constexpr E_Step ramming_sequence[] PROGMEM = { + { 0.2816F, 1339.0F / 60.F}, + { 0.3051F, 1451.0F / 60.F}, + { 0.3453F, 1642.0F / 60.F}, + { 0.3990F, 1897.0F / 60.F}, + { 0.4761F, 2264.0F / 60.F}, + { 0.5767F, 2742.0F / 60.F}, + { 0.5691F, 3220.0F / 60.F}, + { 0.1081F, 3220.0F / 60.F}, + { 0.7644F, 3635.0F / 60.F}, + { 0.8248F, 3921.0F / 60.F}, + { 0.8483F, 4033.0F / 60.F}, + { -15.0F, 6000.0F / 60.F}, + { -24.5F, 1200.0F / 60.F}, + { -7.0F, 600.0F / 60.F}, + { -3.5F, 360.0F / 60.F}, + { 20.0F, 454.0F / 60.F}, + { -20.0F, 303.0F / 60.F}, + { -35.0F, 2000.0F / 60.F}, +}; + +static constexpr E_Step load_to_nozzle_sequence[] PROGMEM = { + { 10.0F, 810.0F / 60.F}, // feed rate = 13.5mm/s - Load fast until filament reach end of nozzle + { 25.0F, 198.0F / 60.F}, // feed rate = 3.3mm/s - Load slower once filament is out of the nozzle +}; + +namespace MMU2 { + +void execute_extruder_sequence(const E_Step *sequence, int steps); + +template +void waitForHotendTargetTemp(uint16_t delay, F f){ + while (((degTargetHotend(active_extruder) - degHotend(active_extruder)) > 5)) { + f(); + delay_keep_alive(delay); + } +} + +void WaitForHotendTargetTempBeep(){ + waitForHotendTargetTemp(3000, []{ Sound_MakeSound(e_SOUND_TYPE_StandardPrompt); } ); +} + +MMU2 mmu2; + +MMU2::MMU2() + : is_mmu_error_monitor_active(false) + , logic(&mmu2Serial) + , extruder(MMU2_NO_TOOL) + , tool_change_extruder(MMU2_NO_TOOL) + , resume_position() + , resume_hotend_temp(0) + , logicStepLastStatus(StepStatus::Finished) + , state(xState::Stopped) + , mmu_print_saved(SavedState::None) + , loadFilamentStarted(false) + , unloadFilamentStarted(false) + , loadingToNozzle(false) + , inAutoRetry(false) + , retryAttempts(MAX_RETRIES) +{ +} + +void MMU2::Start() { +#ifdef MMU_HWRESET + WRITE(MMU_RST_PIN, 1); + SET_OUTPUT(MMU_RST_PIN); // setup reset pin +#endif //MMU_HWRESET + + mmu2Serial.begin(MMU_BAUD); + + PowerOn(); // I repurposed this to serve as our EEPROM disable toggle. + Reset(ResetForm::ResetPin); + + mmu2Serial.flush(); // make sure the UART buffer is clear before starting communication + + extruder = MMU2_NO_TOOL; + state = xState::Connecting; + + // start the communication + logic.Start(); + + ResetRetryAttempts(); +} + +void MMU2::Stop() { + StopKeepPowered(); + PowerOff(); // This also disables the MMU in the EEPROM. +} + +void MMU2::StopKeepPowered(){ + state = xState::Stopped; + logic.Stop(); + mmu2Serial.close(); +} + +void MMU2::Reset(ResetForm level){ + switch (level) { + case Software: ResetX0(); break; + case ResetPin: TriggerResetPin(); break; + case CutThePower: PowerCycle(); break; + default: break; + } +} + +void MMU2::ResetX0() { + logic.ResetMMU(); // Send soft reset +} + +void MMU2::TriggerResetPin(){ + reset(); +} + +void MMU2::PowerCycle(){ + // cut the power to the MMU and after a while restore it + // Sadly, MK3/S/+ cannot do this + // NOTE: the below will toggle the EEPROM var. Should we + // assert this function is never called in the MK3 FW? Do we even care? + PowerOff(); + delay_keep_alive(1000); + PowerOn(); +} + +void MMU2::PowerOff(){ + power_off(); +} + +void MMU2::PowerOn(){ + power_on(); +} + +bool MMU2::ReadRegister(uint8_t address){ + if( ! WaitForMMUReady()) + return false; + logic.ReadRegister(address); // we may signal the accepted/rejected status of the response as return value of this function + manage_response(false, false); + return true; +} + +bool MMU2::WriteRegister(uint8_t address, uint16_t data){ + if( ! WaitForMMUReady()) + return false; + logic.WriteRegister(address, data); // we may signal the accepted/rejected status of the response as return value of this function + manage_response(false, false); + return true; +} + +void MMU2::mmu_loop() { + // We only leave this method if the current command was successfully completed - that's the Marlin's way of blocking operation + // Atomic compare_exchange would have been the most appropriate solution here, but this gets called only in Marlin's task, + // so thread safety should be kept + static bool avoidRecursion = false; + if (avoidRecursion) + return; + avoidRecursion = true; + + logicStepLastStatus = LogicStep(); // it looks like the mmu_loop doesn't need to be a blocking call + + if (is_mmu_error_monitor_active){ + // Call this every iteration to keep the knob rotation responsive + // This includes when mmu_loop is called within manage_response + ReportErrorHook((uint16_t)lastErrorCode, mmu2.MMUCurrentErrorCode() == ErrorCode::OK ? ErrorSourcePrinter : ErrorSourceMMU); + } + + avoidRecursion = false; +} + +void MMU2::CheckFINDARunout() +{ + // Check for FINDA filament runout + if (!FindaDetectsFilament() && CHECK_FSENSOR) { + SERIAL_ECHOLNPGM("FINDA filament runout!"); + stop_and_save_print_to_ram(0, 0); + restore_print_from_ram_and_continue(0); + if (SpoolJoin::spooljoin.isSpoolJoinEnabled() && get_current_tool() != (uint8_t)FILAMENT_UNKNOWN) // Can't auto if F=? + { + enquecommand_front_P(PSTR("M600 AUTO")); //save print and run M600 command + } + else + { + enquecommand_front_P(PSTR("M600")); //save print and run M600 command + } + } +} + +struct ReportingRAII { + CommandInProgress cip; + inline ReportingRAII(CommandInProgress cip):cip(cip){ + BeginReport(cip, (uint16_t)ProgressCode::EngagingIdler); + } + inline ~ReportingRAII(){ + EndReport(cip, (uint16_t)ProgressCode::OK); + } +}; + +bool MMU2::WaitForMMUReady(){ + switch(State()){ + case xState::Stopped: + return false; + case xState::Connecting: + // shall we wait until the MMU reconnects? + // fire-up a fsm_dlg and show "MMU not responding"? + default: + return true; + } +} + +bool MMU2::RetryIfPossible(uint16_t ec){ + if( retryAttempts ){ + SERIAL_ECHOPGM("retryAttempts=");SERIAL_ECHOLN((uint16_t)retryAttempts); + SetButtonResponse(ButtonOperations::Retry); + // check, that Retry is actually allowed on that operation + if( ButtonAvailable(ec) != NoButton ){ + inAutoRetry = true; + SERIAL_ECHOLNPGM("RetryButtonPressed"); + // We don't decrement until the button is acknowledged by the MMU. + //--retryAttempts; // "used" one retry attempt + return true; + } + } + inAutoRetry = false; + return false; +} + +void MMU2::ResetRetryAttempts(){ + SERIAL_ECHOLNPGM("ResetRetryAttempts"); + retryAttempts = MAX_RETRIES; +} + +void MMU2::DecrementRetryAttempts(){ + if (inAutoRetry && retryAttempts) + { + SERIAL_ECHOLNPGM("DecrementRetryAttempts"); + retryAttempts--; + } +} + +bool MMU2::tool_change(uint8_t index) { + if( ! WaitForMMUReady()) + return false; + + if (index != extruder) { + if (!IS_SD_PRINTING && !usb_timer.running()) + { + // If Tcodes are used manually through the serial + // we need to unload manually as well + unload(); + } + + ReportingRAII rep(CommandInProgress::ToolChange); + FSensorBlockRunout blockRunout; + + st_synchronize(); + + tool_change_extruder = index; + logic.ToolChange(index); // let the MMU pull the filament out and push a new one in + manage_response(true, true); + + // reset current position to whatever the planner thinks it is + plan_set_e_position(current_position[E_AXIS]); + + extruder = index; //filament change is finished + SpoolJoin::spooljoin.setSlot(index); + + // @@TODO really report onto the serial? May be for the Octoprint? Not important now + // SERIAL_ECHO_START(); + // SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, int(extruder)); + } + return true; +} + +/// Handle special T?/Tx/Tc commands +/// +///- T? Gcode to extrude shouldn't have to follow, load to extruder wheels is done automatically +///- Tx Same as T?, except nozzle doesn't have to be preheated. Tc must be placed after extruder nozzle is preheated to finish filament load. +///- Tc Load to nozzle after filament was prepared by Tx and extruder nozzle is already heated. +bool MMU2::tool_change(char code, uint8_t slot) { + if( ! WaitForMMUReady()) + return false; + + FSensorBlockRunout blockRunout; + + switch (code) { + case '?': { + waitForHotendTargetTemp(100, []{}); + load_filament_to_nozzle(slot); + } break; + + case 'x': { + set_extrude_min_temp(0); // Allow cold extrusion since Tx only loads to the gears not nozzle + st_synchronize(); + tool_change_extruder = slot; + logic.ToolChange(slot); + manage_response(false, false); + extruder = slot; + SpoolJoin::spooljoin.setSlot(slot); + set_extrude_min_temp(EXTRUDE_MINTEMP); + } break; + + case 'c': { + waitForHotendTargetTemp(100, []{}); + execute_extruder_sequence((const E_Step *)load_to_nozzle_sequence, sizeof(load_to_nozzle_sequence) / sizeof (load_to_nozzle_sequence[0])); + } break; + } + + return true; +} + +void MMU2::get_statistics() { + logic.Statistics(); +} + +uint8_t MMU2::get_current_tool() const { + return extruder == MMU2_NO_TOOL ? (uint8_t)FILAMENT_UNKNOWN : extruder; +} + +uint8_t MMU2::get_tool_change_tool() const { + return tool_change_extruder == MMU2_NO_TOOL ? (uint8_t)FILAMENT_UNKNOWN : tool_change_extruder; +} + +bool MMU2::set_filament_type(uint8_t index, uint8_t type) { + if( ! WaitForMMUReady()) + return false; + + // @@TODO - this is not supported in the new MMU yet + // cmd_arg = filamentType; + // command(MMU_CMD_F0 + index); + + manage_response(false, false); // true, true); -- Comment: how is it possible for a filament type set to fail? + + return true; +} + +bool MMU2::unload() { + if( ! WaitForMMUReady()) + return false; + + WaitForHotendTargetTempBeep(); + + { + FSensorBlockRunout blockRunout; + ReportingRAII rep(CommandInProgress::UnloadFilament); + filament_ramming(); + + logic.UnloadFilament(); + manage_response(false, true); + Sound_MakeSound(e_SOUND_TYPE_StandardConfirm); + + // no active tool + extruder = MMU2_NO_TOOL; + tool_change_extruder = MMU2_NO_TOOL; + } + return true; +} + +bool MMU2::cut_filament(uint8_t index){ + if( ! WaitForMMUReady()) + return false; + + ReportingRAII rep(CommandInProgress::CutFilament); + logic.CutFilament(index); + manage_response(false, true); + + return true; +} + +void FullScreenMsg(const char *pgmS, uint8_t slot){ + lcd_update_enable(false); + lcd_clear(); + lcd_puts_at_P(0, 1, pgmS); + lcd_print(' '); + lcd_print(slot + 1); +} + +bool MMU2::load_to_extruder(uint8_t index){ + FullScreenMsg(_T(MSG_TESTING_FILAMENT), index); + tool_change(index); + st_synchronize(); + unload(); + lcd_update_enable(true); + return true; +} + +bool MMU2::load_filament(uint8_t index) { + if( ! WaitForMMUReady()) + return false; + + FullScreenMsg(_T(MSG_LOADING_FILAMENT), index); + + ReportingRAII rep(CommandInProgress::LoadFilament); + logic.LoadFilament(index); + manage_response(false, false); + Sound_MakeSound(e_SOUND_TYPE_StandardConfirm); + + lcd_update_enable(true); + + return true; +} + +struct LoadingToNozzleRAII { + MMU2 &mmu2; + explicit inline LoadingToNozzleRAII(MMU2 &mmu2):mmu2(mmu2){ + mmu2.loadingToNozzle = true; + } + inline ~LoadingToNozzleRAII(){ + mmu2.loadingToNozzle = false; + } +}; + +bool MMU2::load_filament_to_nozzle(uint8_t index) { + if( ! WaitForMMUReady()) + return false; + + LoadingToNozzleRAII ln(*this); + + WaitForHotendTargetTempBeep(); + + FullScreenMsg(_T(MSG_LOADING_FILAMENT), index); + { + // used for MMU-menu operation "Load to Nozzle" + ReportingRAII rep(CommandInProgress::ToolChange); + FSensorBlockRunout blockRunout; + + if( extruder != MMU2_NO_TOOL ){ // we already have some filament loaded - free it + shape its tip properly + filament_ramming(); + } + + tool_change_extruder = index; + logic.ToolChange(index); + manage_response(true, true); + + // The MMU's idler is disengaged at this point + // That means the MK3/S now has fully control + + // reset current position to whatever the planner thinks it is + st_synchronize(); + plan_set_e_position(current_position[E_AXIS]); + + // Finish loading to the nozzle with finely tuned steps. + execute_extruder_sequence((const E_Step *)load_to_nozzle_sequence, sizeof(load_to_nozzle_sequence) / sizeof (load_to_nozzle_sequence[0])); + + extruder = index; + SpoolJoin::spooljoin.setSlot(index); + + Sound_MakeSound(e_SOUND_TYPE_StandardConfirm); + } + lcd_update_enable(true); + return true; +} + +bool MMU2::eject_filament(uint8_t index, bool recover) { + if( ! WaitForMMUReady()) + return false; + + ReportingRAII rep(CommandInProgress::EjectFilament); + current_position[E_AXIS] -= MMU2_FILAMENTCHANGE_EJECT_FEED; + plan_buffer_line_curposXYZE(2500.F / 60.F); + st_synchronize(); + logic.EjectFilament(index); + manage_response(false, false); + + if (recover) { + // LCD_MESSAGEPGM(MSG_MMU2_EJECT_RECOVER); + Sound_MakeSound(e_SOUND_TYPE_StandardPrompt); +//@@TODO wait_for_user = true; + + //#if ENABLED(HOST_PROMPT_SUPPORT) + // host_prompt_do(PROMPT_USER_CONTINUE, PSTR("MMU2 Eject Recover"), PSTR("Continue")); + //#endif + //#if ENABLED(EXTENSIBLE_UI) + // ExtUI::onUserConfirmRequired_P(PSTR("MMU2 Eject Recover")); + //#endif + +//@@TODO while (wait_for_user) idle(true); + + Sound_MakeSound(e_SOUND_TYPE_StandardConfirm); + // logic.Command(); //@@TODO command(MMU_CMD_R0); + manage_response(false, false); + } + + // no active tool + extruder = MMU2_NO_TOOL; + tool_change_extruder = MMU2_NO_TOOL; + Sound_MakeSound(e_SOUND_TYPE_StandardConfirm); +// disable_E0(); + + return true; +} + +void MMU2::Button(uint8_t index){ + LogEchoEvent_P(PSTR("Button")); + logic.Button(index); +} + +void MMU2::Home(uint8_t mode){ + logic.Home(mode); +} + +void MMU2::SaveAndPark(bool move_axes, bool turn_off_nozzle) { + if (mmu_print_saved == SavedState::None) { // First occurrence. Save current position, park print head, disable nozzle heater. + LogEchoEvent_P(PSTR("Saving and parking")); + st_synchronize(); + + resume_hotend_temp = degTargetHotend(active_extruder); + + if (move_axes){ + mmu_print_saved |= SavedState::ParkExtruder; + // save current pos + for(uint8_t i = 0; i < 3; ++i){ + resume_position.xyz[i] = current_position[i]; + } + + // lift Z + raise_z(MMU_ERR_Z_PAUSE_LIFT); + + // move XY aside + current_position[X_AXIS] = MMU_ERR_X_PAUSE_POS; + current_position[Y_AXIS] = MMU_ERR_Y_PAUSE_POS; + plan_buffer_line_curposXYZE(NOZZLE_PARK_XY_FEEDRATE); + st_synchronize(); + } + + if (turn_off_nozzle){ + mmu_print_saved |= SavedState::CooldownPending; + LogEchoEvent_P(PSTR("Heater cooldown pending")); + // This just sets the flag that we should timeout and shut off the nozzle in 30 minutes... + //setAllTargetHotends(0); + } + } + // keep the motors powered forever (until some other strategy is chosen) + // @@TODO do we need that in 8bit? + // gcode.reset_stepper_timeout(); +} + +void MMU2::ResumeHotendTemp() { + if ((mmu_print_saved & SavedState::CooldownPending)) + { + // Clear the "pending" flag if we haven't cooled yet. + mmu_print_saved &= ~(SavedState::CooldownPending); + LogEchoEvent_P(PSTR("Cooldown flag cleared")); + } + if ((mmu_print_saved & SavedState::Cooldown) && resume_hotend_temp) { + LogEchoEvent_P(PSTR("Resuming Temp")); + MMU2_ECHO_MSGRPGM(PSTR("Restoring hotend temperature ")); + SERIAL_ECHOLN(resume_hotend_temp); + mmu_print_saved &= ~(SavedState::Cooldown); + setTargetHotend(resume_hotend_temp, active_extruder); + lcd_display_message_fullscreen_P(_i("MMU Retry: Restoring temperature...")); ////MSG_MMU_RESTORE_TEMP c=20 r=4 + //@todo better report the event and let the GUI do its work somewhere else + ReportErrorHookSensorLineRender(); + waitForHotendTargetTemp(1000, []{ + ReportErrorHookDynamicRender(); + manage_inactivity(true); + }); + lcd_update_enable(true); // temporary hack to stop this locking the printer... + LogEchoEvent_P(PSTR("Hotend temperature reached")); + lcd_clear(); + } +} + +void MMU2::ResumeUnpark(){ + if (mmu_print_saved & SavedState::ParkExtruder) { + LogEchoEvent_P(PSTR("Resuming XYZ")); + + current_position[X_AXIS] = resume_position.xyz[X_AXIS]; + current_position[Y_AXIS] = resume_position.xyz[Y_AXIS]; + plan_buffer_line_curposXYZE(NOZZLE_PARK_XY_FEEDRATE); + st_synchronize(); + + current_position[Z_AXIS] = resume_position.xyz[Z_AXIS]; + plan_buffer_line_curposXYZE(NOZZLE_PARK_Z_FEEDRATE); + st_synchronize(); + mmu_print_saved &= ~(SavedState::ParkExtruder); + } +} + +void MMU2::CheckUserInput(){ + auto btn = ButtonPressed((uint16_t)lastErrorCode); + + // Was a button pressed on the MMU itself instead of the LCD? + if (btn == Buttons::NoButton && lastButton != Buttons::NoButton){ + btn = lastButton; + lastButton = Buttons::NoButton; // Clear it. + } + + switch (btn) { + case Left: + case Middle: + case Right: + SERIAL_ECHOPGM("CheckUserInput-btnLMR "); + SERIAL_ECHOLN(btn); + ResumeHotendTemp(); // Recover the hotend temp before we attempt to do anything else... + Button(btn); + break; + case RestartMMU: + Reset(ResetPin); // we cannot do power cycle on the MK3 + // ... but mmu2_power.cpp knows this and triggers a soft-reset instead. + break; + case DisableMMU: + Stop(); // Poweroff handles updating the EEPROM shutoff. + break; + case StopPrint: + // @@TODO not sure if we shall handle this high level operation at this spot + break; + default: + break; + } +} + +/// Originally, this was used to wait for response and deal with timeout if necessary. +/// The new protocol implementation enables much nicer and intense reporting, so this method will boil down +/// just to verify the result of an issued command (which was basically the original idea) +/// +/// It is closely related to mmu_loop() (which corresponds to our ProtocolLogic::Step()), which does NOT perform any blocking wait for a command to finish. +/// But - in case of an error, the command is not yet finished, but we must react accordingly - move the printhead elsewhere, stop heating, eat a cat or so. +/// That's what's being done here... +void MMU2::manage_response(const bool move_axes, const bool turn_off_nozzle) { + mmu_print_saved = SavedState::None; + + KEEPALIVE_STATE(IN_PROCESS); + + LongTimer nozzleTimeout; + + for (;;) { + // in our new implementation, we know the exact state of the MMU at any moment, we do not have to wait for a timeout + // So in this case we shall decide if the operation is: + // - still running -> wait normally in idle() + // - failed -> then do the safety moves on the printer like before + // - finished ok -> proceed with reading other commands + manage_heater(); + manage_inactivity(true); // calls LogicStep() and remembers its return status + lcd_update(0); + + if (mmu_print_saved & SavedState::CooldownPending){ + if (!nozzleTimeout.running()){ + nozzleTimeout.start(); + LogEchoEvent_P(PSTR("Cooling Timeout started")); + } else if (nozzleTimeout.expired(DEFAULT_SAFETYTIMER_TIME_MINS*60*1000ul)){ // mins->msec. TODO: do we use the global or have our own independent timeout + mmu_print_saved &= ~(SavedState::CooldownPending); + mmu_print_saved |= SavedState::Cooldown; + setAllTargetHotends(0); + LogEchoEvent_P(PSTR("Heater cooldown")); + } + } else if (nozzleTimeout.running()) { + nozzleTimeout.stop(); + LogEchoEvent_P(PSTR("Cooling timer stopped")); + } + + switch (logicStepLastStatus) { + case Finished: + // command/operation completed, let Marlin continue its work + // the E may have some more moves to finish - wait for them + ResumeUnpark(); // We can now travel back to the tower or wherever we were when we saved. + ResetRetryAttempts(); // Reset the retry counter. + st_synchronize(); + return; + case VersionMismatch: // this basically means the MMU will be disabled until reconnected + CheckUserInput(); + return; + case CommandError: + // Don't proceed to the park/save if we are doing an autoretry. + if (inAutoRetry){ + continue; + } + [[fallthrough]]; + case CommunicationTimeout: + case ProtocolError: + SaveAndPark(move_axes, turn_off_nozzle); // and wait for the user to resolve the problem + CheckUserInput(); + break; + case CommunicationRecovered: // @@TODO communication recovered and may be an error recovered as well + // may be the logic layer can detect the change of state a respond with one "Recovered" to be handled here + ResumeHotendTemp(); + ResumeUnpark(); + break; + case Processing: // wait for the MMU to respond + default: + break; + } + } +} + +StepStatus MMU2::LogicStep() { + CheckUserInput(); // Process any buttons before proceeding with another MMU Query + StepStatus ss = logic.Step(); + switch (ss) { + case Finished: + // At this point it is safe to trigger a runout and not interrupt the MMU protocol + CheckFINDARunout(); + break; + case Processing: + OnMMUProgressMsg(logic.Progress()); + break; + case CommandError: + ReportError(logic.Error(), ErrorSourceMMU); + break; + case CommunicationTimeout: + state = xState::Connecting; + ReportError(ErrorCode::MMU_NOT_RESPONDING, ErrorSourcePrinter); + break; + case ProtocolError: + state = xState::Connecting; + ReportError(ErrorCode::PROTOCOL_ERROR, ErrorSourcePrinter); + break; + case VersionMismatch: + StopKeepPowered(); + ReportError(ErrorCode::VERSION_MISMATCH, ErrorSourcePrinter); + break; + case ButtonPushed: + lastButton = logic.Button(); + LogEchoEvent_P(PSTR("MMU Button pushed")); + CheckUserInput(); // Process the button immediately + break; + default: + break; + } + + if( logic.Running() ){ + state = xState::Active; + } + return ss; +} + +void MMU2::filament_ramming() { + execute_extruder_sequence((const E_Step *)ramming_sequence, sizeof(ramming_sequence) / sizeof(E_Step)); +} + +void MMU2::execute_extruder_sequence(const E_Step *sequence, uint8_t steps) { + st_synchronize(); + const E_Step *step = sequence; + for (uint8_t i = 0; i < steps; i++) { + current_position[E_AXIS] += pgm_read_float(&(step->extrude)); + plan_buffer_line_curposXYZE(pgm_read_float(&(step->feedRate))); + st_synchronize(); + step++; + } +} + +void MMU2::ReportError(ErrorCode ec, uint8_t res) { + // Due to a potential lossy error reporting layers linked to this hook + // we'd better report everything to make sure especially the error states + // do not get lost. + // - The good news here is the fact, that the MMU reports the errors repeatedly until resolved. + // - The bad news is, that MMU not responding may repeatedly occur on printers not having the MMU at all. + // + // Not sure how to properly handle this situation, options: + // - skip reporting "MMU not responding" (at least for now) + // - report only changes of states (we can miss an error message) + // - may be some combination of MMUAvailable + UseMMU flags and decide based on their state + // Right now the filtering of MMU_NOT_RESPONDING is done in ReportErrorHook() as it is not a problem if mmu2.cpp + + // Depending on the Progress code, we may want to do some action when an error occurs + switch (logic.Progress()){ + case ProgressCode::UnloadingToFinda: + unloadFilamentStarted = false; + break; + case ProgressCode::FeedingToFSensor: + // FSENSOR error during load. Make sure E-motor stops moving. + loadFilamentStarted = false; + break; + default: + break; + } + + ReportErrorHook((uint16_t)ec, res); + + if( ec != lastErrorCode ){ // deduplicate: only report changes in error codes into the log + lastErrorCode = ec; + LogErrorEvent_P( _O(PrusaErrorTitle(PrusaErrorCodeIndex((uint16_t)ec))) ); + } + + static_assert(mmu2Magic[0] == 'M' + && mmu2Magic[1] == 'M' + && mmu2Magic[2] == 'U' + && mmu2Magic[3] == '2' + && mmu2Magic[4] == ':' + && strlen_constexpr(mmu2Magic) == 5, + "MMU2 logging prefix mismatch, must be updated at various spots" + ); +} + +void MMU2::ReportProgress(ProgressCode pc) { + ReportProgressHook((CommandInProgress)logic.CommandInProgress(), (uint16_t)pc); + LogEchoEvent_P( _O(ProgressCodeToText((uint16_t)pc)) ); +} + +void MMU2::OnMMUProgressMsg(ProgressCode pc){ + if (pc != lastProgressCode) { + OnMMUProgressMsgChanged(pc); + } else { + OnMMUProgressMsgSame(pc); + } +} + +void MMU2::OnMMUProgressMsgChanged(ProgressCode pc){ + ReportProgress(pc); + lastProgressCode = pc; + switch (pc) { + case ProgressCode::UnloadingToFinda: + if ((CommandInProgress)logic.CommandInProgress() == CommandInProgress::UnloadFilament + || ((CommandInProgress)logic.CommandInProgress() == CommandInProgress::ToolChange)) + { + // If MK3S sent U0 command, ramming sequence takes care of releasing the filament. + // If Toolchange is done while printing, PrusaSlicer takes care of releasing the filament + // If printing is not in progress, ToolChange will issue a U0 command. + break; + } else { + // We're likely recovering from an MMU error + st_synchronize(); + unloadFilamentStarted = true; + current_position[E_AXIS] -= MMU2_RETRY_UNLOAD_TO_FINDA_LENGTH; + plan_buffer_line_curposXYZE(MMU2_RETRY_UNLOAD_TO_FINDA_FEED_RATE); + } + break; + case ProgressCode::FeedingToFSensor: + // prepare for the movement of the E-motor + st_synchronize(); + loadFilamentStarted = true; + break; + default: + // do nothing yet + break; + } +} + +void MMU2::OnMMUProgressMsgSame(ProgressCode pc){ + switch (pc) { + case ProgressCode::UnloadingToFinda: + if (unloadFilamentStarted && !blocks_queued()) { // Only plan a move if there is no move ongoing + if (fsensor.getFilamentPresent()) { + current_position[E_AXIS] -= MMU2_RETRY_UNLOAD_TO_FINDA_LENGTH; + plan_buffer_line_curposXYZE(MMU2_RETRY_UNLOAD_TO_FINDA_FEED_RATE); + } else { + unloadFilamentStarted = false; + } + } + break; + case ProgressCode::FeedingToFSensor: + if (loadFilamentStarted) { + switch (WhereIsFilament()) { + case FilamentState::AT_FSENSOR: + // fsensor triggered, finish FeedingToExtruder state + loadFilamentStarted = false; + // After the MMU knows the FSENSOR is triggered it will: + // 1. Push the filament by additional 30mm (see fsensorToNozzle) + // 2. Disengage the idler and push another 5mm. + current_position[E_AXIS] += 30.0f + 2.0f; + plan_buffer_line_curposXYZE(MMU2_LOAD_TO_NOZZLE_FEED_RATE); + break; + case FilamentState::NOT_PRESENT: + // fsensor not triggered, continue moving extruder + if (!blocks_queued()) { // Only plan a move if there is no move ongoing + current_position[E_AXIS] += 2.0f; + plan_buffer_line_curposXYZE(MMU2_LOAD_TO_NOZZLE_FEED_RATE); + } + break; + default: + // Abort here? + break; + } + } + break; + default: + // do nothing yet + break; + } +} + +} // namespace MMU2 diff --git a/Firmware/mmu2.h b/Firmware/mmu2.h new file mode 100644 index 000000000..005653726 --- /dev/null +++ b/Firmware/mmu2.h @@ -0,0 +1,291 @@ +/// @file +#pragma once +#include "mmu2_protocol_logic.h" + +struct E_Step; + +namespace MMU2 { + +static constexpr uint8_t MAX_RETRIES = 3U; + +/// @@TODO hmmm, 12 bytes... may be we can reduce that +struct xyz_pos_t { + float xyz[3]; + xyz_pos_t()=default; +}; + +// general MMU setup for MK3 +enum : uint8_t { + FILAMENT_UNKNOWN = 0xffU +}; + +struct Version { + uint8_t major, minor, build; +}; + +/// Top-level interface between Logic and Marlin. +/// Intentionally named MMU2 to be (almost) a drop-in replacement for the previous implementation. +/// Most of the public methods share the original naming convention as well. +class MMU2 { +public: + MMU2(); + + /// Powers ON the MMU, then initializes the UART and protocol logic + void Start(); + + /// Stops the protocol logic, closes the UART, powers OFF the MMU + void Stop(); + + /// States of a printer with the MMU: + /// - Active + /// - Connecting + /// - Stopped + /// + /// When the printer's FW starts, the MMU2 mode is either Stopped or NotResponding (based on user's preference). + /// When the MMU successfully establishes communication, the state changes to Active. + enum class xState : uint_fast8_t { + Active, ///< MMU has been detected, connected, communicates and is ready to be worked with. + Connecting, ///< MMU is connected but it doesn't communicate (yet). The user wants the MMU, but it is not ready to be worked with. + Stopped ///< The user doesn't want the printer to work with the MMU. The MMU itself is not powered and does not work at all. + }; + + inline xState State() const { return state; } + + // @@TODO temporary wrappers to make old gcc survive the code + inline bool Enabled()const { return State() == xState::Active; } + + /// Different levels of resetting the MMU + enum ResetForm : uint8_t { + Software = 0, ///< sends a X0 command into the MMU, the MMU will watchdog-reset itself + ResetPin = 1, ///< trigger the reset pin of the MMU + CutThePower = 2 ///< power off and power on (that includes +5V and +24V power lines) + }; + + /// Saved print state on error. + enum SavedState: uint8_t { + None = 0, // No state saved. + ParkExtruder = 1, // The extruder was parked. + Cooldown = 2, // The extruder was allowed to cool. + CooldownPending = 4, + }; + + /// Source of operation error + enum ReportErrorSource: uint8_t { + ErrorSourcePrinter = 0, + ErrorSourceMMU = 1, + }; + + /// Perform a reset of the MMU + /// @param level physical form of the reset + void Reset(ResetForm level); + + /// Power off the MMU (cut the power) + void PowerOff(); + + /// Power on the MMU + void PowerOn(); + + /// Read from a MMU register (See gcode M707) + /// @param address Address of register in hexidecimal + /// @returns true upon success + bool ReadRegister(uint8_t address); + + /// Write from a MMU register (See gcode M708) + /// @param address Address of register in hexidecimal + /// @param data Data to write to register + /// @returns true upon success + bool WriteRegister(uint8_t address, uint16_t data); + + + /// The main loop of MMU processing. + /// Doesn't loop (block) inside, performs just one step of logic state machines. + /// Also, internally it prevents recursive entries. + void mmu_loop(); + + /// The main MMU command - select a different slot + /// @param index of the slot to be selected + /// @returns false if the operation cannot be performed (Stopped) + bool tool_change(uint8_t index); + + /// Handling of special Tx, Tc, T? commands + bool tool_change(char code, uint8_t slot); + + /// Unload of filament in collaboration with the MMU. + /// That includes rotating the printer's extruder in order to release filament. + /// @returns false if the operation cannot be performed (Stopped or cold extruder) + bool unload(); + + /// Load (insert) filament just into the MMU (not into printer's nozzle) + /// @returns false if the operation cannot be performed (Stopped) + bool load_filament(uint8_t index); + + /// Load (push) filament from the MMU into the printer's nozzle + /// @returns false if the operation cannot be performed (Stopped or cold extruder) + bool load_filament_to_nozzle(uint8_t index); + + /// Move MMU's selector aside and push the selected filament forward. + /// Usable for improving filament's tip or pulling the remaining piece of filament out completely. + bool eject_filament(uint8_t index, bool recover); + + /// Issue a Cut command into the MMU + /// Requires unloaded filament from the printer (obviously) + /// @returns false if the operation cannot be performed (Stopped) + bool cut_filament(uint8_t index); + + /// Issue a planned request for statistics data from MMU + void get_statistics(); + + /// Issue a Try-Load command + /// It behaves very similarly like a ToolChange, but it doesn't load the filament + /// all the way down to the nozzle. The sole purpose of this operation + /// is to check, that the filament will be ready for printing. + bool load_to_extruder(uint8_t index); + + /// @returns the active filament slot index (0-4) or 0xff in case of no active tool + uint8_t get_current_tool() const; + + /// @returns The filament slot index (0 to 4) that will be loaded next, 0xff in case of no active tool change + uint8_t get_tool_change_tool() const; + + bool set_filament_type(uint8_t index, uint8_t type); + + /// Issue a "button" click into the MMU - to be used from Error screens of the MMU + /// to select one of the 3 possible options to resolve the issue + void Button(uint8_t index); + + /// Issue an explicit "homing" command into the MMU + void Home(uint8_t mode); + + /// @returns current state of FINDA (true=filament present, false=filament not present) + inline bool FindaDetectsFilament()const { return logic.FindaPressed(); } + + inline uint16_t TotalFailStatistics()const { return logic.FailStatistics(); } + + /// @returns Current error code + inline ErrorCode MMUCurrentErrorCode() const { return logic.Error(); } + + /// @returns the version of the connected MMU FW. + /// In the future we'll return the trully detected FW version + Version GetMMUFWVersion()const { + if( State() == xState::Active ){ + return { logic.MmuFwVersionMajor(), logic.MmuFwVersionMinor(), logic.MmuFwVersionRevision() }; + } else { + return { 0, 0, 0}; + } + } + + // Helper variable to monitor knob in MMU error screen in blocking functions e.g. manage_response + bool is_mmu_error_monitor_active; + + /// Method to read-only mmu_print_saved + bool MMU_PRINT_SAVED() const { return mmu_print_saved != SavedState::None; } + + /// Automagically "press" a Retry button if we have any retry attempts left + bool RetryIfPossible(uint16_t ec); + + /// Decrement the retry attempts, if in a retry. + // Called by the MMU protocol when a sent button is acknowledged. + void DecrementRetryAttempts(); + +private: + /// Reset the retryAttempts back to the default value + void ResetRetryAttempts(); + /// Perform software self-reset of the MMU (sends an X0 command) + void ResetX0(); + + /// Trigger reset pin of the MMU + void TriggerResetPin(); + + /// Perform power cycle of the MMU (cold boot) + /// Please note this is a blocking operation (sleeps for some time inside while doing the power cycle) + void PowerCycle(); + + /// Stop the communication, but keep the MMU powered on (for scenarios with incorrect FW version) + void StopKeepPowered(); + + /// Along with the mmu_loop method, this loops until a response from the MMU is received and acts upon. + /// In case of an error, it parks the print head and turns off nozzle heating + void manage_response(const bool move_axes, const bool turn_off_nozzle); + + /// Performs one step of the protocol logic state machine + /// and reports progress and errors if needed to attached ExtUIs. + /// Updates the global state of MMU (Active/Connecting/Stopped) at runtime, see @ref State + StepStatus LogicStep(); + + void filament_ramming(); + void execute_extruder_sequence(const E_Step *sequence, uint8_t steps); + + /// Reports an error into attached ExtUIs + /// @param ec error code, see ErrorCode + /// @param res reporter error source, is either Printer (0) or MMU (1) + void ReportError(ErrorCode ec, uint8_t res); + + /// Reports progress of operations into attached ExtUIs + /// @param pc progress code, see ProgressCode + void ReportProgress(ProgressCode pc); + + /// Responds to a change of MMU's progress + /// - plans additional steps, e.g. starts the E-motor after fsensor trigger + void OnMMUProgressMsg(ProgressCode pc); + /// Progress code changed - act accordingly + void OnMMUProgressMsgChanged(ProgressCode pc); + /// Repeated calls when progress code remains the same + void OnMMUProgressMsgSame(ProgressCode pc); + + /// Save print and park the print head + void SaveAndPark(bool move_axes, bool turn_off_nozzle); + + /// Resume hotend temperature, if it was cooled. Safe to call if we aren't saved. + void ResumeHotendTemp(); + + /// Resume position, if the extruder was parked. Safe to all if state was not saved. + void ResumeUnpark(); + + /// Check for any button/user input coming from the printer's UI + void CheckUserInput(); + + /// @brief Check whether to trigger a FINDA runout. If triggered this function will call M600 AUTO + /// if SpoolJoin is enabled, otherwise M600 is called without AUTO which will prompt the user + /// for the next filament slot to use + void CheckFINDARunout(); + + /// Entry check of all external commands. + /// It can wait until the MMU becomes ready. + /// Optionally, it can also emit/display an error screen and the user can decide what to do next. + /// @returns false if the MMU is not ready to perform the command (for whatever reason) + bool WaitForMMUReady(); + + ProtocolLogic logic; ///< implementation of the protocol logic layer + uint8_t extruder; ///< currently active slot in the MMU ... somewhat... not sure where to get it from yet + uint8_t tool_change_extruder; ///< only used for UI purposes + + xyz_pos_t resume_position; + int16_t resume_hotend_temp; + + ProgressCode lastProgressCode = ProgressCode::OK; + ErrorCode lastErrorCode = ErrorCode::MMU_NOT_RESPONDING; + Buttons lastButton = Buttons::NoButton; + + StepStatus logicStepLastStatus; + + enum xState state; + + uint8_t mmu_print_saved; + bool loadFilamentStarted; + bool unloadFilamentStarted; + + friend struct LoadingToNozzleRAII; + /// true in case we are doing the LoadToNozzle operation - that means the filament shall be loaded all the way down to the nozzle + /// unlike the mid-print ToolChange commands, which only load the first ~30mm and then the G-code takes over. + bool loadingToNozzle; + + uint8_t retryAttempts; + + bool inAutoRetry; +}; + +/// following Marlin's way of doing stuff - one and only instance of MMU implementation in the code base +/// + avoiding buggy singletons on the AVR platform +extern MMU2 mmu2; + +} // namespace MMU2 diff --git a/Firmware/mmu2/buttons.h b/Firmware/mmu2/buttons.h new file mode 100644 index 000000000..e02a6b065 --- /dev/null +++ b/Firmware/mmu2/buttons.h @@ -0,0 +1,37 @@ +#pragma once +#include + +// Helper macros to parse the operations from Btns() +#define BUTTON_OP_RIGHT(X) ( ( X & 0xF0 ) >> 4 ) +#define BUTTON_OP_MIDDLE(X) ( X & 0x0F ) + +namespace MMU2 { + +/// Will be mapped onto dialog button responses in the FW +/// Those responses have their unique+translated texts as well +enum class ButtonOperations : uint8_t { + NoOperation = 0, + Retry = 1, + Continue = 2, + RestartMMU = 3, + Unload = 4, + StopPrint = 5, + DisableMMU = 6, +}; + +/// Button codes + extended actions performed on the printer's side +enum Buttons : uint8_t { + Right = 0, + Middle, + Left, + + // performed on the printer's side + RestartMMU, + StopPrint, + DisableMMU, + + NoButton = 0xff // shall be kept last +}; + + +} // namespace MMU2 diff --git a/Firmware/mmu2/error_codes.h b/Firmware/mmu2/error_codes.h new file mode 100644 index 000000000..0dcb30573 --- /dev/null +++ b/Firmware/mmu2/error_codes.h @@ -0,0 +1,109 @@ +/// @file error_codes.h +#pragma once +#include + +/// A complete set of error codes which may be a result of a high-level command/operation. +/// This header file shall be included in the printer's firmware as well as a reference, +/// therefore the error codes have been extracted to one place. +/// +/// Please note the errors are intentionally coded as "negative" values (highest bit set), +/// becase they are a complement to reporting the state of the high-level state machines - +/// positive values are considered as normal progress, negative values are errors. +/// +/// Please note, that multiple TMC errors can occur at once, thus they are defined as a bitmask of the higher byte. +/// Also, as there are 3 TMC drivers on the board, each error is added a bit for the corresponding TMC - +/// TMC_PULLEY_BIT, TMC_SELECTOR_BIT, TMC_IDLER_BIT, +/// The resulting error is a bitwise OR over 3 TMC drivers and their status, which should cover most of the situations correctly. +enum class ErrorCode : uint_fast16_t { + RUNNING = 0x0000, ///< the operation is still running - keep this value as ZERO as it is used for initialization of error codes as well + OK = 0x0001, ///< the operation finished OK + + // TMC bit masks + TMC_PULLEY_BIT = 0x0040, ///< +64 TMC Pulley bit + TMC_SELECTOR_BIT = 0x0080, ///< +128 TMC Pulley bit + TMC_IDLER_BIT = 0x0100, ///< +256 TMC Pulley bit + + /// Unload Filament related error codes + FINDA_DIDNT_SWITCH_ON = 0x8001, ///< E32769 FINDA didn't switch on while loading filament - either there is something blocking the metal ball or a cable is broken/disconnected + FINDA_DIDNT_SWITCH_OFF = 0x8002, ///< E32770 FINDA didn't switch off while unloading filament + + FSENSOR_DIDNT_SWITCH_ON = 0x8003, ///< E32771 Filament sensor didn't switch on while performing LoadFilament + FSENSOR_DIDNT_SWITCH_OFF = 0x8004, ///< E32772 Filament sensor didn't switch off while performing UnloadFilament + + FILAMENT_ALREADY_LOADED = 0x8005, ///< E32773 cannot perform operation LoadFilament or move the selector as the filament is already loaded + + INVALID_TOOL = 0x8006, ///< E32774 tool/slot index out of range (typically issuing T5 into an MMU with just 5 slots - valid range 0-4) + + HOMING_FAILED = 0x8007, ///< generic homing failed error - always reported with the corresponding axis bit set (Idler or Selector) as follows: + HOMING_SELECTOR_FAILED = HOMING_FAILED | TMC_SELECTOR_BIT, ///< E32903 the Selector was unable to home properly - that means something is blocking its movement + HOMING_IDLER_FAILED = HOMING_FAILED | TMC_IDLER_BIT, ///< E33031 the Idler was unable to home properly - that means something is blocking its movement + STALLED_PULLEY = HOMING_FAILED | TMC_PULLEY_BIT, ///< E32839 for the Pulley "homing" means just stallguard detected during Pulley's operation (Pulley doesn't home) + + FINDA_VS_EEPROM_DISREPANCY = 0x8008, ///< E32776 FINDA is pressed but we have no such record in EEPROM - this can only happen at the start of the MMU and can be resolved by issuing an Unload command + + FSENSOR_TOO_EARLY = 0x8009, ///< E32777 FSensor triggered while doing FastFeedToExtruder - that means either: + ///< - the PTFE is too short + ///< - a piece of filament was left inside - pushed in front of the loaded filament causing the fsensor trigger too early + ///< - fsensor is faulty producing bogus triggers + + MOVE_FAILED = 0x800a, ///< generic move failed error - always reported with the corresponding axis bit set (Idler or Selector) as follows: + MOVE_SELECTOR_FAILED = MOVE_FAILED | TMC_SELECTOR_BIT, ///< E32905 the Selector was unable to move to desired position properly - that means something is blocking its movement, e.g. a piece of filament got out of pulley body + MOVE_IDLER_FAILED = MOVE_FAILED | TMC_IDLER_BIT, ///< E33033 the Idler was unable to move - unused at the time of creation, but added for completeness + MOVE_PULLEY_FAILED = MOVE_FAILED | TMC_PULLEY_BIT, ///< E32841 the Pulley was unable to move - unused at the time of creation, but added for completeness + + QUEUE_FULL = 0x802b, ///< E32811 internal logic error - attempt to move with a full queue + + VERSION_MISMATCH = 0x802c, ///< E32812 internal error of the printer - incompatible version of the MMU FW + PROTOCOL_ERROR = 0x802d, ///< E32813 internal error of the printer - communication with the MMU got garbled - protocol decoder couldn't decode the incoming messages + MMU_NOT_RESPONDING = 0x802e, ///< E32814 internal error of the printer - communication with the MMU is not working + INTERNAL = 0x802f, ///< E32815 internal runtime error (software) + + /// TMC driver init error - TMC dead or bad communication + /// - E33344 Pulley TMC driver + /// - E33404 Selector TMC driver + /// - E33536 Idler TMC driver + /// - E33728 All 3 TMC driver + TMC_IOIN_MISMATCH = 0x8200, + + /// TMC driver reset - recoverable, we just need to rehome the axis + /// Idler: can be rehomed any time + /// Selector: if there is a filament, remove it and rehome, if there is no filament, just rehome + /// Pulley: do nothing - for the loading sequence - just restart and move slowly, for the unload sequence just restart + /// - E33856 Pulley TMC driver + /// - E33920 Selector TMC driver + /// - E34048 Idler TMC driver + /// - E34240 All 3 TMC driver + TMC_RESET = 0x8400, + + /// not enough current for the TMC, NOT RECOVERABLE + /// - E34880 Pulley TMC driver + /// - E34944 Selector TMC driver + /// - E35072 Idler TMC driver + /// - E35264 All 3 TMC driver + TMC_UNDERVOLTAGE_ON_CHARGE_PUMP = 0x8800, + + /// TMC driver serious error - short to ground on coil A or coil B - dangerous to recover + /// - E36928 Pulley TMC driver + /// - E36992 Selector TMC driver + /// - E37120 Idler TMC driver + /// - E37312 All 3 TMC driver + TMC_SHORT_TO_GROUND = 0x9000, + + /// TMC driver over temperature warning - can be recovered by restarting the driver. + /// If this error happens, we should probably go into the error state as soon as the current command is finished. + /// The driver technically still works at this point. + /// - E41024 Pulley TMC driver + /// - E41088 Selector TMC driver + /// - E41216 Idler TMC driver + /// - E41408 All 3 TMC driver + TMC_OVER_TEMPERATURE_WARN = 0xA000, + + /// TMC driver over temperature error - we really shouldn't ever reach this error. + /// It can still be recovered if the driver cools down below 120C. + /// The driver needs to be disabled and enabled again for operation to resume after this error is cleared. + /// - E49216 Pulley TMC driver + /// - E49280 Selector TMC driver + /// - E49408 Idler TMC driver + /// - E49600 All 3 TMC driver + TMC_OVER_TEMPERATURE_ERROR = 0xC000 +}; diff --git a/Firmware/mmu2/errors_list.h b/Firmware/mmu2/errors_list.h new file mode 100644 index 000000000..322bf0356 --- /dev/null +++ b/Firmware/mmu2/errors_list.h @@ -0,0 +1,353 @@ +// Extracted from Prusa-Error-Codes repo +// Subject to automation and optimization +// BEWARE - this file shall be included only into mmu2_error_converter.cpp, not anywhere else! +#pragma once +#include "inttypes.h" +#include "../language.h" +#include +#include "buttons.h" + +namespace MMU2 { + +static constexpr uint8_t ERR_MMU_CODE = 4; + +typedef enum : uint16_t { + ERR_UNDEF = 0, + + ERR_MECHANICAL = 100, + ERR_MECHANICAL_FINDA_DIDNT_TRIGGER = 101, + ERR_MECHANICAL_FINDA_DIDNT_GO_OFF = 102, + ERR_MECHANICAL_FSENSOR_DIDNT_TRIGGER = 103, + ERR_MECHANICAL_FSENSOR_DIDNT_GO_OFF = 104, + + ERR_MECHANICAL_PULLEY_CANNOT_MOVE = 105, + ERR_MECHANICAL_FSENSOR_TOO_EARLY = 106, + ERR_MECHANICAL_SELECTOR_CANNOT_HOME = 115, + ERR_MECHANICAL_SELECTOR_CANNOT_MOVE = 116, + ERR_MECHANICAL_IDLER_CANNOT_HOME = 125, + ERR_MECHANICAL_IDLER_CANNOT_MOVE = 126, + + ERR_TEMPERATURE = 200, + ERR_TEMPERATURE_PULLEY_WARNING_TMC_TOO_HOT = 201, + ERR_TEMPERATURE_SELECTOR_WARNING_TMC_TOO_HOT = 211, + ERR_TEMPERATURE_IDLER_WARNING_TMC_TOO_HOT = 221, + + ERR_TEMPERATURE_PULLEY_TMC_OVERHEAT_ERROR = 202, + ERR_TEMPERATURE_SELECTOR_TMC_OVERHEAT_ERROR = 212, + ERR_TEMPERATURE_IDLER_TMC_OVERHEAT_ERROR = 222, + + + ERR_ELECTRICAL = 300, + ERR_ELECTRICAL_PULLEY_TMC_DRIVER_ERROR = 301, + ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_ERROR = 311, + ERR_ELECTRICAL_IDLER_TMC_DRIVER_ERROR = 321, + + ERR_ELECTRICAL_PULLEY_TMC_DRIVER_RESET = 302, + ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_RESET = 312, + ERR_ELECTRICAL_IDLER_TMC_DRIVER_RESET = 322, + + ERR_ELECTRICAL_PULLEY_TMC_UNDERVOLTAGE_ERROR = 303, + ERR_ELECTRICAL_SELECTOR_TMC_UNDERVOLTAGE_ERROR = 313, + ERR_ELECTRICAL_IDLER_TMC_UNDERVOLTAGE_ERROR = 323, + + ERR_ELECTRICAL_PULLEY_TMC_DRIVER_SHORTED = 304, + ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_SHORTED = 314, + ERR_ELECTRICAL_IDLER_TMC_DRIVER_SHORTED = 324, + + + ERR_CONNECT = 400, + ERR_CONNECT_MMU_NOT_RESPONDING = 401, + ERR_CONNECT_COMMUNICATION_ERROR = 402, + + + ERR_SYSTEM = 500, + ERR_SYSTEM_FILAMENT_ALREADY_LOADED = 501, + ERR_SYSTEM_INVALID_TOOL = 502, + ERR_SYSTEM_QUEUE_FULL = 503, + ERR_SYSTEM_FW_UPDATE_NEEDED = 504, + ERR_SYSTEM_FW_RUNTIME_ERROR = 505, + ERR_SYSTEM_UNLOAD_MANUALLY = 506, + + ERR_OTHER = 900 +} err_num_t; + +// Avr gcc has serious trouble understanding static data structures in PROGMEM +// and inadvertedly falls back to copying the whole structure into RAM (which is obviously unwanted). +// But since this file ought to be generated in the future from yaml prescription, +// it really makes no difference if there are "nice" data structures or plain arrays. +static const constexpr uint16_t errorCodes[] PROGMEM = { + ERR_MECHANICAL_FINDA_DIDNT_TRIGGER, + ERR_MECHANICAL_FINDA_DIDNT_GO_OFF, + ERR_MECHANICAL_FSENSOR_DIDNT_TRIGGER, + ERR_MECHANICAL_FSENSOR_DIDNT_GO_OFF, + ERR_MECHANICAL_PULLEY_CANNOT_MOVE, + ERR_MECHANICAL_FSENSOR_TOO_EARLY, + ERR_MECHANICAL_SELECTOR_CANNOT_HOME, + ERR_MECHANICAL_SELECTOR_CANNOT_MOVE, + ERR_MECHANICAL_IDLER_CANNOT_HOME, + ERR_MECHANICAL_IDLER_CANNOT_MOVE, + ERR_TEMPERATURE_PULLEY_WARNING_TMC_TOO_HOT, + ERR_TEMPERATURE_SELECTOR_WARNING_TMC_TOO_HOT, + ERR_TEMPERATURE_IDLER_WARNING_TMC_TOO_HOT, + ERR_TEMPERATURE_PULLEY_TMC_OVERHEAT_ERROR, + ERR_TEMPERATURE_SELECTOR_TMC_OVERHEAT_ERROR, + ERR_TEMPERATURE_IDLER_TMC_OVERHEAT_ERROR, + ERR_ELECTRICAL_PULLEY_TMC_DRIVER_ERROR, + ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_ERROR, + ERR_ELECTRICAL_IDLER_TMC_DRIVER_ERROR, + ERR_ELECTRICAL_PULLEY_TMC_DRIVER_RESET, + ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_RESET, + ERR_ELECTRICAL_IDLER_TMC_DRIVER_RESET, + ERR_ELECTRICAL_PULLEY_TMC_UNDERVOLTAGE_ERROR, + ERR_ELECTRICAL_SELECTOR_TMC_UNDERVOLTAGE_ERROR, + ERR_ELECTRICAL_IDLER_TMC_UNDERVOLTAGE_ERROR, + ERR_ELECTRICAL_PULLEY_TMC_DRIVER_SHORTED, + ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_SHORTED, + ERR_ELECTRICAL_IDLER_TMC_DRIVER_SHORTED, + ERR_CONNECT_MMU_NOT_RESPONDING, + ERR_CONNECT_COMMUNICATION_ERROR, + ERR_SYSTEM_FILAMENT_ALREADY_LOADED, + ERR_SYSTEM_INVALID_TOOL, + ERR_SYSTEM_QUEUE_FULL, + ERR_SYSTEM_FW_UPDATE_NEEDED, + ERR_SYSTEM_FW_RUNTIME_ERROR, + ERR_SYSTEM_UNLOAD_MANUALLY +}; + +// @@TODO some of the strings are duplicates, can be merged into one 01234567890123456789 +static const char MSG_TITLE_FINDA_DIDNT_TRIGGER[] PROGMEM_I1 = ISTR("FINDA DIDNT TRIGGER"); ////MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +static const char MSG_TITLE_FINDA_DIDNT_GO_OFF[] PROGMEM_I1 = ISTR("FINDA: FILAM. STUCK"); ////MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +static const char MSG_TITLE_FSENSOR_DIDNT_TRIGGER[] PROGMEM_I1 = ISTR("FSENSOR DIDNT TRIGG."); ////MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +static const char MSG_TITLE_FSENSOR_DIDNT_GO_OFF[] PROGMEM_I1 = ISTR("FSENSOR: FIL. STUCK"); ////MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +static const char MSG_TITLE_PULLEY_CANNOT_MOVE[] PROGMEM_I1 = ISTR("PULLEY CANNOT MOVE"); ////MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +static const char MSG_TITLE_FSENSOR_TOO_EARLY[] PROGMEM_I1 = ISTR("FSENSOR TOO EARLY"); ////MSG_TITLE_FSENSOR_TOO_EARLY c=20 +static const char MSG_TITLE_SELECTOR_CANNOT_MOVE[] PROGMEM_I1 = ISTR("SELECTOR CANNOT MOVE"); ////MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +static const char MSG_TITLE_SELECTOR_CANNOT_HOME[] PROGMEM_I1 = ISTR("SELECTOR CANNOT HOME"); ////MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +static const char MSG_TITLE_IDLER_CANNOT_MOVE[] PROGMEM_I1 = ISTR("IDLER CANNOT MOVE"); ////MSG_TITLE_IDLER_CANNOT_MOVE c=20 +static const char MSG_TITLE_IDLER_CANNOT_HOME[] PROGMEM_I1 = ISTR("IDLER CANNOT HOME"); ////MSG_TITLE_IDLER_CANNOT_HOME c=20 +static const char MSG_TITLE_TMC_WARNING_TMC_TOO_HOT[] PROGMEM_I1 = ISTR("WARNING TMC TOO HOT"); ////MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +//static const char MSG_TITLE_TMC_WARNING_TMC_TOO_HOT[] PROGMEM_I1 = ISTR("WARNING TMC TOO HOT"); ////MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +//static const char MSG_TITLE_TMC_WARNING_TMC_TOO_HOT[] PROGMEM_I1 = ISTR("WARNING TMC TOO HOT"); +static const char MSG_TITLE_TMC_OVERHEAT_ERROR[] PROGMEM_I1 = ISTR("TMC OVERHEAT ERROR"); ////MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +//static const char MSG_TITLE_TMC_OVERHEAT_ERROR[] PROGMEM_I1 = ISTR("TMC OVERHEAT ERROR"); +//static const char MSG_TITLE_TMC_OVERHEAT_ERROR[] PROGMEM_I1 = ISTR("TMC OVERHEAT ERROR"); +static const char MSG_TITLE_TMC_DRIVER_ERROR[] PROGMEM_I1 = ISTR("TMC DRIVER ERROR"); ////MSG_TITLE_TMC_DRIVER_ERROR c=20 +//static const char MSG_TITLE_TMC_DRIVER_ERROR[] PROGMEM_I1 = ISTR("TMC DRIVER ERROR"); +//static const char MSG_TITLE_TMC_DRIVER_ERROR[] PROGMEM_I1 = ISTR("TMC DRIVER ERROR"); +static const char MSG_TITLE_TMC_DRIVER_RESET[] PROGMEM_I1 = ISTR("TMC DRIVER RESET"); ////MSG_TITLE_TMC_DRIVER_RESET c=20 +//static const char MSG_TITLE_TMC_DRIVER_RESET[] PROGMEM_I1 = ISTR("TMC DRIVER RESET"); +//static const char MSG_TITLE_TMC_DRIVER_RESET[] PROGMEM_I1 = ISTR("TMC DRIVER RESET"); +static const char MSG_TITLE_TMC_UNDERVOLTAGE_ERROR[] PROGMEM_I1 = ISTR("TMC UNDERVOLTAGE ERR"); ////MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +//static const char MSG_TITLE_TMC_UNDERVOLTAGE_ERROR[] PROGMEM_I1 = ISTR("TMC UNDERVOLTAGE ERR"); +//static const char MSG_TITLE_TMC_UNDERVOLTAGE_ERROR[] PROGMEM_I1 = ISTR("TMC UNDERVOLTAGE ERR"); +static const char MSG_TITLE_TMC_DRIVER_SHORTED[] PROGMEM_I1 = ISTR("TMC DRIVER SHORTED"); ////MSG_TITLE_TMC_DRIVER_SHORTED c=20 +//static const char MSG_TITLE_TMC_DRIVER_SHORTED[] PROGMEM_I1 = ISTR("TMC DRIVER SHORTED"); +//static const char MSG_TITLE_TMC_DRIVER_SHORTED[] PROGMEM_I1 = ISTR("TMC DRIVER SHORTED"); +static const char MSG_TITLE_MMU_NOT_RESPONDING[] PROGMEM_I1 = ISTR("MMU NOT RESPONDING"); ////MSG_TITLE_MMU_NOT_RESPONDING c=20 +static const char MSG_TITLE_COMMUNICATION_ERROR[] PROGMEM_I1 = ISTR("COMMUNICATION ERROR"); ////MSG_TITLE_COMMUNICATION_ERROR c=20 +static const char MSG_TITLE_FIL_ALREADY_LOADED[] PROGMEM_I1 = ISTR("FILAMENT ALREADY LOA"); ////MSG_TITLE_FIL_ALREADY_LOADED c=20 +static const char MSG_TITLE_INVALID_TOOL[] PROGMEM_I1 = ISTR("INVALID TOOL"); ////MSG_TITLE_INVALID_TOOL c=20 +static const char MSG_TITLE_QUEUE_FULL[] PROGMEM_I1 = ISTR("QUEUE FULL"); ////MSG_TITLE_QUEUE_FULL c=20 +static const char MSG_TITLE_FW_UPDATE_NEEDED[] PROGMEM_I1 = ISTR("MMU FW UPDATE NEEDED"); ////MSG_TITLE_FW_UPDATE_NEEDED c=20 +static const char MSG_TITLE_FW_RUNTIME_ERROR[] PROGMEM_I1 = ISTR("FW RUNTIME ERROR"); ////MSG_TITLE_FW_RUNTIME_ERROR c=20 +static const char MSG_TITLE_UNLOAD_MANUALLY[] PROGMEM_I1 = ISTR("UNLOAD MANUALLY"); ////MSG_TITLE_UNLOAD_MANUALLY c=20 + +static const char * const errorTitles [] PROGMEM = { + _R(MSG_TITLE_FINDA_DIDNT_TRIGGER), + _R(MSG_TITLE_FINDA_DIDNT_GO_OFF), + _R(MSG_TITLE_FSENSOR_DIDNT_TRIGGER), + _R(MSG_TITLE_FSENSOR_DIDNT_GO_OFF), + _R(MSG_TITLE_PULLEY_CANNOT_MOVE), + _R(MSG_TITLE_FSENSOR_TOO_EARLY), + _R(MSG_TITLE_SELECTOR_CANNOT_HOME), + _R(MSG_TITLE_SELECTOR_CANNOT_MOVE), + _R(MSG_TITLE_IDLER_CANNOT_HOME), + _R(MSG_TITLE_IDLER_CANNOT_MOVE), + _R(MSG_TITLE_TMC_WARNING_TMC_TOO_HOT), + _R(MSG_TITLE_TMC_WARNING_TMC_TOO_HOT), + _R(MSG_TITLE_TMC_WARNING_TMC_TOO_HOT), + _R(MSG_TITLE_TMC_OVERHEAT_ERROR), + _R(MSG_TITLE_TMC_OVERHEAT_ERROR), + _R(MSG_TITLE_TMC_OVERHEAT_ERROR), + _R(MSG_TITLE_TMC_DRIVER_ERROR), + _R(MSG_TITLE_TMC_DRIVER_ERROR), + _R(MSG_TITLE_TMC_DRIVER_ERROR), + _R(MSG_TITLE_TMC_DRIVER_RESET), + _R(MSG_TITLE_TMC_DRIVER_RESET), + _R(MSG_TITLE_TMC_DRIVER_RESET), + _R(MSG_TITLE_TMC_UNDERVOLTAGE_ERROR), + _R(MSG_TITLE_TMC_UNDERVOLTAGE_ERROR), + _R(MSG_TITLE_TMC_UNDERVOLTAGE_ERROR), + _R(MSG_TITLE_TMC_DRIVER_SHORTED), + _R(MSG_TITLE_TMC_DRIVER_SHORTED), + _R(MSG_TITLE_TMC_DRIVER_SHORTED), + _R(MSG_TITLE_MMU_NOT_RESPONDING), + _R(MSG_TITLE_COMMUNICATION_ERROR), + _R(MSG_TITLE_FIL_ALREADY_LOADED), + _R(MSG_TITLE_INVALID_TOOL), + _R(MSG_TITLE_QUEUE_FULL), + _R(MSG_TITLE_FW_UPDATE_NEEDED), + _R(MSG_TITLE_FW_RUNTIME_ERROR), + _R(MSG_TITLE_UNLOAD_MANUALLY) +}; + +// @@TODO looking at the texts, they can be composed of several parts and/or parametrized (could save a lot of space ;) ) +// Moreover, some of them have been disabled in favour of saving some more code size. +static const char MSG_DESC_FINDA_DIDNT_TRIGGER[] PROGMEM_I1 = ISTR("FINDA didn't trigger while loading the filament. Ensure the filament can move and FINDA works."); ////MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +static const char MSG_DESC_FINDA_DIDNT_GO_OFF[] PROGMEM_I1 = ISTR("FINDA didn't switch off while unloading filament. Try unloading manually. Ensure filament can move and FINDA works."); ////MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +static const char MSG_DESC_FSENSOR_DIDNT_TRIGGER[] PROGMEM_I1 = ISTR("Filament sensor didn't trigger while loading the filament. Ensure the filament reached the fsensor and the sensor works."); ////MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +static const char MSG_DESC_FSENSOR_DIDNT_GO_OFF[] PROGMEM_I1 = ISTR("Filament sensor didn't switch off while unloading filament. Ensure filament can move and the sensor works."); ////MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +static const char MSG_DESC_PULLEY_STALLED[] PROGMEM_I1 = ISTR("Pulley motor stalled. Ensure the pulley can move and check the wiring."); ////MSG_DESC_PULLEY_STALLED c=20 r=8 +static const char MSG_DESC_FSENSOR_TOO_EARLY[] PROGMEM_I1 = ISTR("Filament sensor triggered too early while loading to extruder. Check there isn't anything stuck in PTFE tube. Check that sensor reads properly."); ////MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +static const char MSG_DESC_SELECTOR_CANNOT_HOME[] PROGMEM_I1 = ISTR("The Selector cannot home properly. Check for anything blocking its movement."); ////MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +static const char MSG_DESC_CANNOT_MOVE[] PROGMEM_I1 = ISTR("Can't move Selector or Idler."); /////MSG_DESC_CANNOT_MOVE c=20 r=4 +//static const char MSG_DESC_SELECTOR_CANNOT_MOVE[] PROGMEM_I1 = ISTR("The Selector cannot move. Check for anything blocking its movement. Check the wiring is correct."); +static const char MSG_DESC_IDLER_CANNOT_HOME[] PROGMEM_I1 = ISTR("The Idler cannot home properly. Check for anything blocking its movement."); ////MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +//static const char MSG_DESC_IDLER_CANNOT_MOVE[] PROGMEM_I1 = ISTR("The Idler cannot move properly. Check for anything blocking its movement. Check the wiring is correct."); +static const char MSG_DESC_TMC[] PROGMEM_I1 = ISTR("More details online."); ////MSG_DESC_TMC c=20 r=8 +//static const char MSG_DESC_PULLEY_WARNING_TMC_TOO_HOT[] PROGMEM_I1 = ISTR("TMC driver for the Pulley motor is almost overheating. Make sure there is sufficient airflow near the MMU board."); +//static const char MSG_DESC_SELECTOR_WARNING_TMC_TOO_HOT[] PROGMEM_I1 = ISTR("TMC driver for the Selector motor is almost overheating. Make sure there is sufficient airflow near the MMU board."); +//static const char MSG_DESC_IDLER_WARNING_TMC_TOO_HOT[] PROGMEM_I1 = ISTR("TMC driver for the Idler motor is almost overheating. Make sure there is sufficient airflow near the MMU board."); +//static const char MSG_DESC_PULLEY_TMC_OVERHEAT_ERROR[] PROGMEM_I1 = ISTR("TMC driver for the Pulley motor is overheated. Cool down the MMU board and reset MMU."); +//static const char MSG_DESC_SELECTOR_TMC_OVERHEAT_ERROR[] PROGMEM_I1 = ISTR("TMC driver for the Selector motor is overheated. Cool down the MMU board and reset MMU."); +//static const char MSG_DESC_IDLER_TMC_OVERHEAT_ERROR[] PROGMEM_I1 = ISTR("TMC driver for the Idler motor is overheated. Cool down the MMU board and reset MMU."); +//static const char MSG_DESC_PULLEY_TMC_DRIVER_ERROR[] PROGMEM_I1 = ISTR("TMC driver for the Pulley motor is not responding. Try resetting the MMU. If the issue persists contact support."); +//static const char MSG_DESC_SELECTOR_TMC_DRIVER_ERROR[] PROGMEM_I1 = ISTR("TMC driver for the Selector motor is not responding. Try resetting the MMU. If the issue persists contact support."); +//static const char MSG_DESC_IDLER_TMC_DRIVER_ERROR[] PROGMEM_I1 = ISTR("TMC driver for the Idler motor is not responding. Try resetting the MMU. If the issue persists contact support."); +//static const char MSG_DESC_PULLEY_TMC_DRIVER_RESET[] PROGMEM_I1 = ISTR("TMC driver for the Pulley motor was restarted. There is probably an issue with the electronics. Check the wiring and connectors."); +//static const char MSG_DESC_SELECTOR_TMC_DRIVER_RESET[] PROGMEM_I1 = ISTR("TMC driver for the Selector motor was restarted. There is probably an issue with the electronics. Check the wiring and connectors."); +//static const char MSG_DESC_IDLER_TMC_DRIVER_RESET[] PROGMEM_I1 = ISTR("TMC driver for the Idler motor was restarted. There is probably an issue with the electronics. Check the wiring and connectors."); +//static const char MSG_DESC_PULLEY_TMC_UNDERVOLTAGE_ERROR[] PROGMEM_I1 = ISTR("Not enough current for the Pulley TMC driver. There is probably an issue with the electronics. Check the wiring and connectors."); +//static const char MSG_DESC_SELECTOR_TMC_UNDERVOLTAGE_ERROR[] PROGMEM_I1 = ISTR("Not enough current for the Selector TMC driver. There is probably an issue with the electronics. Check the wiring and connectors."); +//static const char MSG_DESC_IDLER_TMC_UNDERVOLTAGE_ERROR[] PROGMEM_I1 = ISTR("Not enough current for the Idler TMC driver. There is probably an issue with the electronics. Check the wiring and connectors."); +//static const char MSG_DESC_PULLEY_TMC_DRIVER_SHORTED[] PROGMEM_I1 = ISTR("Short circuit on the Pulley TMC driver. Check the wiring and connectors. If the issue persists contact support."); +//static const char MSG_DESC_SELECTOR_TMC_DRIVER_SHORTED[] PROGMEM_I1 = ISTR("Short circuit on the Selector TMC driver. Check the wiring and connectors. If the issue persists contact support."); +//static const char MSG_DESC_IDLER_TMC_DRIVER_SHORTED[] PROGMEM_I1 = ISTR("Short circuit on the Idler TMC driver. Check the wiring and connectors. If the issue persists contact support."); +static const char MSG_DESC_MMU_NOT_RESPONDING[] PROGMEM_I1 = ISTR("MMU unit not responding. Check the wiring and connectors. If the issue persists, contact support."); ////MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +static const char MSG_DESC_COMMUNICATION_ERROR[] PROGMEM_I1 = ISTR("MMU unit not responding correctly. Check the wiring and connectors. If the issue persists, contact support."); ////MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +static const char MSG_DESC_FILAMENT_ALREADY_LOADED[] PROGMEM_I1 = ISTR("Cannot perform the action, filament is already loaded. Unload it first."); ////MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +static const char MSG_DESC_INVALID_TOOL[] PROGMEM_I1 = ISTR("Requested filament tool is not available on this hardware. Check the G-code for tool index out of range (T0-T4)."); ////MSG_DESC_INVALID_TOOL c=20 r=8 +static const char MSG_DESC_QUEUE_FULL[] PROGMEM_I1 = ISTR("MMU Firmware internal error, please reset the MMU."); ////MSG_DESC_QUEUE_FULL c=20 r=8 +static const char MSG_DESC_FW_UPDATE_NEEDED[] PROGMEM_I1 = ISTR("The MMU unit reports its FW version incompatible with the printer's firmware. Make sure the MMU firmware is up to date."); ////MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +static const char MSG_DESC_FW_RUNTIME_ERROR[] PROGMEM_I1 = ISTR("Internal runtime error. Try resetting the MMU unit or updating the firmware. If the issue persists, contact support."); ////MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +static const char MSG_DESC_UNLOAD_MANUALLY[] PROGMEM_I1 = ISTR("Unexpected FINDA reading. Ensure no filament is under FINDA and the selector is free. Check FINDA connection."); ////MSG_DESC_UNLOAD_MANUALLY c=20 r=8 + +static const char * const errorDescs[] PROGMEM = { + _R(MSG_DESC_FINDA_DIDNT_TRIGGER), + _R(MSG_DESC_FINDA_DIDNT_GO_OFF), + _R(MSG_DESC_FSENSOR_DIDNT_TRIGGER), + _R(MSG_DESC_FSENSOR_DIDNT_GO_OFF), + _R(MSG_DESC_PULLEY_STALLED), + _R(MSG_DESC_FSENSOR_TOO_EARLY), + _R(MSG_DESC_SELECTOR_CANNOT_HOME), + _R(MSG_DESC_CANNOT_MOVE), + _R(MSG_DESC_IDLER_CANNOT_HOME), + _R(MSG_DESC_CANNOT_MOVE), + _R(MSG_DESC_TMC), // descPULLEY_WARNING_TMC_TOO_HOT + _R(MSG_DESC_TMC), // descSELECTOR_WARNING_TMC_TOO_HOT + _R(MSG_DESC_TMC), // descIDLER_WARNING_TMC_TOO_HOT + _R(MSG_DESC_TMC), // descPULLEY_TMC_OVERHEAT_ERROR + _R(MSG_DESC_TMC), // descSELECTOR_TMC_OVERHEAT_ERROR + _R(MSG_DESC_TMC), // descIDLER_TMC_OVERHEAT_ERROR + _R(MSG_DESC_TMC), // descPULLEY_TMC_DRIVER_ERROR + _R(MSG_DESC_TMC), // descSELECTOR_TMC_DRIVER_ERROR + _R(MSG_DESC_TMC), // descIDLER_TMC_DRIVER_ERROR + _R(MSG_DESC_TMC), // descPULLEY_TMC_DRIVER_RESET + _R(MSG_DESC_TMC), // descSELECTOR_TMC_DRIVER_RESET + _R(MSG_DESC_TMC), // descIDLER_TMC_DRIVER_RESET + _R(MSG_DESC_TMC), // descPULLEY_TMC_UNDERVOLTAGE_ERROR + _R(MSG_DESC_TMC), // descSELECTOR_TMC_UNDERVOLTAGE_ERROR + _R(MSG_DESC_TMC), // descIDLER_TMC_UNDERVOLTAGE_ERROR + _R(MSG_DESC_TMC), // descPULLEY_TMC_DRIVER_SHORTED + _R(MSG_DESC_TMC), // descSELECTOR_TMC_DRIVER_SHORTED + _R(MSG_DESC_TMC), // descIDLER_TMC_DRIVER_SHORTED + _R(MSG_DESC_MMU_NOT_RESPONDING), + _R(MSG_DESC_COMMUNICATION_ERROR), + _R(MSG_DESC_FILAMENT_ALREADY_LOADED), + _R(MSG_DESC_INVALID_TOOL), + _R(MSG_DESC_QUEUE_FULL), + _R(MSG_DESC_FW_UPDATE_NEEDED), + _R(MSG_DESC_FW_RUNTIME_ERROR), + _R(MSG_DESC_UNLOAD_MANUALLY) +}; + +// we have max 3 buttons/operations to select from +// one of them is "More" to show the explanation text normally hidden in the next screens. +// 01234567890123456789 +// >bttxt >bttxt>MoreW +// Therefore at least some of the buttons, which can occur on the screen together, need to be 5-chars long max @@TODO. +// Beware - we only have space for 2 buttons on the LCD while the MMU has 3 buttons +// -> the left button on the MMU is not used/rendered on the LCD (it is also almost unused on the MMU side) +static const char MSG_BTN_RETRY[] PROGMEM_I1 = ISTR("Retry"); ////MSG_BTN_RETRY c=5 +static const char MSG_BTN_CONTINUE[] PROGMEM_I1 = ISTR("Done"); ////MSG_BTN_CONTINUE c=5 +static const char MSG_BTN_RESTART_MMU[] PROGMEM_I1 = ISTR("Reset MMU"); ////MSG_BTN_RESTART_MMU c=9 +static const char MSG_BTN_UNLOAD[] PROGMEM_I1 = ISTR("Unload"); ////MSG_BTN_UNLOAD c=6 +static const char MSG_BTN_STOP[] PROGMEM_I1 = ISTR("Stop"); ////MSG_BTN_STOP c=5 +static const char MSG_BTN_DISABLE_MMU[] PROGMEM_I1 = ISTR("Disable"); ////MSG_BTN_DISABLE_MMU c=9 +static const char MSG_BTN_MORE[] PROGMEM_I1 = ISTR("More\x06"); ////MSG_BTN_MORE c=5 + +// Used to parse the buttons from Btns(). +static const char * const btnOperation[] PROGMEM = { + _R(MSG_BTN_RETRY), + _R(MSG_BTN_CONTINUE), + _R(MSG_BTN_RESTART_MMU), + _R(MSG_BTN_UNLOAD), + _R(MSG_BTN_STOP), + _R(MSG_BTN_DISABLE_MMU), +}; + +// We have 8 different operations/buttons at this time, so we need at least 4 bits to encode each. +// Since one of the buttons is always "More", we can skip that one. +// Therefore we need just 1 byte to describe the necessary buttons for each screen. +uint8_t constexpr Btns(ButtonOperations bMiddle, ButtonOperations bRight){ + return ((uint8_t)bRight) << 4 | ((uint8_t)bMiddle); +} + +static const uint8_t errorButtons[] PROGMEM = { + Btns(ButtonOperations::Retry, ButtonOperations::Continue),//FINDA_DIDNT_TRIGGER + Btns(ButtonOperations::Retry, ButtonOperations::Continue),//FINDA_DIDNT_GO_OFF + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//FSENSOR_DIDNT_TRIGGER + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//FSENSOR_DIDNT_GO_OFF + + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//PULLEY_STALLED + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//FSENSOR_TOO_EARLY + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//SELECTOR_CANNOT_HOME + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//SELECTOR_CANNOT_MOVE + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//IDLER_CANNOT_HOME + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//IDLER_CANNOT_MOVE + + Btns(ButtonOperations::Continue, ButtonOperations::RestartMMU),//PULLEY_WARNING_TMC_TOO_HOT + Btns(ButtonOperations::Continue, ButtonOperations::RestartMMU),//SELECTOR_WARNING_TMC_TOO_HOT + Btns(ButtonOperations::Continue, ButtonOperations::RestartMMU),//IDLER_WARNING_TMC_TOO_HOT + + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//PULLEY_TMC_OVERHEAT_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//SELECTOR_TMC_OVERHEAT_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//IDLER_TMC_OVERHEAT_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//PULLEY_TMC_DRIVER_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//SELECTOR_TMC_DRIVER_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//IDLER_TMC_DRIVER_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//PULLEY_TMC_DRIVER_RESET + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//SELECTOR_TMC_DRIVER_RESET + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//IDLER_TMC_DRIVER_RESET + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//PULLEY_TMC_UNDERVOLTAGE_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//SELECTOR_TMC_UNDERVOLTAGE_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//IDLER_TMC_UNDERVOLTAGE_ERROR + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//PULLEY_TMC_DRIVER_SHORTED + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//SELECTOR_TMC_DRIVER_SHORTED + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//IDLER_TMC_DRIVER_SHORTED + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//MMU_NOT_RESPONDING + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//COMMUNICATION_ERROR + + Btns(ButtonOperations::Unload, ButtonOperations::Continue),//FILAMENT_ALREADY_LOADED + Btns(ButtonOperations::StopPrint, ButtonOperations::RestartMMU),//INVALID_TOOL + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//QUEUE_FULL + Btns(ButtonOperations::DisableMMU, ButtonOperations::NoOperation),//FW_UPDATE_NEEDED + Btns(ButtonOperations::RestartMMU, ButtonOperations::NoOperation),//FW_RUNTIME_ERROR + Btns(ButtonOperations::Retry, ButtonOperations::NoOperation),//UNLOAD_MANUALLY +}; + +static_assert( sizeof(errorCodes) / sizeof(errorCodes[0]) == sizeof(errorDescs) / sizeof (errorDescs[0])); +static_assert( sizeof(errorCodes) / sizeof(errorCodes[0]) == sizeof(errorTitles) / sizeof (errorTitles[0])); +static_assert( sizeof(errorCodes) / sizeof(errorCodes[0]) == sizeof(errorButtons) / sizeof (errorButtons[0])); + +} // namespace MMU2 diff --git a/Firmware/mmu2/progress_codes.h b/Firmware/mmu2/progress_codes.h new file mode 100644 index 000000000..3927e97f4 --- /dev/null +++ b/Firmware/mmu2/progress_codes.h @@ -0,0 +1,45 @@ +/// @file progress_codes.h +#pragma once +#include + +/// A complete set of progress codes which may be reported while running a high-level command/operation +/// This header file shall be included in the printer's firmware as well as a reference, +/// therefore the progress codes have been extracted to one place +enum class ProgressCode : uint_fast8_t { + OK = 0, ///< finished ok + + EngagingIdler, // P1 + DisengagingIdler, // P2 + UnloadingToFinda, // P3 + UnloadingToPulley, //P4 + FeedingToFinda, // P5 + FeedingToExtruder, // P6 + FeedingToNozzle, // P7 + AvoidingGrind, // P8 + FinishingMoves, // P9 + + ERRDisengagingIdler, // P10 + ERREngagingIdler, // P11 + ERRWaitingForUser, // P12 + ERRInternal, // P13 + ERRHelpingFilament, // P14 + ERRTMCFailed, // P15 + + UnloadingFilament, // P16 + LoadingFilament, // P17 + SelectingFilamentSlot, // P18 + PreparingBlade, // P19 + PushingFilament, // P20 + PerformingCut, // P21 + ReturningSelector, // P22 + ParkingSelector, // P23 + EjectingFilament, // P24 + RetractingFromFinda, // P25 + + Homing, // P26 + MovingSelector, // P27 + + FeedingToFSensor, // P28 + + Empty = 0xff // dummy empty state +}; diff --git a/Firmware/mmu2_crc.cpp b/Firmware/mmu2_crc.cpp new file mode 100644 index 000000000..20c68f7c5 --- /dev/null +++ b/Firmware/mmu2_crc.cpp @@ -0,0 +1,22 @@ +/// @file +#include "mmu2_crc.h" + +#ifdef __AVR__ +#include +#endif + +namespace modules { +namespace crc { + +#ifdef __AVR__ +uint8_t CRC8::CCITT_update(uint8_t crc, uint8_t b) { + return _crc8_ccitt_update(crc, b); +} +#else +uint8_t CRC8::CCITT_update(uint8_t crc, uint8_t b) { + return CCITT_updateCX(crc, b); +} +#endif + +} // namespace crc +} // namespace modules diff --git a/Firmware/mmu2_crc.h b/Firmware/mmu2_crc.h new file mode 100644 index 000000000..cc8f06dab --- /dev/null +++ b/Firmware/mmu2_crc.h @@ -0,0 +1,43 @@ +/// @file +#pragma once +#include + +namespace modules { + +/// Contains all the necessary functions for computation of CRC +namespace crc { + +class CRC8 { +public: + /// Compute/update CRC8 CCIIT from 8bits. + /// Details: https://www.nongnu.org/avr-libc/user-manual/group__util__crc.html + static uint8_t CCITT_update(uint8_t crc, uint8_t b); + + static constexpr uint8_t CCITT_updateCX(uint8_t crc, uint8_t b) { + uint8_t data = crc ^ b; + for (uint8_t i = 0; i < 8; i++) { + if ((data & 0x80U) != 0) { + data <<= 1U; + data ^= 0x07U; + } else { + data <<= 1U; + } + } + return data; + } + + /// Compute/update CRC8 CCIIT from 16bits (convenience wrapper) + static constexpr uint8_t CCITT_updateW(uint8_t crc, uint16_t w) { + union U { + uint8_t b[2]; + uint16_t w; + explicit constexpr inline U(uint16_t w) + : w(w) {} + } u(w); + return CCITT_updateCX(CCITT_updateCX(crc, u.b[0]), u.b[1]); + } +}; + +} // namespace crc + +} // namespace modules diff --git a/Firmware/mmu2_error_converter.cpp b/Firmware/mmu2_error_converter.cpp new file mode 100644 index 000000000..fd000226f --- /dev/null +++ b/Firmware/mmu2_error_converter.cpp @@ -0,0 +1,294 @@ +#include "mmu2_error_converter.h" +#include "mmu2/error_codes.h" +#include "mmu2/errors_list.h" +#include "language.h" +#include + +namespace MMU2 { + +static ButtonOperations buttonSelectedOperation = ButtonOperations::NoOperation; + +// we don't have a constexpr find_if in C++17/STL yet +template +constexpr InputIt find_if_cx(InputIt first, InputIt last, UnaryPredicate p) { + for (; first != last; ++first) { + if (p(*first)) { + return first; + } + } + return last; +} + +// Making a constexpr FindError should instruct the compiler to optimize the ConvertMMUErrorCode +// in such a way that no searching will ever be done at runtime. +// A call to FindError then compiles to a single instruction even on the AVR. +static constexpr uint8_t FindErrorIndex(uint16_t pec) { + constexpr uint16_t errorCodesSize = sizeof(errorCodes) / sizeof(errorCodes[0]); + constexpr const auto *errorCodesEnd = errorCodes + errorCodesSize; + const auto *i = find_if_cx(errorCodes, errorCodesEnd, [pec](uint16_t ed){ return ed == pec; }); + return (i != errorCodesEnd) ? (i-errorCodes) : (errorCodesSize - 1); +} + +// check that the searching algoritm works +static_assert( FindErrorIndex(ERR_MECHANICAL_FINDA_DIDNT_TRIGGER) == 0); +static_assert( FindErrorIndex(ERR_MECHANICAL_FINDA_DIDNT_GO_OFF) == 1); +static_assert( FindErrorIndex(ERR_MECHANICAL_FSENSOR_DIDNT_TRIGGER) == 2); +static_assert( FindErrorIndex(ERR_MECHANICAL_FSENSOR_DIDNT_GO_OFF) == 3); + +uint8_t PrusaErrorCodeIndex(uint16_t ec) { + switch (ec) { + case (uint16_t)ErrorCode::FINDA_DIDNT_SWITCH_ON: + return FindErrorIndex(ERR_MECHANICAL_FINDA_DIDNT_TRIGGER); + case (uint16_t)ErrorCode::FINDA_DIDNT_SWITCH_OFF: + return FindErrorIndex(ERR_MECHANICAL_FINDA_DIDNT_GO_OFF); + case (uint16_t)ErrorCode::FSENSOR_DIDNT_SWITCH_ON: + return FindErrorIndex(ERR_MECHANICAL_FSENSOR_DIDNT_TRIGGER); + case (uint16_t)ErrorCode::FSENSOR_DIDNT_SWITCH_OFF: + return FindErrorIndex(ERR_MECHANICAL_FSENSOR_DIDNT_GO_OFF); + case (uint16_t)ErrorCode::FSENSOR_TOO_EARLY: + return FindErrorIndex(ERR_MECHANICAL_FSENSOR_TOO_EARLY); + + case (uint16_t)ErrorCode::STALLED_PULLEY: + case (uint16_t)ErrorCode::MOVE_PULLEY_FAILED: + return FindErrorIndex(ERR_MECHANICAL_PULLEY_CANNOT_MOVE); + + case (uint16_t)ErrorCode::HOMING_SELECTOR_FAILED: + return FindErrorIndex(ERR_MECHANICAL_SELECTOR_CANNOT_HOME); + case (uint16_t)ErrorCode::MOVE_SELECTOR_FAILED: + return FindErrorIndex(ERR_MECHANICAL_SELECTOR_CANNOT_MOVE); + + case (uint16_t)ErrorCode::HOMING_IDLER_FAILED: + return FindErrorIndex(ERR_MECHANICAL_IDLER_CANNOT_HOME); + case (uint16_t)ErrorCode::MOVE_IDLER_FAILED: + return FindErrorIndex(ERR_MECHANICAL_IDLER_CANNOT_MOVE); + + case (uint16_t)ErrorCode::MMU_NOT_RESPONDING: + return FindErrorIndex(ERR_CONNECT_MMU_NOT_RESPONDING); + case (uint16_t)ErrorCode::PROTOCOL_ERROR: + return FindErrorIndex(ERR_CONNECT_COMMUNICATION_ERROR); + case (uint16_t)ErrorCode::FILAMENT_ALREADY_LOADED: + return FindErrorIndex(ERR_SYSTEM_FILAMENT_ALREADY_LOADED); + case (uint16_t)ErrorCode::INVALID_TOOL: + return FindErrorIndex(ERR_SYSTEM_INVALID_TOOL); + case (uint16_t)ErrorCode::QUEUE_FULL: + return FindErrorIndex(ERR_SYSTEM_QUEUE_FULL); + case (uint16_t)ErrorCode::VERSION_MISMATCH: + return FindErrorIndex(ERR_SYSTEM_FW_UPDATE_NEEDED); + case (uint16_t)ErrorCode::INTERNAL: + return FindErrorIndex(ERR_SYSTEM_FW_RUNTIME_ERROR); + case (uint16_t)ErrorCode::FINDA_VS_EEPROM_DISREPANCY: + return FindErrorIndex(ERR_SYSTEM_UNLOAD_MANUALLY); + } + + // TMC-related errors - multiple of these can occur at once + // - in such a case we report the first which gets found/converted into Prusa-Error-Codes (usually the fact, that one TMC has an issue is serious enough) + // By carefully ordering the checks here we can prioritize the errors being reported to the user. + if (ec & (uint16_t)ErrorCode::TMC_PULLEY_BIT) { + if (ec & (uint16_t)ErrorCode::TMC_IOIN_MISMATCH) + return FindErrorIndex(ERR_ELECTRICAL_PULLEY_TMC_DRIVER_ERROR); + if (ec & (uint16_t)ErrorCode::TMC_RESET) + return FindErrorIndex(ERR_ELECTRICAL_PULLEY_TMC_DRIVER_RESET); + if (ec & (uint16_t)ErrorCode::TMC_UNDERVOLTAGE_ON_CHARGE_PUMP) + return FindErrorIndex(ERR_ELECTRICAL_PULLEY_TMC_UNDERVOLTAGE_ERROR); + if (ec & (uint16_t)ErrorCode::TMC_SHORT_TO_GROUND) + return FindErrorIndex(ERR_ELECTRICAL_PULLEY_TMC_DRIVER_SHORTED); + if (ec & (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_WARN) + return FindErrorIndex(ERR_TEMPERATURE_PULLEY_WARNING_TMC_TOO_HOT); + if (ec & (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_ERROR) + return FindErrorIndex(ERR_TEMPERATURE_PULLEY_TMC_OVERHEAT_ERROR); + } else if (ec & (uint16_t)ErrorCode::TMC_SELECTOR_BIT) { + if (ec & (uint16_t)ErrorCode::TMC_IOIN_MISMATCH) + return FindErrorIndex(ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_ERROR); + if (ec & (uint16_t)ErrorCode::TMC_RESET) + return FindErrorIndex(ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_RESET); + if (ec & (uint16_t)ErrorCode::TMC_UNDERVOLTAGE_ON_CHARGE_PUMP) + return FindErrorIndex(ERR_ELECTRICAL_SELECTOR_TMC_UNDERVOLTAGE_ERROR); + if (ec & (uint16_t)ErrorCode::TMC_SHORT_TO_GROUND) + return FindErrorIndex(ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_SHORTED); + if (ec & (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_WARN) + return FindErrorIndex(ERR_TEMPERATURE_SELECTOR_WARNING_TMC_TOO_HOT); + if (ec & (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_ERROR) + return FindErrorIndex(ERR_TEMPERATURE_SELECTOR_TMC_OVERHEAT_ERROR); + } else if (ec & (uint16_t)ErrorCode::TMC_IDLER_BIT) { + if (ec & (uint16_t)ErrorCode::TMC_IOIN_MISMATCH) + return FindErrorIndex(ERR_ELECTRICAL_IDLER_TMC_DRIVER_ERROR); + if (ec & (uint16_t)ErrorCode::TMC_RESET) + return FindErrorIndex(ERR_ELECTRICAL_IDLER_TMC_DRIVER_RESET); + if (ec & (uint16_t)ErrorCode::TMC_UNDERVOLTAGE_ON_CHARGE_PUMP) + return FindErrorIndex(ERR_ELECTRICAL_IDLER_TMC_UNDERVOLTAGE_ERROR); + if (ec & (uint16_t)ErrorCode::TMC_SHORT_TO_GROUND) + return FindErrorIndex(ERR_ELECTRICAL_IDLER_TMC_DRIVER_SHORTED); + if (ec & (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_WARN) + return FindErrorIndex(ERR_TEMPERATURE_IDLER_WARNING_TMC_TOO_HOT); + if (ec & (uint16_t)ErrorCode::TMC_OVER_TEMPERATURE_ERROR) + return FindErrorIndex(ERR_TEMPERATURE_IDLER_TMC_OVERHEAT_ERROR); + } + + // if nothing got caught, return a generic runtime error + return FindErrorIndex(ERR_SYSTEM_FW_RUNTIME_ERROR); +} + +uint16_t PrusaErrorCode(uint8_t i){ + return pgm_read_word(errorCodes + i); +} + +const char * const PrusaErrorTitle(uint8_t i){ + return (const char * const)pgm_read_ptr(errorTitles + i); +} + +const char * const PrusaErrorDesc(uint8_t i){ + return (const char * const)pgm_read_ptr(errorDescs + i); +} + +uint8_t PrusaErrorButtons(uint8_t i){ + return pgm_read_byte(errorButtons + i); +} + +const char * const PrusaErrorButtonTitle(uint8_t bi){ + // -1 represents the hidden NoOperation button which is not drawn in any way + return (const char * const)pgm_read_ptr(btnOperation + bi - 1); +} + +const char * const PrusaErrorButtonMore(){ + return _R(MSG_BTN_MORE); +} + +struct ResetOnExit { + ResetOnExit() = default; + ~ResetOnExit(){ + buttonSelectedOperation = ButtonOperations::NoOperation; + } +}; + +Buttons ButtonPressed(uint16_t ec) { + if (buttonSelectedOperation == ButtonOperations::NoOperation) { + return NoButton; // no button + } + + ResetOnExit ros; // clear buttonSelectedOperation on exit from this call + return ButtonAvailable(ec); +} + +Buttons ButtonAvailable(uint16_t ec) { + uint8_t ei = PrusaErrorCodeIndex(ec); + + // The list of responses which occur in mmu error dialogs + // Return button index or perform some action on the MK3 by itself (like restart MMU) + // Based on Prusa-Error-Codes errors_list.h + // So far hardcoded, but shall be generated in the future + switch ( PrusaErrorCode(ei) ) { + case ERR_MECHANICAL_FINDA_DIDNT_TRIGGER: + case ERR_MECHANICAL_FINDA_DIDNT_GO_OFF: + switch (buttonSelectedOperation) { + case ButtonOperations::Retry: // "Repeat action" + return Middle; + case ButtonOperations::Continue: // "Continue" + return Right; + default: + break; + } + break; + case ERR_MECHANICAL_FSENSOR_DIDNT_TRIGGER: + case ERR_MECHANICAL_FSENSOR_DIDNT_GO_OFF: + case ERR_MECHANICAL_FSENSOR_TOO_EARLY: + case ERR_MECHANICAL_SELECTOR_CANNOT_HOME: + case ERR_MECHANICAL_SELECTOR_CANNOT_MOVE: + case ERR_MECHANICAL_IDLER_CANNOT_HOME: + case ERR_MECHANICAL_IDLER_CANNOT_MOVE: + case ERR_MECHANICAL_PULLEY_CANNOT_MOVE: + case ERR_SYSTEM_UNLOAD_MANUALLY: + switch (buttonSelectedOperation) { + // may be allow move selector right and left in the future + case ButtonOperations::Retry: // "Repeat action" + return Middle; + default: + break; + } + break; + + case ERR_TEMPERATURE_PULLEY_WARNING_TMC_TOO_HOT: + case ERR_TEMPERATURE_SELECTOR_WARNING_TMC_TOO_HOT: + case ERR_TEMPERATURE_IDLER_WARNING_TMC_TOO_HOT: + switch (buttonSelectedOperation) { + case ButtonOperations::Continue: // "Continue" + return Left; + case ButtonOperations::RestartMMU: // "Restart MMU" + return RestartMMU; + default: + break; + } + break; + + case ERR_TEMPERATURE_PULLEY_TMC_OVERHEAT_ERROR: + case ERR_TEMPERATURE_SELECTOR_TMC_OVERHEAT_ERROR: + case ERR_TEMPERATURE_IDLER_TMC_OVERHEAT_ERROR: + + case ERR_ELECTRICAL_PULLEY_TMC_DRIVER_ERROR: + case ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_ERROR: + case ERR_ELECTRICAL_IDLER_TMC_DRIVER_ERROR: + + case ERR_ELECTRICAL_PULLEY_TMC_DRIVER_RESET: + case ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_RESET: + case ERR_ELECTRICAL_IDLER_TMC_DRIVER_RESET: + + case ERR_ELECTRICAL_PULLEY_TMC_UNDERVOLTAGE_ERROR: + case ERR_ELECTRICAL_SELECTOR_TMC_UNDERVOLTAGE_ERROR: + case ERR_ELECTRICAL_IDLER_TMC_UNDERVOLTAGE_ERROR: + + case ERR_ELECTRICAL_PULLEY_TMC_DRIVER_SHORTED: + case ERR_ELECTRICAL_SELECTOR_TMC_DRIVER_SHORTED: + case ERR_ELECTRICAL_IDLER_TMC_DRIVER_SHORTED: + + case ERR_CONNECT_MMU_NOT_RESPONDING: + case ERR_CONNECT_COMMUNICATION_ERROR: + + case ERR_SYSTEM_QUEUE_FULL: + case ERR_SYSTEM_FW_RUNTIME_ERROR: + switch (buttonSelectedOperation) { + case ButtonOperations::RestartMMU: // "Restart MMU" + return RestartMMU; + default: + break; + } + break; + case ERR_SYSTEM_FW_UPDATE_NEEDED: + switch (buttonSelectedOperation) { + case ButtonOperations::DisableMMU: // "Disable" + return DisableMMU; + default: + break; + } + break; + case ERR_SYSTEM_FILAMENT_ALREADY_LOADED: + switch (buttonSelectedOperation) { + case ButtonOperations::Unload: // "Unload" + return Left; + case ButtonOperations::Continue: // "Proceed/Continue" + return Right; + default: + break; + } + break; + + case ERR_SYSTEM_INVALID_TOOL: + switch (buttonSelectedOperation) { + case ButtonOperations::StopPrint: // "Stop print" + return StopPrint; + case ButtonOperations::RestartMMU: // "Restart MMU" + return RestartMMU; + default: + break; + } + break; + default: + break; + } + + return NoButton; +} + +void SetButtonResponse(ButtonOperations rsp){ + buttonSelectedOperation = rsp; +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_error_converter.h b/Firmware/mmu2_error_converter.h new file mode 100644 index 000000000..597cc35a5 --- /dev/null +++ b/Firmware/mmu2_error_converter.h @@ -0,0 +1,48 @@ +#pragma once +#include +#include +#include "mmu2/buttons.h" + +namespace MMU2 { + +/// Translates MMU2::ErrorCode into an index of Prusa-Error-Codes +/// Basically this is the way to obtain an index into all other functions in this API +uint8_t PrusaErrorCodeIndex(uint16_t ec); + +/// @returns pointer to a PROGMEM string representing the Title of the Prusa-Error-Codes error +/// @param i index of the error - obtained by calling ErrorCodeIndex +const char * const PrusaErrorTitle(uint8_t i); + +/// @returns pointer to a PROGMEM string representing the multi-page Description of the Prusa-Error-Codes error +/// @param i index of the error - obtained by calling ErrorCodeIndex +const char * const PrusaErrorDesc(uint8_t i); + +/// @returns the actual numerical value of the Prusa-Error-Codes error +/// @param i index of the error - obtained by calling ErrorCodeIndex +uint16_t PrusaErrorCode(uint8_t i); + +/// @returns Btns pair of buttons for a particular Prusa-Error-Codes error +/// @param i index of the error - obtained by calling ErrorCodeIndex +uint8_t PrusaErrorButtons(uint8_t i); + +/// @returns pointer to a PROGMEM string representing the Title of a button +/// @param i index of the error - obtained by calling PrusaErrorButtons + extracting low or high nibble from the Btns pair +const char * const PrusaErrorButtonTitle(uint8_t bi); + +/// @returns pointer to a PROGMEM string representing the "More" button +const char * const PrusaErrorButtonMore(); + +/// Sets the selected button for later pick-up by the MMU state machine. +/// Used to save the GUI selection/decoupling +void SetButtonResponse(ButtonOperations rsp); + +/// @returns button index/code based on currently processed error/screen +/// Clears the "pressed" button upon exit +Buttons ButtonPressed(uint16_t ec); + +/// @returns button index/code based on currently processed error/screen +/// Used as a subfunction of ButtonPressed. +/// Does not clear the "pressed" button upon exit +Buttons ButtonAvailable(uint16_t ec); + +} // namespace MMU2 diff --git a/Firmware/mmu2_fsensor.cpp b/Firmware/mmu2_fsensor.cpp new file mode 100644 index 000000000..eee1b68bd --- /dev/null +++ b/Firmware/mmu2_fsensor.cpp @@ -0,0 +1,10 @@ +#include "mmu2_fsensor.h" +#include "Filament_sensor.h" + +namespace MMU2 { + +FilamentState WhereIsFilament(){ + return fsensor.getFilamentPresent() ? FilamentState::AT_FSENSOR : FilamentState::NOT_PRESENT; +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_fsensor.h b/Firmware/mmu2_fsensor.h new file mode 100644 index 000000000..5135aedf1 --- /dev/null +++ b/Firmware/mmu2_fsensor.h @@ -0,0 +1,17 @@ +#pragma once +#include +#include "Filament_sensor.h" + +namespace MMU2 { + +/// Possible states of filament from the perspective of presence in various parts of the printer +/// Beware, the numeric codes are important and sent into the MMU +enum class FilamentState : uint_fast8_t { + NOT_PRESENT = 0, ///< filament sensor doesn't see the filament + AT_FSENSOR = 1, ///< filament detected by the filament sensor, but the nozzle has not detected the filament yet + IN_NOZZLE = 2 ///< filament detected by the filament sensor and also loaded in the nozzle +}; + +FilamentState WhereIsFilament(); + +} // namespace MMU2 diff --git a/Firmware/mmu2_log.cpp b/Firmware/mmu2_log.cpp new file mode 100644 index 000000000..288317b02 --- /dev/null +++ b/Firmware/mmu2_log.cpp @@ -0,0 +1,17 @@ +#include "mmu2_log.h" + +namespace MMU2 { + +void LogErrorEvent_P(const char *msg){ + SERIAL_ERROR_START; + SERIAL_MMU2(); + SERIAL_ECHOLNRPGM(msg); +} + +void LogEchoEvent_P(const char *msg){ + SERIAL_ECHO_START; + SERIAL_MMU2(); + SERIAL_ECHOLNRPGM(msg); +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_log.h b/Firmware/mmu2_log.h new file mode 100644 index 000000000..c4ad0bb67 --- /dev/null +++ b/Firmware/mmu2_log.h @@ -0,0 +1,39 @@ +#pragma once + +#ifndef UNITTEST +#include "Marlin.h" + +// Beware - before changing this prefix, think twice +// you'd need to change appmain.cpp app_marlin_serial_output_write_hook +// and MMU2::ReportError + MMU2::ReportProgress +static constexpr char mmu2Magic[] PROGMEM = "MMU2:"; + +namespace MMU2 { + +/// Report the msg into the general logging subsystem (through Marlin's SERIAL_ECHO stuff) +/// @param msg pointer to a string in PROGMEM +void LogErrorEvent_P(const char *msg); + +/// Report the msg into the general logging subsystem (through Marlin's SERIAL_ECHO stuff) +/// @param msg pointer to a string in PROGMEM +void LogEchoEvent_P(const char *msg); + +} // namespace + +#define SERIAL_MMU2() { serialprintPGM(mmu2Magic); } + +#define MMU2_ECHO_MSG(S) do{ SERIAL_ECHO_START; SERIAL_MMU2(); SERIAL_ECHO(S); }while(0) +#define MMU2_ERROR_MSG(S) do{ SERIAL_ERROR_START; SERIAL_MMU2(); SERIAL_ECHO(S); }while(0) +#define MMU2_ECHO_MSGRPGM(S) do{ SERIAL_ECHO_START; SERIAL_MMU2(); SERIAL_ECHORPGM(S); }while(0) +#define MMU2_ERROR_MSGRPGM(S) do{ SERIAL_ERROR_START; SERIAL_MMU2(); SERIAL_ECHORPGM(S); }while(0) + +#else // #ifndef UNITTEST + +#define MMU2_ECHO_MSG(S) /* */ +#define MMU2_ERROR_MSG(S) /* */ +#define SERIAL_ECHO(S) /* */ +#define SERIAL_ECHOLN(S) /* */ +#define MMU2_ECHO_MSGRPGM(S) /* */ +#define MMU2_ERROR_MSGRPGM(S) /* */ + +#endif // #ifndef UNITTEST diff --git a/Firmware/mmu2_power.cpp b/Firmware/mmu2_power.cpp new file mode 100644 index 000000000..a0359f016 --- /dev/null +++ b/Firmware/mmu2_power.cpp @@ -0,0 +1,34 @@ +#include "mmu2_power.h" +#include "Configuration_prusa.h" +#include "pins.h" +#include "fastio.h" +#include +#include "mmu2.h" +#include "eeprom.h" + +namespace MMU2 { + +// sadly, on MK3 we cannot do actual power cycle on HW... +// so we just block the MMU via EEPROM var instead. +void power_on() +{ + eeprom_update_byte((uint8_t *)EEPROM_MMU_ENABLED, true); +} + +void power_off() +{ + eeprom_update_byte((uint8_t *)EEPROM_MMU_ENABLED, false); +} + +void reset() { +#ifdef MMU_HWRESET // HW - pulse reset pin + WRITE(MMU_RST_PIN, 0); + _delay_us(100); + WRITE(MMU_RST_PIN, 1); +#else + mmu2.Reset(MMU2::Software); // @@TODO needs to be redesigned, this power implementation shall not know anything about the MMU itself +#endif + // otherwise HW reset is not available +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_power.h b/Firmware/mmu2_power.h new file mode 100644 index 000000000..d4ee1b129 --- /dev/null +++ b/Firmware/mmu2_power.h @@ -0,0 +1,11 @@ +#pragma once + +namespace MMU2 { + +void power_on(); + +void power_off(); + +void reset(); + +} // namespace MMU2 diff --git a/Firmware/mmu2_progress_converter.cpp b/Firmware/mmu2_progress_converter.cpp new file mode 100644 index 000000000..b7d3fcf34 --- /dev/null +++ b/Firmware/mmu2_progress_converter.cpp @@ -0,0 +1,72 @@ +#include "mmu2_progress_converter.h" +#include "language.h" +#include "mmu2/progress_codes.h" +#include + +namespace MMU2 { + //01234567890123456789 +static const char MSG_PROGRESS_OK[] PROGMEM_I1 = ISTR("OK"); ////MSG_PROGRESS_OK c=4 +static const char MSG_PROGRESS_ENGAGE_IDLER[] PROGMEM_I1 = ISTR("Engaging idler"); ////MSG_PROGRESS_ENGAGE_IDLER c=20 +static const char MSG_PROGRESS_DISENGAGE_IDLER[] PROGMEM_I1 = ISTR("Disengaging idler"); ////MSG_PROGRESS_DISENGAGE_IDLER c=20 +static const char MSG_PROGRESS_UNLOAD_FINDA[] PROGMEM_I1 = ISTR("Unloading to FINDA"); ////MSG_PROGRESS_UNLOAD_FINDA c=20 +static const char MSG_PROGRESS_UNLOAD_PULLEY[] PROGMEM_I1 = ISTR("Unloading to pulley"); ////MSG_PROGRESS_UNLOAD_PULLEY c=20 +static const char MSG_PROGRESS_FEED_FINDA[] PROGMEM_I1 = ISTR("Feeding to FINDA"); ////MSG_PROGRESS_FEED_FINDA c=20 +static const char MSG_PROGRESS_FEED_EXTRUDER[] PROGMEM_I1 = ISTR("Feeding to extruder"); ////MSG_PROGRESS_FEED_EXTRUDER c=20 +static const char MSG_PROGRESS_FEED_NOZZLE[] PROGMEM_I1 = ISTR("Feeding to nozzle"); ////MSG_PROGRESS_FEED_NOZZLE c=20 +static const char MSG_PROGRESS_AVOID_GRIND[] PROGMEM_I1 = ISTR("Avoiding grind"); ////MSG_PROGRESS_AVOID_GRIND c=20 +static const char MSG_PROGRESS_WAIT_USER[] PROGMEM_I1 = ISTR("ERR Wait for User"); ////MSG_PROGRESS_WAIT_USER c=20 +static const char MSG_PROGRESS_ERR_INTERNAL[] PROGMEM_I1 = ISTR("ERR Internal"); ////MSG_PROGRESS_ERR_INTERNAL c=20 +static const char MSG_PROGRESS_ERR_HELP_FIL[] PROGMEM_I1 = ISTR("ERR Help filament"); ////MSG_PROGRESS_ERR_HELP_FIL c=20 +static const char MSG_PROGRESS_ERR_TMC[] PROGMEM_I1 = ISTR("ERR TMC failed"); ////MSG_PROGRESS_ERR_TMC c=20 +static const char MSG_PROGRESS_SELECT_SLOT[] PROGMEM_I1 = ISTR("Selecting fil. slot"); ////MSG_PROGRESS_SELECT_SLOT c=20 +static const char MSG_PROGRESS_PREPARE_BLADE[] PROGMEM_I1 = ISTR("Preparing blade"); ////MSG_PROGRESS_PREPARE_BLADE c=20 +static const char MSG_PROGRESS_PUSH_FILAMENT[] PROGMEM_I1 = ISTR("Pushing filament"); ////MSG_PROGRESS_PUSH_FILAMENT c=20 +static const char MSG_PROGRESS_PERFORM_CUT[] PROGMEM_I1 = ISTR("Performing cut"); ////MSG_PROGRESS_PERFORM_CUT c=20 +static const char MSG_PROGRESS_RETURN_SELECTOR[] PROGMEM_I1 = ISTR("Returning selector"); ////MSG_PROGRESS_RETURN_SELECTOR c=20 +static const char MSG_PROGRESS_PARK_SELECTOR[] PROGMEM_I1 = ISTR("Parking selector"); ////MSG_PROGRESS_PARK_SELECTOR c=20 +static const char MSG_PROGRESS_EJECT_FILAMENT[] PROGMEM_I1 = ISTR("Ejecting filament"); ////MSG_PROGRESS_EJECT_FILAMENT c=20 //@@todo duplicate +static const char MSG_PROGRESS_RETRACT_FINDA[] PROGMEM_I1 = ISTR("Retract from FINDA"); ////MSG_PROGRESS_RETRACT_FINDA c=20 +static const char MSG_PROGRESS_HOMING[] PROGMEM_I1 = ISTR("Homing"); ////MSG_PROGRESS_HOMING c=20 +static const char MSG_PROGRESS_MOVING_SELECTOR[] PROGMEM_I1 = ISTR("Moving selector"); ////MSG_PROGRESS_MOVING_SELECTOR c=20 +static const char MSG_PROGRESS_FEED_FSENSOR[] PROGMEM_I1 = ISTR("Feeding to FSensor"); ////MSG_PROGRESS_FEED_FSENSOR c=20 + +static const char * const progressTexts[] PROGMEM = { + _R(MSG_PROGRESS_OK), + _R(MSG_PROGRESS_ENGAGE_IDLER), + _R(MSG_PROGRESS_DISENGAGE_IDLER), + _R(MSG_PROGRESS_UNLOAD_FINDA), + _R(MSG_PROGRESS_UNLOAD_PULLEY), + _R(MSG_PROGRESS_FEED_FINDA), + _R(MSG_PROGRESS_FEED_EXTRUDER), + _R(MSG_PROGRESS_FEED_NOZZLE), + _R(MSG_PROGRESS_AVOID_GRIND), + _R(MSG_FINISHING_MOVEMENTS), //reuse from messages.cpp + _R(MSG_PROGRESS_DISENGAGE_IDLER), // err disengaging idler is the same text + _R(MSG_PROGRESS_ENGAGE_IDLER), // engage dtto. + _R(MSG_PROGRESS_WAIT_USER), + _R(MSG_PROGRESS_ERR_INTERNAL), + _R(MSG_PROGRESS_ERR_HELP_FIL), + _R(MSG_PROGRESS_ERR_TMC), + _R(MSG_UNLOADING_FILAMENT), //reuse from messages.cpp + _R(MSG_LOADING_FILAMENT), //reuse from messages.cpp + _R(MSG_PROGRESS_SELECT_SLOT), + _R(MSG_PROGRESS_PREPARE_BLADE), + _R(MSG_PROGRESS_PUSH_FILAMENT), + _R(MSG_PROGRESS_PERFORM_CUT), + _R(MSG_PROGRESS_RETURN_SELECTOR), + _R(MSG_PROGRESS_PARK_SELECTOR), + _R(MSG_PROGRESS_EJECT_FILAMENT), + _R(MSG_PROGRESS_RETRACT_FINDA), + _R(MSG_PROGRESS_HOMING), + _R(MSG_PROGRESS_MOVING_SELECTOR), + _R(MSG_PROGRESS_FEED_FSENSOR) +}; + +const char * const ProgressCodeToText(uint16_t pc){ + // @@TODO ?? a better fallback option? + return ( pc <= (sizeof(progressTexts) / sizeof(progressTexts[0])) ) + ? static_cast(pgm_read_ptr(&progressTexts[pc])) + : static_cast(pgm_read_ptr(&progressTexts[0])); +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_progress_converter.h b/Firmware/mmu2_progress_converter.h new file mode 100644 index 000000000..72dcc031b --- /dev/null +++ b/Firmware/mmu2_progress_converter.h @@ -0,0 +1,9 @@ +#pragma once +#include +#include + +namespace MMU2 { + +const char * const ProgressCodeToText(uint16_t pc); + +} diff --git a/Firmware/mmu2_protocol.cpp b/Firmware/mmu2_protocol.cpp new file mode 100644 index 000000000..16fe69f4a --- /dev/null +++ b/Firmware/mmu2_protocol.cpp @@ -0,0 +1,366 @@ +/// @file +#include "mmu2_protocol.h" + +// protocol definition +// command: Q0 +// meaning: query operation status +// Query/command: query +// Expected reply from the MMU: +// any of the running operation statuses: OID: [T|L|U|E|C|W|K][0-4] +// P[0-9] : command being processed i.e. operation running, may contain a state number +// E[0-9][0-9] : error 1-9 while doing a tool change +// F[0-9] : operation finished - will be repeated to "Q" messages until a new command is issued + +namespace modules { +namespace protocol { + +// decoding automaton +// states: input -> transition into state +// Code QTLMUXPSBEWK -> msgcode +// \n ->start +// * ->error +// error \n ->start +// * ->error +// msgcode 0-9 ->msgvalue +// * ->error +// msgvalue 0-9 ->msgvalue +// \n ->start successfully accepted command + +DecodeStatus Protocol::DecodeRequest(uint8_t c) { + switch (rqState) { + case RequestStates::Code: + switch (c) { + case 'Q': + case 'T': + case 'L': + case 'M': + case 'U': + case 'X': + case 'P': + case 'S': + case 'B': + case 'E': + case 'W': // write is gonna be a special one + case 'K': + case 'F': + case 'f': + case 'H': + case 'R': + requestMsg.code = (RequestMsgCodes)c; + requestMsg.value = 0; + requestMsg.value2 = 0; + requestMsg.crc8 = 0; + rqState = (c == 'W') ? RequestStates::Address : RequestStates::Value; // prepare special automaton path for Write commands + return DecodeStatus::NeedMoreData; + default: + requestMsg.code = RequestMsgCodes::unknown; + rqState = RequestStates::Error; + return DecodeStatus::Error; + } + case RequestStates::Value: + if (IsHexDigit(c)) { + requestMsg.value <<= 4U; + requestMsg.value |= Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (IsCRCSeparator(c)) { + rqState = RequestStates::CRC; + return DecodeStatus::NeedMoreData; + } else { + requestMsg.code = RequestMsgCodes::unknown; + rqState = RequestStates::Error; + return DecodeStatus::Error; + } + case RequestStates::Address: + if (IsHexDigit(c)) { + requestMsg.value <<= 4U; + requestMsg.value |= Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (c == ' ') { // end of address, value coming + rqState = RequestStates::WriteValue; + return DecodeStatus::NeedMoreData; + } else { + requestMsg.code = RequestMsgCodes::unknown; + rqState = RequestStates::Error; + return DecodeStatus::Error; + } + case RequestStates::WriteValue: + if (IsHexDigit(c)) { + requestMsg.value2 <<= 4U; + requestMsg.value2 |= Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (IsCRCSeparator(c)) { + rqState = RequestStates::CRC; + return DecodeStatus::NeedMoreData; + } else { + requestMsg.code = RequestMsgCodes::unknown; + rqState = RequestStates::Error; + return DecodeStatus::Error; + } + case RequestStates::CRC: + if (IsHexDigit(c)) { + requestMsg.crc8 <<= 4U; + requestMsg.crc8 |= Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (IsNewLine(c)) { + // check CRC at this spot + if (requestMsg.crc8 != requestMsg.ComputeCRC8()) { + // CRC mismatch + requestMsg.code = RequestMsgCodes::unknown; + rqState = RequestStates::Error; + return DecodeStatus::Error; + } else { + rqState = RequestStates::Code; + return DecodeStatus::MessageCompleted; + } + } + default: //case error: + if (IsNewLine(c)) { + rqState = RequestStates::Code; + return DecodeStatus::MessageCompleted; + } else { + requestMsg.code = RequestMsgCodes::unknown; + rqState = RequestStates::Error; + return DecodeStatus::Error; + } + } +} + +uint8_t Protocol::EncodeRequest(const RequestMsg &msg, uint8_t *txbuff) { + txbuff[0] = (uint8_t)msg.code; + uint8_t i = 1 + UInt8ToHex(msg.value, txbuff + 1); + + i += AppendCRC(msg.CRC(), txbuff + i); + + txbuff[i] = '\n'; + ++i; + return i; + static_assert(7 <= MaxRequestSize(), "Request message length exceeded the maximum size, increase the magic constant in MaxRequestSize()"); +} + +uint8_t Protocol::EncodeWriteRequest(uint8_t address, uint16_t value, uint8_t *txbuff) { + const RequestMsg msg(RequestMsgCodes::Write, address, value); + uint8_t i = BeginEncodeRequest(msg, txbuff); + // dump the value + i += UInt16ToHex(value, txbuff + i); + + i += AppendCRC(msg.CRC(), txbuff + i); + + txbuff[i] = '\n'; + ++i; + return i; +} + +DecodeStatus Protocol::DecodeResponse(uint8_t c) { + switch (rspState) { + case ResponseStates::RequestCode: + switch (c) { + case 'Q': + case 'T': + case 'L': + case 'M': + case 'U': + case 'X': + case 'P': + case 'S': + case 'B': + case 'E': + case 'W': + case 'K': + case 'F': + case 'f': + case 'H': + case 'R': + responseMsg.request.code = (RequestMsgCodes)c; + responseMsg.request.value = 0; + responseMsg.request.value2 = 0; + responseMsg.request.crc8 = 0; + rspState = ResponseStates::RequestValue; + return DecodeStatus::NeedMoreData; + case 0x0a: + case 0x0d: + // skip leading whitespace if any (makes integration with other SW easier/tolerant) + return DecodeStatus::NeedMoreData; + default: + rspState = ResponseStates::Error; + return DecodeStatus::Error; + } + case ResponseStates::RequestValue: + if (IsHexDigit(c)) { + responseMsg.request.value <<= 4U; + responseMsg.request.value += Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (c == ' ') { + rspState = ResponseStates::ParamCode; + return DecodeStatus::NeedMoreData; + } else { + rspState = ResponseStates::Error; + return DecodeStatus::Error; + } + case ResponseStates::ParamCode: + switch (c) { + case 'P': + case 'E': + case 'F': + case 'A': + case 'R': + case 'B': + rspState = ResponseStates::ParamValue; + responseMsg.paramCode = (ResponseMsgParamCodes)c; + responseMsg.paramValue = 0; + return DecodeStatus::NeedMoreData; + default: + responseMsg.paramCode = ResponseMsgParamCodes::unknown; + rspState = ResponseStates::Error; + return DecodeStatus::Error; + } + case ResponseStates::ParamValue: + if (IsHexDigit(c)) { + responseMsg.paramValue <<= 4U; + responseMsg.paramValue += Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (IsCRCSeparator(c)) { + rspState = ResponseStates::CRC; + return DecodeStatus::NeedMoreData; + } else { + responseMsg.paramCode = ResponseMsgParamCodes::unknown; + rspState = ResponseStates::Error; + return DecodeStatus::Error; + } + case ResponseStates::CRC: + if (IsHexDigit(c)) { + responseMsg.request.crc8 <<= 4U; + responseMsg.request.crc8 += Char2Nibble(c); + return DecodeStatus::NeedMoreData; + } else if (IsNewLine(c)) { + // check CRC at this spot + if (responseMsg.request.crc8 != responseMsg.ComputeCRC8()) { + // CRC mismatch + responseMsg.paramCode = ResponseMsgParamCodes::unknown; + rspState = ResponseStates::Error; + return DecodeStatus::Error; + } else { + rspState = ResponseStates::RequestCode; + return DecodeStatus::MessageCompleted; + } + } else { + responseMsg.paramCode = ResponseMsgParamCodes::unknown; + rspState = ResponseStates::Error; + return DecodeStatus::Error; + } + default: //case error: + if (IsNewLine(c)) { + rspState = ResponseStates::RequestCode; + return DecodeStatus::MessageCompleted; + } else { + responseMsg.paramCode = ResponseMsgParamCodes::unknown; + return DecodeStatus::Error; + } + } +} + +uint8_t Protocol::EncodeResponseCmdAR(const RequestMsg &msg, ResponseMsgParamCodes ar, uint8_t *txbuff) { + // BEWARE: + // ResponseMsg rsp(RequestMsg(msg.code, msg.value), ar, 0); + // ... is NOT the same as: + // ResponseMsg rsp(msg, ar, 0); + // ... because of the usually unused parameter value2 (which only comes non-zero in write requests). + // It took me a few hours to find out why the CRC from the MMU never matched all the other sides (unit tests and the MK3S) + // It is because this was the only place where the original request kept its value2 non-zero. + // In the response, we must make sure value2 is actually zero unless being sent along with it (which is not right now) + const ResponseMsg rsp(RequestMsg(msg.code, msg.value), ar, 0); // this needs some cleanup @@TODO - check assembly how bad is it + uint8_t i = BeginEncodeRequest(rsp.request, txbuff); + txbuff[i] = (uint8_t)ar; + ++i; + i += AppendCRC(rsp.CRC(), txbuff + i); + txbuff[i] = '\n'; + ++i; + return i; +} + +uint8_t Protocol::EncodeResponseReadFINDA(const RequestMsg &msg, uint8_t findaValue, uint8_t *txbuff) { + return EncodeResponseRead(msg, true, findaValue, txbuff); +} + +uint8_t Protocol::EncodeResponseQueryOperation(const RequestMsg &msg, ResponseCommandStatus rcs, uint8_t *txbuff) { + const ResponseMsg rsp(msg, rcs.code, rcs.value); + uint8_t i = BeginEncodeRequest(msg, txbuff); + txbuff[i] = (uint8_t)rsp.paramCode; + ++i; + i += UInt16ToHex(rsp.paramValue, txbuff + i); + i += AppendCRC(rsp.CRC(), txbuff + i); + txbuff[i] = '\n'; + return i + 1; +} + +uint8_t Protocol::EncodeResponseRead(const RequestMsg &msg, bool accepted, uint16_t value2, uint8_t *txbuff) { + const ResponseMsg rsp(msg, + accepted ? ResponseMsgParamCodes::Accepted : ResponseMsgParamCodes::Rejected, + accepted ? value2 : 0 // be careful about this value for CRC computation - rejected status doesn't have any meaningful value which could be reconstructed from the textual form of the message + ); + uint8_t i = BeginEncodeRequest(msg, txbuff); + txbuff[i] = (uint8_t)rsp.paramCode; + ++i; + if (accepted) { + // dump the value + i += UInt16ToHex(value2, txbuff + i); + } + i += AppendCRC(rsp.CRC(), txbuff + i); + txbuff[i] = '\n'; + return i + 1; +} + +uint8_t Protocol::UInt8ToHex(uint8_t value, uint8_t *dst) { + if (value == 0) { + *dst = '0'; + return 1; + } + + uint8_t v = value >> 4U; + uint8_t charsOut = 1; + if (v != 0) { // skip the first '0' if any + *dst = Nibble2Char(v); + ++dst; + charsOut = 2; + } + v = value & 0xfU; + *dst = Nibble2Char(v); + return charsOut; +} + +uint8_t Protocol::UInt16ToHex(uint16_t value, uint8_t *dst) { + constexpr uint16_t topNibbleMask = 0xf000; + if (value == 0) { + *dst = '0'; + return 1; + } + // skip initial zeros + uint8_t charsOut = 4; + while ((value & topNibbleMask) == 0) { + value <<= 4U; + --charsOut; + } + for (uint8_t i = 0; i < charsOut; ++i) { + uint8_t n = (value & topNibbleMask) >> (8U + 4U); + value <<= 4U; + *dst = Nibble2Char(n); + ++dst; + } + return charsOut; +} + +uint8_t Protocol::BeginEncodeRequest(const RequestMsg &msg, uint8_t *dst) { + dst[0] = (uint8_t)msg.code; + + uint8_t i = 1 + UInt8ToHex(msg.value, dst + 1); + + dst[i] = ' '; + return i + 1; +} + +uint8_t Protocol::AppendCRC(uint8_t crc, uint8_t *dst) { + dst[0] = '*'; // reprap-style separator of CRC + return 1 + UInt8ToHex(crc, dst + 1); +} + +} // namespace protocol +} // namespace modules diff --git a/Firmware/mmu2_protocol.h b/Firmware/mmu2_protocol.h new file mode 100644 index 000000000..65f7e8ab0 --- /dev/null +++ b/Firmware/mmu2_protocol.h @@ -0,0 +1,324 @@ +/// @file protocol.h +#pragma once +#include +#include "mmu2_crc.h" + +namespace modules { + +/// @brief The MMU communication protocol implementation and related stuff. +/// +/// See description of the new protocol in the MMU 2021 doc +namespace protocol { + +/// Definition of request message codes +enum class RequestMsgCodes : uint8_t { + unknown = 0, + Query = 'Q', + Tool = 'T', + Load = 'L', + Mode = 'M', + Unload = 'U', + Reset = 'X', + Finda = 'P', + Version = 'S', + Button = 'B', + Eject = 'E', + Write = 'W', + Cut = 'K', + FilamentType = 'F', + FilamentSensor = 'f', + Home = 'H', + Read = 'R' +}; + +/// Definition of response message parameter codes +enum class ResponseMsgParamCodes : uint8_t { + unknown = 0, + Processing = 'P', + Error = 'E', + Finished = 'F', + Accepted = 'A', + Rejected = 'R', + Button = 'B' // the MMU registered a button press and is sending it to the printer for processing +}; + +/// A request message - requests are being sent by the printer into the MMU. +struct RequestMsg { + RequestMsgCodes code; ///< code of the request message + uint8_t value; ///< value of the request message or address of variable to read/write + uint16_t value2; ///< in case or write messages - value to be written into the register + + /// CRC8 check - please note we abuse this byte for CRC of ResponseMsgs as well. + /// The crc8 byte itself is not added into the CRC computation (obviously ;) ) + /// Beware - adding any members of this data structure may need changing the way CRC is being computed! + uint8_t crc8; + + constexpr uint8_t ComputeCRC8() const { + uint8_t crc = 0; + crc = modules::crc::CRC8::CCITT_updateCX(0, (uint8_t)code); + crc = modules::crc::CRC8::CCITT_updateCX(crc, value); + crc = modules::crc::CRC8::CCITT_updateW(crc, value2); + return crc; + } + + /// @param code of the request message + /// @param value of the request message + inline constexpr RequestMsg(RequestMsgCodes code, uint8_t value) + : code(code) + , value(value) + , value2(0) + , crc8(ComputeCRC8()) { + } + + /// Intended for write requests + /// @param code of the request message ('W') + /// @param address of the register + /// @param value to write into the register + inline constexpr RequestMsg(RequestMsgCodes code, uint8_t address, uint16_t value) + : code(code) + , value(address) + , value2(value) + , crc8(ComputeCRC8()) { + } + + constexpr uint8_t CRC() const { return crc8; } +}; + +/// A response message - responses are being sent from the MMU into the printer as a response to a request message. +struct ResponseMsg { + RequestMsg request; ///< response is always preceeded by the request message + ResponseMsgParamCodes paramCode; ///< code of the parameter + uint16_t paramValue; ///< value of the parameter + + constexpr uint8_t ComputeCRC8() const { + uint8_t crc = request.ComputeCRC8(); + crc = modules::crc::CRC8::CCITT_updateCX(crc, (uint8_t)paramCode); + crc = modules::crc::CRC8::CCITT_updateW(crc, paramValue); + return crc; + } + + /// @param request the source request message this response is a reply to + /// @param paramCode code of the parameter + /// @param paramValue value of the parameter + inline constexpr ResponseMsg(RequestMsg request, ResponseMsgParamCodes paramCode, uint16_t paramValue) + : request(request) + , paramCode(paramCode) + , paramValue(paramValue) { + this->request.crc8 = ComputeCRC8(); + } + + constexpr uint8_t CRC() const { return request.crc8; } +}; + +/// Combined commandStatus and its value into one data structure (optimization purposes) +struct ResponseCommandStatus { + ResponseMsgParamCodes code; + uint16_t value; + inline constexpr ResponseCommandStatus(ResponseMsgParamCodes code, uint16_t value) + : code(code) + , value(value) {} +}; + +/// Message decoding return values +enum class DecodeStatus : uint_fast8_t { + MessageCompleted, ///< message completed and successfully lexed + NeedMoreData, ///< message incomplete yet, waiting for another byte to come + Error, ///< input character broke message decoding +}; + +/// Protocol class is responsible for creating/decoding messages in Rx/Tx buffer +/// +/// Beware - in the decoding more, it is meant to be a statefull instance which works through public methods +/// processing one input byte per call. +class Protocol { +public: + inline Protocol() + : rqState(RequestStates::Code) + , requestMsg(RequestMsgCodes::unknown, 0) + , rspState(ResponseStates::RequestCode) + , responseMsg(RequestMsg(RequestMsgCodes::unknown, 0), ResponseMsgParamCodes::unknown, 0) { + } + + /// Takes the input byte c and steps one step through the state machine + /// @returns state of the message being decoded + DecodeStatus DecodeRequest(uint8_t c); + + /// Decodes response message in rxbuff + /// @returns decoded response message structure + DecodeStatus DecodeResponse(uint8_t c); + + /// Encodes request message msg into txbuff memory + /// It is expected the txbuff is large enough to fit the message + /// @returns number of bytes written into txbuff + static uint8_t EncodeRequest(const RequestMsg &msg, uint8_t *txbuff); + + /// Encodes Write request message msg into txbuff memory + /// It is expected the txbuff is large enough to fit the message + /// @returns number of bytes written into txbuff + static uint8_t EncodeWriteRequest(uint8_t address, uint16_t value, uint8_t *txbuff); + + /// @returns the maximum byte length necessary to encode a request message + /// Beneficial in case of pre-allocating a buffer for enconding a RequestMsg. + static constexpr uint8_t MaxRequestSize() { return 13; } + + /// @returns the maximum byte length necessary to encode a response message + /// Beneficial in case of pre-allocating a buffer for enconding a ResponseMsg. + static constexpr uint8_t MaxResponseSize() { return 14; } + + /// Encode generic response Command Accepted or Rejected + /// @param msg source request message for this response + /// @param ar code of response parameter + /// @param txbuff where to format the message + /// @returns number of bytes written into txbuff + static uint8_t EncodeResponseCmdAR(const RequestMsg &msg, ResponseMsgParamCodes ar, uint8_t *txbuff); + + /// Encode response to Read FINDA query + /// @param msg source request message for this response + /// @param findaValue 1/0 (on/off) status of FINDA + /// @param txbuff where to format the message + /// @returns number of bytes written into txbuff + static uint8_t EncodeResponseReadFINDA(const RequestMsg &msg, uint8_t findaValue, uint8_t *txbuff); + + + + + + + + + /// Encode response to Query operation status + /// @param msg source request message for this response + /// @param code status of operation (Processing, Error, Finished) + /// @param value related to status of operation(e.g. error code or progress) + /// @param txbuff where to format the message + /// @returns number of bytes written into txbuff + static uint8_t EncodeResponseQueryOperation(const RequestMsg &msg, ResponseCommandStatus rcs, uint8_t *txbuff); + + /// Encode response to Read query + /// @param msg source request message for this response + /// @param accepted true if the read query was accepted + /// @param value2 variable value + /// @param txbuff where to format the message + /// @returns number of bytes written into txbuff + static uint8_t EncodeResponseRead(const RequestMsg &msg, bool accepted, uint16_t value2, uint8_t *txbuff); + + /// @returns the most recently lexed request message + inline const RequestMsg GetRequestMsg() const { return requestMsg; } + + /// @returns the most recently lexed response message + inline const ResponseMsg GetResponseMsg() const { return responseMsg; } + + /// resets the internal request decoding state (typically after an error) + void ResetRequestDecoder() { + rqState = RequestStates::Code; + } + + /// resets the internal response decoding state (typically after an error) + void ResetResponseDecoder() { + rspState = ResponseStates::RequestCode; + } + +#ifndef UNITTEST +private: +#endif + enum class RequestStates : uint8_t { + Code, ///< starting state - expects message code + Value, ///< expecting code value + Address, ///< expecting address for Write command + WriteValue, ///< value to be written (Write command) + CRC, ///< CRC + Error ///< automaton in error state + }; + + RequestStates rqState; + RequestMsg requestMsg; + + enum class ResponseStates : uint8_t { + RequestCode, ///< starting state - expects message code + RequestValue, ///< expecting code value + ParamCode, ///< expecting param code + ParamValue, ///< expecting param value + CRC, ///< expecting CRC value + Error ///< automaton in error state + }; + + ResponseStates rspState; + ResponseMsg responseMsg; + + static constexpr bool IsNewLine(uint8_t c) { + return c == '\n' || c == '\r'; + } + static constexpr bool IsDigit(uint8_t c) { + return c >= '0' && c <= '9'; + } + static constexpr bool IsCRCSeparator(uint8_t c) { + return c == '*'; + } + static constexpr bool IsHexDigit(uint8_t c) { + return (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f'); + } + static constexpr uint8_t Char2Nibble(uint8_t c) { + switch (c) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return c - '0'; + case 'a': + case 'b': + case 'c': + case 'd': + case 'e': + case 'f': + return c - 'a' + 10; + default: + return 0; + } + } + + static constexpr uint8_t Nibble2Char(uint8_t n) { + switch (n) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + return n + '0'; + case 0xa: + case 0xb: + case 0xc: + case 0xd: + case 0xe: + case 0xf: + return n - 10 + 'a'; + default: + return 0; + } + } + + /// @returns number of characters written + static uint8_t UInt8ToHex(uint8_t value, uint8_t *dst); + + /// @returns number of characters written + static uint8_t UInt16ToHex(uint16_t value, uint8_t *dst); + + static uint8_t BeginEncodeRequest(const RequestMsg &msg, uint8_t *dst); + + static uint8_t AppendCRC(uint8_t crc, uint8_t *dst); +}; + +} // namespace protocol +} // namespace modules + +namespace mp = modules::protocol; diff --git a/Firmware/mmu2_protocol_logic.cpp b/Firmware/mmu2_protocol_logic.cpp new file mode 100644 index 000000000..ce1cecebc --- /dev/null +++ b/Firmware/mmu2_protocol_logic.cpp @@ -0,0 +1,756 @@ +#include "mmu2_protocol_logic.h" +#include "mmu2_log.h" +#include "mmu2_fsensor.h" +#include "system_timer.h" +#include + +namespace MMU2 { + +static const uint8_t supportedMmuFWVersion[3] PROGMEM = { 2, 1, 3 }; + +void ProtocolLogic::CheckAndReportAsyncEvents() { + // even when waiting for a query period, we need to report a change in filament sensor's state + // - it is vital for a precise synchronization of moves of the printer and the MMU + uint8_t fs = (uint8_t)WhereIsFilament(); + if (fs != lastFSensor) { + SendAndUpdateFilamentSensor(); + } +} + +void ProtocolLogic::SendQuery() { + SendMsg(RequestMsg(RequestMsgCodes::Query, 0)); + scopeState = ScopeState::QuerySent; +} + +void ProtocolLogic::SendFINDAQuery() { + SendMsg(RequestMsg(RequestMsgCodes::Finda, 0)); + scopeState = ScopeState::FINDAReqSent; +} + +void ProtocolLogic::SendAndUpdateFilamentSensor() { + SendMsg(RequestMsg(RequestMsgCodes::FilamentSensor, lastFSensor = (uint8_t)WhereIsFilament())); + scopeState = ScopeState::FilamentSensorStateSent; +} + +void ProtocolLogic::SendButton(uint8_t btn) { + SendMsg(RequestMsg(RequestMsgCodes::Button, btn)); + scopeState = ScopeState::ButtonSent; +} + +void ProtocolLogic::SendVersion(uint8_t stage) { + SendMsg(RequestMsg(RequestMsgCodes::Version, stage)); + scopeState = (ScopeState)((uint_fast8_t)ScopeState::S0Sent + stage); +} + +void ProtocolLogic::SendReadRegister(uint8_t index, ScopeState nextState) { + SendMsg(RequestMsg(RequestMsgCodes::Read, index)); + scopeState = nextState; +} + +void ProtocolLogic::SendWriteRegister(uint8_t index, uint16_t value, ScopeState nextState){ + SendWriteMsg(RequestMsg(RequestMsgCodes::Write, index, value)); + scopeState = nextState; +} + +// searches for "ok\n" in the incoming serial data (that's the usual response of the old MMU FW) +struct OldMMUFWDetector { + uint8_t ok; + inline constexpr OldMMUFWDetector():ok(0) { } + + enum class State : uint8_t { MatchingPart, SomethingElse, Matched }; + + /// @returns true when "ok\n" gets detected + State Detect(uint8_t c){ + // consume old MMU FW's data if any -> avoid confusion of protocol decoder + if(ok == 0 && c == 'o'){ + ++ok; + return State::MatchingPart; + } else if(ok == 1 && c == 'k'){ + ++ok; + return State::MatchingPart; + } else if(ok == 2 && c == '\n'){ + return State::Matched; + } + return State::SomethingElse; + } +}; + +StepStatus ProtocolLogic::ExpectingMessage() { + int bytesConsumed = 0; + int c = -1; + + OldMMUFWDetector oldMMUh4x0r; // old MMU FW hacker ;) + + // try to consume as many rx bytes as possible (until a message has been completed) + while ((c = uart->read()) >= 0) { + ++bytesConsumed; + RecordReceivedByte(c); + switch (protocol.DecodeResponse(c)) { + case DecodeStatus::MessageCompleted: + rsp = protocol.GetResponseMsg(); + LogResponse(); + RecordUARTActivity(); // something has happened on the UART, update the timeout record + return MessageReady; + case DecodeStatus::NeedMoreData: + break; + case DecodeStatus::Error:{ + // consume old MMU FW's data if any -> avoid confusion of protocol decoder + auto old = oldMMUh4x0r.Detect(c); + if( old == OldMMUFWDetector::State::Matched ){ + // hack bad FW version - BEWARE - we silently assume that the first query is an "S0" + // The old MMU FW responds with "ok\n" and we fake the response to a bad FW version at this spot + rsp = ResponseMsg(RequestMsg(RequestMsgCodes::Version, 0), ResponseMsgParamCodes::Accepted, 0); + return MessageReady; + } else if( old == OldMMUFWDetector::State::MatchingPart ){ + break; + } + } + [[fallthrough]]; // otherwise + default: + RecordUARTActivity(); // something has happened on the UART, update the timeout record + return ProtocolError; + } + } + if (bytesConsumed != 0) { + RecordUARTActivity(); // something has happened on the UART, update the timeout record + return Processing; // consumed some bytes, but message still not ready + } else if (Elapsed(linkLayerTimeout)) { + return CommunicationTimeout; + } + return Processing; +} + +void ProtocolLogic::SendMsg(RequestMsg rq) { + uint8_t txbuff[Protocol::MaxRequestSize()]; + uint8_t len = Protocol::EncodeRequest(rq, txbuff); + uart->write(txbuff, len); + LogRequestMsg(txbuff, len); + RecordUARTActivity(); +} + +void ProtocolLogic::SendWriteMsg(RequestMsg rq){ + uint8_t txbuff[Protocol::MaxRequestSize()]; + uint8_t len = Protocol::EncodeWriteRequest(rq.value, rq.value2, txbuff); + uart->write(txbuff, len); + LogRequestMsg(txbuff, len); + RecordUARTActivity(); +} + +void ProtocolLogic::StartSeqRestart() { + retries = maxRetries; + SendVersion(0); +} + +void ProtocolLogic::DelayedRestartRestart() { + scopeState = ScopeState::RecoveringProtocolError; +} + +void ProtocolLogic::CommandRestart() { + scopeState = ScopeState::CommandSent; + SendMsg(rq); +} + +void ProtocolLogic::IdleRestart() { + scopeState = ScopeState::Ready; +} + +StepStatus ProtocolLogic::ProcessVersionResponse(uint8_t stage) { + if (rsp.request.code != RequestMsgCodes::Version || rsp.request.value != stage) { + // got a response to something else - protocol corruption probably, repeat the query OR restart the comm by issuing S0? + SendVersion(stage); + } else { + mmuFwVersion[stage] = rsp.paramValue; + if (mmuFwVersion[stage] != pgm_read_byte(supportedMmuFWVersion + stage)) { + if (--retries == 0) { + return VersionMismatch; + } else { + SendVersion(stage); + } + } else { + dataTO.Reset(); // got a meaningful response from the MMU, stop data layer timeout tracking + SendVersion(stage + 1); + } + } + return Processing; +} + +StepStatus ProtocolLogic::ScopeStep() { + if ( ! ExpectsResponse() ) { + // we are waiting for something + switch (currentScope) { + case Scope::DelayedRestart: + return DelayedRestartWait(); + case Scope::Idle: + return IdleWait(); + case Scope::Command: + return CommandWait(); + case Scope::Stopped: + return StoppedStep(); + default: + break; + } + } else { + // we are expecting a message + if (auto expmsg = ExpectingMessage(); expmsg != MessageReady) // this whole statement takes 12B + return expmsg; + + // process message + switch (currentScope) { + case Scope::StartSeq: + return StartSeqStep(); // ~270B + case Scope::Idle: + return IdleStep(); // ~300B + case Scope::Command: + return CommandStep(); // ~430B + case Scope::Stopped: + return StoppedStep(); + default: + break; + } + } + return Finished; +} + +StepStatus ProtocolLogic::StartSeqStep() { + // solve initial handshake + switch (scopeState) { + case ScopeState::S0Sent: // received response to S0 - major + case ScopeState::S1Sent: // received response to S1 - minor + case ScopeState::S2Sent: // received response to S2 - minor + return ProcessVersionResponse((uint8_t)scopeState - (uint8_t)ScopeState::S0Sent); + case ScopeState::S3Sent: // received response to S3 - revision + if (rsp.request.code != RequestMsgCodes::Version || rsp.request.value != 3) { + // got a response to something else - protocol corruption probably, repeat the query OR restart the comm by issuing S0? + SendVersion(3); + } else { + mmuFwVersionBuild = rsp.paramValue; // just register the build number + // Start General Interrogation after line up. + // For now we just send the state of the filament sensor, but we may request + // data point states from the MMU as well. TBD in the future, especially with another protocol + SendAndUpdateFilamentSensor(); + } + return Processing; + case ScopeState::FilamentSensorStateSent: + SwitchFromStartToIdle(); + return Processing; // Returning Finished is not a good idea in case of a fast error recovery + // - it tells the printer, that the command which experienced a protocol error and recovered successfully actually terminated. + // In such a case we must return "Processing" in order to keep the MMU state machine running and prevent the printer from executing next G-codes. + break; + default: + return VersionMismatch; + } + return Finished; +} + +StepStatus ProtocolLogic::DelayedRestartWait() { + if (Elapsed(heartBeatPeriod)) { // this basically means, that we are waiting until there is some traffic on + while (uart->read() != -1) + ; // clear the input buffer + // switch to StartSeq + Start(); + } + return Processing; +} + +StepStatus ProtocolLogic::CommandWait() { + if (Elapsed(heartBeatPeriod)) { + SendQuery(); + } else { + // even when waiting for a query period, we need to report a change in filament sensor's state + // - it is vital for a precise synchronization of moves of the printer and the MMU + CheckAndReportAsyncEvents(); + } + return Processing; +} + +StepStatus ProtocolLogic::ProcessCommandQueryResponse() { + switch (rsp.paramCode) { + case ResponseMsgParamCodes::Processing: + progressCode = static_cast(rsp.paramValue); + errorCode = ErrorCode::OK; + SendAndUpdateFilamentSensor(); // keep on reporting the state of fsensor regularly + return Processing; + case ResponseMsgParamCodes::Error: + // in case of an error the progress code remains as it has been before + errorCode = static_cast(rsp.paramValue); + // keep on reporting the state of fsensor regularly even in command error state + // - the MMU checks FINDA and fsensor even while recovering from errors + SendAndUpdateFilamentSensor(); + return CommandError; + case ResponseMsgParamCodes::Button: + // The user pushed a button on the MMU. Save it, do what we need to do + // to prepare, then pass it back to the MMU so it can work its magic. + buttonCode = static_cast(rsp.paramValue); + SendAndUpdateFilamentSensor(); + return ButtonPushed; + case ResponseMsgParamCodes::Finished: + progressCode = ProgressCode::OK; + scopeState = ScopeState::Ready; + return Finished; + default: + return ProtocolError; + } +} + +StepStatus ProtocolLogic::CommandStep() { + switch (scopeState) { + case ScopeState::CommandSent: { + switch (rsp.paramCode) { // the response should be either accepted or rejected + case ResponseMsgParamCodes::Accepted: + progressCode = ProgressCode::OK; + errorCode = ErrorCode::RUNNING; + scopeState = ScopeState::Wait; + break; + case ResponseMsgParamCodes::Rejected: + // rejected - should normally not happen, but report the error up + progressCode = ProgressCode::OK; + errorCode = ErrorCode::PROTOCOL_ERROR; + return CommandRejected; + default: + return ProtocolError; + } + } break; + case ScopeState::QuerySent: + return ProcessCommandQueryResponse(); + case ScopeState::FilamentSensorStateSent: + SendFINDAQuery(); + return Processing; + case ScopeState::FINDAReqSent: + findaPressed = rsp.paramValue; + SendReadRegister(4, ScopeState::StatisticsSent); + return Processing; + case ScopeState::StatisticsSent: + scopeState = ScopeState::Wait; + return Processing; + case ScopeState::ButtonSent: + if (rsp.paramCode == ResponseMsgParamCodes::Accepted) { + // Button was accepted, decrement the retry. + mmu2.DecrementRetryAttempts(); + } + SendAndUpdateFilamentSensor(); + break; + default: + return ProtocolError; + } + return Processing; +} + +StepStatus ProtocolLogic::IdleWait() { + if (scopeState == ScopeState::Ready) { // check timeout + if (Elapsed(heartBeatPeriod)) { + SendQuery(); + return Processing; + } + } + return Finished; +} + +StepStatus ProtocolLogic::IdleStep() { + switch (scopeState) { + case ScopeState::QuerySent: // check UART + // If we are accidentally in Idle and we receive something like "T0 P1" - that means the communication dropped out while a command was in progress. + // That causes no issues here, we just need to switch to Command processing and continue there from now on. + // The usual response in this case should be some command and "F" - finished - that confirms we are in an Idle state even on the MMU side. + switch (rsp.request.code) { + case RequestMsgCodes::Cut: + case RequestMsgCodes::Eject: + case RequestMsgCodes::Load: + case RequestMsgCodes::Mode: + case RequestMsgCodes::Tool: + case RequestMsgCodes::Unload: + if (rsp.paramCode != ResponseMsgParamCodes::Finished) { + return SwitchFromIdleToCommand(); + } + break; + case RequestMsgCodes::Reset: + // this one is kind of special + // we do not transfer to any "running" command (i.e. we stay in Idle), + // but in case there is an error reported we must make sure it gets propagated + switch (rsp.paramCode) { + case ResponseMsgParamCodes::Button: + // The user pushed a button on the MMU. Save it, do what we need to do + // to prepare, then pass it back to the MMU so it can work its magic. + buttonCode = static_cast(rsp.paramValue); + SendFINDAQuery(); + return ButtonPushed; + case ResponseMsgParamCodes::Processing: + // @@TODO we may actually use this branch to report progress of manual operation on the MMU + // The MMU sends e.g. X0 P27 after its restart when the user presses an MMU button to move the Selector + // For now let's behave just like "finished" + case ResponseMsgParamCodes::Finished: + errorCode = ErrorCode::OK; + break; + default: + errorCode = static_cast(rsp.paramValue); + SendFINDAQuery(); // continue Idle state without restarting the communication + return CommandError; + } + break; + default: + return ProtocolError; + } + SendFINDAQuery(); + return Processing; + case ScopeState::FINDAReqSent: + findaPressed = rsp.paramValue; + SendReadRegister(4, ScopeState::StatisticsSent); + return Processing; + case ScopeState::StatisticsSent: + failStatistics = rsp.paramValue; + scopeState = ScopeState::Ready; + return Finished; + case ScopeState::ButtonSent: + if (rsp.paramCode == ResponseMsgParamCodes::Accepted) { + // Button was accepted, decrement the retry. + mmu2.DecrementRetryAttempts(); + } + SendFINDAQuery(); + return Processing; + case ScopeState::ReadRegisterSent: + if (rsp.paramCode == ResponseMsgParamCodes::Accepted) { + // @@TODO just dump the value onto the serial + } + return Finished; + case ScopeState::WriteRegisterSent: + if (rsp.paramCode == ResponseMsgParamCodes::Accepted) { + // @@TODO do something? Retry if not accepted? + } + return Finished; + default: + return ProtocolError; + } + + // The "return Finished" in this state machine requires a bit of explanation: + // The Idle state either did nothing (still waiting for the heartbeat timeout) + // or just successfully received the answer to Q0, whatever that was. + // In both cases, it is ready to hand over work to a command or something else, + // therefore we are returning Finished (also to exit mmu_loop() and unblock Marlin's loop!). + // If there is no work, we'll end up in the Idle state again + // and we'll send the heartbeat message after the specified timeout. + return Finished; +} + +ProtocolLogic::ProtocolLogic(MMU2Serial *uart) + : currentScope(Scope::Stopped) + , scopeState(ScopeState::Ready) + , plannedRq(RequestMsgCodes::unknown, 0) + , lastUARTActivityMs(0) + , dataTO() + , rsp(RequestMsg(RequestMsgCodes::unknown, 0), ResponseMsgParamCodes::unknown, 0) + , state(State::Stopped) + , lrb(0) + , uart(uart) + , errorCode(ErrorCode::OK) + , progressCode(ProgressCode::OK) + , buttonCode(NoButton) + , lastFSensor((uint8_t)WhereIsFilament()) + , findaPressed(false) + , failStatistics(0) + , mmuFwVersion { 0, 0, 0 } +{} + +void ProtocolLogic::Start() { + state = State::InitSequence; + currentScope = Scope::StartSeq; + protocol.ResetResponseDecoder(); // important - finished delayed restart relies on this + StartSeqRestart(); +} + +void ProtocolLogic::Stop() { + state = State::Stopped; + currentScope = Scope::Stopped; +} + +void ProtocolLogic::ToolChange(uint8_t slot) { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Tool, slot)); +} + +void ProtocolLogic::Statistics() { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Version, 3)); +} + +void ProtocolLogic::UnloadFilament() { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Unload, 0)); +} + +void ProtocolLogic::LoadFilament(uint8_t slot) { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Load, slot)); +} + +void ProtocolLogic::EjectFilament(uint8_t slot) { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Eject, slot)); +} + +void ProtocolLogic::CutFilament(uint8_t slot) { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Cut, slot)); +} + +void ProtocolLogic::ResetMMU() { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Reset, 0)); +} + +void ProtocolLogic::Button(uint8_t index) { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Button, index)); +} + +void ProtocolLogic::Home(uint8_t mode) { + PlanGenericRequest(RequestMsg(RequestMsgCodes::Home, mode)); +} + +void ProtocolLogic::ReadRegister(uint8_t address){ + PlanGenericRequest(RequestMsg(RequestMsgCodes::Read, address)); +} + +void ProtocolLogic::WriteRegister(uint8_t address, uint16_t data){ + PlanGenericRequest(RequestMsg(RequestMsgCodes::Write, address, data)); +} + +void ProtocolLogic::PlanGenericRequest(RequestMsg rq) { + plannedRq = rq; + if (!ExpectsResponse()) { + ActivatePlannedRequest(); + } // otherwise wait for an empty window to activate the request +} + +bool ProtocolLogic::ActivatePlannedRequest() { + switch(plannedRq.code){ + case RequestMsgCodes::Button: + // only issue the button to the MMU and do not restart the state machines + SendButton(plannedRq.value); + plannedRq = RequestMsg(RequestMsgCodes::unknown, 0); + return true; + case RequestMsgCodes::Read: + SendReadRegister(plannedRq.value, ScopeState::ReadRegisterSent ); + plannedRq = RequestMsg(RequestMsgCodes::unknown, 0); + return true; + case RequestMsgCodes::Write: + SendWriteRegister(plannedRq.value, plannedRq.value2, ScopeState::WriteRegisterSent ); + plannedRq = RequestMsg(RequestMsgCodes::unknown, 0); + return true; + case RequestMsgCodes::unknown: + return false; + default:// commands + currentScope = Scope::Command; + SetRequestMsg(plannedRq); + plannedRq = RequestMsg(RequestMsgCodes::unknown, 0); + CommandRestart(); + return true; + } +} + +StepStatus ProtocolLogic::SwitchFromIdleToCommand() { + currentScope = Scope::Command; + SetRequestMsg(rsp.request); + // we are recovering from a communication drop out, the command is already running + // and we have just received a response to a Q0 message about a command progress + return ProcessCommandQueryResponse(); +} + +void ProtocolLogic::SwitchToIdle() { + state = State::Running; + currentScope = Scope::Idle; + IdleRestart(); +} + +void ProtocolLogic::SwitchFromStartToIdle() { + state = State::Running; + currentScope = Scope::Idle; + IdleRestart(); + SendQuery(); // force sending Q0 immediately +} + +bool ProtocolLogic::Elapsed(uint32_t timeout) const { + return _millis() >= (lastUARTActivityMs + timeout); +} + +void ProtocolLogic::RecordUARTActivity() { + lastUARTActivityMs = _millis(); +} + +void ProtocolLogic::RecordReceivedByte(uint8_t c) { + lastReceivedBytes[lrb] = c; + lrb = (lrb + 1) % lastReceivedBytes.size(); +} + +constexpr char NibbleToChar(uint8_t c) { + switch (c) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + return c + '0'; + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + return (c - 10) + 'a'; + default: + return 0; + } +} + +void ProtocolLogic::FormatLastReceivedBytes(char *dst) { + for (uint8_t i = 0; i < lastReceivedBytes.size(); ++i) { + uint8_t b = lastReceivedBytes[(lrb - i - 1) % lastReceivedBytes.size()]; + dst[i * 3] = NibbleToChar(b >> 4); + dst[i * 3 + 1] = NibbleToChar(b & 0xf); + dst[i * 3 + 2] = ' '; + } + dst[(lastReceivedBytes.size() - 1) * 3 + 2] = 0; // terminate properly +} + +void ProtocolLogic::FormatLastResponseMsgAndClearLRB(char *dst) { + *dst++ = '<'; + for (uint8_t i = 0; i < lrb; ++i) { + uint8_t b = lastReceivedBytes[i]; + if (b < 32) + b = '.'; + if (b > 127) + b = '.'; + *dst++ = b; + } + *dst = 0; // terminate properly + lrb = 0; // reset the input buffer index in case of a clean message +} + +void ProtocolLogic::LogRequestMsg(const uint8_t *txbuff, uint8_t size) { + constexpr uint_fast8_t rqs = modules::protocol::Protocol::MaxRequestSize() + 2; + char tmp[rqs] = ">"; + static char lastMsg[rqs] = ""; + for (uint8_t i = 0; i < size; ++i) { + uint8_t b = txbuff[i]; + if (b < 32) + b = '.'; + if (b > 127) + b = '.'; + tmp[i + 1] = b; + } + tmp[size + 1] = '\n'; + tmp[size + 2] = 0; + if (!strncmp_P(tmp, PSTR(">S0*99.\n"), rqs) && !strncmp(lastMsg, tmp, rqs)) { + // @@TODO we skip the repeated request msgs for now + // to avoid spoiling the whole log just with ">S0" messages + // especially when the MMU is not connected. + // We'll lose the ability to see if the printer is actually + // trying to find the MMU, but since it has been reliable in the past + // we can live without it for now. + } else { + MMU2_ECHO_MSG(tmp); + } + memcpy(lastMsg, tmp, rqs); +} + +void ProtocolLogic::LogError(const char *reason_P) { + char lrb[lastReceivedBytes.size() * 3]; + FormatLastReceivedBytes(lrb); + + MMU2_ERROR_MSGRPGM(reason_P); + SERIAL_ECHOPGM(", last bytes: "); + SERIAL_ECHOLN(lrb); +} + +void ProtocolLogic::LogResponse() { + char lrb[lastReceivedBytes.size()]; + FormatLastResponseMsgAndClearLRB(lrb); + MMU2_ECHO_MSG(lrb); + SERIAL_ECHOLN(); +} + +StepStatus ProtocolLogic::SuppressShortDropOuts(const char *msg_P, StepStatus ss) { + if (dataTO.Record(ss)) { + LogError(msg_P); + return dataTO.InitialCause(); + } else { + return Processing; // suppress short drop outs of communication + } +} + +StepStatus ProtocolLogic::HandleCommunicationTimeout() { + uart->flush(); // clear the output buffer + protocol.ResetResponseDecoder(); + Start(); + return SuppressShortDropOuts(PSTR("Communication timeout"), CommunicationTimeout); +} + +StepStatus ProtocolLogic::HandleProtocolError() { + uart->flush(); // clear the output buffer + state = State::InitSequence; + currentScope = Scope::DelayedRestart; + DelayedRestartRestart(); + return SuppressShortDropOuts(PSTR("Protocol Error"), ProtocolError); +} + +StepStatus ProtocolLogic::Step() { + if (!ExpectsResponse()) { // if not waiting for a response, activate a planned request immediately + ActivatePlannedRequest(); + } + auto currentStatus = ScopeStep(); + switch (currentStatus) { + case Processing: + // we are ok, the state machine continues correctly + break; + case Finished: { + // We are ok, switching to Idle if there is no potential next request planned. + // But the trouble is we must report a finished command if the previous command has just been finished + // i.e. only try to find some planned command if we just finished the Idle cycle + bool previousCommandFinished = currentScope == Scope::Command; // @@TODO this is a nasty hack :( + if (!ActivatePlannedRequest()) { // if nothing is planned, switch to Idle + SwitchToIdle(); + } else { + // if the previous cycle was Idle and now we have planned a new command -> avoid returning Finished + if (!previousCommandFinished && currentScope == Scope::Command) { + currentStatus = Processing; + } + } + } break; + case CommandRejected: + // we have to repeat it - that's the only thing we can do + // no change in state + // @@TODO wait until Q0 returns command in progress finished, then we can send this one + LogError(PSTR("Command rejected")); + CommandRestart(); + break; + case CommandError: + LogError(PSTR("Command Error")); + // we shall probably transfer into the Idle state and await further instructions from the upper layer + // Idle state may solve the problem of keeping up the heart beat running + break; + case VersionMismatch: + LogError(PSTR("Version mismatch")); + Stop(); // cannot continue + break; + case ProtocolError: + currentStatus = HandleProtocolError(); + break; + case CommunicationTimeout: + currentStatus = HandleCommunicationTimeout(); + break; + default: + break; + } + return currentStatus; +} + +uint8_t ProtocolLogic::CommandInProgress() const { + if (currentScope != Scope::Command) + return 0; + return (uint8_t)ReqMsg().code; +} + +bool DropOutFilter::Record(StepStatus ss) { + if (occurrences == maxOccurrences) { + cause = ss; + } + --occurrences; + return occurrences == 0; +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_protocol_logic.h b/Firmware/mmu2_protocol_logic.h new file mode 100644 index 000000000..ea1372406 --- /dev/null +++ b/Firmware/mmu2_protocol_logic.h @@ -0,0 +1,309 @@ +#pragma once +#include +// #include //@@TODO Don't we have STL for AVR somewhere? +template +class array { + T data[N]; +public: + array() = default; + inline constexpr T* begin()const { return data; } + inline constexpr T* end()const { return data + N; } + constexpr uint8_t size()const { return N; } + inline T &operator[](uint8_t i){ + return data[i]; + } +}; + +#include "mmu2/error_codes.h" +#include "mmu2/progress_codes.h" +#include "mmu2/buttons.h" +#include "mmu2_protocol.h" + +#include "mmu2_serial.h" + +/// New MMU2 protocol logic +namespace MMU2 { + +using namespace modules::protocol; + +class ProtocolLogic; + +/// ProtocolLogic stepping statuses +enum StepStatus : uint_fast8_t { + Processing = 0, + MessageReady, ///< a message has been successfully decoded from the received bytes + Finished, + CommunicationTimeout, ///< the MMU failed to respond to a request within a specified time frame + ProtocolError, ///< bytes read from the MMU didn't form a valid response + CommandRejected, ///< the MMU rejected the command due to some other command in progress, may be the user is operating the MMU locally (button commands) + CommandError, ///< the command in progress stopped due to unrecoverable error, user interaction required + VersionMismatch, ///< the MMU reports its firmware version incompatible with our implementation + CommunicationRecovered, + ButtonPushed, ///< The MMU reported the user pushed one of its three buttons. +}; + +static constexpr uint32_t linkLayerTimeout = 2000; ///< default link layer communication timeout +static constexpr uint32_t dataLayerTimeout = linkLayerTimeout * 3; ///< data layer communication timeout +static constexpr uint32_t heartBeatPeriod = linkLayerTimeout / 2; ///< period of heart beat messages (Q0) + +static_assert(heartBeatPeriod < linkLayerTimeout && linkLayerTimeout < dataLayerTimeout, "Incorrect ordering of timeouts"); + +///< Filter of short consecutive drop outs which are recovered instantly +class DropOutFilter { + StepStatus cause; + uint8_t occurrences; +public: + static constexpr uint8_t maxOccurrences = 10; // ideally set this to >8 seconds -> 12x heartBeatPeriod + static_assert(maxOccurrences > 1, "we should really silently ignore at least 1 comm drop out if recovered immediately afterwards"); + DropOutFilter() = default; + + /// @returns true if the error should be reported to higher levels (max. number of consecutive occurrences reached) + bool Record(StepStatus ss); + + /// @returns the initial cause which started this drop out event + inline StepStatus InitialCause() const { return cause; } + + /// Rearms the object for further processing - basically call this once the MMU responds with something meaningful (e.g. S0 A2) + inline void Reset() { occurrences = maxOccurrences; } +}; + +/// Logic layer of the MMU vs. printer communication protocol +class ProtocolLogic { +public: + ProtocolLogic(MMU2Serial *uart); + + /// Start/Enable communication with the MMU + void Start(); + + /// Stop/Disable communication with the MMU + void Stop(); + + // Issue commands to the MMU + void ToolChange(uint8_t slot); + void Statistics(); + void UnloadFilament(); + void LoadFilament(uint8_t slot); + void EjectFilament(uint8_t slot); + void CutFilament(uint8_t slot); + void ResetMMU(); + void Button(uint8_t index); + void Home(uint8_t mode); + void ReadRegister(uint8_t address); + void WriteRegister(uint8_t address, uint16_t data); + + /// Step the state machine + StepStatus Step(); + + /// @returns the current/latest error code as reported by the MMU + ErrorCode Error() const { return errorCode; } + + /// @returns the current/latest process code as reported by the MMU + ProgressCode Progress() const { return progressCode; } + + /// @returns the current/latest button code as reported by the MMU + Buttons Button() const { return buttonCode; } + + uint8_t CommandInProgress() const; + + inline bool Running() const { + return state == State::Running; + } + + inline bool FindaPressed() const { + return findaPressed; + } + + inline uint16_t FailStatistics() const { + return failStatistics; + } + + inline uint8_t MmuFwVersionMajor() const { + return mmuFwVersion[0]; + } + + inline uint8_t MmuFwVersionMinor() const { + return mmuFwVersion[1]; + } + + inline uint8_t MmuFwVersionRevision() const { + return mmuFwVersion[2]; + } +#ifndef UNITTEST +private: +#endif + StepStatus ExpectingMessage(); + void SendMsg(RequestMsg rq); + void SendWriteMsg(RequestMsg rq); + void SwitchToIdle(); + StepStatus SuppressShortDropOuts(const char *msg_P, StepStatus ss); + StepStatus HandleCommunicationTimeout(); + StepStatus HandleProtocolError(); + bool Elapsed(uint32_t timeout) const; + void RecordUARTActivity(); + void RecordReceivedByte(uint8_t c); + void FormatLastReceivedBytes(char *dst); + void FormatLastResponseMsgAndClearLRB(char *dst); + void LogRequestMsg(const uint8_t *txbuff, uint8_t size); + void LogError(const char *reason_P); + void LogResponse(); + StepStatus SwitchFromIdleToCommand(); + void SwitchFromStartToIdle(); + + enum class State : uint_fast8_t { + Stopped, ///< stopped for whatever reason + InitSequence, ///< initial sequence running + Running ///< normal operation - Idle + Command processing + }; + + // individual sub-state machines - may be they can be combined into a union since only one is active at once + // or we can blend them into ProtocolLogic at the cost of a less nice code (but hopefully shorter) +// Stopped stopped; +// StartSeq startSeq; +// DelayedRestart delayedRestart; +// Idle idle; +// Command command; +// ProtocolLogicPartBase *currentState; ///< command currently being processed + + enum class Scope : uint_fast8_t { + Stopped, + StartSeq, + DelayedRestart, + Idle, + Command + }; + Scope currentScope; + + // basic scope members + /// @returns true if the state machine is waiting for a response from the MMU + bool ExpectsResponse() const { return ((uint8_t)scopeState & (uint8_t)ScopeState::NotExpectsResponse) == 0; } + + /// Common internal states of the derived sub-automata + /// General rule of thumb: *Sent states are waiting for a response from the MMU + enum class ScopeState : uint_fast8_t { + S0Sent, // beware - due to optimization reasons these SxSent must be kept one after another + S1Sent, + S2Sent, + S3Sent, + QuerySent, + CommandSent, + FilamentSensorStateSent, + FINDAReqSent, + StatisticsSent, + ButtonSent, + ReadRegisterSent, + WriteRegisterSent, + + // States which do not expect a message - MSb set + NotExpectsResponse = 0x80, + Wait = NotExpectsResponse + 1, + Ready = NotExpectsResponse + 2, + RecoveringProtocolError = NotExpectsResponse + 3, + }; + + ScopeState scopeState; ///< internal state of the sub-automaton + + /// @returns the status of processing of the FINDA query response + /// @param finishedRV returned value in case the message was successfully received and processed + /// @param nextState is a state where the state machine should transfer to after the message was successfully received and processed + // StepStatus ProcessFINDAReqSent(StepStatus finishedRV, State nextState); + + /// @returns the status of processing of the statistics query response + /// @param finishedRV returned value in case the message was successfully received and processed + /// @param nextState is a state where the state machine should transfer to after the message was successfully received and processed + // StepStatus ProcessStatisticsReqSent(StepStatus finishedRV, State nextState); + + /// Called repeatedly while waiting for a query (Q0) period. + /// All event checks to report immediately from the printer to the MMU shall be done in this method. + /// So far, the only such a case is the filament sensor, but there can be more like this in the future. + void CheckAndReportAsyncEvents(); + void SendQuery(); + void SendFINDAQuery(); + void SendAndUpdateFilamentSensor(); + void SendButton(uint8_t btn); + void SendVersion(uint8_t stage); + void SendReadRegister(uint8_t index, ScopeState nextState); + void SendWriteRegister(uint8_t index, uint16_t value, ScopeState nextState); + + StepStatus ProcessVersionResponse(uint8_t stage); + + /// Top level split - calls the appropriate step based on current scope + StepStatus ScopeStep(); + + static constexpr uint8_t maxRetries = 6; + uint8_t retries; + + void StartSeqRestart(); + void DelayedRestartRestart(); + void IdleRestart(); + void CommandRestart(); + + StepStatus StartSeqStep(); + StepStatus DelayedRestartWait(); + StepStatus IdleStep(); + StepStatus IdleWait(); + StepStatus CommandStep(); + StepStatus CommandWait(); + StepStatus StoppedStep() { return Processing; } + + StepStatus ProcessCommandQueryResponse(); + + inline void SetRequestMsg(RequestMsg msg) { + rq = msg; + } + inline const RequestMsg &ReqMsg() const { return rq; } + RequestMsg rq = RequestMsg(RequestMsgCodes::unknown, 0); + + /// Records the next planned state, "unknown" msg code if no command is planned. + /// This is not intended to be a queue of commands to process, protocol_logic must not queue commands. + /// It exists solely to prevent breaking the Request-Response protocol handshake - + /// - during tests it turned out, that the commands from Marlin are coming in such an asynchronnous way, that + /// we could accidentally send T2 immediately after Q0 without waiting for reception of response to Q0. + /// + /// Beware, if Marlin manages to call PlanGenericCommand multiple times before a response comes, + /// these variables will get overwritten by the last call. + /// However, that should not happen under normal circumstances as Marlin should wait for the Command to finish, + /// which includes all responses (and error recovery if any). + RequestMsg plannedRq; + + /// Plan a command to be processed once the immediate response to a sent request arrives + void PlanGenericRequest(RequestMsg rq); + /// Activate the planned state once the immediate response to a sent request arrived + bool ActivatePlannedRequest(); + + uint32_t lastUARTActivityMs; ///< timestamp - last ms when something occurred on the UART + DropOutFilter dataTO; ///< Filter of short consecutive drop outs which are recovered instantly + + ResponseMsg rsp; ///< decoded response message from the MMU protocol + + State state; ///< internal state of ProtocolLogic + + Protocol protocol; ///< protocol codec + + array lastReceivedBytes; ///< remembers the last few bytes of incoming communication for diagnostic purposes + uint8_t lrb; + + MMU2Serial *uart; ///< UART interface + + ErrorCode errorCode; ///< last received error code from the MMU + ProgressCode progressCode; ///< last received progress code from the MMU + Buttons buttonCode; ///< Last received button from the MMU. + + uint8_t lastFSensor; ///< last state of filament sensor + + bool findaPressed; + uint16_t failStatistics; + + uint8_t mmuFwVersion[3]; + uint16_t mmuFwVersionBuild; + + friend class ProtocolLogicPartBase; + friend class Stopped; + friend class Command; + friend class Idle; + friend class StartSeq; + friend class DelayedRestart; + + friend class MMU2; +}; + +} // namespace MMU2 diff --git a/Firmware/mmu2_reporting.cpp b/Firmware/mmu2_reporting.cpp new file mode 100644 index 000000000..37b316d4f --- /dev/null +++ b/Firmware/mmu2_reporting.cpp @@ -0,0 +1,295 @@ +#include "mmu2.h" +#include "mmu2_reporting.h" +#include "mmu2_error_converter.h" +#include "mmu2/error_codes.h" +#include "mmu2/buttons.h" +#include "ultralcd.h" +#include "Filament_sensor.h" +#include "language.h" +#include "temperature.h" +#include "sound.h" + +namespace MMU2 { + +const char * const ProgressCodeToText(uint16_t pc); // we may join progress convertor and reporter together + +void BeginReport(CommandInProgress cip, uint16_t ec) { + custom_message_type = CustomMsg::MMUProgress; + lcd_setstatuspgm( _T(ProgressCodeToText(ec)) ); +} + +void EndReport(CommandInProgress cip, uint16_t ec) { + // clear the status msg line - let the printed filename get visible again + custom_message_type = CustomMsg::Status; +} + +/** + * @brief Renders any characters that will be updated live on the MMU error screen. + *Currently, this is FINDA and Filament Sensor status and Extruder temperature. + */ +extern void ReportErrorHookDynamicRender(void){ + // beware - this optimization abuses the fact, that FindaDetectsFilament returns 0 or 1 and '0' is followed by '1' in the ASCII table + lcd_putc_at(3, 2, mmu2.FindaDetectsFilament() + '0'); + lcd_putc_at(8, 2, fsensor.getFilamentPresent() + '0'); + + // print active/changing filament slot + lcd_set_cursor(10, 2); + lcdui_print_extruder(); + + // Print active extruder temperature + lcd_set_cursor(16, 2); + lcd_printf_P(PSTR("%3d"), (int)(degHotend(0) + 0.5)); +} + +/** + * @brief Renders any characters that are static on the MMU error screen i.e. they don't change. + * @param[in] ei Error code index + */ +static void ReportErrorHookStaticRender(uint8_t ei) { + //! Show an error screen + //! When an MMU error occurs, the LCD content will look like this: + //! |01234567890123456789| + //! |MMU FW update needed| <- title/header of the error: max 20 characters + //! |prusa3d.com/ERR04504| <- URL 20 characters + //! |FI:1 FS:1 5>3 t201°| <- status line, t is thermometer symbol + //! |>Retry >Done >MoreW | <- buttons + bool two_choices = false; + + // Read and determine what operations should be shown on the menu + const uint8_t button_operation = PrusaErrorButtons(ei); + const uint8_t button_op_right = BUTTON_OP_RIGHT(button_operation); + const uint8_t button_op_middle = BUTTON_OP_MIDDLE(button_operation); + + // Check if the menu should have three or two choices + if (button_op_right == (uint8_t)ButtonOperations::NoOperation){ + // Two operations not specified, the error menu should only show two choices + two_choices = true; + } + + lcd_set_custom_characters_nextpage(); + lcd_update_enable(false); + lcd_clear(); + + // Print title and header + lcd_printf_P(PSTR("%.20S\nprusa3d.com/ERR04%hu"), _T(PrusaErrorTitle(ei)), PrusaErrorCode(ei) ); + + ReportErrorHookSensorLineRender(); + + // Render the choices + lcd_show_choices_prompt_P(two_choices ? LCD_LEFT_BUTTON_CHOICE : LCD_MIDDLE_BUTTON_CHOICE, _T(PrusaErrorButtonTitle(button_op_middle)), _T(two_choices ? PrusaErrorButtonMore() : PrusaErrorButtonTitle(button_op_right)), two_choices ? 10 : 7, two_choices ? nullptr : _T(PrusaErrorButtonMore())); +} + +extern void ReportErrorHookSensorLineRender() +{ + // Render static characters in third line + lcd_set_cursor(0, 2); + lcd_printf_P(PSTR("FI: FS: > %c %c"), LCD_STR_THERMOMETER[0], LCD_STR_DEGREE[0]); +} + + +/** + * @brief Monitors the LCD button selection without blocking MMU communication + * @param[in] ei Error code index + * @return 0 if there is no knob click -- + * 1 if user clicked 'More' and firmware should render + * the error screen when ReportErrorHook is called next -- + * 2 if the user selects an operation and we would like + * to exit the error screen. The MMU will raise the menu + * again if the error is not solved. + */ +static uint8_t ReportErrorHookMonitor(uint8_t ei) { + uint8_t ret = 0; + bool two_choices = false; + static int8_t enc_dif = lcd_encoder_diff; + + if (lcd_encoder_diff == 0) + { + // lcd_update_enable(true) was called outside ReportErrorHookMonitor + // It will set lcd_encoder_diff to 0, sync enc_dif + enc_dif = 0; + } + + // Read and determine what operations should be shown on the menu + const uint8_t button_operation = PrusaErrorButtons(ei); + const uint8_t button_op_right = BUTTON_OP_RIGHT(button_operation); + const uint8_t button_op_middle = BUTTON_OP_MIDDLE(button_operation); + + // Check if the menu should have three or two choices + if (button_op_right == (uint8_t)ButtonOperations::NoOperation){ + // Two operations not specified, the error menu should only show two choices + two_choices = true; + } + + static int8_t current_selection = two_choices ? LCD_LEFT_BUTTON_CHOICE : LCD_MIDDLE_BUTTON_CHOICE; + static int8_t choice_selected = -1; + + // Check if knob was rotated + if (abs(enc_dif - lcd_encoder_diff) >= ENCODER_PULSES_PER_STEP) { + if (two_choices == false) { // third_choice is not nullptr, safe to dereference + if (enc_dif > lcd_encoder_diff && current_selection != LCD_LEFT_BUTTON_CHOICE) { + // Rotating knob counter clockwise + current_selection--; + } else if (enc_dif < lcd_encoder_diff && current_selection != LCD_RIGHT_BUTTON_CHOICE) { + // Rotating knob clockwise + current_selection++; + } + } else { + if (enc_dif > lcd_encoder_diff && current_selection != LCD_LEFT_BUTTON_CHOICE) { + // Rotating knob counter clockwise + current_selection = LCD_LEFT_BUTTON_CHOICE; + } else if (enc_dif < lcd_encoder_diff && current_selection != LCD_MIDDLE_BUTTON_CHOICE) { + // Rotating knob clockwise + current_selection = LCD_MIDDLE_BUTTON_CHOICE; + } + } + + // Update '>' render only + //! @brief Button menu + //! + //! @code{.unparsed} + //! |01234567890123456789| + //! | | + //! | | + //! | | + //! |>(left) | + //! ---------------------- + //! Three choices + //! |>(left)>(mid)>(righ)| + //! ---------------------- + //! Two choices + //! ---------------------- + //! |>(left) >(mid) | + //! ---------------------- + //! @endcode + // + lcd_set_cursor(0, 3); + lcd_print(current_selection == LCD_LEFT_BUTTON_CHOICE ? '>': ' '); + if (two_choices == false) + { + lcd_set_cursor(7, 3); + lcd_print(current_selection == LCD_MIDDLE_BUTTON_CHOICE ? '>': ' '); + lcd_set_cursor(13, 3); + lcd_print(current_selection == LCD_RIGHT_BUTTON_CHOICE ? '>': ' '); + } else { + lcd_set_cursor(10, 3); + lcd_print(current_selection == LCD_MIDDLE_BUTTON_CHOICE ? '>': ' '); + } + // Consume rotation event and make feedback sound + enc_dif = lcd_encoder_diff; + Sound_MakeSound(e_SOUND_TYPE_EncoderMove); + } + + // Check if knob was clicked and consume the event + if (lcd_clicked()) { + Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); + choice_selected = current_selection; + } else { + // continue monitoring + return ret; + } + + if ((two_choices && choice_selected == LCD_MIDDLE_BUTTON_CHOICE) // Two choices and middle button selected + || (!two_choices && choice_selected == LCD_RIGHT_BUTTON_CHOICE)) // Three choices and right most button selected + { + // 'More' show error description + lcd_show_fullscreen_message_and_wait_P(_T(PrusaErrorDesc(ei))); + ret = 1; + } else if(choice_selected == LCD_MIDDLE_BUTTON_CHOICE) { + SetButtonResponse((ButtonOperations)button_op_right); + ret = 2; + } else { + SetButtonResponse((ButtonOperations)button_op_middle); + ret = 2; + } + + // Reset static variables to their default value + current_selection = two_choices ? LCD_LEFT_BUTTON_CHOICE : LCD_MIDDLE_BUTTON_CHOICE; + choice_selected = -1; + return ret; +} + +enum class ReportErrorHookStates : uint8_t { + RENDER_ERROR_SCREEN = 0, + MONITOR_SELECTION = 1, + DISMISS_ERROR_SCREEN = 2, +}; + +enum ReportErrorHookStates ReportErrorHookState = ReportErrorHookStates::RENDER_ERROR_SCREEN; + +void ReportErrorHook(uint16_t ec, uint8_t res) { + if (mmu2.MMUCurrentErrorCode() == ErrorCode::OK && res == MMU2::ErrorSourceMMU) + { + // If the error code suddenly changes to OK, that means + // a button was pushed on the MMU and the LCD should + // dismiss the error screen until MMU raises a new error + ReportErrorHookState = ReportErrorHookStates::DISMISS_ERROR_SCREEN; + } else { + // attempt an automatic Retry button + if( ReportErrorHookState == ReportErrorHookStates::MONITOR_SELECTION ){ + if( mmu2.RetryIfPossible(ec) ){ + ReportErrorHookState = ReportErrorHookStates::DISMISS_ERROR_SCREEN; + } + } + } + + const uint8_t ei = PrusaErrorCodeIndex(ec); + + switch ((uint8_t)ReportErrorHookState) + { + case (uint8_t)ReportErrorHookStates::RENDER_ERROR_SCREEN: + ReportErrorHookStaticRender(ei); + ReportErrorHookState = ReportErrorHookStates::MONITOR_SELECTION; + // Fall through + case (uint8_t)ReportErrorHookStates::MONITOR_SELECTION: + mmu2.is_mmu_error_monitor_active = true; + ReportErrorHookDynamicRender(); // Render dynamic characters + switch (ReportErrorHookMonitor(ei)) + { + case 0: + // No choice selected, return to loop() + break; + case 1: + // More button selected, change state + ReportErrorHookState = ReportErrorHookStates::RENDER_ERROR_SCREEN; + break; + case 2: + // Exit error screen and enable lcd updates + lcd_set_custom_characters(); + lcd_update_enable(true); + lcd_return_to_status(); + // Reset the state in case a new error is reported + mmu2.is_mmu_error_monitor_active = false; + ReportErrorHookState = ReportErrorHookStates::RENDER_ERROR_SCREEN; + break; + default: + break; + } + return; // Always return to loop() to let MMU trigger a call to ReportErrorHook again + break; + case (uint8_t)ReportErrorHookStates::DISMISS_ERROR_SCREEN: + lcd_set_custom_characters(); + lcd_update_enable(true); + lcd_return_to_status(); + // Reset the state in case a new error is reported + mmu2.is_mmu_error_monitor_active = false; + ReportErrorHookState = ReportErrorHookStates::RENDER_ERROR_SCREEN; + break; + default: + break; + } +} + +void ReportProgressHook(CommandInProgress cip, uint16_t ec) { + if (cip != CommandInProgress::NoCommand) + { + custom_message_type = CustomMsg::MMUProgress; + lcd_setstatuspgm( _T(ProgressCodeToText(ec)) ); + } else { + // If there is no command in progress we can display other + // useful information such as the name of the SD file + // being printed + custom_message_type = CustomMsg::Status; + } +} + +} // namespace MMU2 diff --git a/Firmware/mmu2_reporting.h b/Firmware/mmu2_reporting.h new file mode 100644 index 000000000..7e9fa587f --- /dev/null +++ b/Firmware/mmu2_reporting.h @@ -0,0 +1,50 @@ +/// @file mmu2_reporting.h + +#pragma once +#include + +namespace MMU2 { + +enum CommandInProgress : uint8_t { + NoCommand = 0, + CutFilament = 'C', + EjectFilament = 'E', + Homing = 'H', + LoadFilament = 'L', + Reset = 'X', + ToolChange = 'T', + UnloadFilament = 'U', +}; + +/// Called at the begin of every MMU operation +void BeginReport(CommandInProgress cip, uint16_t ec); + +/// Called at the end of every MMU operation +void EndReport(CommandInProgress cip, uint16_t ec); + +/** + * @brief Called when the MMU or MK3S sends operation error (even repeatedly). + * Render MMU error screen on the LCD. This must be non-blocking + * and allow the MMU and printer to communicate with each other. + * @param[in] ec error code + * @param[in] res reporter error source, is either Printer (0) or MMU (1) + */ +void ReportErrorHook(uint16_t ec, uint8_t res); + +/// Called when the MMU sends operation progress update +void ReportProgressHook(CommandInProgress cip, uint16_t ec); + +/// Remders the sensor status line. Also used by the "resume temperature" screen. +void ReportErrorHookDynamicRender(); + +/// Renders the static part of the sensor state line. Also used by "resuming temperature screen" +void ReportErrorHookSensorLineRender(); + +/// @returns true if the MMU is communicating and available +/// can change at runtime +bool MMUAvailable(); + +/// Global Enable/Disable use MMU (to be stored in EEPROM) +bool UseMMU(); + +} // namespace diff --git a/Firmware/mmu2_serial.cpp b/Firmware/mmu2_serial.cpp new file mode 100644 index 000000000..5ac8e3e29 --- /dev/null +++ b/Firmware/mmu2_serial.cpp @@ -0,0 +1,31 @@ +#include "mmu2_serial.h" +#include "uart2.h" + +namespace MMU2 { + +void MMU2Serial::begin(uint32_t baud){ + uart2_init(baud); // @@TODO we may skip the baud rate setting in case of 8bit FW ... could save some bytes... +} + +void MMU2Serial::close() { + // @@TODO - probably turn off the UART +} + +int MMU2Serial::read() { + return fgetc(uart2io); +} + +void MMU2Serial::flush() { + // @@TODO - clear the output buffer +} + +size_t MMU2Serial::write(const uint8_t *buffer, size_t size) { + while(size--){ + fputc(*buffer, uart2io); + ++buffer; + } +} + +MMU2Serial mmu2Serial; + +} // namespace MMU2 diff --git a/Firmware/mmu2_serial.h b/Firmware/mmu2_serial.h new file mode 100644 index 000000000..176a8f336 --- /dev/null +++ b/Firmware/mmu2_serial.h @@ -0,0 +1,20 @@ +#pragma once +#include +#include + +namespace MMU2 { + +/// A minimal serial interface for the MMU +class MMU2Serial { +public: + MMU2Serial() = default; + void begin(uint32_t baud); + void close(); + int read(); + void flush(); + size_t write(const uint8_t *buffer, size_t size); +}; + +extern MMU2Serial mmu2Serial; + +} // namespace MMU2 diff --git a/Firmware/motion_control.cpp b/Firmware/motion_control.cpp index e24428944..78e9f4976 100644 --- a/Firmware/motion_control.cpp +++ b/Firmware/motion_control.cpp @@ -26,13 +26,16 @@ // The arc is approximated by generating a huge number of tiny, linear segments. The length of each // segment is configured in settings.mm_per_arc_segment. -void mc_arc(float* position, float* target, float* offset, float feed_rate, float radius, bool isclockwise, uint8_t extruder) +void mc_arc(const float* position, float* target, const float* offset, float feed_rate, float radius, bool isclockwise, uint8_t extruder, uint16_t start_segment_idx) { + float start_position[4]; + memcpy(start_position, position, sizeof(start_position)); + float r_axis_x = -offset[X_AXIS]; // Radius vector from center to current location float r_axis_y = -offset[Y_AXIS]; - float center_axis_x = position[X_AXIS] - r_axis_x; - float center_axis_y = position[Y_AXIS] - r_axis_y; - float travel_z = target[Z_AXIS] - position[Z_AXIS]; + float center_axis_x = start_position[X_AXIS] - r_axis_x; + float center_axis_y = start_position[Y_AXIS] - r_axis_y; + float travel_z = target[Z_AXIS] - start_position[Z_AXIS]; float rt_x = target[X_AXIS] - center_axis_x; float rt_y = target[Y_AXIS] - center_axis_y; // 20200419 - Add a variable that will be used to hold the arc segment length @@ -40,7 +43,7 @@ void mc_arc(float* position, float* target, float* offset, float feed_rate, floa // 20210109 - Add a variable to hold the n_arc_correction value unsigned char n_arc_correction = cs.n_arc_correction; - // CCW angle between position and target from circle center. Only one atan2() trig computation required. + // CCW angle between start_position and target from circle center. Only one atan2() trig computation required. float angular_travel_total = atan2(r_axis_x * rt_y - r_axis_y * rt_x, r_axis_x * rt_x + r_axis_y * rt_y); if (angular_travel_total < 0) { angular_travel_total += 2 * M_PI; } @@ -76,7 +79,7 @@ void mc_arc(float* position, float* target, float* offset, float feed_rate, floa //20141002:full circle for G03 did not work, e.g. G03 X80 Y80 I20 J0 F2000 is giving an Angle of zero so head is not moving //to compensate when start pos = target pos && angle is zero -> angle = 2Pi - if (position[X_AXIS] == target[X_AXIS] && position[Y_AXIS] == target[Y_AXIS] && angular_travel_total == 0) + if (start_position[X_AXIS] == target[X_AXIS] && start_position[Y_AXIS] == target[Y_AXIS] && angular_travel_total == 0) { angular_travel_total += 2 * M_PI; } @@ -113,13 +116,13 @@ void mc_arc(float* position, float* target, float* offset, float feed_rate, floa */ // If there is only one segment, no need to do a bunch of work since this is a straight line! - if (segments > 1) + if (segments > 1 && start_segment_idx) { // Calculate theta per segments, and linear (z) travel per segment, e travel per segment // as well as the small angle approximation for sin and cos. const float theta_per_segment = angular_travel_total / segments, linear_per_segment = travel_z / (segments), - segment_extruder_travel = (target[E_AXIS] - position[E_AXIS]) / (segments), + segment_extruder_travel = (target[E_AXIS] - start_position[E_AXIS]) / (segments), sq_theta_per_segment = theta_per_segment * theta_per_segment, sin_T = theta_per_segment - sq_theta_per_segment * theta_per_segment / 6, cos_T = 1 - 0.5f * sq_theta_per_segment; @@ -142,21 +145,22 @@ void mc_arc(float* position, float* target, float* offset, float feed_rate, floa } // Update Position - position[X_AXIS] = center_axis_x + r_axis_x; - position[Y_AXIS] = center_axis_y + r_axis_y; - position[Z_AXIS] += linear_per_segment; - position[E_AXIS] += segment_extruder_travel; + start_position[X_AXIS] = center_axis_x + r_axis_x; + start_position[Y_AXIS] = center_axis_y + r_axis_y; + start_position[Z_AXIS] += linear_per_segment; + start_position[E_AXIS] += segment_extruder_travel; // Clamp to the calculated position. - clamp_to_software_endstops(position); + clamp_to_software_endstops(start_position); // Insert the segment into the buffer - plan_buffer_line(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS], feed_rate, extruder, position); + if (i >= start_segment_idx) + plan_buffer_line(start_position[X_AXIS], start_position[Y_AXIS], start_position[Z_AXIS], start_position[E_AXIS], feed_rate, extruder, position, i); // Handle the situation where the planner is aborted hard. - if (waiting_inside_plan_buffer_line_print_aborted) + if (planner_aborted) return; } } // Clamp to the target position. clamp_to_software_endstops(target); // Ensure last segment arrives at target location. - plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feed_rate, extruder, target); + plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], feed_rate, extruder, position, 0); } diff --git a/Firmware/motion_control.h b/Firmware/motion_control.h index 4cc16ffaa..bc6780290 100644 --- a/Firmware/motion_control.h +++ b/Firmware/motion_control.h @@ -26,7 +26,6 @@ // offset == offset from current xyz, axis_XXX defines circle plane in tool space, axis_linear is // the direction of helical travel, radius == circle radius, isclockwise boolean. Used // for vector transformation direction. -void mc_arc(float *position, float *target, float *offset, float feed_rate, float radius, - bool isclockwise, uint8_t extruder); - +void mc_arc(const float *position, float *target, const float *offset, float feed_rate, float radius, bool isclockwise, uint8_t extruder, uint16_t start_segment_idx); + #endif diff --git a/Firmware/pat9125.cpp b/Firmware/pat9125.cpp index 0cfce5684..18cf7c1ae 100644 --- a/Firmware/pat9125.cpp +++ b/Firmware/pat9125.cpp @@ -4,7 +4,9 @@ #include #include "config.h" #include +#include "Configuration_prusa.h" +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) //PAT9125 registers #define PAT9125_PID1 0x00 @@ -46,27 +48,26 @@ uint8_t pat9125_s = 0; // Init sequence, address & value. -const PROGMEM uint8_t pat9125_init_seq1[] = { +const PROGMEM uint8_t pat9125_init_bank0[] = { // Disable write protect. PAT9125_WP, 0x5a, // Set the X resolution to zero to let the sensor know that it could safely ignore movement in the X axis. - PAT9125_RES_X, PAT9125_XRES, - // Set the Y resolution to a maximum (or nearly a maximum). - PAT9125_RES_Y, PAT9125_YRES, - // Set 12-bit X/Y data format. - PAT9125_ORIENTATION, 0x04, -// PAT9125_ORIENTATION, 0x04 | (xinv?0x08:0) | (yinv?0x10:0), //!? direction switching does not work - // Now continues the magic sequence from the PAT912EL Application Note: Firmware Guides for Tracking Optimization. - 0x5e, 0x08, - 0x20, 0x64, - 0x2b, 0x6d, - 0x32, 0x2f, - // stopper - 0x0ff + PAT9125_RES_X, PAT9125_XRES, + // Set the Y resolution to a maximum (or nearly a maximum). + PAT9125_RES_Y, PAT9125_YRES, + // Set data format and sensor orientation. + PAT9125_ORIENTATION, ((PAT9125_12B_RES?0x04:0) | (PAT9125_INVERT_X?0x08:0) | (PAT9125_INVERT_Y?0x10:0) | (PAT9125_SWAP_XY?0x20:0)), + + // Now continues the magic sequence from the PAT912EL Application Note: Firmware Guides for Tracking Optimization. + 0x5e, 0x08, + 0x20, 0x64, + 0x2b, 0x6d, + 0x32, 0x2f, + 0xff //end of sequence }; // Init sequence, address & value. -const PROGMEM uint8_t pat9125_init_seq2[] = { +const PROGMEM uint8_t pat9125_init_bank1[] = { // Magic sequence to enforce full frame rate of the sensor. 0x06, 0x028, 0x33, 0x0d0, @@ -93,14 +94,14 @@ const PROGMEM uint8_t pat9125_init_seq2[] = { 0x6e, 0x022, 0x71, 0x007, 0x72, 0x008, - // stopper - 0x0ff + 0xff //end of sequence }; -uint8_t pat9125_rd_reg(uint8_t addr); -void pat9125_wr_reg(uint8_t addr, uint8_t data); -uint8_t pat9125_wr_reg_verify(uint8_t addr, uint8_t data); +static uint8_t pat9125_rd_reg(uint8_t addr); +static void pat9125_wr_reg(uint8_t addr, uint8_t data); +static uint8_t pat9125_wr_reg_verify(uint8_t addr, uint8_t data); +static uint8_t pat9125_wr_seq(const uint8_t* seq); extern FILE _uartout; #define uartout (&_uartout) @@ -113,26 +114,23 @@ uint8_t pat9125_probe() #error not implemented #elif defined(PAT9125_SWI2C) swi2c_init(); - return swi2c_readByte_A8(PAT9125_I2C_ADDR,0x00,NULL); + return swi2c_check(PAT9125_I2C_ADDR) == 0; #elif defined(PAT9125_I2C) twi_init(); - #ifdef IR_SENSOR - // NOTE: this is called from the MK3S variant, so it should be kept minimal - uint8_t data; - return (twi_r8(PAT9125_I2C_ADDR,PAT9125_PID1,&data) == 0); - #else - return (pat9125_rd_reg(PAT9125_PID1) != 0); - #endif + return twi_check(PAT9125_I2C_ADDR) == 0; #endif } uint8_t pat9125_init(void) { - if (!pat9125_probe()) - return 0; + if (!pat9125_probe()) + return 0; - // Verify that the sensor responds with its correct product ID. - pat9125_PID1 = pat9125_rd_reg(PAT9125_PID1); +// Switch to bank0, not allowed to perform pat9125_wr_reg_verify on this register. + pat9125_wr_reg(PAT9125_BANK_SELECTION, 0); + + // Verify that the sensor responds with its correct product ID. + pat9125_PID1 = pat9125_rd_reg(PAT9125_PID1); pat9125_PID2 = pat9125_rd_reg(PAT9125_PID2); if ((pat9125_PID1 != 0x31) || (pat9125_PID2 != 0x91)) { @@ -142,54 +140,49 @@ uint8_t pat9125_init(void) return 0; } -#ifdef PAT9125_NEW_INIT - // Switch to bank0, not allowed to perform OTS_RegWriteRead. - pat9125_wr_reg(PAT9125_BANK_SELECTION, 0); +#if PAT9125_NEW_INIT // Software reset (i.e. set bit7 to 1). It will reset to 0 automatically. - // After the reset, OTS_RegWriteRead is not allowed. + // pat9125_wr_reg_verify is not allowed because the register contents will change as soon as they are written. No point in verifying those. pat9125_wr_reg(PAT9125_CONFIG, 0x97); // Wait until the sensor reboots. - // Delay 1ms. - _delay_us(1000); - { - const uint8_t *ptr = pat9125_init_seq1; - for (;;) { - const uint8_t addr = pgm_read_byte_near(ptr ++); - if (addr == 0x0ff) - break; - if (! pat9125_wr_reg_verify(addr, pgm_read_byte_near(ptr ++))) - // Verification of the register write failed. - return 0; - } - } - // Delay 10ms. - _delay_ms(10); - // Switch to bank1, not allowed to perform OTS_RegWrite. + _delay_ms(1); + + //Write init sequence in bank0. MUST ALREADY BE IN bank0. + if (!pat9125_wr_seq(pat9125_init_bank0)) + return 0; + + _delay_ms(10); // not sure why this is here. But I'll allow it. + + // Switch to bank1, not allowed to perform pat9125_wr_reg_verify on this register. pat9125_wr_reg(PAT9125_BANK_SELECTION, 0x01); - { - const uint8_t *ptr = pat9125_init_seq2; - for (;;) { - const uint8_t addr = pgm_read_byte_near(ptr ++); - if (addr == 0x0ff) - break; - if (! pat9125_wr_reg_verify(addr, pgm_read_byte_near(ptr ++))) - // Verification of the register write failed. - return 0; - } - } - // Switch to bank0, not allowed to perform OTS_RegWriteRead. + //Write init sequence in bank1. MUST ALREADY BE IN bank1. + if (!pat9125_wr_seq(pat9125_init_bank1)) + return 0; + + // Switch to bank0, not allowed to perform pat9125_wr_reg_verify on this register. pat9125_wr_reg(PAT9125_BANK_SELECTION, 0x00); + // Enable write protect. - pat9125_wr_reg(PAT9125_WP, 0x00); + pat9125_wr_reg(PAT9125_WP, 0x00); //prevents writing to registers over 0x09 pat9125_PID1 = pat9125_rd_reg(PAT9125_PID1); pat9125_PID2 = pat9125_rd_reg(PAT9125_PID2); -#endif //PAT9125_NEW_INIT +#else //PAT9125_NEW_INIT + // Disable write protect. + pat9125_wr_reg(PAT9125_WP, 0x5a); //allows writing to all registers + pat9125_wr_reg(PAT9125_RES_X, PAT9125_XRES); pat9125_wr_reg(PAT9125_RES_Y, PAT9125_YRES); - fprintf_P(uartout, PSTR("PAT9125_RES_X=%u\n"), pat9125_rd_reg(PAT9125_RES_X)); - fprintf_P(uartout, PSTR("PAT9125_RES_Y=%u\n"), pat9125_rd_reg(PAT9125_RES_Y)); + printf_P(PSTR("PAT9125_RES_X=%u\n"), pat9125_rd_reg(PAT9125_RES_X)); + printf_P(PSTR("PAT9125_RES_Y=%u\n"), pat9125_rd_reg(PAT9125_RES_Y)); + + pat9125_wr_reg(PAT9125_ORIENTATION, ((PAT9125_12B_RES?0x04:0) | (PAT9125_INVERT_X?0x08:0) | (PAT9125_INVERT_Y?0x10:0) | (PAT9125_SWAP_XY?0x20:0))); + + // Enable write protect. + pat9125_wr_reg(PAT9125_WP, 0x00); //prevents writing to registers over 0x09 +#endif //PAT9125_NEW_INIT + return 1; } @@ -212,7 +205,7 @@ uint8_t pat9125_update(void) if (iDX & 0x800) iDX -= 4096; if (iDY & 0x800) iDY -= 4096; pat9125_x += iDX; - pat9125_y -= iDY; //negative number, because direction switching does not work + pat9125_y += iDY; } return 1; } @@ -232,7 +225,7 @@ uint8_t pat9125_update_y(void) if (pat9125_PID1 == 0xff) return 0; int16_t iDY = ucYL | ((ucXYH << 8) & 0xf00); if (iDY & 0x800) iDY -= 4096; - pat9125_y -= iDY; //negative number, because direction switching does not work + pat9125_y += iDY; } return 1; } @@ -251,7 +244,7 @@ uint8_t pat9125_update_bs(void) return 0; } -uint8_t pat9125_rd_reg(uint8_t addr) +static uint8_t pat9125_rd_reg(uint8_t addr) { uint8_t data = 0; #if defined(PAT9125_SWSPI) @@ -274,7 +267,7 @@ uint8_t pat9125_rd_reg(uint8_t addr) return 0; } -void pat9125_wr_reg(uint8_t addr, uint8_t data) +static void pat9125_wr_reg(uint8_t addr, uint8_t data) { #if defined(PAT9125_SWSPI) swspi_start(); @@ -296,8 +289,23 @@ void pat9125_wr_reg(uint8_t addr, uint8_t data) return; } -uint8_t pat9125_wr_reg_verify(uint8_t addr, uint8_t data) +static uint8_t pat9125_wr_reg_verify(uint8_t addr, uint8_t data) { pat9125_wr_reg(addr, data); return pat9125_rd_reg(addr) == data; } + +static uint8_t pat9125_wr_seq(const uint8_t* seq) +{ + for (;;) { + const uint8_t addr = pgm_read_byte(seq++); + if (addr == 0xff) + break; + if (!pat9125_wr_reg_verify(addr, pgm_read_byte(seq++))) + // Verification of the register write failed. + return 0; + } + return 1; +} + +#endif diff --git a/Firmware/pat9125.h b/Firmware/pat9125.h index 18518df62..1a08dc76f 100755 --- a/Firmware/pat9125.h +++ b/Firmware/pat9125.h @@ -1,12 +1,7 @@ -//pat9125.h -#ifndef PAT9125_H -#define PAT9125_H +#pragma once #include -extern uint8_t pat9125_PID1; -extern uint8_t pat9125_PID2; - extern int16_t pat9125_x; extern int16_t pat9125_y; extern uint8_t pat9125_b; @@ -17,5 +12,3 @@ extern uint8_t pat9125_init(void); extern uint8_t pat9125_update(void); // update all sensor data extern uint8_t pat9125_update_y(void); // update _y only extern uint8_t pat9125_update_bs(void); // update _b/_s only - -#endif //PAT9125_H diff --git a/Firmware/pins_Einsy_1_0.h b/Firmware/pins_Einsy_1_0.h index 3f73bdd9f..d8c316b44 100755 --- a/Firmware/pins_Einsy_1_0.h +++ b/Firmware/pins_Einsy_1_0.h @@ -78,6 +78,9 @@ #define VOLT_IR_PIN 8 //A8 +#define TEMP_TIM 5 + + #define E0_TMC2130_CS 66 #define E0_TMC2130_DIAG 65 #define E0_STEP_PIN 34 diff --git a/Firmware/pins_Rambo_1_0.h b/Firmware/pins_Rambo_1_0.h index 5cd0a6704..1bccd5c57 100644 --- a/Firmware/pins_Rambo_1_0.h +++ b/Firmware/pins_Rambo_1_0.h @@ -57,6 +57,8 @@ #define TEMP_PINDA_PIN 1 //A1 +#define TEMP_TIM 3 + #define E0_STEP_PIN 34 #define E0_DIR_PIN 43 diff --git a/Firmware/pins_Rambo_1_3.h b/Firmware/pins_Rambo_1_3.h index f733c105a..c5f0e4c1c 100644 --- a/Firmware/pins_Rambo_1_3.h +++ b/Firmware/pins_Rambo_1_3.h @@ -60,6 +60,8 @@ #define TEMP_PINDA_PIN 1 //A1 +#define TEMP_TIM 3 + #define E0_STEP_PIN 34 #define E0_DIR_PIN 43 diff --git a/Firmware/planner.cpp b/Firmware/planner.cpp index 16f4dfee8..6206af7bf 100644 --- a/Firmware/planner.cpp +++ b/Firmware/planner.cpp @@ -55,6 +55,7 @@ #include "planner.h" #include "stepper.h" #include "temperature.h" +#include "fancheck.h" #include "ultralcd.h" #include "language.h" #include "ConfigurationStore.h" @@ -68,6 +69,9 @@ #include "tmc2130.h" #endif //TMC2130 +#include + + //=========================================================================== //=============================public variables ============================ //=========================================================================== @@ -95,8 +99,6 @@ static float previous_speed[NUM_AXIS]; // Speed of previous path line segment static float previous_nominal_speed; // Nominal speed of previous path line segment static float previous_safe_speed; // Exit speed limited by a jerk to full halt of a previous last segment. -uint8_t maxlimit_status; - #ifdef AUTOTEMP float autotemp_max=250; float autotemp_min=210; @@ -592,17 +594,7 @@ void check_axes_activity() #endif } -bool waiting_inside_plan_buffer_line_print_aborted = false; -/* -void planner_abort_soft() -{ - // Empty the queue. - while (blocks_queued()) plan_discard_current_block(); - // Relay to planner wait routine, that the current line shall be canceled. - waiting_inside_plan_buffer_line_print_aborted = true; - //current_position[i] -} -*/ +bool planner_aborted = false; #ifdef PLANNER_DIAGNOSTICS static inline void planner_update_queue_min_counter() @@ -615,12 +607,8 @@ static inline void planner_update_queue_min_counter() extern volatile uint32_t step_events_completed; // The number of step events executed in the current block -void planner_abort_hard() +void planner_reset_position() { - // Abort the stepper routine and flush the planner queue. - DISABLE_STEPPER_DRIVER_INTERRUPT(); - - // Now the front-end (the Marlin_main.cpp with its current_position) is out of sync. // First update the planner's current position in the physical motor steps. position[X_AXIS] = st_get_position(X_AXIS); position[Y_AXIS] = st_get_position(Y_AXIS); @@ -632,6 +620,7 @@ void planner_abort_hard() current_position[Y_AXIS] = st_get_position_mm(Y_AXIS); current_position[Z_AXIS] = st_get_position_mm(Z_AXIS); current_position[E_AXIS] = st_get_position_mm(E_AXIS); + // Apply the mesh bed leveling correction to the Z axis. #ifdef MESH_BED_LEVELING if (mbl.active) { @@ -664,24 +653,36 @@ void planner_abort_hard() #endif } #endif - // Clear the planner queue, reset and re-enable the stepper timer. - quickStop(); // Apply inverse world correction matrix. machine2world(current_position[X_AXIS], current_position[Y_AXIS]); - memcpy(destination, current_position, sizeof(destination)); + set_destination_to_current(); #ifdef LIN_ADVANCE memcpy(position_float, current_position, sizeof(position_float)); #endif +} + +void planner_abort_hard() +{ + // Abort the stepper routine and flush the planner queue. + DISABLE_STEPPER_DRIVER_INTERRUPT(); + + // Now the front-end (the Marlin_main.cpp with its current_position) is out of sync. + planner_reset_position(); + + // Relay to planner wait routine that the current line shall be canceled. + planner_aborted = true; + + // Clear the planner queue, reset and re-enable the stepper timer. + quickStop(); + // Resets planner junction speeds. Assumes start from rest. previous_nominal_speed = 0.0; memset(previous_speed, 0, sizeof(previous_speed)); + // Reset position sync requests plan_reset_next_e_queue = false; plan_reset_next_e_sched = false; - - // Relay to planner wait routine, that the current line shall be canceled. - waiting_inside_plan_buffer_line_print_aborted = true; } void plan_buffer_line_curposXYZE(float feed_rate) { @@ -700,14 +701,17 @@ float junction_deviation = 0.1; // Add a new linear movement to the buffer. steps_x, _y and _z is the absolute position in // mm. Microseconds specify how many microseconds the move should take to perform. To aid acceleration // calculation the caller must also provide the physical length of the line in millimeters. -void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, uint8_t extruder, const float* gcode_target) +void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, uint8_t extruder, const float* gcode_start_position, uint16_t segment_idx) { - // Calculate the buffer head after we push this byte + // CRITICAL_SECTION_START; //prevent stack overflow in ISR + // printf_P(PSTR("plan_buffer_line(%f, %f, %f, %f, %f, %u, [%f,%f,%f,%f], %u)\n"), x, y, z, e, feed_rate, extruder, gcode_start_position[0], gcode_start_position[1], gcode_start_position[2], gcode_start_position[3], segment_idx); + // CRITICAL_SECTION_END; + + // Calculate the buffer head after we push this byte uint8_t next_buffer_head = next_block_index(block_buffer_head); - // If the buffer is full: good! That means we are well ahead of the robot. + // If the buffer is full: good! That means we are well ahead of the robot. // Rest here until there is room in the buffer. - waiting_inside_plan_buffer_line_print_aborted = false; if (block_buffer_tail == next_buffer_head) { do { manage_heater(); @@ -715,18 +719,14 @@ void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate manage_inactivity(false); lcd_update(0); } while (block_buffer_tail == next_buffer_head); - if (waiting_inside_plan_buffer_line_print_aborted) { - // Inside the lcd_update(0) routine the print has been aborted. - // Cancel the print, do not plan the current line this routine is waiting on. -#ifdef PLANNER_DIAGNOSTICS - planner_update_queue_min_counter(); -#endif /* PLANNER_DIAGNOSTICS */ - return; - } } #ifdef PLANNER_DIAGNOSTICS planner_update_queue_min_counter(); #endif /* PLANNER_DIAGNOSTICS */ + if(planner_aborted) { + // avoid planning the block early if aborted + return; + } // Prepare to set up new block block_t *block = &block_buffer[block_buffer_head]; @@ -737,16 +737,14 @@ void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate // Set sdlen for calculating sd position block->sdlen = 0; - // Save original destination of the move - if (gcode_target) - memcpy(block->gcode_target, gcode_target, sizeof(block_t::gcode_target)); + // Save original start position of the move + if (gcode_start_position) + memcpy(block->gcode_start_position, gcode_start_position, sizeof(block_t::gcode_start_position)); else - { - block->gcode_target[X_AXIS] = x; - block->gcode_target[Y_AXIS] = y; - block->gcode_target[Z_AXIS] = z; - block->gcode_target[E_AXIS] = e; - } + memcpy(block->gcode_start_position, current_position, sizeof(block_t::gcode_start_position)); + + // Save the index of this segment (when a single G0/1/2/3 command plans multiple segments) + block->segment_idx = segment_idx; // Save the global feedrate at scheduling time block->gcode_feedrate = feedrate; @@ -913,8 +911,6 @@ block->steps_y.wide = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-p block->direction_bits |= (1<active_extruder = extruder; - //enable active axes #ifdef COREXY if((block->steps_x.wide != 0) || (block->steps_y.wide != 0)) @@ -1331,8 +1327,12 @@ Having the real displacement of the head, we can calculate the total movement le if (block->step_event_count.wide <= 32767) block->flag |= BLOCK_FLAG_DDA_LOWRES; - // Move the buffer head. From now the block may be picked up by the stepper interrupt controller. - block_buffer_head = next_buffer_head; + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + // Move the buffer head ensuring the current block hasn't been cancelled from an isr context + // (this is possible both during crash detection *and* uvlo, thus needing a global cli) + if(planner_aborted) return; + block_buffer_head = next_buffer_head; + } // Update position memcpy(position, target, sizeof(target)); // position[] = target[] diff --git a/Firmware/planner.h b/Firmware/planner.h index 72235703b..09cb6152c 100644 --- a/Firmware/planner.h +++ b/Firmware/planner.h @@ -75,7 +75,6 @@ typedef struct { dda_usteps_t step_event_count; // The number of step events required to complete this block uint32_t acceleration_rate; // The acceleration rate used for acceleration calculation unsigned char direction_bits; // The direction bit set for this block (refers to *_DIRECTION_BIT in config.h) - unsigned char active_extruder; // Selects the active extruder // accelerate_until and decelerate_after are set by calculate_trapezoid_for_block() and they need to be synchronized with the stepper interrupt controller. uint32_t accelerate_until; // The index of the step event on which to stop acceleration uint32_t decelerate_after; // The index of the step event on which to start decelerating @@ -122,7 +121,8 @@ typedef struct { #endif // Save/recovery state data - float gcode_target[NUM_AXIS]; // Target (abs mm) of the original Gcode instruction + float gcode_start_position[NUM_AXIS]; // Start (abs mm) of the original Gcode instruction + uint16_t segment_idx; // The index of the for loop that generates segments uint16_t gcode_feedrate; // Default and/or move feedrate uint16_t sdlen; // Length of the Gcode instruction } block_t; @@ -159,7 +159,7 @@ void plan_buffer_line_destinationXYZE(float feed_rate); void plan_set_position_curposXYZE(); -void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, uint8_t extruder, const float* gcode_target = NULL); +void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, uint8_t extruder, const float* gcode_start_position = NULL, uint16_t segment_idx = 0); //void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder); #endif // ENABLE_AUTO_BED_LEVELING @@ -255,11 +255,14 @@ FORCE_INLINE bool planner_queue_full() { return block_buffer_tail == next_block_index; } +// Reset machine position from stepper counters +extern void planner_reset_position(); + // Abort the stepper routine, clean up the block queue, // wait for the steppers to stop, // update planner's current position and the current_position of the front end. extern void planner_abort_hard(); -extern bool waiting_inside_plan_buffer_line_print_aborted; +extern bool planner_aborted; #ifdef PREVENT_DANGEROUS_EXTRUDE extern int extrude_min_temp; diff --git a/Firmware/sound.h b/Firmware/sound.h index 75c1c868a..690eb0a30 100644 --- a/Firmware/sound.h +++ b/Firmware/sound.h @@ -1,18 +1,34 @@ +#pragma once #include -#ifndef SOUND_H -#define SOUND_H - #define e_SOUND_MODE_NULL 0xFF -typedef enum : uint8_t - {e_SOUND_MODE_LOUD,e_SOUND_MODE_ONCE,e_SOUND_MODE_SILENT,e_SOUND_MODE_BLIND} eSOUND_MODE; +typedef enum : uint8_t { + e_SOUND_MODE_LOUD, + e_SOUND_MODE_ONCE, + e_SOUND_MODE_SILENT, + e_SOUND_MODE_BLIND +} eSOUND_MODE; + #define e_SOUND_MODE_DEFAULT e_SOUND_MODE_LOUD -typedef enum : uint8_t - {e_SOUND_TYPE_ButtonEcho,e_SOUND_TYPE_EncoderEcho,e_SOUND_TYPE_StandardPrompt,e_SOUND_TYPE_StandardConfirm,e_SOUND_TYPE_StandardWarning,e_SOUND_TYPE_StandardAlert,e_SOUND_TYPE_EncoderMove,e_SOUND_TYPE_BlindAlert} eSOUND_TYPE; -typedef enum : uint8_t - {e_SOUND_CLASS_Echo,e_SOUND_CLASS_Prompt,e_SOUND_CLASS_Confirm,e_SOUND_CLASS_Warning,e_SOUND_CLASS_Alert} eSOUND_CLASS; +typedef enum : uint8_t { + e_SOUND_TYPE_ButtonEcho, + e_SOUND_TYPE_EncoderEcho, + e_SOUND_TYPE_StandardPrompt, + e_SOUND_TYPE_StandardConfirm, + e_SOUND_TYPE_StandardWarning, + e_SOUND_TYPE_StandardAlert, + e_SOUND_TYPE_EncoderMove, + e_SOUND_TYPE_BlindAlert +} eSOUND_TYPE; +typedef enum : uint8_t { + e_SOUND_CLASS_Echo, + e_SOUND_CLASS_Prompt, + e_SOUND_CLASS_Confirm, + e_SOUND_CLASS_Warning, + e_SOUND_CLASS_Alert +} eSOUND_CLASS; extern eSOUND_MODE eSoundMode; @@ -25,5 +41,3 @@ extern void Sound_MakeCustom(uint16_t ms,uint16_t tone_ ,bool critical); //static void Sound_DoSound_Echo(void); //static void Sound_DoSound_Prompt(void); - -#endif // SOUND_H diff --git a/Firmware/stepper.cpp b/Firmware/stepper.cpp index 34fc19ad2..45f2141f8 100644 --- a/Firmware/stepper.cpp +++ b/Firmware/stepper.cpp @@ -36,14 +36,13 @@ #include "tmc2130.h" #endif //TMC2130 -#if defined(FILAMENT_SENSOR) && defined(PAT9125) -#include "fsensor.h" -int fsensor_counter; //counter for e-steps -#endif //FILAMENT_SENSOR +#include "Filament_sensor.h" -#include "mmu.h" +#include "mmu2.h" #include "ConfigurationStore.h" +#include "Prusa_farm.h" + #ifdef DEBUG_STACK_MONITOR uint16_t SP_min = 0x21FF; #endif //DEBUG_STACK_MONITOR @@ -287,15 +286,6 @@ ISR(TIMER1_COMPA_vect) { if (sp < SP_min) SP_min = sp; #endif //DEBUG_STACK_MONITOR -#ifdef DEBUG_PULLUP_CRASH - // check for faulty pull-ups enabled on thermistor inputs - if ((PORTF & (uint8_t)(ADC_DIDR_MSK & 0xff)) || (PORTK & (uint8_t)((ADC_DIDR_MSK >> 8) & 0xff))) - pullup_error(false); -#else - PORTF &= ~(uint8_t)(ADC_DIDR_MSK & 0xff); - PORTK &= ~(uint8_t)((ADC_DIDR_MSK >> 8) & 0xff); -#endif // DEBUG_PULLUP_CRASH - #ifdef LIN_ADVANCE advance_isr_scheduler(); #else @@ -464,9 +454,6 @@ FORCE_INLINE void stepper_next_block() #endif /* LIN_ADVANCE */ count_direction[E_AXIS] = 1; } -#if defined(FILAMENT_SENSOR) && defined(PAT9125) - fsensor_st_block_begin(count_direction[E_AXIS] < 0); -#endif //FILAMENT_SENSOR } else { _NEXT_ISR(2000); // 1kHz. @@ -502,7 +489,7 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(X_MIN_PIN) && (X_MIN_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMINLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(_endstop, X_AXIS, (READ(X_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, X_AXIS, (!READ(X_TMC2130_DIAG))); #else // Normal homing SET_BIT_TO(_endstop, X_AXIS, (READ(X_MIN_PIN) != X_MIN_ENDSTOP_INVERTING)); @@ -519,7 +506,7 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(X_MAX_PIN) && (X_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_XMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(_endstop, X_AXIS + 4, (READ(X_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, X_AXIS + 4, (!READ(X_TMC2130_DIAG))); #else // Normal homing SET_BIT_TO(_endstop, X_AXIS + 4, (READ(X_MAX_PIN) != X_MAX_ENDSTOP_INVERTING)); @@ -543,7 +530,7 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(Y_MIN_PIN) && (Y_MIN_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMINLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(_endstop, Y_AXIS, (READ(Y_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Y_AXIS, (!READ(Y_TMC2130_DIAG))); #else // Normal homing SET_BIT_TO(_endstop, Y_AXIS, (READ(Y_MIN_PIN) != Y_MIN_ENDSTOP_INVERTING)); @@ -560,7 +547,7 @@ FORCE_INLINE void stepper_check_endstops() #if ( (defined(Y_MAX_PIN) && (Y_MAX_PIN > -1)) || defined(TMC2130_SG_HOMING) ) && !defined(DEBUG_DISABLE_YMAXLIMIT) #ifdef TMC2130_SG_HOMING // Stall guard homing turned on - SET_BIT_TO(_endstop, Y_AXIS + 4, (READ(Y_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Y_AXIS + 4, (!READ(Y_TMC2130_DIAG))); #else // Normal homing SET_BIT_TO(_endstop, Y_AXIS + 4, (READ(Y_MAX_PIN) != Y_MAX_ENDSTOP_INVERTING)); @@ -586,7 +573,7 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); else #endif //TMC2130_STEALTH_Z - SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (!READ(Z_TMC2130_DIAG))); #else SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING @@ -608,7 +595,7 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Z_AXIS + 4, 0); else #endif //TMC2130_STEALTH_Z - SET_BIT_TO(_endstop, Z_AXIS + 4, (READ(Z_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Z_AXIS + 4, (!READ(Z_TMC2130_DIAG))); #else SET_BIT_TO(_endstop, Z_AXIS + 4, (READ(Z_MAX_PIN) != Z_MAX_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING @@ -641,7 +628,7 @@ FORCE_INLINE void stepper_check_endstops() SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); else #endif //TMC2130_STEALTH_Z - SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (READ(Z_TMC2130_DIAG) != 0)); + SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) || (!READ(Z_TMC2130_DIAG))); #else SET_BIT_TO(_endstop, Z_AXIS, (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING)); #endif //TMC2130_SG_HOMING @@ -711,9 +698,9 @@ FORCE_INLINE void stepper_tick_lowres() #ifdef LIN_ADVANCE e_steps += count_direction[E_AXIS]; #else - #ifdef FILAMENT_SENSOR - fsensor_counter += count_direction[E_AXIS]; - #endif //FILAMENT_SENSOR +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + fsensor.stStep(count_direction[E_AXIS] < 0); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) STEP_NC_LO(E_AXIS); #endif } @@ -773,9 +760,9 @@ FORCE_INLINE void stepper_tick_highres() #ifdef LIN_ADVANCE e_steps += count_direction[E_AXIS]; #else - #ifdef FILAMENT_SENSOR - fsensor_counter += count_direction[E_AXIS]; - #endif //FILAMENT_SENSOR +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + fsensor.stStep(count_direction[E_AXIS] < 0); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) STEP_NC_LO(E_AXIS); #endif } @@ -970,21 +957,9 @@ FORCE_INLINE void isr() { // If current block is finished, reset pointer if (step_events_completed.wide >= current_block->step_event_count.wide) { -#if !defined(LIN_ADVANCE) && defined(FILAMENT_SENSOR) - fsensor_st_block_chunk(fsensor_counter); - fsensor_counter = 0; -#endif //FILAMENT_SENSOR - current_block = NULL; plan_discard_current_block(); } -#if !defined(LIN_ADVANCE) && defined(FILAMENT_SENSOR) - else if ((abs(fsensor_counter) >= fsensor_chunk_len)) - { - fsensor_st_block_chunk(fsensor_counter); - fsensor_counter = 0; - } -#endif //FILAMENT_SENSOR } #ifdef TMC2130 @@ -1080,19 +1055,11 @@ FORCE_INLINE void advance_isr_scheduler() { STEP_NC_HI(E_AXIS); e_steps += (rev? 1: -1); STEP_NC_LO(E_AXIS); -#if defined(FILAMENT_SENSOR) && defined(PAT9125) - fsensor_counter += (rev? -1: 1); -#endif +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + fsensor.stStep(rev); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) } while(--max_ticks); - -#if defined(FILAMENT_SENSOR) && defined(PAT9125) - if (abs(fsensor_counter) >= fsensor_chunk_len) - { - fsensor_st_block_chunk(fsensor_counter); - fsensor_counter = 0; - } -#endif } // Schedule the next closest tick, ignoring advance if scheduled too @@ -1186,22 +1153,6 @@ void st_init() #endif //endstops and pullups - - #ifdef TMC2130_SG_HOMING - SET_INPUT(X_TMC2130_DIAG); - WRITE(X_TMC2130_DIAG,HIGH); - - SET_INPUT(Y_TMC2130_DIAG); - WRITE(Y_TMC2130_DIAG,HIGH); - - SET_INPUT(Z_TMC2130_DIAG); - WRITE(Z_TMC2130_DIAG,HIGH); - - SET_INPUT(E0_TMC2130_DIAG); - WRITE(E0_TMC2130_DIAG,HIGH); - - #endif - #if defined(X_MIN_PIN) && X_MIN_PIN > -1 SET_INPUT(X_MIN_PIN); #ifdef ENDSTOPPULLUP_XMIN @@ -1691,13 +1642,3 @@ void microstep_readings() #endif } #endif //TMC2130 - - -#if defined(FILAMENT_SENSOR) && defined(PAT9125) -void st_reset_fsensor() -{ - CRITICAL_SECTION_START; - fsensor_counter = 0; - CRITICAL_SECTION_END; -} -#endif //FILAMENT_SENSOR diff --git a/Firmware/stepper.h b/Firmware/stepper.h index 3b9fb8c24..0fa2811cb 100644 --- a/Firmware/stepper.h +++ b/Firmware/stepper.h @@ -87,9 +87,4 @@ void microstep_readings(); void babystep(const uint8_t axis,const bool direction); // perform a short step with a single stepper motor, outside of any convention #endif -#if defined(FILAMENT_SENSOR) && defined(PAT9125) -// reset the internal filament sensor state -void st_reset_fsensor(); -#endif - #endif diff --git a/Firmware/strlen_cx.h b/Firmware/strlen_cx.h new file mode 100644 index 000000000..1dfc0c7b2 --- /dev/null +++ b/Firmware/strlen_cx.h @@ -0,0 +1,5 @@ +#pragma once + +constexpr inline int strlen_constexpr(const char* str){ + return *str ? 1 + strlen_constexpr(str + 1) : 0; +} diff --git a/Firmware/swi2c.c b/Firmware/swi2c.c index 4b3119aa4..d143ec600 100644 --- a/Firmware/swi2c.c +++ b/Firmware/swi2c.c @@ -15,23 +15,49 @@ #define SWI2C_ASHF 0x01 //address shift (<< 1) #define SWI2C_DMSK 0x7f //device address mask +static void __delay(void); +static void swi2c_start(void); +static void swi2c_stop(void); +// static void swi2c_ack(void); +static void swi2c_nack(void); +static uint8_t swi2c_wait_ack(); +static uint8_t swi2c_read(void); +static void swi2c_write(uint8_t data); -void __delay(void) + +void swi2c_init(void) +{ + SET_INPUT(SWI2C_SDA); + WRITE(SWI2C_SDA, 1); //SDA must be input with pullups while we are not sure if the slave is outputing or not + + WRITE(SWI2C_SCL, 0); + SET_OUTPUT(SWI2C_SCL); //SCL can be an output at all times. The bus is not in a multi-master configuration. + + for (uint8_t i = 0; i < 100; i++) //wait. Not sure what for, but wait anyway. + __delay(); + + for (uint8_t i = 0; i < 10; i++) { //send nack 10 times. This makes sure that the slave gets a nack regardless of it's state when we init the bus. + swi2c_nack(); + } + swi2c_stop(); //"release" the bus by sending a stop condition. + + SET_OUTPUT(SWI2C_SDA); //finally make the SDA line an output since the bus is idle for sure. +} + +void swi2c_disable(void) +{ + SET_INPUT(SWI2C_SDA); + WRITE(SWI2C_SDA, 0); + SET_INPUT(SWI2C_SCL); + WRITE(SWI2C_SCL, 0); +} + +static void __delay(void) { _delay_us(1.5); } -void swi2c_init(void) -{ - WRITE(SWI2C_SDA, 1); - WRITE(SWI2C_SCL, 1); - SET_OUTPUT(SWI2C_SDA); - SET_OUTPUT(SWI2C_SCL); - uint8_t i; for (i = 0; i < 100; i++) - __delay(); -} - -void swi2c_start(void) +static void swi2c_start(void) { WRITE(SWI2C_SDA, 0); __delay(); @@ -39,7 +65,7 @@ void swi2c_start(void) __delay(); } -void swi2c_stop(void) +static void swi2c_stop(void) { WRITE(SWI2C_SCL, 1); __delay(); @@ -47,7 +73,8 @@ void swi2c_stop(void) __delay(); } -void swi2c_ack(void) +/* +static void swi2c_ack(void) { WRITE(SWI2C_SDA, 0); __delay(); @@ -56,8 +83,19 @@ void swi2c_ack(void) WRITE(SWI2C_SCL, 0); __delay(); } +*/ -uint8_t swi2c_wait_ack() +static void swi2c_nack(void) +{ + WRITE(SWI2C_SDA, 1); + __delay(); + WRITE(SWI2C_SCL, 1); + __delay(); + WRITE(SWI2C_SCL, 0); + __delay(); +} + +static uint8_t swi2c_wait_ack() { SET_INPUT(SWI2C_SDA); __delay(); @@ -77,13 +115,13 @@ uint8_t swi2c_wait_ack() return ack; } -uint8_t swi2c_read(void) +static uint8_t swi2c_read(void) { WRITE(SWI2C_SDA, 1); __delay(); SET_INPUT(SWI2C_SDA); uint8_t data = 0; - int8_t bit; for (bit = 7; bit >= 0; bit--) + for (uint8_t bit = 8; bit-- > 0;) { WRITE(SWI2C_SCL, 1); __delay(); @@ -95,9 +133,9 @@ uint8_t swi2c_read(void) return data; } -void swi2c_write(uint8_t data) +static void swi2c_write(uint8_t data) { - int8_t bit; for (bit = 7; bit >= 0; bit--) + for (uint8_t bit = 8; bit-- > 0;) { WRITE(SWI2C_SDA, data & _BV(bit)); __delay(); @@ -112,9 +150,9 @@ uint8_t swi2c_check(uint8_t dev_addr) { swi2c_start(); swi2c_write((dev_addr & SWI2C_DMSK) << SWI2C_ASHF); - if (!swi2c_wait_ack()) { swi2c_stop(); return 0; } + if (!swi2c_wait_ack()) { swi2c_stop(); return 1; } swi2c_stop(); - return 1; + return 0; } #ifdef SWI2C_A8 //8bit address diff --git a/Firmware/swi2c.h b/Firmware/swi2c.h index 7b7837cf7..467c1d57b 100644 --- a/Firmware/swi2c.h +++ b/Firmware/swi2c.h @@ -13,6 +13,9 @@ extern "C" { //initialize extern void swi2c_init(void); +//deinit pins +extern void swi2c_disable(void); + //check device address acknowledge extern uint8_t swi2c_check(uint8_t dev_addr); diff --git a/Firmware/system_timer.h b/Firmware/system_timer.h index 9906460ae..d8ef8a266 100644 --- a/Firmware/system_timer.h +++ b/Firmware/system_timer.h @@ -4,6 +4,7 @@ #define FIRMWARE_SYSTEM_TIMER_H_ #include "Arduino.h" +#include "macros.h" #define SYSTEM_TIMER_2 #ifdef SYSTEM_TIMER_2 @@ -26,4 +27,24 @@ #define timer02_set_pwm0(pwm0) #endif //SYSTEM_TIMER_2 +// Timer counter, incremented by the 1ms Arduino timer. +// The standard Arduino timer() function returns this value atomically +// by disabling / enabling interrupts. This is costly, if the interrupts are known +// to be disabled. +#ifdef SYSTEM_TIMER_2 +extern volatile unsigned long timer2_millis; +#else //SYSTEM_TIMER_2 +extern volatile unsigned long timer0_millis; +#endif //SYSTEM_TIMER_2 + +// An unsynchronized equivalent to a standard Arduino _millis() function. +// To be used inside an interrupt routine. +FORCE_INLINE unsigned long millis_nc() { +#ifdef SYSTEM_TIMER_2 + return timer2_millis; +#else //SYSTEM_TIMER_2 + return timer0_millis; +#endif //SYSTEM_TIMER_2 +} + #endif /* FIRMWARE_SYSTEM_TIMER_H_ */ diff --git a/Firmware/temp_model.h b/Firmware/temp_model.h new file mode 100644 index 000000000..d0e38da1b --- /dev/null +++ b/Firmware/temp_model.h @@ -0,0 +1,115 @@ +// model-based temperature safety checker declarations +#ifndef TEMP_MGR_INTV +#error "this file is not a public interface, it should be used *only* within temperature.cpp!" +#endif + +#include "planner.h" + +constexpr uint8_t TEMP_MODEL_CAL_S = 60; // Maximum recording length during calibration (s) +constexpr uint8_t TEMP_MODEL_CAL_R_STEP = 4; // Fan interpolation steps during calibration +constexpr float TEMP_MODEL_fS = 0.065; // simulation filter (1st-order IIR factor) +constexpr float TEMP_MODEL_fE = 0.05; // error filter (1st-order IIR factor) + +// transport delay buffer size (samples) +constexpr uint8_t TEMP_MODEL_LAG_SIZE = (TEMP_MODEL_LAG / TEMP_MGR_INTV + 0.5); + +// resistance values for all fan levels +constexpr uint8_t TEMP_MODEL_R_SIZE = (1 << FAN_SOFT_PWM_BITS); + +namespace temp_model { + +struct model_data +{ + // temporary buffers + float dT_lag_buf[TEMP_MODEL_LAG_SIZE]; // transport delay buffer + uint8_t dT_lag_idx = 0; // transport delay buffer index + float dT_err_prev = 0; // previous temperature delta error + float T_prev = 0; // last temperature extruder + + // configurable parameters + float P; // heater power (W) + float C; // heatblock capacitance (J/K) + float R[TEMP_MODEL_R_SIZE]; // heatblock resistance for all fan levels (K/W) + float Ta_corr; // ambient temperature correction (K) + + // thresholds + float warn; // warning threshold (K/s) + float err; // error threshold (K/s) + + // status flags + union + { + bool flags; + struct + { + bool uninitialized: 1; // model is not initialized + bool error: 1; // error threshold set + bool warning: 1; // warning threshold set + } flag_bits; + }; + + // pre-computed values (initialized via reset) + float C_i; // heatblock capacitance (precomputed dT/C) + float warn_s; // warning threshold (per sample) + float err_s; // error threshold (per sample) + + // simulation functions + void reset(uint8_t heater_pwm, uint8_t fan_pwm, float heater_temp, float ambient_temp); + void step(uint8_t heater_pwm, uint8_t fan_pwm, float heater_temp, float ambient_temp); +}; + +static bool enabled; // model check enabled +static bool warn_beep = true; // beep on warning threshold +static model_data data; // default heater data + +static bool calibrated(); // return calibration/model validity status +static void check(); // check and trigger errors or warnings based on current state + +// warning state (updated from from isr context) +volatile static struct +{ + float dT_err; // temperature delta error (per sample) + bool warning: 1; // warning condition + bool assert: 1; // warning is still asserted +} warning_state; + +static void handle_warning(); // handle warnings from user context + +#ifdef TEMP_MODEL_DEBUG +static struct +{ + volatile struct + { + uint32_t stamp; + int8_t delta_ms; + uint8_t counter; + uint8_t cur_pwm; + float cur_temp; + float cur_amb; + } entry; + + uint8_t serial; + bool enabled; +} log_buf; + +static void log_usr(); // user log handler +static void log_isr(); // isr log handler +#endif + +} // namespace temp_model + +namespace temp_model_cal { + +// recording scratch buffer +struct rec_entry +{ + float temp; // heater temperature + uint8_t pwm; // heater PWM +}; + +constexpr uint16_t REC_BUFFER_SIZE = TEMP_MODEL_CAL_S / TEMP_MGR_INTV; +static rec_entry* const rec_buffer = (rec_entry*)block_buffer; // oh-hey, free memory! +static_assert(sizeof(rec_entry[REC_BUFFER_SIZE]) <= sizeof(block_buffer), + "recording length too long to fit within available buffer"); + +} // namespace temp_model_cal diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 6eea8de87..c7d9c5549 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -28,26 +28,76 @@ */ - -#include "Marlin.h" -#include "cmdqueue.h" +#include "temperature.h" +#include "stepper.h" #include "ultralcd.h" #include "menu.h" -#include "conv2str.h" #include "sound.h" -#include "temperature.h" -#include "cardreader.h" +#include "fancheck.h" +#include "messages.h" +#include "language.h" #include "SdFatUtil.h" #include +#include #include "adc.h" #include "ConfigurationStore.h" -#include "messages.h" #include "Timer.h" #include "Configuration_prusa.h" +#include "Prusa_farm.h" -#include "config.h" +#if (ADC_OVRSAMPL != OVERSAMPLENR) +#error "ADC_OVRSAMPL oversampling must match OVERSAMPLENR" +#endif + +#ifdef SYSTEM_TIMER_2 +#define ENABLE_SOFT_PWM_INTERRUPT() TIMSK2 |= (1< -1) - unsigned long extruder_autofan_last_check = _millis(); - - bool fan_measuring = false; - uint8_t fanState = 0; -#ifdef EXTRUDER_ALTFAN_DETECT - struct - { - uint8_t isAltfan : 1; - uint8_t altfanOverride : 1; - } altfanStatus; -#endif //EXTRUDER_ALTFAN_DETECT -#endif - - #if EXTRUDERS > 3 # error Unsupported number of extruders #elif EXTRUDERS > 2 @@ -171,8 +199,6 @@ uint8_t fanSpeedBckp = 255; # define ARRAY_BY_EXTRUDERS(v1, v2, v3) { v1 } #endif -static ShortTimer oTimer4minTempHeater,oTimer4minTempBed; - // Init min and max temp with extreme values to prevent false errors during startup static int minttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_LO_TEMP , HEATER_1_RAW_LO_TEMP , HEATER_2_RAW_LO_TEMP ); static int maxttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP ); @@ -199,7 +225,7 @@ static float analog2tempBed(int raw); #ifdef AMBIENT_MAXTEMP static float analog2tempAmbient(int raw); #endif -static void updateTemperaturesFromRawValues(); +static void updateTemperatures(); enum TempRunawayStates : uint8_t { @@ -226,56 +252,6 @@ static void temp_runaway_check(uint8_t _heater_id, float _target_temperature, fl static void temp_runaway_stop(bool isPreheat, bool isBed); #endif -#ifdef EXTRUDER_ALTFAN_DETECT -ISR(INT6_vect) { - fan_edge_counter[0]++; -} - -bool extruder_altfan_detect() -{ - setExtruderAutoFanState(3); - - SET_INPUT(TACH_0); - - uint8_t overrideVal = eeprom_read_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE); - if (overrideVal == EEPROM_EMPTY_VALUE) - { - overrideVal = (calibration_status() == CALIBRATION_STATUS_CALIBRATED) ? 1 : 0; - eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, overrideVal); - } - altfanStatus.altfanOverride = overrideVal; - - CRITICAL_SECTION_START; - EICRB &= ~(1 << ISC61); - EICRB |= (1 << ISC60); - EIMSK |= (1 << INT6); - fan_edge_counter[0] = 0; - CRITICAL_SECTION_END; - extruder_autofan_last_check = _millis(); - - _delay(1000); - - EIMSK &= ~(1 << INT6); - - countFanSpeed(); - altfanStatus.isAltfan = fan_speed[0] > 100; - setExtruderAutoFanState(1); - return altfanStatus.isAltfan; -} - -void altfanOverride_toggle() -{ - altfanStatus.altfanOverride = !altfanStatus.altfanOverride; - eeprom_update_byte((uint8_t *)EEPROM_ALTFAN_OVERRIDE, altfanStatus.altfanOverride); -} - -bool altfanOverride_get() -{ - return altfanStatus.altfanOverride; -} - -#endif //EXTRUDER_ALTFAN_DETECT - // return "false", if all extruder-heaters are 'off' (ie. "true", if any heater is 'on') bool checkAllHotends(void) { @@ -288,8 +264,9 @@ bool checkAllHotends(void) // codegen bug causing a stack overwrite issue in process_commands() void __attribute__((noinline)) PID_autotune(float temp, int extruder, int ncycles) { + preparePidTuning(); + pid_number_of_cycles = ncycles; - pid_tuning_finished = false; float input = 0.0; pid_cycle=0; bool heating = true; @@ -316,15 +293,13 @@ void __attribute__((noinline)) PID_autotune(float temp, int extruder, int ncycle ||(extruder < 0) #endif ){ - SERIAL_ECHOLN("PID Autotune failed. Bad extruder number."); + SERIAL_ECHOLNPGM("PID Autotune failed. Bad extruder number."); pid_tuning_finished = true; pid_cycle = 0; return; } - SERIAL_ECHOLN("PID Autotune start"); - - disable_heater(); // switch off all heaters. + SERIAL_ECHOLNPGM("PID Autotune start"); if (extruder<0) { @@ -340,15 +315,12 @@ void __attribute__((noinline)) PID_autotune(float temp, int extruder, int ncycle target_temperature[extruder] = (int)temp; // to display the requested target extruder temperature properly on the main screen } - - - - for(;;) { + for(;;) { #ifdef WATCHDOG wdt_reset(); #endif //WATCHDOG if(temp_meas_ready == true) { // temp sample ready - updateTemperaturesFromRawValues(); + updateTemperatures(); input = (extruder<0)?current_temperature_bed:current_temperature[extruder]; @@ -495,6 +467,7 @@ void __attribute__((noinline)) PID_autotune(float temp, int extruder, int ncycle void updatePID() { + // TODO: iState_sum_max and PID values should be synchronized for temp_mgr_isr #ifdef PIDTEMP for(uint_least8_t e = 0; e < EXTRUDERS; e++) { iState_sum_max[e] = PID_INTEGRAL_DRIVE_MAX / cs.Ki; @@ -511,399 +484,109 @@ int getHeaterPower(int heater) { return soft_pwm[heater]; } -#if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) +// reset PID state after changing target_temperature +void resetPID(uint8_t extruder _UNUSED) {} - #if defined(FAN_PIN) && FAN_PIN > -1 - #if EXTRUDER_0_AUTO_FAN_PIN == FAN_PIN - #error "You cannot set EXTRUDER_0_AUTO_FAN_PIN equal to FAN_PIN" - #endif - #endif - -void setExtruderAutoFanState(uint8_t state) +enum class TempErrorSource : uint8_t { - //If bit 1 is set (0x02), then the extruder fan speed won't be adjusted according to temperature. Useful for forcing - //the fan to either On or Off during certain tests/errors. - - fanState = state; - newFanSpeed = 0; - if (fanState & 0x01) - { -#ifdef EXTRUDER_ALTFAN_DETECT - if (altfanStatus.isAltfan && !altfanStatus.altfanOverride) newFanSpeed = EXTRUDER_ALTFAN_SPEED_SILENT; - else newFanSpeed = EXTRUDER_AUTO_FAN_SPEED; -#else //EXTRUDER_ALTFAN_DETECT - newFanSpeed = EXTRUDER_AUTO_FAN_SPEED; -#endif //EXTRUDER_ALTFAN_DETECT - } - timer4_set_fan0(newFanSpeed); -} - -#if (defined(FANCHECK) && (((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1))))) - -void countFanSpeed() -{ - //SERIAL_ECHOPGM("edge counter 1:"); MYSERIAL.println(fan_edge_counter[1]); - fan_speed[0] = (fan_edge_counter[0] * (float(250) / (_millis() - extruder_autofan_last_check))); - fan_speed[1] = (fan_edge_counter[1] * (float(250) / (_millis() - extruder_autofan_last_check))); - /*SERIAL_ECHOPGM("time interval: "); MYSERIAL.println(_millis() - extruder_autofan_last_check); - SERIAL_ECHOPGM("extruder fan speed:"); MYSERIAL.print(fan_speed[0]); SERIAL_ECHOPGM("; edge counter:"); MYSERIAL.println(fan_edge_counter[0]); - SERIAL_ECHOPGM("print fan speed:"); MYSERIAL.print(fan_speed[1]); SERIAL_ECHOPGM("; edge counter:"); MYSERIAL.println(fan_edge_counter[1]); - SERIAL_ECHOLNPGM(" ");*/ - fan_edge_counter[0] = 0; - fan_edge_counter[1] = 0; -} - -void checkFanSpeed() -{ - uint8_t max_fan_errors[2]; -#ifdef FAN_SOFT_PWM - max_fan_errors[1] = 3; // 15 seconds (Print fan) - max_fan_errors[0] = 2; // 10 seconds (Extruder fan) -#else //FAN_SOFT_PWM - max_fan_errors[1] = 15; // 15 seconds (Print fan) - max_fan_errors[0] = 5; // 5 seconds (Extruder fan) -#endif //FAN_SOFT_PWM - - if(fans_check_enabled) - fans_check_enabled = (eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED) > 0); - static uint8_t fan_speed_errors[2] = { 0,0 }; -#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 >-1)) - if ((fan_speed[0] < 20) && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)){ fan_speed_errors[0]++;} - else fan_speed_errors[0] = 0; + hotend, + bed, +#ifdef AMBIENT_THERMISTOR + ambient, #endif -#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) - if ((fan_speed[1] < 5) && ((blocks_queued() ? block_buffer[block_buffer_tail].fan_speed : fanSpeed) > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++; - else fan_speed_errors[1] = 0; +}; + +// thermal error type (in order of decreasing priority!) +enum class TempErrorType : uint8_t +{ + max, + min, + preheat, + runaway, +#ifdef TEMP_MODEL + model, #endif +}; - // drop the fan_check_error flag when both fans are ok - if( fan_speed_errors[0] == 0 && fan_speed_errors[1] == 0 && fan_check_error == EFCE_REPORTED){ - // we may even send some info to the LCD from here - fan_check_error = EFCE_FIXED; - } - if ((fan_check_error == EFCE_FIXED) && !PRINTER_ACTIVE){ - fan_check_error = EFCE_OK; //if the issue is fixed while the printer is doing nothing, reenable processing immediately. - lcd_reset_alert_level(); //for another fan speed error - } - if (fans_check_enabled && (fan_check_error == EFCE_OK)) - { - for (uint8_t fan = 0; fan < 2; fan++) - { - if (fan_speed_errors[fan] > max_fan_errors[fan]) - { - fan_speed_errors[fan] = 0; - fanSpeedError(fan); - } - } - } -} - -//! Prints serialMsg to serial port, displays lcdMsg onto the LCD and beeps. -//! Extracted from fanSpeedError to save some space. -//! @param serialMsg pointer into PROGMEM, this text will be printed to the serial port -//! @param lcdMsg pointer into PROGMEM, this text will be printed onto the LCD -static void fanSpeedErrorBeep(const char *serialMsg, const char *lcdMsg){ - SERIAL_ECHOLNRPGM(serialMsg); - if (get_message_level() == 0) { - Sound_MakeCustom(200,0,true); - LCD_ALERTMESSAGERPGM(lcdMsg); - } -} - -void fanSpeedError(unsigned char _fan) { - if (get_message_level() != 0 && isPrintPaused) return; - //to ensure that target temp. is not set to zero in case that we are resuming print - if (card.sdprinting || usb_timer.running()) { - if (heating_status != HeatingStatus::NO_HEATING) { - lcd_print_stop(); - } - else { - fan_check_error = EFCE_DETECTED; //plans error for next processed command - } - } - else { - // SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED); //Why pause octoprint? usb_timer.running() would be true in that case, so there is no need for this. - setTargetHotend0(0); - heating_status = HeatingStatus::NO_HEATING; - fan_check_error = EFCE_REPORTED; - } - switch (_fan) { - case 0: // extracting the same code from case 0 and case 1 into a function saves 72B - fanSpeedErrorBeep(PSTR("Extruder fan speed is lower than expected"), MSG_FANCHECK_EXTRUDER); - break; - case 1: - fanSpeedErrorBeep(PSTR("Print fan speed is lower than expected"), MSG_FANCHECK_PRINT); - break; - } -} -#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) - - -void checkExtruderAutoFans() +// error state (updated via set_temp_error from isr context) +volatile static union { -#if defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1 - if (!(fanState & 0x02)) - { - fanState &= ~1; - fanState |= current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE; - } - setExtruderAutoFanState(fanState); -#endif -} + uint8_t v; + struct + { + uint8_t error: 1; // error condition + uint8_t assert: 1; // error is still asserted + uint8_t source: 2; // source + uint8_t index: 1; // source index + uint8_t type: 3; // error type + }; +} temp_error_state; -#endif // any extruder auto fan pins set - -// ready for eventually parameters adjusting -void resetPID(uint8_t) // only for compiler-warning elimination (if function do nothing) -//void resetPID(uint8_t extruder) +// set the error type from within the temp_mgr isr to be handled in manager_heater +// - immediately disable all heaters and turn on all fans at full speed +// - prevent the user to set temperatures until all errors are cleared +void set_temp_error(TempErrorSource source, uint8_t index, TempErrorType type) { + // save the original target temperatures for recovery before disabling heaters + if(!temp_error_state.error && !saved_printing) { + saved_bed_temperature = target_temperature_bed; + saved_extruder_temperature = target_temperature[index]; + saved_fan_speed = fanSpeed; + } + + // keep disabling heaters and keep fans on as long as the condition is asserted + disable_heater(); + hotendFanSetFullSpeed(); + + // set the initial error source to the highest priority error + if(!temp_error_state.error || (uint8_t)type < temp_error_state.type) { + temp_error_state.source = (uint8_t)source; + temp_error_state.index = index; + temp_error_state.type = (uint8_t)type; + } + + // always set the error state + temp_error_state.error = true; + temp_error_state.assert = true; } +bool get_temp_error() +{ + return temp_error_state.v; +} + +void handle_temp_error(); + void manage_heater() { #ifdef WATCHDOG wdt_reset(); #endif //WATCHDOG - float pid_input; - float pid_output; + // limit execution to the same rate as temp_mgr (low-level fault handling is already handled - + // any remaining error handling is just user-facing and can wait one extra cycle) + if(!temp_meas_ready) + return; - if(temp_meas_ready != true) //better readability - return; -// more precisely - this condition partially stabilizes time interval for regulation values evaluation (@ ~ 230ms) + // syncronize temperatures with isr + updateTemperatures(); - // ADC values need to be converted before checking: converted values are later used in MINTEMP - updateTemperaturesFromRawValues(); - - check_max_temp(); - check_min_temp(); - -#ifdef TEMP_RUNAWAY_BED_HYSTERESIS - temp_runaway_check(0, target_temperature_bed, current_temperature_bed, (int)soft_pwm_bed, true); +#ifdef TEMP_MODEL + // handle model warnings first, so not to override the error handler + if(temp_model::warning_state.warning) + temp_model::handle_warning(); #endif - for(uint8_t e = 0; e < EXTRUDERS; e++) - { + // handle temperature errors + if(temp_error_state.v) + handle_temp_error(); -#ifdef TEMP_RUNAWAY_EXTRUDER_HYSTERESIS - temp_runaway_check(e+1, target_temperature[e], current_temperature[e], (int)soft_pwm[e], false); + // periodically check fans + checkFans(); + +#ifdef TEMP_MODEL_DEBUG + temp_model::log_usr(); #endif - - #ifdef PIDTEMP - pid_input = current_temperature[e]; - - #ifndef PID_OPENLOOP - if(target_temperature[e] == 0) { - pid_output = 0; - pid_reset[e] = true; - } else { - pid_error[e] = target_temperature[e] - pid_input; - if(pid_reset[e]) { - iState_sum[e] = 0.0; - dTerm[e] = 0.0; // 'dState_last[e]' initial setting is not necessary (see end of if-statement) - pid_reset[e] = false; - } -#ifndef PonM - pTerm[e] = cs.Kp * pid_error[e]; - iState_sum[e] += pid_error[e]; - iState_sum[e] = constrain(iState_sum[e], iState_sum_min[e], iState_sum_max[e]); - iTerm[e] = cs.Ki * iState_sum[e]; - // PID_K1 defined in Configuration.h in the PID settings - #define K2 (1.0-PID_K1) - dTerm[e] = (cs.Kd * (pid_input - dState_last[e]))*K2 + (PID_K1 * dTerm[e]); // e.g. digital filtration of derivative term changes - pid_output = pTerm[e] + iTerm[e] - dTerm[e]; // subtraction due to "Derivative on Measurement" method (i.e. derivative of input instead derivative of error is used) - if (pid_output > PID_MAX) { - if (pid_error[e] > 0 ) iState_sum[e] -= pid_error[e]; // conditional un-integration - pid_output=PID_MAX; - } else if (pid_output < 0) { - if (pid_error[e] < 0 ) iState_sum[e] -= pid_error[e]; // conditional un-integration - pid_output=0; - } -#else // PonM ("Proportional on Measurement" method) - iState_sum[e] += cs.Ki * pid_error[e]; - iState_sum[e] -= cs.Kp * (pid_input - dState_last[e]); - iState_sum[e] = constrain(iState_sum[e], 0, PID_INTEGRAL_DRIVE_MAX); - dTerm[e] = cs.Kd * (pid_input - dState_last[e]); - pid_output = iState_sum[e] - dTerm[e]; // subtraction due to "Derivative on Measurement" method (i.e. derivative of input instead derivative of error is used) - pid_output = constrain(pid_output, 0, PID_MAX); -#endif // PonM - } - dState_last[e] = pid_input; - #else - pid_output = constrain(target_temperature[e], 0, PID_MAX); - #endif //PID_OPENLOOP - #ifdef PID_DEBUG - SERIAL_ECHO_START; - SERIAL_ECHO(" PID_DEBUG "); - SERIAL_ECHO(e); - SERIAL_ECHO(": Input "); - SERIAL_ECHO(pid_input); - SERIAL_ECHO(" Output "); - SERIAL_ECHO(pid_output); - SERIAL_ECHO(" pTerm "); - SERIAL_ECHO(pTerm[e]); - SERIAL_ECHO(" iTerm "); - SERIAL_ECHO(iTerm[e]); - SERIAL_ECHO(" dTerm "); - SERIAL_ECHOLN(-dTerm[e]); - #endif //PID_DEBUG - #else /* PID off */ - pid_output = 0; - if(current_temperature[e] < target_temperature[e]) { - pid_output = PID_MAX; - } - #endif - - // Check if temperature is within the correct range - if((current_temperature[e] < maxttemp[e]) && (target_temperature[e] != 0)) - { - soft_pwm[e] = (int)pid_output >> 1; - } - else - { - soft_pwm[e] = 0; - } - } // End extruder for loop - -#define FAN_CHECK_PERIOD 5000 //5s -#define FAN_CHECK_DURATION 100 //100ms - -#ifndef DEBUG_DISABLE_FANCHECK - #if (defined(EXTRUDER_0_AUTO_FAN_PIN) && EXTRUDER_0_AUTO_FAN_PIN > -1) - -#ifdef FAN_SOFT_PWM -#ifdef FANCHECK - if ((_millis() - extruder_autofan_last_check > FAN_CHECK_PERIOD) && (!fan_measuring)) { - extruder_autofan_last_check = _millis(); - fanSpeedBckp = fanSpeedSoftPwm; - - if (fanSpeedSoftPwm >= MIN_PRINT_FAN_SPEED) { //if we are in rage where we are doing fan check, set full PWM range for a short time to measure fan RPM by reading tacho signal without modulation by PWM signal - // printf_P(PSTR("fanSpeedSoftPwm 1: %d\n"), fanSpeedSoftPwm); - fanSpeedSoftPwm = 255; - } - fan_measuring = true; - } - if ((_millis() - extruder_autofan_last_check > FAN_CHECK_DURATION) && (fan_measuring)) { - countFanSpeed(); - checkFanSpeed(); - //printf_P(PSTR("fanSpeedSoftPwm 1: %d\n"), fanSpeedSoftPwm); - fanSpeedSoftPwm = fanSpeedBckp; - //printf_P(PSTR("fan PWM: %d; extr fanSpeed measured: %d; print fan speed measured: %d \n"), fanSpeedBckp, fan_speed[0], fan_speed[1]); - extruder_autofan_last_check = _millis(); - fan_measuring = false; - } -#endif //FANCHECK - checkExtruderAutoFans(); -#else //FAN_SOFT_PWM - if(_millis() - extruder_autofan_last_check > 1000) // only need to check fan state very infrequently - { -#if (defined(FANCHECK) && ((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1)))) - countFanSpeed(); - checkFanSpeed(); -#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1) - checkExtruderAutoFans(); - extruder_autofan_last_check = _millis(); - } -#endif //FAN_SOFT_PWM - - #endif -#endif //DEBUG_DISABLE_FANCHECK - - #ifndef PIDTEMPBED - if(_millis() - previous_millis_bed_heater < BED_CHECK_INTERVAL) - return; - previous_millis_bed_heater = _millis(); - #endif - - #if TEMP_SENSOR_BED != 0 - - #ifdef PIDTEMPBED - pid_input = current_temperature_bed; - - #ifndef PID_OPENLOOP - pid_error_bed = target_temperature_bed - pid_input; - pTerm_bed = cs.bedKp * pid_error_bed; - temp_iState_bed += pid_error_bed; - temp_iState_bed = constrain(temp_iState_bed, temp_iState_min_bed, temp_iState_max_bed); - iTerm_bed = cs.bedKi * temp_iState_bed; - - //PID_K1 defined in Configuration.h in the PID settings - #define K2 (1.0-PID_K1) - dTerm_bed= (cs.bedKd * (pid_input - temp_dState_bed))*K2 + (PID_K1 * dTerm_bed); - temp_dState_bed = pid_input; - - pid_output = pTerm_bed + iTerm_bed - dTerm_bed; - if (pid_output > MAX_BED_POWER) { - if (pid_error_bed > 0 ) temp_iState_bed -= pid_error_bed; // conditional un-integration - pid_output=MAX_BED_POWER; - } else if (pid_output < 0){ - if (pid_error_bed < 0 ) temp_iState_bed -= pid_error_bed; // conditional un-integration - pid_output=0; - } - - #else - pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER); - #endif //PID_OPENLOOP - - if(current_temperature_bed < BED_MAXTEMP) - { - soft_pwm_bed = (int)pid_output >> 1; - timer02_set_pwm0(soft_pwm_bed << 1); - } - else { - soft_pwm_bed = 0; - timer02_set_pwm0(soft_pwm_bed << 1); - } - - #elif !defined(BED_LIMIT_SWITCHING) - // Check if temperature is within the correct range - if(current_temperature_bed < BED_MAXTEMP) - { - if(current_temperature_bed >= target_temperature_bed) - { - soft_pwm_bed = 0; - timer02_set_pwm0(soft_pwm_bed << 1); - } - else - { - soft_pwm_bed = MAX_BED_POWER>>1; - timer02_set_pwm0(soft_pwm_bed << 1); - } - } - else - { - soft_pwm_bed = 0; - timer02_set_pwm0(soft_pwm_bed << 1); - WRITE(HEATER_BED_PIN,LOW); - } - #else //#ifdef BED_LIMIT_SWITCHING - // Check if temperature is within the correct band - if(current_temperature_bed < BED_MAXTEMP) - { - if(current_temperature_bed > target_temperature_bed + BED_HYSTERESIS) - { - soft_pwm_bed = 0; - timer02_set_pwm0(soft_pwm_bed << 1); - } - else if(current_temperature_bed <= target_temperature_bed - BED_HYSTERESIS) - { - soft_pwm_bed = MAX_BED_POWER>>1; - timer02_set_pwm0(soft_pwm_bed << 1); - } - } - else - { - soft_pwm_bed = 0; - timer02_set_pwm0(soft_pwm_bed << 1); - WRITE(HEATER_BED_PIN,LOW); - } - #endif - if(target_temperature_bed==0) - { - soft_pwm_bed = 0; - timer02_set_pwm0(soft_pwm_bed << 1); - } - #endif } #define PGM_RD_W(x) (short)pgm_read_word(&x) @@ -1029,36 +712,7 @@ static float analog2tempAmbient(int raw) } #endif //AMBIENT_THERMISTOR -/* Called to get the raw values into the the actual temperatures. The raw values are created in interrupt context, - and this function is called from normal context as it is too slow to run in interrupts and will block the stepper routine otherwise */ -static void updateTemperaturesFromRawValues() -{ - for(uint8_t e=0;e> 2; - current_temperature_pinda = analog2tempBed(current_temperature_raw_pinda); -#endif - -#ifdef AMBIENT_THERMISTOR - current_temperature_ambient = analog2tempAmbient(current_temperature_raw_ambient); //thermistor for ambient is NTCG104LH104JT1 (2000) -#endif - -#ifdef DEBUG_HEATER_BED_SIM - current_temperature_bed = target_temperature_bed; -#else //DEBUG_HEATER_BED_SIM - current_temperature_bed = analog2tempBed(current_temperature_bed_raw); -#endif //DEBUG_HEATER_BED_SIM - - CRITICAL_SECTION_START; - temp_meas_ready = false; - CRITICAL_SECTION_END; -} - -void tp_init() +void soft_pwm_init() { #if MB(RUMBA) && ((TEMP_SENSOR_0==-1)||(TEMP_SENSOR_1==-1)||(TEMP_SENSOR_2==-1)||(TEMP_SENSOR_BED==-1)) //disable RUMBA JTAG in case the thermocouple extension is plugged on top of JTAG connector @@ -1122,20 +776,6 @@ void tp_init() digitalWrite(MAX6675_SS,1); #endif - adc_init(); - - timer0_init(); //enables the heatbed timer. - - // timer2 already enabled earlier in the code - // now enable the COMPB temperature interrupt - OCR2B = 128; - TIMSK2 |= (1< 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0) -void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed) +static void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed) { - float __delta; + float __delta; float __hysteresis = 0; uint16_t __timeout = 0; bool temp_runaway_check_active = false; static float __preheat_start[2] = { 0,0}; //currently just bed and one extruder static uint8_t __preheat_counter[2] = { 0,0}; static uint8_t __preheat_errors[2] = { 0,0}; - if (_millis() - temp_runaway_timer[_heater_id] > 2000) { @@ -1325,11 +973,8 @@ void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _cu } if (__preheat_errors[_heater_id] > ((_isbed) ? 3 : 5)) - { - if (farm_mode) { prusa_statistics(0); } - temp_runaway_stop(true, _isbed); - if (farm_mode) { prusa_statistics(91); } - } + set_temp_error((_isbed?TempErrorSource::bed:TempErrorSource::hotend), _heater_id, TempErrorType::preheat); + __preheat_start[_heater_id] = _current_temperature; __preheat_counter[_heater_id] = 0; } @@ -1366,11 +1011,7 @@ void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _cu { temp_runaway_error_counter[_heater_id]++; if (temp_runaway_error_counter[_heater_id] * 2 > __timeout) - { - if (farm_mode) { prusa_statistics(0); } - temp_runaway_stop(false, _isbed); - if (farm_mode) { prusa_statistics(90); } - } + set_temp_error((_isbed?TempErrorSource::bed:TempErrorSource::hotend), _heater_id, TempErrorType::runaway); } } } @@ -1378,106 +1019,42 @@ void temp_runaway_check(uint8_t _heater_id, float _target_temperature, float _cu } } -void temp_runaway_stop(bool isPreheat, bool isBed) +static void temp_runaway_stop(bool isPreheat, bool isBed) { - disable_heater(); - Sound_MakeCustom(200,0,true); - - if (isPreheat) - { - lcd_setalertstatuspgm(isBed? PSTR("BED PREHEAT ERROR") : PSTR("PREHEAT ERROR"), LCD_STATUS_CRITICAL); - SERIAL_ERROR_START; - isBed ? SERIAL_ERRORLNPGM(" THERMAL RUNAWAY (PREHEAT HEATBED)") : SERIAL_ERRORLNPGM(" THERMAL RUNAWAY (PREHEAT HOTEND)"); - -#ifdef EXTRUDER_ALTFAN_DETECT - altfanStatus.altfanOverride = 1; //full speed -#endif //EXTRUDER_ALTFAN_DETECT - setExtruderAutoFanState(3); - SET_OUTPUT(FAN_PIN); -#ifdef FAN_SOFT_PWM - fanSpeedSoftPwm = 255; -#else //FAN_SOFT_PWM - analogWrite(FAN_PIN, 255); -#endif //FAN_SOFT_PWM - fanSpeed = 255; - } - else - { - lcd_setalertstatuspgm(isBed? PSTR("BED THERMAL RUNAWAY") : PSTR("THERMAL RUNAWAY"), LCD_STATUS_CRITICAL); - SERIAL_ERROR_START; - isBed ? SERIAL_ERRORLNPGM(" HEATBED THERMAL RUNAWAY") : SERIAL_ERRORLNPGM(" HOTEND THERMAL RUNAWAY"); - } - - Stop(); + if(IsStopped() == false) { + if (isPreheat) { + lcd_setalertstatuspgm(isBed? PSTR("BED PREHEAT ERROR") : PSTR("PREHEAT ERROR"), LCD_STATUS_CRITICAL); + SERIAL_ERROR_START; + if (isBed) { + SERIAL_ERRORLNPGM(" THERMAL RUNAWAY (PREHEAT HEATBED)"); + } else { + SERIAL_ERRORLNPGM(" THERMAL RUNAWAY (PREHEAT HOTEND)"); + } + } else { + lcd_setalertstatuspgm(isBed? PSTR("BED THERMAL RUNAWAY") : PSTR("THERMAL RUNAWAY"), LCD_STATUS_CRITICAL); + SERIAL_ERROR_START; + if (isBed) { + SERIAL_ERRORLNPGM(" HEATBED THERMAL RUNAWAY"); + } else { + SERIAL_ERRORLNPGM(" HOTEND THERMAL RUNAWAY"); + } + } + prusa_statistics(0); + prusa_statistics(isPreheat? 91 : 90); + } + ThermalStop(); } #endif - -void disable_heater() -{ - setAllTargetHotends(0); - setTargetBed(0); - #if defined(TEMP_0_PIN) && TEMP_0_PIN > -1 - target_temperature[0]=0; - soft_pwm[0]=0; - #if defined(HEATER_0_PIN) && HEATER_0_PIN > -1 - WRITE(HEATER_0_PIN,LOW); - #endif - #endif - - #if defined(TEMP_1_PIN) && TEMP_1_PIN > -1 && EXTRUDERS > 1 - target_temperature[1]=0; - soft_pwm[1]=0; - #if defined(HEATER_1_PIN) && HEATER_1_PIN > -1 - WRITE(HEATER_1_PIN,LOW); - #endif - #endif - - #if defined(TEMP_2_PIN) && TEMP_2_PIN > -1 && EXTRUDERS > 2 - target_temperature[2]=0; - soft_pwm[2]=0; - #if defined(HEATER_2_PIN) && HEATER_2_PIN > -1 - WRITE(HEATER_2_PIN,LOW); - #endif - #endif - - #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1 - target_temperature_bed=0; - soft_pwm_bed=0; - timer02_set_pwm0(soft_pwm_bed << 1); - bedPWMDisabled = 0; - #if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1 - //WRITE(HEATER_BED_PIN,LOW); - #endif - #endif -} -//! codes of alert messages for the LCD - it is shorter to compare an uin8_t -//! than raw const char * of the messages themselves. -//! Could be used for MAXTEMP situations too - after reaching MAXTEMP and turning off the heater automagically -//! the heater/bed may cool down and a similar alert message like "MAXTERM fixed..." may be displayed. -enum { LCDALERT_NONE = 0, LCDALERT_HEATERMINTEMP, LCDALERT_BEDMINTEMP, LCDALERT_MINTEMPFIXED, LCDALERT_PLEASERESTART }; - -//! remember the last alert message sent to the LCD -//! to prevent flicker and improve speed -uint8_t last_alert_sent_to_lcd = LCDALERT_NONE; - - -//! update the current temperature error message +//! signal a temperature error on both the lcd and serial //! @param type short error abbreviation (PROGMEM) -void temp_update_messagepgm(const char* PROGMEM type) +//! @param e optional extruder index for hotend errors +static void temp_error_messagepgm(const char* PROGMEM type, uint8_t e = EXTRUDERS) { char msg[LCD_WIDTH]; strcpy_P(msg, PSTR("Err: ")); strcat_P(msg, type); lcd_setalertstatus(msg, LCD_STATUS_CRITICAL); -} - -//! signal a temperature error on both the lcd and serial -//! @param type short error abbreviation (PROGMEM) -//! @param e optional extruder index for hotend errors -void temp_error_messagepgm(const char* PROGMEM type, uint8_t e = EXTRUDERS) -{ - temp_update_messagepgm(type); SERIAL_ERROR_START; @@ -1492,106 +1069,54 @@ void temp_error_messagepgm(const char* PROGMEM type, uint8_t e = EXTRUDERS) } -void max_temp_error(uint8_t e) { - disable_heater(); - if(IsStopped() == false) { - temp_error_messagepgm(PSTR("MAXTEMP"), e); - } - #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE - Stop(); - #endif - - SET_OUTPUT(FAN_PIN); - SET_OUTPUT(BEEPER); - WRITE(FAN_PIN, 1); - WRITE(BEEPER, 1); -#ifdef EXTRUDER_ALTFAN_DETECT - altfanStatus.altfanOverride = 1; //full speed -#endif //EXTRUDER_ALTFAN_DETECT - setExtruderAutoFanState(3); - // fanSpeed will consumed by the check_axes_activity() routine. - fanSpeed=255; - if (farm_mode) { prusa_statistics(93); } -} - -void min_temp_error(uint8_t e) { -#ifdef DEBUG_DISABLE_MINTEMP - return; +static void max_temp_error(uint8_t e) { + if(IsStopped() == false) { + temp_error_messagepgm(PSTR("MAXTEMP"), e); + prusa_statistics(93); + } +#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE + ThermalStop(); #endif - disable_heater(); -//if (current_temperature_ambient < MINTEMP_MINAMBIENT) return; - static const char err[] PROGMEM = "MINTEMP"; - if(IsStopped() == false) { - temp_error_messagepgm(err, e); - last_alert_sent_to_lcd = LCDALERT_HEATERMINTEMP; - } else if( last_alert_sent_to_lcd != LCDALERT_HEATERMINTEMP ){ // only update, if the lcd message is to be changed (i.e. not the same as last time) - // we are already stopped due to some error, only update the status message without flickering - temp_update_messagepgm(err); - last_alert_sent_to_lcd = LCDALERT_HEATERMINTEMP; - } - #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE -// if( last_alert_sent_to_lcd != LCDALERT_HEATERMINTEMP ){ -// last_alert_sent_to_lcd = LCDALERT_HEATERMINTEMP; -// lcd_print_stop(); -// } - Stop(); - #endif - if (farm_mode) { prusa_statistics(92); } - } -void bed_max_temp_error(void) { - disable_heater(); - if(IsStopped() == false) { - temp_error_messagepgm(PSTR("MAXTEMP BED")); - } - #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE - Stop(); - #endif +static void min_temp_error(uint8_t e) { + static const char err[] PROGMEM = "MINTEMP"; + if(IsStopped() == false) { + temp_error_messagepgm(err, e); + prusa_statistics(92); + } + ThermalStop(); } -void bed_min_temp_error(void) { -#ifdef DEBUG_DISABLE_MINTEMP - return; -#endif - disable_heater(); +static void bed_max_temp_error(void) { + if(IsStopped() == false) { + temp_error_messagepgm(PSTR("MAXTEMP BED")); + } + ThermalStop(); +} + +static void bed_min_temp_error(void) { static const char err[] PROGMEM = "MINTEMP BED"; if(IsStopped() == false) { temp_error_messagepgm(err); - last_alert_sent_to_lcd = LCDALERT_BEDMINTEMP; - } else if( last_alert_sent_to_lcd != LCDALERT_BEDMINTEMP ){ // only update, if the lcd message is to be changed (i.e. not the same as last time) - // we are already stopped due to some error, only update the status message without flickering - temp_update_messagepgm(err); - last_alert_sent_to_lcd = LCDALERT_BEDMINTEMP; - } -#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE - Stop(); -#endif + } + ThermalStop(); } #ifdef AMBIENT_THERMISTOR -void ambient_max_temp_error(void) { - disable_heater(); +static void ambient_max_temp_error(void) { if(IsStopped() == false) { temp_error_messagepgm(PSTR("MAXTEMP AMB")); } -#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE - Stop(); -#endif + ThermalStop(); } -void ambient_min_temp_error(void) { -#ifdef DEBUG_DISABLE_MINTEMP - return; -#endif - disable_heater(); +static void ambient_min_temp_error(void) { if(IsStopped() == false) { temp_error_messagepgm(PSTR("MINTEMP AMB")); } -#ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE - Stop(); -#endif + ThermalStop(); } #endif @@ -1652,49 +1177,33 @@ int read_max6675() } #endif +#ifdef BABYSTEPPING +FORCE_INLINE static void applyBabysteps() { + for(uint8_t axis=0;axis<3;axis++) + { + int curTodo=babystepsTodo[axis]; //get rid of volatile for performance -extern "C" { - - -void adc_ready(void) //callback from adc when sampling finished + if(curTodo>0) { - current_temperature_raw[0] = adc_values[ADC_PIN_IDX(TEMP_0_PIN)]; //heater -#ifdef PINDA_THERMISTOR - current_temperature_raw_pinda_fast = adc_values[ADC_PIN_IDX(TEMP_PINDA_PIN)]; -#endif //PINDA_THERMISTOR - current_temperature_bed_raw = adc_values[ADC_PIN_IDX(TEMP_BED_PIN)]; -#ifdef VOLT_PWR_PIN - current_voltage_raw_pwr = adc_values[ADC_PIN_IDX(VOLT_PWR_PIN)]; -#endif -#ifdef AMBIENT_THERMISTOR - current_temperature_raw_ambient = adc_values[ADC_PIN_IDX(TEMP_AMBIENT_PIN)]; // 5->6 -#endif //AMBIENT_THERMISTOR -#ifdef VOLT_BED_PIN - current_voltage_raw_bed = adc_values[ADC_PIN_IDX(VOLT_BED_PIN)]; // 6->9 -#endif -#ifdef IR_SENSOR_ANALOG - current_voltage_raw_IR = adc_values[ADC_PIN_IDX(VOLT_IR_PIN)]; -#endif //IR_SENSOR_ANALOG - temp_meas_ready = true; + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + babystep(axis,/*fwd*/true); + babystepsTodo[axis]--; //less to do next time + } + } + else + if(curTodo<0) + { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + babystep(axis,/*fwd*/false); + babystepsTodo[axis]++; //less to do next time + } + } + } } +#endif //BABYSTEPPING -} // extern "C" - -FORCE_INLINE static void temperature_isr() +FORCE_INLINE static void soft_pwm_core() { -#ifdef DEBUG_PULLUP_CRASH - // check for faulty pull-ups enabled on thermistor inputs - if ((PORTF & (uint8_t)(ADC_DIDR_MSK & 0xff)) || (PORTK & (uint8_t)((ADC_DIDR_MSK >> 8) & 0xff))) - pullup_error(true); -#else - PORTF &= ~(uint8_t)(ADC_DIDR_MSK & 0xff); - PORTK &= ~(uint8_t)((ADC_DIDR_MSK >> 8) & 0xff); -#endif // DEBUG_PULLUP_CRASH - - - if (!temp_meas_ready) adc_cycle(); - lcd_buttons_update(); - static uint8_t pwm_count = (1 << SOFT_PWM_SCALE); static uint8_t soft_pwm_0; #ifdef SLOW_PWM_HEATERS @@ -2029,36 +1538,22 @@ FORCE_INLINE static void temperature_isr() } //if ((pwm_count % 64) == 0) { #endif //ifndef SLOW_PWM_HEATERS +} + +FORCE_INLINE static void soft_pwm_isr() +{ + lcd_buttons_update(); + soft_pwm_core(); - #ifdef BABYSTEPPING - for(uint8_t axis=0;axis<3;axis++) - { - int curTodo=babystepsTodo[axis]; //get rid of volatile for performance - - if(curTodo>0) - { - CRITICAL_SECTION_START; - babystep(axis,/*fwd*/true); - babystepsTodo[axis]--; //less to do next time - CRITICAL_SECTION_END; - } - else - if(curTodo<0) - { - CRITICAL_SECTION_START; - babystep(axis,/*fwd*/false); - babystepsTodo[axis]++; //less to do next time - CRITICAL_SECTION_END; - } - } + applyBabysteps(); #endif //BABYSTEPPING // Check if a stack overflow happened if (!SdFatUtil::test_stack_integrity()) stack_error(); #if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) - check_fans(); + readFanTach(); #endif //(defined(TACH_0)) } @@ -2069,48 +1564,45 @@ ISR(TIMER2_COMPB_vect) ISR(TIMER0_COMPB_vect) #endif //SYSTEM_TIMER_2 { - static bool _lock = false; - if (!_lock) - { - _lock = true; - sei(); - temperature_isr(); - cli(); - _lock = false; + DISABLE_SOFT_PWM_INTERRUPT(); + NONATOMIC_BLOCK(NONATOMIC_FORCEOFF) { + soft_pwm_isr(); } + ENABLE_SOFT_PWM_INTERRUPT(); } -void check_max_temp() +void check_max_temp_raw() { -//heater + //heater #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP if (current_temperature_raw[0] <= maxttemp_raw[0]) { #else if (current_temperature_raw[0] >= maxttemp_raw[0]) { #endif - max_temp_error(0); + set_temp_error(TempErrorSource::hotend, 0, TempErrorType::max); } -//bed + //bed #if defined(BED_MAXTEMP) && (TEMP_SENSOR_BED != 0) #if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP if (current_temperature_bed_raw <= bed_maxttemp_raw) { #else if (current_temperature_bed_raw >= bed_maxttemp_raw) { #endif - bed_max_temp_error(); + set_temp_error(TempErrorSource::bed, 0, TempErrorType::max); } #endif -//ambient + //ambient #if defined(AMBIENT_MAXTEMP) && (TEMP_SENSOR_AMBIENT != 0) #if AMBIENT_RAW_LO_TEMP > AMBIENT_RAW_HI_TEMP if (current_temperature_raw_ambient <= ambient_maxttemp_raw) { #else if (current_temperature_raw_ambient >= ambient_maxttemp_raw) { #endif - ambient_max_temp_error(); + set_temp_error(TempErrorSource::ambient, 0, TempErrorType::max); } #endif } + //! number of repeating the same state with consecutive step() calls //! used to slow down text switching struct alert_automaton_mintemp { @@ -2122,9 +1614,10 @@ private: States state = States::Init; uint8_t repeat = ALERT_AUTOMATON_SPEED_DIV; - void substep(States next_state){ + void substep(const char* next_msg, States next_state){ if( repeat == 0 ){ state = next_state; // advance to the next state + lcd_setalertstatuspgm(next_msg, LCD_STATUS_CRITICAL); repeat = ALERT_AUTOMATON_SPEED_DIV; // and prepare repeating for it too } else { --repeat; @@ -2139,25 +1632,18 @@ public: switch(state){ case States::Init: // initial state - check hysteresis if( current_temp > mintemp ){ + lcd_setalertstatuspgm(m2, LCD_STATUS_CRITICAL); state = States::TempAboveMintemp; } // otherwise keep the Err MINTEMP alert message on the display, // i.e. do not transfer to state 1 break; case States::TempAboveMintemp: // the temperature has risen above the hysteresis check - lcd_setalertstatuspgm(m2); - substep(States::ShowMintemp); - last_alert_sent_to_lcd = LCDALERT_MINTEMPFIXED; + case States::ShowMintemp: // displaying "MINTEMP fixed" + substep(m1, States::ShowPleaseRestart); break; case States::ShowPleaseRestart: // displaying "Please restart" - lcd_updatestatuspgm(m1); - substep(States::ShowMintemp); - last_alert_sent_to_lcd = LCDALERT_PLEASERESTART; - break; - case States::ShowMintemp: // displaying "MINTEMP fixed" - lcd_updatestatuspgm(m2); - substep(States::ShowPleaseRestart); - last_alert_sent_to_lcd = LCDALERT_MINTEMPFIXED; + substep(m2, States::ShowMintemp); break; } } @@ -2168,23 +1654,12 @@ static alert_automaton_mintemp alert_automaton_hotend(m2hotend), alert_automaton void check_min_temp_heater0() { -//heater #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP if (current_temperature_raw[0] >= minttemp_raw[0]) { #else if (current_temperature_raw[0] <= minttemp_raw[0]) { #endif - menu_set_serious_error(SERIOUS_ERR_MINTEMP_HEATER); - min_temp_error(0); - } else if( menu_is_serious_error(SERIOUS_ERR_MINTEMP_HEATER) ) { - // no recovery, just force the user to restart the printer - // which is a safer variant than just continuing printing - // The automaton also checks for hysteresis - the temperature must have reached a few degrees above the MINTEMP, before - // we shall signalize, that MINTEMP has been fixed - // Code notice: normally the alert_automaton instance would have been placed here - // as static alert_automaton_mintemp alert_automaton_hotend, but - // due to stupid compiler that takes 16 more bytes. - alert_automaton_hotend.step(current_temperature[0], minttemp[0] + TEMP_HYSTERESIS); + set_temp_error(TempErrorSource::hotend, 0, TempErrorType::min); } } @@ -2195,12 +1670,7 @@ void check_min_temp_bed() #else if (current_temperature_bed_raw <= bed_minttemp_raw) { #endif - menu_set_serious_error(SERIOUS_ERR_MINTEMP_BED); - bed_min_temp_error(); - } else if( menu_is_serious_error(SERIOUS_ERR_MINTEMP_BED) ){ - // no recovery, just force the user to restart the printer - // which is a safer variant than just continuing printing - alert_automaton_bed.step(current_temperature_bed, BED_MINTEMP + TEMP_HYSTERESIS); + set_temp_error(TempErrorSource::bed, 0, TempErrorType::min); } } @@ -2212,89 +1682,104 @@ void check_min_temp_ambient() #else if (current_temperature_raw_ambient <= ambient_minttemp_raw) { #endif - ambient_min_temp_error(); + set_temp_error(TempErrorSource::ambient, 0, TempErrorType::min); } } #endif -void check_min_temp() +void handle_temp_error() { -static bool bCheckingOnHeater=false; // state variable, which allows to short no-checking delay (is set, when temperature is (first time) over heaterMintemp) -static bool bCheckingOnBed=false; // state variable, which allows to short no-checking delay (is set, when temperature is (first time) over bedMintemp) + // relay to the original handler + switch((TempErrorType)temp_error_state.type) { + case TempErrorType::min: + switch((TempErrorSource)temp_error_state.source) { + case TempErrorSource::hotend: + if(temp_error_state.assert) { + min_temp_error(temp_error_state.index); + } else { + // no recovery, just force the user to restart the printer + // which is a safer variant than just continuing printing + // The automaton also checks for hysteresis - the temperature must have reached a few degrees above the MINTEMP, before + // we shall signalize, that MINTEMP has been fixed + // Code notice: normally the alert_automaton instance would have been placed here + // as static alert_automaton_mintemp alert_automaton_hotend, but + alert_automaton_hotend.step(current_temperature[0], minttemp[0] + TEMP_HYSTERESIS); + } + break; + case TempErrorSource::bed: + if(temp_error_state.assert) { + bed_min_temp_error(); + } else { + // no recovery, just force the user to restart the printer + // which is a safer variant than just continuing printing + alert_automaton_bed.step(current_temperature_bed, BED_MINTEMP + TEMP_HYSTERESIS); + } + break; #ifdef AMBIENT_THERMISTOR -#ifdef AMBIENT_MINTEMP -check_min_temp_ambient(); + case TempErrorSource::ambient: + ambient_min_temp_error(); + break; #endif -#if AMBIENT_RAW_LO_TEMP > AMBIENT_RAW_HI_TEMP -if(current_temperature_raw_ambient>(OVERSAMPLENR*MINTEMP_MINAMBIENT_RAW)) // thermistor is NTC type -#else -if(current_temperature_raw_ambient=<(OVERSAMPLENR*MINTEMP_MINAMBIENT_RAW)) -#endif - { // ambient temperature is low -#endif //AMBIENT_THERMISTOR -// *** 'common' part of code for MK2.5 & MK3 -// * nozzle checking -if(target_temperature[active_extruder]>minttemp[active_extruder]) - { // ~ nozzle heating is on - bCheckingOnHeater=bCheckingOnHeater||(current_temperature[active_extruder]>(minttemp[active_extruder]+TEMP_HYSTERESIS)); // for eventually delay cutting - if(oTimer4minTempHeater.expired(HEATER_MINTEMP_DELAY)||(!oTimer4minTempHeater.running())||bCheckingOnHeater) - { - bCheckingOnHeater=true; // not necessary - check_min_temp_heater0(); // delay is elapsed or temperature is/was over minTemp => periodical checking is active - } - } -else { // ~ nozzle heating is off - oTimer4minTempHeater.start(); - bCheckingOnHeater=false; - } -// * bed checking -if(target_temperature_bed>BED_MINTEMP) - { // ~ bed heating is on - bCheckingOnBed=bCheckingOnBed||(current_temperature_bed>(BED_MINTEMP+TEMP_HYSTERESIS)); // for eventually delay cutting - if(oTimer4minTempBed.expired(BED_MINTEMP_DELAY)||(!oTimer4minTempBed.running())||bCheckingOnBed) - { - bCheckingOnBed=true; // not necessary - check_min_temp_bed(); // delay is elapsed or temperature is/was over minTemp => periodical checking is active - } - } -else { // ~ bed heating is off - oTimer4minTempBed.start(); - bCheckingOnBed=false; - } -// *** end of 'common' part + } + break; + case TempErrorType::max: + switch((TempErrorSource)temp_error_state.source) { + case TempErrorSource::hotend: + max_temp_error(temp_error_state.index); + break; + case TempErrorSource::bed: + bed_max_temp_error(); + break; #ifdef AMBIENT_THERMISTOR - } -else { // ambient temperature is standard - check_min_temp_heater0(); - check_min_temp_bed(); - } -#endif //AMBIENT_THERMISTOR -} - -#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 > -1)) -void check_fans() { -#ifdef FAN_SOFT_PWM - if (READ(TACH_0) != fan_state[0]) { - if(fan_measuring) fan_edge_counter[0] ++; - fan_state[0] = !fan_state[0]; - } -#else //FAN_SOFT_PWM - if (READ(TACH_0) != fan_state[0]) { - fan_edge_counter[0] ++; - fan_state[0] = !fan_state[0]; - } + case TempErrorSource::ambient: + ambient_max_temp_error(); + break; #endif - //if (READ(TACH_1) != fan_state[1]) { - // fan_edge_counter[1] ++; - // fan_state[1] = !fan_state[1]; - //} + } + break; + case TempErrorType::preheat: + case TempErrorType::runaway: + switch((TempErrorSource)temp_error_state.source) { + case TempErrorSource::hotend: + case TempErrorSource::bed: + temp_runaway_stop( + ((TempErrorType)temp_error_state.type == TempErrorType::preheat), + ((TempErrorSource)temp_error_state.source == TempErrorSource::bed)); + break; +#ifdef AMBIENT_THERMISTOR + case TempErrorSource::ambient: + // not needed + break; +#endif + } + break; +#ifdef TEMP_MODEL + case TempErrorType::model: + if(temp_error_state.assert) { + if(IsStopped() == false) { + SERIAL_ECHOLNPGM("TM: error triggered!"); + } + ThermalStop(true); + WRITE(BEEPER, HIGH); + } else { + temp_error_state.v = 0; + WRITE(BEEPER, LOW); + menu_unset_block(MENU_BLOCK_THERMAL_ERROR); + + // hotend error was transitory and disappeared, re-enable bed + if (!target_temperature_bed) + target_temperature_bed = saved_bed_temperature; + + SERIAL_ECHOLNPGM("TM: error cleared"); + } + break; +#endif + } } -#endif //TACH_0 #ifdef PIDTEMP // Apply the scale factors to the PID values - float scalePID_i(float i) { return i*PID_dT; @@ -2345,3 +1830,1091 @@ bool has_temperature_compensation() #endif //PINDA_THERMISTOR +// RAII helper class to run a code block with temp_mgr_isr disabled +class TempMgrGuard +{ + bool temp_mgr_state; + +public: + TempMgrGuard() { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + temp_mgr_state = TEMP_MGR_INTERRUPT_STATE(); + DISABLE_TEMP_MGR_INTERRUPT(); + } + } + + ~TempMgrGuard() throw() { + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + if(temp_mgr_state) ENABLE_TEMP_MGR_INTERRUPT(); + } + } +}; + +void temp_mgr_init() +{ + // initialize the ADC and start a conversion + adc_init(); + adc_start_cycle(); + + // initialize temperature timer + ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { + + // CTC + TCCRxB &= ~(1< PID_MAX) { + if (pid_error[e] > 0 ) iState_sum[e] -= pid_error[e]; // conditional un-integration + pid_output=PID_MAX; + } else if (pid_output < 0) { + if (pid_error[e] < 0 ) iState_sum[e] -= pid_error[e]; // conditional un-integration + pid_output=0; + } +#else // PonM ("Proportional on Measurement" method) + iState_sum[e] += cs.Ki * pid_error[e]; + iState_sum[e] -= cs.Kp * (pid_input - dState_last[e]); + iState_sum[e] = constrain(iState_sum[e], 0, PID_INTEGRAL_DRIVE_MAX); + dTerm[e] = cs.Kd * (pid_input - dState_last[e]); + pid_output = iState_sum[e] - dTerm[e]; // subtraction due to "Derivative on Measurement" method (i.e. derivative of input instead derivative of error is used) + pid_output = constrain(pid_output, 0, PID_MAX); +#endif // PonM + } + dState_last[e] = pid_input; +#else //PID_OPENLOOP + pid_output = constrain(target[e], 0, PID_MAX); +#endif //PID_OPENLOOP + +#ifdef PID_DEBUG + SERIAL_ECHO_START; + SERIAL_ECHO(" PID_DEBUG "); + SERIAL_ECHO(e); + SERIAL_ECHO(": Input "); + SERIAL_ECHO(pid_input); + SERIAL_ECHO(" Output "); + SERIAL_ECHO(pid_output); + SERIAL_ECHO(" pTerm "); + SERIAL_ECHO(pTerm[e]); + SERIAL_ECHO(" iTerm "); + SERIAL_ECHO(iTerm[e]); + SERIAL_ECHO(" dTerm "); + SERIAL_ECHOLN(-dTerm[e]); +#endif //PID_DEBUG + +#else /* PID off */ + pid_output = 0; + if(current[e] < target[e]) { + pid_output = PID_MAX; + } +#endif + + // Check if temperature is within the correct range + if((current < maxttemp[e]) && (target != 0)) + soft_pwm[e] = (int)pid_output >> 1; + else + soft_pwm[e] = 0; +} + +static void pid_bed(const float current, const int target) +{ + float pid_input; + float pid_output; + +#ifndef PIDTEMPBED + if(_millis() - previous_millis_bed_heater < BED_CHECK_INTERVAL) + return; + previous_millis_bed_heater = _millis(); +#endif + +#if TEMP_SENSOR_BED != 0 + +#ifdef PIDTEMPBED + pid_input = current; + +#ifndef PID_OPENLOOP + pid_error_bed = target - pid_input; + pTerm_bed = cs.bedKp * pid_error_bed; + temp_iState_bed += pid_error_bed; + temp_iState_bed = constrain(temp_iState_bed, temp_iState_min_bed, temp_iState_max_bed); + iTerm_bed = cs.bedKi * temp_iState_bed; + + //PID_K1 defined in Configuration.h in the PID settings +#define K2 (1.0-PID_K1) + dTerm_bed= (cs.bedKd * (pid_input - temp_dState_bed))*K2 + (PID_K1 * dTerm_bed); + temp_dState_bed = pid_input; + + pid_output = pTerm_bed + iTerm_bed - dTerm_bed; + if (pid_output > MAX_BED_POWER) { + if (pid_error_bed > 0 ) temp_iState_bed -= pid_error_bed; // conditional un-integration + pid_output=MAX_BED_POWER; + } else if (pid_output < 0){ + if (pid_error_bed < 0 ) temp_iState_bed -= pid_error_bed; // conditional un-integration + pid_output=0; + } + +#else + pid_output = constrain(target, 0, MAX_BED_POWER); +#endif //PID_OPENLOOP + + if(current < BED_MAXTEMP) + { + soft_pwm_bed = (int)pid_output >> 1; + timer02_set_pwm0(soft_pwm_bed << 1); + } + else + { + soft_pwm_bed = 0; + timer02_set_pwm0(soft_pwm_bed << 1); + } + +#elif !defined(BED_LIMIT_SWITCHING) + // Check if temperature is within the correct range + if(current < BED_MAXTEMP) + { + if(current >= target) + { + soft_pwm_bed = 0; + timer02_set_pwm0(soft_pwm_bed << 1); + } + else + { + soft_pwm_bed = MAX_BED_POWER>>1; + timer02_set_pwm0(soft_pwm_bed << 1); + } + } + else + { + soft_pwm_bed = 0; + timer02_set_pwm0(soft_pwm_bed << 1); + WRITE(HEATER_BED_PIN,LOW); + } +#else //#ifdef BED_LIMIT_SWITCHING + // Check if temperature is within the correct band + if(current < BED_MAXTEMP) + { + if(current > target + BED_HYSTERESIS) + { + soft_pwm_bed = 0; + timer02_set_pwm0(soft_pwm_bed << 1); + } + else if(current <= target - BED_HYSTERESIS) + { + soft_pwm_bed = MAX_BED_POWER>>1; + timer02_set_pwm0(soft_pwm_bed << 1); + } + } + else + { + soft_pwm_bed = 0; + timer02_set_pwm0(soft_pwm_bed << 1); + WRITE(HEATER_BED_PIN,LOW); + } +#endif //BED_LIMIT_SWITCHING + + if(target==0) + { + soft_pwm_bed = 0; + timer02_set_pwm0(soft_pwm_bed << 1); + } +#endif //TEMP_SENSOR_BED +} + +// ISR-safe temperatures +static volatile bool adc_values_ready = false; +float current_temperature_isr[EXTRUDERS]; +int target_temperature_isr[EXTRUDERS]; +float current_temperature_bed_isr; +int target_temperature_bed_isr; +#ifdef PINDA_THERMISTOR +float current_temperature_pinda_isr; +#endif +#ifdef AMBIENT_THERMISTOR +float current_temperature_ambient_isr; +#endif + +// ISR callback from adc when sampling finished +void adc_callback() +{ + current_temperature_raw[0] = adc_values[ADC_PIN_IDX(TEMP_0_PIN)]; //heater + current_temperature_bed_raw = adc_values[ADC_PIN_IDX(TEMP_BED_PIN)]; +#ifdef PINDA_THERMISTOR + current_temperature_raw_pinda = adc_values[ADC_PIN_IDX(TEMP_PINDA_PIN)]; +#endif //PINDA_THERMISTOR +#ifdef AMBIENT_THERMISTOR + current_temperature_raw_ambient = adc_values[ADC_PIN_IDX(TEMP_AMBIENT_PIN)]; // 5->6 +#endif //AMBIENT_THERMISTOR +#ifdef VOLT_PWR_PIN + current_voltage_raw_pwr = adc_values[ADC_PIN_IDX(VOLT_PWR_PIN)]; +#endif +#ifdef VOLT_BED_PIN + current_voltage_raw_bed = adc_values[ADC_PIN_IDX(VOLT_BED_PIN)]; // 6->9 +#endif +#ifdef IR_SENSOR_ANALOG + current_voltage_raw_IR = adc_values[ADC_PIN_IDX(VOLT_IR_PIN)]; +#endif //IR_SENSOR_ANALOG + adc_values_ready = true; +} + +static void setCurrentTemperaturesFromIsr() +{ + for(uint8_t e=0;e -1 && EXTRUDERS > 0 + WRITE(HEATER_0_PIN,LOW); +#endif +#if defined(HEATER_1_PIN) && HEATER_1_PIN > -1 && EXTRUDERS > 1 + WRITE(HEATER_1_PIN,LOW); +#endif +#if defined(HEATER_2_PIN) && HEATER_2_PIN > -1 && EXTRUDERS > 2 + WRITE(HEATER_2_PIN,LOW); +#endif +#if defined(HEATER_BED_PIN) && HEATER_BED_PIN > -1 + // TODO: this doesn't take immediate effect! + timer02_set_pwm0(0); + bedPWMDisabled = 0; +#endif + } +} + +static void check_min_temp_raw() +{ + static bool bCheckingOnHeater = false; // state variable, which allows to short no-checking delay (is set, when temperature is (first time) over heaterMintemp) + static bool bCheckingOnBed = false; // state variable, which allows to short no-checking delay (is set, when temperature is (first time) over bedMintemp) + static ShortTimer oTimer4minTempHeater; + static ShortTimer oTimer4minTempBed; + +#ifdef AMBIENT_THERMISTOR +#ifdef AMBIENT_MINTEMP + // we need to check ambient temperature + check_min_temp_ambient(); +#endif +#if AMBIENT_RAW_LO_TEMP > AMBIENT_RAW_HI_TEMP + if(current_temperature_raw_ambient>(OVERSAMPLENR*MINTEMP_MINAMBIENT_RAW)) // thermistor is NTC type +#else + if(current_temperature_raw_ambient=<(OVERSAMPLENR*MINTEMP_MINAMBIENT_RAW)) +#endif + { + // ambient temperature is low +#endif //AMBIENT_THERMISTOR + // *** 'common' part of code for MK2.5 & MK3 + // * nozzle checking + if(target_temperature_isr[active_extruder]>minttemp[active_extruder]) { + // ~ nozzle heating is on + bCheckingOnHeater=bCheckingOnHeater||(current_temperature_isr[active_extruder]>(minttemp[active_extruder]+TEMP_HYSTERESIS)); // for eventually delay cutting + if(oTimer4minTempHeater.expired(HEATER_MINTEMP_DELAY)||(!oTimer4minTempHeater.running())||bCheckingOnHeater) { + bCheckingOnHeater=true; // not necessary + check_min_temp_heater0(); // delay is elapsed or temperature is/was over minTemp => periodical checking is active + } + } + else { + // ~ nozzle heating is off + oTimer4minTempHeater.start(); + bCheckingOnHeater=false; + } + // * bed checking + if(target_temperature_bed_isr>BED_MINTEMP) { + // ~ bed heating is on + bCheckingOnBed=bCheckingOnBed||(current_temperature_bed_isr>(BED_MINTEMP+TEMP_HYSTERESIS)); // for eventually delay cutting + if(oTimer4minTempBed.expired(BED_MINTEMP_DELAY)||(!oTimer4minTempBed.running())||bCheckingOnBed) { + bCheckingOnBed=true; // not necessary + check_min_temp_bed(); // delay is elapsed or temperature is/was over minTemp => periodical checking is active + } + } + else { + // ~ bed heating is off + oTimer4minTempBed.start(); + bCheckingOnBed=false; + } + // *** end of 'common' part +#ifdef AMBIENT_THERMISTOR + } + else { + // ambient temperature is standard + check_min_temp_heater0(); + check_min_temp_bed(); + } +#endif //AMBIENT_THERMISTOR +} + +static void check_temp_raw() +{ + // order is relevant: check_min_temp_raw requires max to be reliable due to + // ambient temperature being used for low handling temperatures + check_max_temp_raw(); + check_min_temp_raw(); +} + +#ifdef TEMP_MODEL +namespace temp_model { + +void model_data::reset(uint8_t heater_pwm _UNUSED, uint8_t fan_pwm _UNUSED, + float heater_temp _UNUSED, float ambient_temp _UNUSED) +{ + // pre-compute invariant values + C_i = (TEMP_MGR_INTV / C); + warn_s = warn * TEMP_MGR_INTV; + err_s = err * TEMP_MGR_INTV; + + // initial values + for(uint8_t i = 0; i != TEMP_MODEL_LAG_SIZE; ++i) + dT_lag_buf[i] = NAN; + dT_lag_idx = 0; + dT_err_prev = 0; + T_prev = NAN; + + // clear the initialization flag + flag_bits.uninitialized = false; +} + +static constexpr float iir_mul(const float a, const float b, const float f, const float nanv) +{ + const float a_ = !isnan(a) ? a : nanv; + return (a_ * (1.f - f)) + (b * f); +} + +void model_data::step(uint8_t heater_pwm, uint8_t fan_pwm, float heater_temp, float ambient_temp) +{ + constexpr float soft_pwm_inv = 1. / ((1 << 7) - 1); + + // input values + const float heater_scale = soft_pwm_inv * heater_pwm; + const float cur_heater_temp = heater_temp; + const float cur_ambient_temp = ambient_temp + Ta_corr; + const float cur_R = R[fan_pwm]; // resistance at current fan power (K/W) + + float dP = P * heater_scale; // current power [W] + float dPl = (cur_heater_temp - cur_ambient_temp) / cur_R; // [W] leakage power + float dT = (dP - dPl) * C_i; // expected temperature difference (K) + + // filter and lag dT + uint8_t dT_next_idx = (dT_lag_idx == (TEMP_MODEL_LAG_SIZE - 1) ? 0: dT_lag_idx + 1); + float dT_lag = dT_lag_buf[dT_next_idx]; + float dT_lag_prev = dT_lag_buf[dT_lag_idx]; + float dT_f = iir_mul(dT_lag_prev, dT, TEMP_MODEL_fS, dT); + dT_lag_buf[dT_next_idx] = dT_f; + dT_lag_idx = dT_next_idx; + + // calculate and filter dT_err + float dT_err = (cur_heater_temp - T_prev) - dT_lag; + float dT_err_f = iir_mul(dT_err_prev, dT_err, TEMP_MODEL_fE, 0.); + T_prev = cur_heater_temp; + dT_err_prev = dT_err_f; + + // check and trigger errors + flag_bits.error = (fabsf(dT_err_f) > err_s); + flag_bits.warning = (fabsf(dT_err_f) > warn_s); +} + +// verify calibration status and trigger a model reset if valid +void setup() +{ + if(!calibrated()) enabled = false; + data.flag_bits.uninitialized = true; +} + +bool calibrated() +{ + if(!(data.P >= 0)) return false; + if(!(data.C >= 0)) return false; + if(!(data.Ta_corr != NAN)) return false; + for(uint8_t i = 0; i != TEMP_MODEL_R_SIZE; ++i) { + if(!(temp_model::data.R[i] >= 0)) + return false; + } + if(!(data.warn != NAN)) return false; + if(!(data.err != NAN)) return false; + return true; +} + +void check() +{ + if(!enabled) return; + + uint8_t heater_pwm = soft_pwm[0]; + uint8_t fan_pwm = soft_pwm_fan; + float heater_temp = current_temperature_isr[0]; + float ambient_temp = current_temperature_ambient_isr; + + // check if a reset is required to seed the model: this needs to be done with valid + // ADC values, so we can't do that directly in init() + if(data.flag_bits.uninitialized) + data.reset(heater_pwm, fan_pwm, heater_temp, ambient_temp); + + // step the model + data.step(heater_pwm, fan_pwm, heater_temp, ambient_temp); + + // handle errors + if(data.flag_bits.error) + set_temp_error(TempErrorSource::hotend, 0, TempErrorType::model); + + // handle warning conditions as lower-priority but with greater feedback + warning_state.assert = data.flag_bits.warning; + if(warning_state.assert) { + warning_state.warning = true; + warning_state.dT_err = temp_model::data.dT_err_prev; + } +} + +void handle_warning() +{ + // update values + float warn = data.warn; + float dT_err; + { + TempMgrGuard temp_mgr_guard; + dT_err = warning_state.dT_err; + } + dT_err /= TEMP_MGR_INTV; // per-sample => K/s + + printf_P(PSTR("TM: error |%f|>%f\n"), (double)dT_err, (double)warn); + + static bool first = true; + if(warning_state.assert) { + if (first) { + if(warn_beep) { + lcd_setalertstatuspgm(_T(MSG_THERMAL_ANOMALY), LCD_STATUS_INFO); + WRITE(BEEPER, HIGH); + } + } else { + if(warn_beep) TOGGLE(BEEPER); + } + } else { + // warning cleared, reset state + warning_state.warning = false; + if(warn_beep) WRITE(BEEPER, LOW); + first = true; + } +} + +#ifdef TEMP_MODEL_DEBUG +void log_usr() +{ + if(!log_buf.enabled) return; + + uint8_t counter = log_buf.entry.counter; + if (counter == log_buf.serial) return; + + int8_t delta_ms; + uint8_t cur_pwm; + + // avoid strict-aliasing warnings + union { float cur_temp; uint32_t cur_temp_b; }; + union { float cur_amb; uint32_t cur_amb_b; }; + + { + TempMgrGuard temp_mgr_guard; + delta_ms = log_buf.entry.delta_ms; + counter = log_buf.entry.counter; + cur_pwm = log_buf.entry.cur_pwm; + cur_temp = log_buf.entry.cur_temp; + cur_amb = log_buf.entry.cur_amb; + } + + uint8_t d = counter - log_buf.serial; + log_buf.serial = counter; + + printf_P(PSTR("TML %d %d %x %lx %lx\n"), (unsigned)d - 1, (int)delta_ms + 1, + (int)cur_pwm, (unsigned long)cur_temp_b, (unsigned long)cur_amb_b); +} + +void log_isr() +{ + if(!log_buf.enabled) return; + + uint32_t stamp = _millis(); + uint8_t delta_ms = stamp - log_buf.entry.stamp - (uint32_t)(TEMP_MGR_INTV * 1000); + log_buf.entry.stamp = stamp; + + ++log_buf.entry.counter; + log_buf.entry.delta_ms = delta_ms; + log_buf.entry.cur_pwm = soft_pwm[0]; + log_buf.entry.cur_temp = current_temperature_isr[0]; + log_buf.entry.cur_amb = current_temperature_ambient_isr; +} +#endif + +} // namespace temp_model + +static void temp_model_reset_enabled(bool enabled) +{ + TempMgrGuard temp_mgr_guard; + temp_model::enabled = enabled; + temp_model::data.flag_bits.uninitialized = true; +} + +void temp_model_set_enabled(bool enabled) +{ + // set the enabled flag + { + TempMgrGuard temp_mgr_guard; + temp_model::enabled = enabled; + temp_model::setup(); + } + + // verify that the model has been enabled + if(enabled && !temp_model::enabled) + SERIAL_ECHOLNPGM("TM: invalid parameters, cannot enable"); +} + +void temp_model_set_warn_beep(bool enabled) +{ + temp_model::warn_beep = enabled; +} + +void temp_model_set_params(float C, float P, float Ta_corr, float warn, float err) +{ + TempMgrGuard temp_mgr_guard; + + if(!isnan(C) && C > 0) temp_model::data.C = C; + if(!isnan(P) && P > 0) temp_model::data.P = P; + if(!isnan(Ta_corr)) temp_model::data.Ta_corr = Ta_corr; + if(!isnan(err) && err > 0) temp_model::data.err = err; + if(!isnan(warn) && warn > 0) temp_model::data.warn = warn; + + // ensure warn <= err + if (temp_model::data.warn > temp_model::data.err) + temp_model::data.warn = temp_model::data.err; + + temp_model::setup(); +} + +void temp_model_set_resistance(uint8_t index, float R) +{ + if(index >= TEMP_MODEL_R_SIZE || R <= 0) + return; + + TempMgrGuard temp_mgr_guard; + temp_model::data.R[index] = R; + temp_model::setup(); +} + +void temp_model_report_settings() +{ + SERIAL_ECHO_START; + SERIAL_ECHOLNPGM("Temperature Model settings:"); + for(uint8_t i = 0; i != TEMP_MODEL_R_SIZE; ++i) + printf_P(PSTR("%S M310 I%u R%.2f\n"), echomagic, (unsigned)i, (double)temp_model::data.R[i]); + printf_P(PSTR("%S M310 P%.2f C%.2f S%u B%u E%.2f W%.2f T%.2f\n"), + echomagic, (double)temp_model::data.P, (double)temp_model::data.C, + (unsigned)temp_model::enabled, (unsigned)temp_model::warn_beep, + (double)temp_model::data.err, (double)temp_model::data.warn, + (double)temp_model::data.Ta_corr); +} + +void temp_model_reset_settings() +{ + TempMgrGuard temp_mgr_guard; + + temp_model::data.P = TEMP_MODEL_P; + temp_model::data.C = TEMP_MODEL_C; + temp_model::data.R[0] = TEMP_MODEL_R; + for(uint8_t i = 1; i != TEMP_MODEL_R_SIZE; ++i) + temp_model::data.R[i] = NAN; + temp_model::data.Ta_corr = TEMP_MODEL_Ta_corr; + temp_model::data.warn = TEMP_MODEL_W; + temp_model::data.err = TEMP_MODEL_E; + temp_model::warn_beep = true; + temp_model::enabled = false; +} + +void temp_model_load_settings() +{ + static_assert(TEMP_MODEL_R_SIZE == 16); // ensure we don't desync with the eeprom table + TempMgrGuard temp_mgr_guard; + + temp_model::enabled = eeprom_read_byte((uint8_t*)EEPROM_TEMP_MODEL_ENABLE); + temp_model::data.P = eeprom_read_float((float*)EEPROM_TEMP_MODEL_P); + temp_model::data.C = eeprom_read_float((float*)EEPROM_TEMP_MODEL_C); + for(uint8_t i = 0; i != TEMP_MODEL_R_SIZE; ++i) + temp_model::data.R[i] = eeprom_read_float((float*)EEPROM_TEMP_MODEL_R + i); + temp_model::data.Ta_corr = eeprom_read_float((float*)EEPROM_TEMP_MODEL_Ta_corr); + temp_model::data.warn = eeprom_read_float((float*)EEPROM_TEMP_MODEL_W); + temp_model::data.err = eeprom_read_float((float*)EEPROM_TEMP_MODEL_E); + + if(!temp_model::calibrated()) { + SERIAL_ECHOLNPGM("TM: stored calibration invalid, resetting"); + temp_model_reset_settings(); + } + temp_model::setup(); +} + +void temp_model_save_settings() +{ + eeprom_update_byte((uint8_t*)EEPROM_TEMP_MODEL_ENABLE, temp_model::enabled); + eeprom_update_float((float*)EEPROM_TEMP_MODEL_P, temp_model::data.P); + eeprom_update_float((float*)EEPROM_TEMP_MODEL_C, temp_model::data.C); + for(uint8_t i = 0; i != TEMP_MODEL_R_SIZE; ++i) + eeprom_update_float((float*)EEPROM_TEMP_MODEL_R + i, temp_model::data.R[i]); + eeprom_update_float((float*)EEPROM_TEMP_MODEL_Ta_corr, temp_model::data.Ta_corr); + eeprom_update_float((float*)EEPROM_TEMP_MODEL_W, temp_model::data.warn); + eeprom_update_float((float*)EEPROM_TEMP_MODEL_E, temp_model::data.err); +} + +namespace temp_model_cal { + +// set current fan speed for both front/backend +static __attribute__((noinline)) void set_fan_speed(uint8_t fan_speed) +{ + fanSpeed = fan_speed; +#ifdef FAN_SOFT_PWM + fanSpeedSoftPwm = fan_speed; +#endif +} + +static void waiting_handler() +{ + manage_heater(); + host_keepalive(); + host_autoreport(); + checkFans(); + lcd_update(0); +} + +static void wait(unsigned ms) +{ + unsigned long mark = _millis() + ms; + while(_millis() < mark) { + if(temp_error_state.v) break; + waiting_handler(); + } +} + +static void __attribute__((noinline)) wait_temp() +{ + while(current_temperature[0] < (target_temperature[0] - TEMP_HYSTERESIS)) { + if(temp_error_state.v) break; + waiting_handler(); + } +} + +static void cooldown(float temp) +{ + uint8_t old_speed = fanSpeed; + set_fan_speed(255); + while(current_temperature[0] >= temp) { + if(temp_error_state.v) break; + float ambient = current_temperature_ambient + temp_model::data.Ta_corr; + if(current_temperature[0] < (ambient + TEMP_HYSTERESIS)) { + // do not get stuck waiting very close to ambient temperature + break; + } + waiting_handler(); + } + set_fan_speed(old_speed); +} + +static uint16_t record(uint16_t samples = REC_BUFFER_SIZE) { + TempMgrGuard temp_mgr_guard; + + uint16_t pos = 0; + while(pos < samples) { + if(!TEMP_MGR_INT_FLAG_STATE()) { + // temperatures not ready yet, just manage heaters while waiting to reduce jitter + manage_heater(); + continue; + } + TEMP_MGR_INT_FLAG_CLEAR(); + + // manually repeat what the regular isr would do + if(adc_values_ready != true) continue; + adc_values_ready = false; + adc_start_cycle(); + temp_mgr_isr(); + + // stop recording for an hard error condition + if(temp_error_state.v) + return 0; + + // record a new entry + rec_entry& entry = rec_buffer[pos]; + entry.temp = current_temperature_isr[0]; + entry.pwm = soft_pwm[0]; + ++pos; + + // it's now safer to give regular serial/lcd updates a shot + waiting_handler(); + } + + return pos; +} + +static float cost_fn(uint16_t samples, float* const var, float v, uint8_t fan_pwm, float ambient) +{ + *var = v; + temp_model::data.reset(rec_buffer[0].pwm, fan_pwm, rec_buffer[0].temp, ambient); + float err = 0; + uint16_t cnt = 0; + for(uint16_t i = 1; i < samples; ++i) { + temp_model::data.step(rec_buffer[i].pwm, fan_pwm, rec_buffer[i].temp, ambient); + float err_v = temp_model::data.dT_err_prev; + if(!isnan(err_v)) { + err += err_v * err_v; + ++cnt; + } + } + return cnt ? (err / cnt) : NAN; +} + +constexpr float GOLDEN_RATIO = 0.6180339887498949; + +static void update_section(float points[2], const float bounds[2]) +{ + float d = GOLDEN_RATIO * (bounds[1] - bounds[0]); + points[0] = bounds[0] + d; + points[1] = bounds[1] - d; +} + +static float estimate(uint16_t samples, + float* const var, float min, float max, + float thr, uint16_t max_itr, + uint8_t fan_pwm, float ambient) +{ + // during estimation we alter the model values without an extra copy to conserve memory + // so we cannot keep the main checker active until a value has been found + bool was_enabled = temp_model::enabled; + temp_model_reset_enabled(false); + + float orig = *var; + float e = NAN; + float points[2]; + float bounds[2] = {min, max}; + update_section(points, bounds); + + for(uint8_t it = 0; it != max_itr; ++it) { + float c1 = cost_fn(samples, var, points[0], fan_pwm, ambient); + float c2 = cost_fn(samples, var, points[1], fan_pwm, ambient); + bool dir = (c2 < c1); + bounds[dir] = points[!dir]; + update_section(points, bounds); + float x = points[!dir]; + e = (1-GOLDEN_RATIO) * fabsf((bounds[0]-bounds[1]) / x); + + printf_P(PSTR("TM iter:%u v:%.2f e:%.3f\n"), it, x, e); + if(e < thr) { + if(x == min || x == max) { + // real value likely outside of the search boundaries + break; + } + + *var = x; + temp_model_reset_enabled(was_enabled); + return e; + } + } + + SERIAL_ECHOLNPGM("TM estimation did not converge"); + *var = orig; + temp_model_reset_enabled(was_enabled); + return NAN; +} + +static bool autotune(int16_t cal_temp) +{ + uint16_t samples; + float e; + + // bootstrap C/R values without fan + set_fan_speed(0); + + for(uint8_t i = 0; i != 2; ++i) { + const char* PROGMEM verb = (i == 0? PSTR("initial"): PSTR("refining")); + + target_temperature[0] = 0; + if(current_temperature[0] >= TEMP_MODEL_CAL_Tl) { + printf_P(PSTR("TM: cooling down to %dC\n"), TEMP_MODEL_CAL_Tl); + cooldown(TEMP_MODEL_CAL_Tl); + wait(10000); + } + + printf_P(PSTR("TM: %S C estimation\n"), verb); + target_temperature[0] = cal_temp; + samples = record(); + if(temp_error_state.v || !samples) + return true; + + // we need a high R value for the initial C guess + if(isnan(temp_model::data.R[0])) + temp_model::data.R[0] = TEMP_MODEL_Rh; + + e = estimate(samples, &temp_model::data.C, + TEMP_MODEL_Cl, TEMP_MODEL_Ch, TEMP_MODEL_C_thr, TEMP_MODEL_C_itr, + 0, current_temperature_ambient); + if(isnan(e)) + return true; + + wait_temp(); + if(i) break; // we don't need to refine R + wait(30000); // settle PID regulation + + printf_P(PSTR("TM: %S R estimation @ %dC\n"), verb, cal_temp); + samples = record(); + if(temp_error_state.v || !samples) + return true; + + e = estimate(samples, &temp_model::data.R[0], + TEMP_MODEL_Rl, TEMP_MODEL_Rh, TEMP_MODEL_R_thr, TEMP_MODEL_R_itr, + 0, current_temperature_ambient); + if(isnan(e)) + return true; + } + + // Estimate fan losses at regular intervals, starting from full speed to avoid low-speed + // kickstart issues, although this requires us to wait more for the PID stabilization. + // Normally exhibits logarithmic behavior with the stock fan+shroud, so the shorter interval + // at lower speeds is helpful to increase the resolution of the interpolation. + set_fan_speed(255); + wait(30000); + + for(int8_t i = TEMP_MODEL_R_SIZE - 1; i > 0; i -= TEMP_MODEL_CAL_R_STEP) { + uint8_t speed = 256 / TEMP_MODEL_R_SIZE * (i + 1) - 1; + set_fan_speed(speed); + wait(10000); + + printf_P(PSTR("TM: R[%u] estimation\n"), (unsigned)i); + samples = record(); + if(temp_error_state.v || !samples) + return true; + + // a fixed fan pwm (the norminal value) is used here, as soft_pwm_fan will be modified + // during fan measurements and we'd like to include that skew during normal operation. + e = estimate(samples, &temp_model::data.R[i], + TEMP_MODEL_Rl, temp_model::data.R[0], TEMP_MODEL_R_thr, TEMP_MODEL_R_itr, + i, current_temperature_ambient); + if(isnan(e)) + return true; + } + + // interpolate remaining steps to speed-up calibration + // TODO: verify that the sampled values are monotically increasing? + int8_t next = TEMP_MODEL_R_SIZE - 1; + for(uint8_t i = TEMP_MODEL_R_SIZE - 2; i != 0; --i) { + if(!((TEMP_MODEL_R_SIZE - i - 1) % TEMP_MODEL_CAL_R_STEP)) { + next = i; + continue; + } + int8_t prev = next - TEMP_MODEL_CAL_R_STEP; + if(prev < 0) prev = 0; + float f = (float)(i - prev) / TEMP_MODEL_CAL_R_STEP; + float d = (temp_model::data.R[next] - temp_model::data.R[prev]); + temp_model::data.R[i] = temp_model::data.R[prev] + d * f; + } + + return false; +} + +} // namespace temp_model_cal + +void temp_model_autotune(int16_t temp, bool selftest) +{ + if(moves_planned() || printer_active()) { + SERIAL_ECHOLNPGM("TM: printer needs to be idle for calibration"); + return; + } + + // lockout the printer during calibration + KEEPALIVE_STATE(IN_PROCESS); + menu_set_block(MENU_BLOCK_TEMP_MODEL_AUTOTUNE); + lcd_setstatuspgm(_i("Temp. model autotune")); ////MSG_TEMP_MODEL_AUTOTUNE c=20 + lcd_return_to_status(); + + // set the model checking state during self-calibration + bool was_enabled = temp_model::enabled; + temp_model_reset_enabled(selftest); + + SERIAL_ECHOLNPGM("TM: autotune start"); + bool err = temp_model_cal::autotune(temp > 0 ? temp : TEMP_MODEL_CAL_Th); + + // always reset temperature + disable_heater(); + + if(err) { + SERIAL_ECHOLNPGM("TM: autotune failed"); + lcd_setstatuspgm(_i("TM autotune failed")); ////MSG_TM_AUTOTUNE_FAILED c=20 + if(temp_error_state.v) + temp_model_cal::set_fan_speed(255); + } else { + lcd_setstatuspgm(MSG_WELCOME); + temp_model_cal::set_fan_speed(0); + temp_model_set_enabled(was_enabled); + temp_model_report_settings(); + } + + menu_unset_block(MENU_BLOCK_TEMP_MODEL_AUTOTUNE); +} + +#ifdef TEMP_MODEL_DEBUG +void temp_model_log_enable(bool enable) +{ + if(enable) { + TempMgrGuard temp_mgr_guard; + temp_model::log_buf.entry.stamp = _millis(); + } + temp_model::log_buf.enabled = enable; +} +#endif +#endif diff --git a/Firmware/temperature.h b/Firmware/temperature.h index 3dd1c999a..85f4d91d8 100755 --- a/Firmware/temperature.h +++ b/Firmware/temperature.h @@ -22,29 +22,13 @@ #define temperature_h #include "Marlin.h" -#include "planner.h" - -#include "stepper.h" - #include "config.h" - -#ifdef SYSTEM_TIMER_2 - -#define ENABLE_TEMPERATURE_INTERRUPT() TIMSK2 |= (1< -1 - extern unsigned char soft_pwm_bed; -#endif - extern bool bedPWMDisabled; #ifdef PIDTEMP extern int pid_cycle, pid_number_of_cycles; extern float _Kp,_Ki,_Kd; - extern bool pid_tuning_finished; float scalePID_i(float i); float scalePID_d(float d); float unscalePID_i(float i); float unscalePID_d(float d); + + bool pidTuningRunning(); // returns true if PID tuning is still running + void preparePidTuning(); // non-blocking call to set "pidTuningRunning" to true immediately #endif @@ -156,8 +138,7 @@ FORCE_INLINE void setTargetHotend(const float &celsius, uint8_t extruder) { static inline void setTargetHotendSafe(const float &celsius, uint8_t extruder) { if (extruder -1)) +void temp_model_autotune(int16_t temp = 0, bool selftest = false); -enum { - EFCE_OK = 0, //!< normal operation, both fans are ok - EFCE_FIXED, //!< previous fan error was fixed - EFCE_DETECTED, //!< fan error detected, but not reported yet - EFCE_REPORTED //!< fan error detected and reported to LCD and serial -}; -extern volatile uint8_t fan_check_error; +#ifdef TEMP_MODEL_DEBUG +void temp_model_log_enable(bool enable); +#endif +#endif -void countFanSpeed(); -void checkFanSpeed(); -void fanSpeedError(unsigned char _fan); - -void check_fans(); - -#endif //(defined(TACH_0)) - -void check_min_temp(); -void check_max_temp(); - -#ifdef EXTRUDER_ALTFAN_DETECT - extern bool extruder_altfan_detect(); - extern void altfanOverride_toggle(); - extern bool altfanOverride_get(); -#endif //EXTRUDER_ALTFAN_DETECT - -extern unsigned long extruder_autofan_last_check; +#ifdef FAN_SOFT_PWM +extern unsigned char fanSpeedSoftPwm; +#endif extern uint8_t fanSpeedBckp; -extern bool fan_measuring; #endif diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 3e4e48535..b19a7e116 100755 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -11,7 +11,7 @@ #include "Timer.h" #define TMC2130_GCONF_NORMAL 0x00000000 // spreadCycle -#define TMC2130_GCONF_SGSENS 0x00003180 // spreadCycle with stallguard (stall activates DIAG0 and DIAG1 [pushpull]) +#define TMC2130_GCONF_SGSENS 0x00000180 // spreadCycle with stallguard (stall activates DIAG0 and DIAG1 [open collector]) #define TMC2130_GCONF_SILENT 0x00000004 // stealthChop @@ -66,11 +66,6 @@ tmc2130_chopper_config_t tmc2130_chopper_config[4] = { bool tmc2130_sg_stop_on_crash = true; uint8_t tmc2130_sg_diag_mask = 0x00; uint8_t tmc2130_sg_crash = 0; -uint16_t tmc2130_sg_err[4] = {0, 0, 0, 0}; -uint16_t tmc2130_sg_cnt[4] = {0, 0, 0, 0}; -#ifdef DEBUG_CRASHDET_COUNTERS -bool tmc2130_sg_change = false; -#endif //used for triggering a periodic check (1s) of the overtemperature pre-warning flag at ~120C (+-20C) ShortTimer tmc2130_overtemp_timer; @@ -157,15 +152,21 @@ void tmc2130_init(TMCInitParams params) SET_OUTPUT(Y_TMC2130_CS); SET_OUTPUT(Z_TMC2130_CS); SET_OUTPUT(E0_TMC2130_CS); + SET_INPUT(X_TMC2130_DIAG); SET_INPUT(Y_TMC2130_DIAG); SET_INPUT(Z_TMC2130_DIAG); SET_INPUT(E0_TMC2130_DIAG); + WRITE(X_TMC2130_DIAG,HIGH); + WRITE(Y_TMC2130_DIAG,HIGH); + WRITE(Z_TMC2130_DIAG,HIGH); + WRITE(E0_TMC2130_DIAG,HIGH); + for (uint_least8_t axis = 0; axis < 2; axis++) // X Y axes { tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); tmc2130_wr(axis, TMC2130_REG_TPOWERDOWN, 0x00000000); - tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:__tcoolthrs(axis)); tmc2130_wr(axis, TMC2130_REG_GCONF, (tmc2130_mode == TMC2130_MODE_SILENT)?TMC2130_GCONF_SILENT:TMC2130_GCONF_SGSENS); tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); @@ -179,7 +180,7 @@ void tmc2130_init(TMCInitParams params) #ifndef TMC2130_STEALTH_Z tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); #else //TMC2130_STEALTH_Z - tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, (tmc2130_mode == TMC2130_MODE_SILENT)?0:__tcoolthrs(axis)); tmc2130_wr(axis, TMC2130_REG_GCONF, (tmc2130_mode == TMC2130_MODE_SILENT)?TMC2130_GCONF_SILENT:TMC2130_GCONF_SGSENS); tmc2130_wr_PWMCONF(axis, tmc2130_pwm_ampl[axis], tmc2130_pwm_grad[axis], tmc2130_pwm_freq[axis], tmc2130_pwm_auto[axis], 0, 0); @@ -210,15 +211,6 @@ void tmc2130_init(TMCInitParams params) #endif //TMC2130_STEALTH_E } - tmc2130_sg_err[0] = 0; - tmc2130_sg_err[1] = 0; - tmc2130_sg_err[2] = 0; - tmc2130_sg_err[3] = 0; - tmc2130_sg_cnt[0] = 0; - tmc2130_sg_cnt[1] = 0; - tmc2130_sg_cnt[2] = 0; - tmc2130_sg_cnt[3] = 0; - #ifdef TMC2130_LINEARITY_CORRECTION #ifdef TMC2130_LINEARITY_CORRECTION_XYZ tmc2130_set_wave(X_AXIS, 247, tmc2130_wave_fac[X_AXIS]); @@ -238,48 +230,22 @@ void tmc2130_init(TMCInitParams params) uint8_t tmc2130_sample_diag() { uint8_t mask = 0; - if (READ(X_TMC2130_DIAG)) mask |= X_AXIS_MASK; - if (READ(Y_TMC2130_DIAG)) mask |= Y_AXIS_MASK; -// if (READ(Z_TMC2130_DIAG)) mask |= Z_AXIS_MASK; -// if (READ(E0_TMC2130_DIAG)) mask |= E_AXIS_MASK; + if (!READ(X_TMC2130_DIAG)) mask |= X_AXIS_MASK; + if (!READ(Y_TMC2130_DIAG)) mask |= Y_AXIS_MASK; +// if (!READ(Z_TMC2130_DIAG)) mask |= Z_AXIS_MASK; +// if (!READ(E0_TMC2130_DIAG)) mask |= E_AXIS_MASK; return mask; } void tmc2130_st_isr() { - if (tmc2130_mode == TMC2130_MODE_SILENT || tmc2130_sg_stop_on_crash == false) return; - uint8_t crash = 0; - uint8_t diag_mask = tmc2130_sample_diag(); -// for (uint8_t axis = X_AXIS; axis <= E_AXIS; axis++) - for (uint8_t axis = X_AXIS; axis <= Z_AXIS; axis++) - { - uint8_t mask = (X_AXIS_MASK << axis); - if (diag_mask & mask) tmc2130_sg_err[axis]++; - else - if (tmc2130_sg_err[axis] > 0) tmc2130_sg_err[axis]--; - if (tmc2130_sg_cnt[axis] < tmc2130_sg_err[axis]) - { - tmc2130_sg_cnt[axis] = tmc2130_sg_err[axis]; -#ifdef DEBUG_CRASHDET_COUNTERS - tmc2130_sg_change = true; -#endif - uint8_t sg_thr = 64; -// if (axis == Y_AXIS) sg_thr = 64; - if (tmc2130_sg_err[axis] >= sg_thr) - { - tmc2130_sg_err[axis] = 0; - crash |= mask; - } - } - } - if (tmc2130_sg_homing_axes_mask == 0) - { - if (tmc2130_sg_stop_on_crash && crash) - { - tmc2130_sg_crash = crash; - tmc2130_sg_stop_on_crash = false; - crashdet_stop_and_save_print(); - } + if (tmc2130_mode == TMC2130_MODE_SILENT || tmc2130_sg_stop_on_crash == false || tmc2130_sg_homing_axes_mask != 0) + return; + uint8_t mask = tmc2130_sample_diag(); + if (tmc2130_sg_stop_on_crash && mask) { + tmc2130_sg_crash = mask; + tmc2130_sg_stop_on_crash = false; + crashdet_stop_and_save_print(); } } @@ -312,7 +278,6 @@ void tmc2130_home_enter(uint8_t axes_mask) //Configuration to spreadCycle tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr_home[axis]) << 16)); -// tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, __tcoolthrs(axis)); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r_home[axis]); if (mask & (X_AXIS_MASK | Y_AXIS_MASK | Z_AXIS_MASK)) @@ -349,8 +314,7 @@ void tmc2130_home_exit() { // tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_NORMAL); tmc2130_setup_chopper(axis, tmc2130_mres[axis], tmc2130_current_h[axis], tmc2130_current_r[axis]); -// tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); - tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16)); + tmc2130_wr(axis, TMC2130_REG_COOLCONF, (((uint32_t)tmc2130_sg_thr[axis]) << 16) | ((uint32_t)1 << 24)); tmc2130_wr(axis, TMC2130_REG_TCOOLTHRS, __tcoolthrs(axis)); tmc2130_wr(axis, TMC2130_REG_GCONF, TMC2130_GCONF_SGSENS); } @@ -413,22 +377,7 @@ void tmc2130_check_overtemp() } tmc2130_overtemp_timer.start(); -#ifdef DEBUG_CRASHDET_COUNTERS - tmc2130_sg_change = true; -#endif } -#ifdef DEBUG_CRASHDET_COUNTERS - if (tmc2130_sg_change) - { - for (int i = 0; i < 4; i++) - { - tmc2130_sg_change = false; - lcd_set_cursor(0 + i*4, 3); - lcd_print(itostr3(tmc2130_sg_cnt[i])); - lcd_print(' '); - } - } -#endif //DEBUG_CRASHDET_COUNTERS } void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_t current_r) diff --git a/Firmware/twi.cpp b/Firmware/twi.cpp index bbaaa8a00..07e0f1e8e 100644 --- a/Firmware/twi.cpp +++ b/Firmware/twi.cpp @@ -21,6 +21,7 @@ #include +#include #include "config.h" #include "fastio.h" #include "twi.h" @@ -29,8 +30,24 @@ void twi_init(void) { - // activate internal pullups for twi. + // activate internal pullups for SDA + SET_INPUT(SDA_PIN); WRITE(SDA_PIN, 1); + + // start with the SDA pulled low + WRITE(SCL_PIN, 0); + SET_OUTPUT(SCL_PIN); + + // clock 10 cycles to make sure that the sensor is not stuck in a register read. + for (uint8_t i = 0; i < 10; i++) { + WRITE(SCL_PIN, 1); + _delay_us((1000000 / TWI_FREQ) / 2); + WRITE(SCL_PIN, 0); + _delay_us((1000000 / TWI_FREQ) / 2); + } + + // activate internal pullups for SCL + SET_INPUT(SCL_PIN); WRITE(SCL_PIN, 1); // initialize twi prescaler and bit rate @@ -101,6 +118,25 @@ static uint8_t twi_start(uint8_t address, uint8_t reg) } +uint8_t twi_check(uint8_t address) +{ + // send start condition + TWCR = _BV(TWEN) | _BV(TWINT) | _BV(TWSTA); + if(twi_wait(TW_START)) + return 1; + + // send address + TWDR = TW_WRITE | (address << 1); + TWCR = _BV(TWEN) | _BV(TWINT); + if(twi_wait(TW_MT_SLA_ACK)) + return 2; + + // send stop + twi_stop(); + return 0; +} + + uint8_t twi_r8(uint8_t address, uint8_t reg, uint8_t* data) { if(twi_start(address, reg)) diff --git a/Firmware/twi.h b/Firmware/twi.h index 01b1deb6b..017c9a042 100644 --- a/Firmware/twi.h +++ b/Firmware/twi.h @@ -26,7 +26,7 @@ #define TWI_FREQ 400000L #endif -#define TWI_TIMEOUT_MS 100 +#define TWI_TIMEOUT_MS 10 /* * Function twi_init @@ -44,6 +44,14 @@ void twi_init(void); */ void twi_disable(void); +/* + * Function twi_check + * Desc checks if a device exists on the bus + * Input address: 7bit i2c device address + * Output 0 on device found at address + */ +uint8_t twi_check(uint8_t address); + /* * Function twi_r8 * Desc read a single byte from a device diff --git a/Firmware/uart2.c b/Firmware/uart2.c index f3da9ed33..5d90889d5 100644 --- a/Firmware/uart2.c +++ b/Firmware/uart2.c @@ -12,7 +12,7 @@ #define uart2_txcomplete (UCSR2A & (1 << TXC2)) #define uart2_txready (UCSR2A & (1 << UDRE2)) -uint8_t uart2_ibuf[14] = {0, 0}; +uint8_t uart2_ibuf[20] = {0, 0}; FILE _uart2io = {0}; @@ -33,13 +33,13 @@ int uart2_getchar(_UNUSED FILE *stream) } //uart init (io + FILE stream) -void uart2_init(void) +void uart2_init(uint32_t baudRate) { DDRH &= ~0x01; PORTH |= 0x01; rbuf_ini(uart2_ibuf, sizeof(uart2_ibuf) - 4); UCSR2A |= (1 << U2X2); // baudrate multiplier - UBRR2L = UART_BAUD_SELECT(UART2_BAUD, F_CPU); // select baudrate + UBRR2L = UART_BAUD_SELECT(baudRate, F_CPU); // select baudrate UCSR2B = (1 << RXEN2) | (1 << TXEN2); // enable receiver and transmitter UCSR2B |= (1 << RXCIE2); // enable rx interrupt fdev_setup_stream(uart2io, uart2_putchar, uart2_getchar, _FDEV_SETUP_WRITE | _FDEV_SETUP_READ); //setup uart2 i/o stream diff --git a/Firmware/uart2.h b/Firmware/uart2.h index 05f15d8ff..4c72daa83 100644 --- a/Firmware/uart2.h +++ b/Firmware/uart2.h @@ -15,7 +15,7 @@ extern FILE _uart2io; #define uart2io (&_uart2io) -extern void uart2_init(void); +extern void uart2_init(uint32_t baudRate); extern int8_t uart2_rx_str_P(const char* str); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp old mode 100755 new mode 100644 index 3ed89f9f4..8a8bf7fa5 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6,11 +6,10 @@ #include "temperature.h" #include "ultralcd.h" #include "conv2str.h" -#include "fsensor.h" #include "Marlin.h" #include "language.h" #include "cardreader.h" -#include "temperature.h" +#include "fancheck.h" #include "stepper.h" #include "ConfigurationStore.h" #include "printers.h" @@ -29,10 +28,7 @@ //#include "Configuration.h" #include "cmdqueue.h" -#ifdef FILAMENT_SENSOR -#include "pat9125.h" -#include "fsensor.h" -#endif //FILAMENT_SENSOR +#include "Filament_sensor.h" #ifdef TMC2130 #include "tmc2130.h" @@ -40,12 +36,12 @@ #include "sound.h" -#include "mmu.h" +#include "mmu2.h" +#include "SpoolJoin.h" #include "static_assert.h" #include "first_lay_cal.h" -#include "fsensor.h" #include "adc.h" #include "config.h" @@ -53,9 +49,9 @@ #include "la10compat.h" #endif +#include "Prusa_farm.h" int clock_interval = 0; -static ShortTimer NcTime; static void lcd_sd_updir(); static void lcd_mesh_bed_leveling_settings(); #ifdef LCD_BL_PIN @@ -70,10 +66,6 @@ uint8_t SilentModeMenu_MMU = 1; //activate mmu unit stealth mode int8_t FSensorStateMenu = 1; -#ifdef IR_SENSOR_ANALOG -bool bMenuFSDetect=false; -#endif //IR_SENSOR_ANALOG - LcdCommands lcd_commands_type = LcdCommands::Idle; static uint8_t lcd_commands_step = 0; @@ -81,32 +73,26 @@ CustomMsg custom_message_type = CustomMsg::Status; uint8_t custom_message_state = 0; bool isPrintPaused = false; -uint8_t farm_mode = 0; -uint8_t farm_timer = 8; -bool printer_connected = true; static ShortTimer display_time; //just timer for showing pid finished message on lcd; static uint16_t pid_temp = DEFAULT_PID_TEMP; -static bool forceMenuExpire = false; -static bool lcd_autoDeplete; - - static float manual_feedrate[] = MANUAL_FEEDRATE; +/* LCD message status */ +static LongTimer lcd_status_message_timeout; +static uint8_t lcd_status_message_level; +static char lcd_status_message[LCD_WIDTH + 1]; + /* !Configuration settings */ -uint8_t lcd_status_message_level; -char lcd_status_message[LCD_WIDTH + 1] = WELCOME_MSG; - static uint8_t lay1cal_filament = 0; - static const char separator[] PROGMEM = "--------------------"; /** forward declarations **/ -static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, uint8_t &nlines); +static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg); // void copy_and_scalePID_i(); // void copy_and_scalePID_d(); @@ -124,11 +110,6 @@ static void lcd_control_temperature_menu(); #ifdef TMC2130 static void lcd_settings_linearity_correction_menu_save(); #endif -static void prusa_stat_printerstatus(uint8_t _status); -static void prusa_stat_farm_number(); -static void prusa_stat_diameter(); -static void prusa_stat_temperatures(); -static void prusa_stat_printinfo(); static void lcd_menu_xyz_y_min(); static void lcd_menu_xyz_skew(); static void lcd_menu_xyz_offset(); @@ -141,6 +122,7 @@ static void lcd_v2_calibration(); static void mmu_fil_eject_menu(); static void mmu_load_to_nozzle_menu(); +static void mmu_load_to_extruder_menu(); static void preheat_or_continue(); #ifdef MMU_HAS_CUTTER @@ -228,14 +210,18 @@ enum class FanCheck : uint_least8_t { static FanCheck lcd_selftest_fan_auto(uint8_t _fan); #endif //FANCHECK -#ifdef PAT9125 +#ifdef FILAMENT_SENSOR +#if FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 static bool lcd_selftest_fsensor(); -#endif //PAT9125 +#elif FILAMENT_SENSOR_TYPE == FSENSOR_IR +static bool selftest_irsensor(); +#elif FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG static bool selftest_irsensor(); -#ifdef IR_SENSOR_ANALOG static bool lcd_selftest_IRsensor(bool bStandalone=false); static void lcd_detect_IRsensor(); -#endif //IR_SENSOR_ANALOG +#endif +#endif //FILAMENT_SENSOR + static void lcd_selftest_error(TestError error, const char *_error_1, const char *_error_2); static void lcd_colorprint_change(); @@ -248,13 +234,6 @@ static void lcd_cutter_enabled(); static void lcd_sort_type_set(); #endif static void lcd_babystep_z(); -static void lcd_send_status(); -#ifdef FARM_CONNECT_MESSAGE -static void lcd_connect_printer(); -#endif //FARM_CONNECT_MESSAGE - -//! Beware: has side effects - forces lcd_draw_update to 2, which means clear the display -void lcd_finishstatus(); static void lcd_sdcard_menu(); static void lcd_sheet_menu(); @@ -447,7 +426,7 @@ void lcdui_print_percent_done(void) { const char* src = usb_timer.running()?_N("USB"):(IS_SD_PRINTING?_N(" SD"):_N(" ")); char per[4]; - bool num = IS_SD_PRINTING || (PRINTER_ACTIVE && (print_percent_done_normal != PRINT_PERCENT_DONE_INIT)); + bool num = IS_SD_PRINTING || (printer_active() && (print_percent_done_normal != PRINT_PERCENT_DONE_INIT)); if (!num || heating_status != HeatingStatus::NO_HEATING) // either not printing or heating { const int8_t sheetNR = eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)); @@ -466,23 +445,38 @@ void lcdui_print_percent_done(void) } // Print extruder status (5 chars total) -void lcdui_print_extruder(void) -{ - int chars = 0; - if (mmu_extruder == tmp_extruder) { - if (mmu_extruder == MMU_FILAMENT_UNKNOWN) chars = lcd_printf_P(_N(" F?")); - else chars = lcd_printf_P(_N(" F%u"), mmu_extruder + 1); - } - else - { - if (mmu_extruder == MMU_FILAMENT_UNKNOWN) chars = lcd_printf_P(_N(" ?>%u"), tmp_extruder + 1); - else chars = lcd_printf_P(_N(" %u>%u"), mmu_extruder + 1, tmp_extruder + 1); - } - lcd_space(5 - chars); +// Scenario 1: "F?" +// There is no filament loaded and no tool change is in progress +// Scenario 2: "F[nr.]" +// [nr.] ranges from 1 to 5. +// Shows which filament is loaded. No tool change is in progress +// Scenario 3: "?>[nr.]" +// [nr.] ranges from 1 to 5. +// There is no filament currently loaded, but [nr.] is currently being loaded via tool change +// Scenario 4: "[nr1.] > [nr2.]" +// [nr1.] ranges from 1 to 5. +// [nr2.] ranges from 1 to 5. +// Filament [nr1.] was loaded, but [nr2.] is currently being loaded via tool change +uint8_t lcdui_print_extruder(void) { + uint8_t chars = 0; + if (MMU2::mmu2.get_current_tool() == MMU2::mmu2.get_tool_change_tool()) { + if (MMU2::mmu2.get_current_tool() == (uint8_t)MMU2::FILAMENT_UNKNOWN) { + chars = lcd_printf_P(_N(" F?")); + } else { + chars = lcd_printf_P(_N(" F%u"), MMU2::mmu2.get_current_tool() + 1); + } + } else { + if (MMU2::mmu2.get_current_tool() == (uint8_t)MMU2::FILAMENT_UNKNOWN) { + chars = lcd_printf_P(_N(" ?>%u"), MMU2::mmu2.get_tool_change_tool() + 1); + } else { + chars = lcd_printf_P(_N(" %u>%u"), MMU2::mmu2.get_current_tool() + 1, MMU2::mmu2.get_tool_change_tool() + 1); + } + } + return chars; } // Print farm number (5 chars total) -void lcdui_print_farm(void) +static void lcdui_print_farm(void) { lcd_printf_P(_N(" FRM ")); } @@ -503,7 +497,7 @@ void lcdui_print_time(void) { //if remaining print time estimation is available print it else print elapsed time int chars = 0; - if (PRINTER_ACTIVE) { + if (printer_active()) { uint16_t print_t = PRINT_TIME_REMAINING_INIT; uint16_t print_tr = PRINT_TIME_REMAINING_INIT; uint16_t print_tc = PRINT_TIME_REMAINING_INIT; @@ -563,8 +557,7 @@ void lcdui_print_time(void) } //! @Brief Print status line on status screen -void lcdui_print_status_line(void) -{ +void lcdui_print_status_line(void) { if (heating_status != HeatingStatus::NO_HEATING) { // If heating flag, show progress of heating heating_status_counter++; if (heating_status_counter > 13) { @@ -597,7 +590,12 @@ void lcdui_print_status_line(void) break; } } - else if ((IS_SD_PRINTING) && (custom_message_type == CustomMsg::Status)) { // If printing from SD, show what we are printing + else if ((IS_SD_PRINTING) && + (custom_message_type == CustomMsg::Status) && + (lcd_status_message_level <= LCD_STATUS_INFO) && + lcd_status_message_timeout.expired_cont(LCD_STATUS_INFO_TIMEOUT)) + { + // If printing from SD, show what we are printing const char* longFilenameOLD = (card.longFilename[0] ? card.longFilename : card.filename); if(strlen(longFilenameOLD) > LCD_WIDTH) { uint8_t gh = scrollstuff; @@ -623,7 +621,7 @@ void lcdui_print_status_line(void) case CustomMsg::M117: // M117 Set the status line message on the LCD case CustomMsg::Status: // Nothing special, print status message normally case CustomMsg::M0Wait: // M0/M1 Wait command working even from SD - lcd_print(lcd_status_message); + lcd_print_pad(lcd_status_message, LCD_WIDTH); break; case CustomMsg::MeshBedLeveling: // If mesh bed leveling in progress, show the status if (custom_message_state > 10) { @@ -631,26 +629,25 @@ void lcdui_print_status_line(void) lcd_space(LCD_WIDTH); lcd_puts_at_P(0, 3, _T(MSG_CALIBRATE_Z_AUTO)); lcd_puts_P(PSTR(" : ")); - lcd_print(custom_message_state-10); + lcd_print(custom_message_state - 10); } else { - if (custom_message_state == 3) - { + if (custom_message_state == 3) { lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; } - if (custom_message_state > 3 && custom_message_state <= 10 ) { + if (custom_message_state > 3 && custom_message_state <= 10) { lcd_set_cursor(0, 3); lcd_space(19); - lcd_puts_at_P(0, 3, _i("Calibration done"));////MSG_HOMEYZ_DONE c=20 + lcd_puts_at_P(0, 3, _i("Calibration done")); ////MSG_HOMEYZ_DONE c=20 custom_message_state--; } } break; case CustomMsg::FilamentLoading: // If loading filament, print status - lcd_print(lcd_status_message); + lcd_print_pad(lcd_status_message, LCD_WIDTH); break; case CustomMsg::PidCal: // PID tuning in progress - lcd_print(lcd_status_message); + lcd_print_pad(lcd_status_message, LCD_WIDTH); if (pid_cycle <= pid_number_of_cycles && custom_message_state > 0) { lcd_set_cursor(10, 3); lcd_print(itostr3(pid_cycle)); @@ -662,24 +659,23 @@ void lcdui_print_status_line(void) lcd_set_cursor(0, 3); lcd_printf_P(PSTR("%-12.12S%-d/6"), _T(MSG_PINDA_CALIBRATION), custom_message_state); break; - case CustomMsg::TempCompPreheat: // temp compensation preheat - lcd_puts_at_P(0, 3, _i("PINDA Heating"));////MSG_PINDA_PREHEAT c=20 + case CustomMsg::TempCompPreheat: // temp compensation preheat + lcd_puts_at_P(0, 3, _i("PINDA Heating")); ////MSG_PINDA_PREHEAT c=20 if (custom_message_state <= PINDA_HEAT_T) { lcd_puts_P(PSTR(": ")); - lcd_print(custom_message_state); //seconds + lcd_print(custom_message_state); // seconds lcd_print(' '); } break; - case CustomMsg::Resuming: //Resuming + case CustomMsg::Resuming: // Resuming lcd_puts_at_P(0, 3, _T(MSG_RESUMING_PRINT)); break; + case CustomMsg::MMUProgress: + // set up at mmu2_reporting.cpp, just do nothing here + lcd_print(lcd_status_message); + break; } } - - // Fill the rest of line to have nice and clean output - for(uint8_t fillspace = 0; fillspace < LCD_WIDTH; fillspace++) - if ((lcd_status_message[fillspace] <= 31 )) - lcd_print(' '); } //! @brief Show Status Screen @@ -730,14 +726,15 @@ void lcdui_print_status_screen(void) //Print SD status (7 chars) lcdui_print_percent_done(); - if (mmu_enabled) - //Print extruder status (5 chars) - lcdui_print_extruder(); - else if (farm_mode) - //Print farm number (5 chars) - lcdui_print_farm(); - else - lcd_space(5); //5 spaces + if (MMU2::mmu2.Enabled()) { + // Print extruder status (5 chars) + lcd_space(5 - lcdui_print_extruder()); + } else if (farm_mode) { + // Print farm number (5 chars) + lcdui_print_farm(); + } else { + lcd_space(5); // 5 spaces + } #ifdef CMD_DIAGNOSTICS //Print cmd queue diagnostics (8chars) @@ -758,6 +755,7 @@ void lcdui_print_status_screen(void) // Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent void lcd_status_screen() // NOT static due to using inside "Marlin_main" module ("manage_inactivity()") { + static uint8_t lcd_status_update_delay = 0; #ifdef ULTIPANEL_FEEDMULTIPLY // Dead zone at 100% feedrate if ((feedmultiply < 100 && (feedmultiply + int(lcd_encoder)) > 100) || @@ -788,14 +786,17 @@ void lcd_status_screen() // NOT static due to using ins else if (feedmultiply > 999) feedmultiply = 999; + if (lcd_draw_update) { + // Update the status screen immediately + lcd_status_update_delay = 0; + } + if (lcd_status_update_delay) lcd_status_update_delay--; else - lcd_draw_update = 1; - - - if (lcd_draw_update) - { + { // Redraw the main screen every second (see LCD_UPDATE_INTERVAL). + // This is easier then trying keep track of all things that change on the screen + lcd_status_update_delay = 10; ReInitLCD++; if (ReInitLCD == 30) { @@ -810,32 +811,11 @@ void lcd_status_screen() // NOT static due to using ins lcdui_print_status_screen(); - if (farm_mode) - { - farm_timer--; - if (farm_timer < 1) - { - farm_timer = 10; - prusa_statistics(0); - } - switch (farm_timer) - { - case 8: - prusa_statistics(21); - if(loading_flag) - prusa_statistics(22); - break; - case 5: - if (IS_SD_PRINTING) - prusa_statistics(20); - break; - } - } // end of farm_mode + prusa_statistics_update_from_status_screen(); - lcd_status_update_delay = 10; /* redraw the main screen every second. This is easier then trying keep track of all things that change on the screen */ if (lcd_commands_type != LcdCommands::Idle) lcd_commands(); - } // end of lcd_draw_update + } bool current_click = LCD_CLICKED; @@ -857,7 +837,7 @@ void lcd_status_screen() // NOT static due to using ins } if (current_click - && ( menu_block_entering_on_serious_errors == SERIOUS_ERR_NONE ) // or a serious error blocks entering the menu + && ( menu_block_mask == MENU_BLOCK_NONE ) // or a serious error blocks entering the menu ) { menu_depth = 0; //redundant, as already done in lcd_return_to_status(), just to be sure @@ -866,14 +846,34 @@ void lcd_status_screen() // NOT static due to using ins } } +void print_stop(); + void lcd_commands() { + if (planner_aborted) { + // we are still within an aborted command. do not process any LCD command until we return + return; + } + + if (lcd_commands_type == LcdCommands::StopPrint) + { + if (!blocks_queued() && !homing_flag) + { + custom_message_type = CustomMsg::Status; + lcd_setstatuspgm(_T(MSG_PRINT_ABORTED)); + lcd_commands_type = LcdCommands::Idle; + lcd_commands_step = 0; + print_stop(); + } + } + if (lcd_commands_type == LcdCommands::LongPause) { if (!blocks_queued() && !homing_flag) { if (custom_message_type != CustomMsg::M117) { + custom_message_type = CustomMsg::Status; lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 } lcd_commands_type = LcdCommands::Idle; @@ -953,9 +953,9 @@ void lcd_commands() enquecommand_P(PSTR("M140 S0")); // turn off heatbed enquecommand_P(PSTR("G1 Z10 F1300.000")); //lift Z enquecommand_P(PSTR("G1 X10 Y180 F4000")); //Go to parking position - if (mmu_enabled) enquecommand_P(PSTR("M702 C")); //unload from nozzle + if (MMU2::mmu2.Enabled()) enquecommand_P(PSTR("M702")); //unload from nozzle enquecommand_P(PSTR("M84"));// disable motors - forceMenuExpire = true; //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen + lcd_return_to_status(); //if user dont confirm live adjust Z value by pressing the knob, we are saving last value by timeout to status screen lcd_commands_step = 1; break; case 1: @@ -971,6 +971,7 @@ void lcd_commands() } } +#ifdef PRUSA_FARM if (lcd_commands_type == LcdCommands::FarmModeConfirm) /// farm mode confirm { @@ -1008,6 +1009,8 @@ void lcd_commands() } } +#endif //PRUSA_FARM + if (lcd_commands_type == LcdCommands::PidExtruder) { char cmd1[30]; @@ -1018,14 +1021,14 @@ void lcd_commands() lcd_commands_step = 3; } if (lcd_commands_step == 3 && !blocks_queued()) { //PID calibration + preparePidTuning(); // ensure we don't move to the next step early sprintf_P(cmd1, PSTR("M303 E0 S%3u"), pid_temp); // setting the correct target temperature (for visualization) is done in PID_autotune enquecommand(cmd1); lcd_setstatuspgm(_i("PID cal."));////MSG_PID_RUNNING c=20 lcd_commands_step = 2; } - if (lcd_commands_step == 2 && pid_tuning_finished) { //saving to eeprom - pid_tuning_finished = false; + if (lcd_commands_step == 2 && !pidTuningRunning()) { //saving to eeprom custom_message_state = 0; lcd_setstatuspgm(_i("PID cal. finished"));////MSG_PID_FINISHED c=20 setAllTargetHotends(0); // reset all hotends temperature including the number displayed on the main screen @@ -1064,18 +1067,19 @@ void lcd_return_to_status() void lcd_pause_print() { stop_and_save_print_to_ram(0.0, -default_retraction); - lcd_return_to_status(); + + SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_PAUSED); isPrintPaused = true; - if (LcdCommands::Idle == lcd_commands_type) { - lcd_commands_type = LcdCommands::LongPause; - } - SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED); + + // return to status is required to continue processing in the main loop! + lcd_commands_type = LcdCommands::LongPause; + lcd_return_to_status(); } //! @brief Send host action "pause" void lcd_pause_usb_print() { - SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSE); + SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_ASK_PAUSE); } static void lcd_move_menu_axis(); @@ -1124,7 +1128,6 @@ static void pgmtext_with_colon(const char *ipgmLabel, char *dst, uint8_t dstSize //! | | //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. void lcd_menu_extruder_info() // NOT static due to using inside "Marlin_main" module ("manage_inactivity()") { @@ -1167,7 +1170,6 @@ static void lcd_menu_fails_stats_mmu() //! | | //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_fails_stats_mmu_print() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -1192,15 +1194,25 @@ static void lcd_menu_fails_stats_mmu_print() //! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_fails_stats_mmu_total() { - mmu_command(MmuCmd::S3); - lcd_timeoutToStatus.stop(); //infinite timeout + static uint8_t first_time_opening_menu = 0; + if (!first_time_opening_menu) { + // Send S3 Query; MMU responds with "S3 A%u" where %u is the number of drive errors + MMU2::mmu2.get_statistics(); + first_time_opening_menu = 1; + } + lcd_timeoutToStatus.stop(); //infinite timeout lcd_home(); - lcd_printf_P(PSTR("%S\n" " %-16.16S%-3d\n" " %-16.16S%-3d\n" " %-16.16S%-3d"), + lcd_printf_P(PSTR("%S\n" " %-16.16S%-3d\n"/* " %-16.16S%-3d\n" " %-16.16S%-3d"*/), _T(MSG_TOTAL_FAILURES), - _T(MSG_MMU_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_FAIL_TOT) ), - _T(MSG_MMU_LOAD_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT) ), - _i("MMU power fails"), clamp999( mmu_power_failures )); ////MSG_MMU_POWER_FAILS c=15 - menu_back_if_clicked_fb(); + _T(MSG_MMU_FAILS), clamp999( MMU2::mmu2.TotalFailStatistics() ));//, + //_T(MSG_MMU_LOAD_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT) ), + //_i("MMU power fails"), clamp999( mmu_power_failures )); ////MSG_MMU_POWER_FAILS c=15 + if (lcd_clicked()) + { + first_time_opening_menu = 0; + lcd_quick_feedback(); + menu_back(); + } } #if defined(TMC2130) && defined(FILAMENT_SENSOR) @@ -1216,7 +1228,6 @@ static const char failStatsFmt[] PROGMEM = "%S\n" " %-16.16S%-3d\n" " %-16.16S%- //! | Crash X:000 Y:000| MSG_CRASH c=7 //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_fails_stats_total() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -1241,18 +1252,7 @@ static void lcd_menu_fails_stats_total() //! | Crash X 000 Y 000| MSG_CRASH c=7 //! ---------------------- //! @endcode -//! @brief Show Last Print Failures Statistics with PAT9125 -//! -//! @code{.unparsed} -//! |01234567890123456789| -//! |Last print failures | MSG_LAST_PRINT_FAILURES c=20 -//! | Power failures 000| MSG_POWER_FAILURES c=15 -//! | Runouts H 000 S 000| MSG_RUNOUTS c=7 -//! | Crash X:000 Y:000| MSG_CRASH c=7 -//! ---------------------- -//! @endcode - -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. +//! @todo leptun refactor this piece of code please static void lcd_menu_fails_stats_print() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -1261,23 +1261,11 @@ static void lcd_menu_fails_stats_print() uint8_t crashX = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X); uint8_t crashY = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y); lcd_home(); -#ifndef PAT9125 lcd_printf_P(failStatsFmt, _T(MSG_LAST_PRINT_FAILURES), _T(MSG_POWER_FAILURES), power, _T(MSG_FIL_RUNOUTS), filam, _T(MSG_CRASH), crashX, crashY); -#else - // On the MK3 include detailed PAT9125 statistics about soft failures - lcd_printf_P(PSTR("%S\n" - " %-16.16S%-3d\n" - " %-7.7S H %-3d S %-3d\n" - " %-7.7S X %-3d Y %-3d"), - _T(MSG_LAST_PRINT_FAILURES), - _T(MSG_POWER_FAILURES), power, - _i("Runouts"), filam, fsensor_softfail, ////MSG_RUNOUTS c=7 - _T(MSG_CRASH), crashX, crashY); -#endif menu_back_if_clicked_fb(); } @@ -1322,7 +1310,6 @@ static const char failStatsFmt[] PROGMEM = "%S\n" " %-16.16S%-3d\n" "%S\n" " %-1 //! | Fil. runouts 000| MSG_FIL_RUNOUTS c=15 //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_fails_stats() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -1401,7 +1388,6 @@ static void lcd_menu_temperatures_line(const char *ipgmLabel, int value){ //! ---------------------- //! D - Degree sysmbol LCD_STR_DEGREE //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_temperatures() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -1412,12 +1398,12 @@ static void lcd_menu_temperatures() lcd_menu_temperatures_line( _i("Ambient"), (int)current_temperature_ambient ); ////MSG_AMBIENT c=14 #endif //AMBIENT_THERMISTOR #ifdef PINDA_THERMISTOR - lcd_menu_temperatures_line( _T(MSG_PINDA), (int)current_temperature_pinda ); ////MSG_PINDA + lcd_menu_temperatures_line(MSG_PINDA, (int)current_temperature_pinda ); ////MSG_PINDA #endif //PINDA_THERMISTOR menu_back_if_clicked(); } -#if defined (VOLT_BED_PIN) || defined (VOLT_PWR_PIN) || defined(IR_SENSOR_ANALOG) +#if defined (VOLT_BED_PIN) || defined (VOLT_PWR_PIN) || (defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG)) #define VOLT_DIV_R1 10000 #define VOLT_DIV_R2 2370 #define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1)) @@ -1432,7 +1418,6 @@ static void lcd_menu_temperatures() //! | IR : 00.0V | c=12 optional //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_voltages() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -1441,7 +1426,7 @@ static void lcd_menu_voltages() lcd_home(); lcd_printf_P(PSTR(" PWR: %4.1fV\n" " BED: %4.1fV"), volt_pwr, volt_bed); #ifdef IR_SENSOR_ANALOG - lcd_printf_P(PSTR("\n IR : %3.1fV"), Raw2Voltage(current_voltage_raw_IR)); + lcd_printf_P(PSTR("\n IR : %3.1fV"), fsensor.Raw2Voltage(fsensor.getVoltRaw())); #endif //IR_SENSOR_ANALOG menu_back_if_clicked(); } @@ -1458,7 +1443,6 @@ static void lcd_menu_voltages() //! | | //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. static void lcd_menu_belt_status() { lcd_home(); @@ -1675,22 +1659,23 @@ static void lcd_support_menu() MENU_ITEM_BACK_P(_i("Date:"));////MSG_DATE c=17 MENU_ITEM_BACK_P(PSTR(__DATE__)); -#ifdef IR_SENSOR_ANALOG +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) MENU_ITEM_BACK_P(STR_SEPARATOR); MENU_ITEM_BACK_P(PSTR("Fil. sensor v.:")); - MENU_ITEM_BACK_P(FsensorIRVersionText()); + MENU_ITEM_BACK_P(fsensor.getIRVersionText()); #endif // IR_SENSOR_ANALOG MENU_ITEM_BACK_P(STR_SEPARATOR); - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { MENU_ITEM_BACK_P(_i("MMU2 connected")); ////MSG_MMU_CONNECTED c=18 MENU_ITEM_BACK_P(PSTR(" FW:")); ////c=17 if (((menu_item - 1) == menu_line) && lcd_draw_update) { - lcd_set_cursor(6, menu_row); - if ((mmu_version > 0) && (mmu_buildnr > 0)) - lcd_printf_P(PSTR("%d.%d.%d-%d"), mmu_version/100, mmu_version%100/10, mmu_version%10, mmu_buildnr); + lcd_set_cursor(6, menu_row); + MMU2::Version mmu_version = MMU2::mmu2.GetMMUFWVersion(); + if (mmu_version.major > 0) + lcd_printf_P(PSTR("%d.%d.%d"), mmu_version.major, mmu_version.minor, mmu_version.build); else lcd_puts_P(_i("unknown")); ////MSG_UNKNOWN c=13 } @@ -1707,7 +1692,7 @@ static void lcd_support_menu() if (((menu_item - 1) == menu_line) && lcd_draw_update) { lcd_set_cursor(2, menu_row); ip4_to_str(_md->ip_str, (uint8_t*)(&_md->ip)); - lcd_printf_P(PSTR("%s"), _md->ip_str); + lcd_print(_md->ip_str); } } @@ -1720,7 +1705,7 @@ static void lcd_support_menu() if (((menu_item - 1) == menu_line) && lcd_draw_update) { lcd_set_cursor(2, menu_row); ip4_to_str(_md->ip_str, (uint8_t*)(&IP_address)); - lcd_printf_P(PSTR("%s"), _md->ip_str); + lcd_print(_md->ip_str); } } @@ -1791,7 +1776,7 @@ void lcd_cutter_enabled() #endif //MMU_HAS_CUTTER void lcd_set_filament_autoload() { - fsensor_autoload_set(!fsensor_autoload_enabled); + fsensor.setAutoLoadEnabled(!fsensor.getAutoLoadEnabled()); } #if defined(FILAMENT_SENSOR) && defined(PAT9125) @@ -1803,7 +1788,6 @@ void lcd_set_filament_oq_meass() FilamentAction eFilamentAction=FilamentAction::None; // must be initialized as 'non-autoLoad' -bool bFilamentFirstRun; bool bFilamentPreheatState; bool bFilamentAction=false; static bool bFilamentWaitingFlag=false; @@ -1821,6 +1805,7 @@ switch(eFilamentAction) case FilamentAction::Load: case FilamentAction::AutoLoad: case FilamentAction::MmuLoad: + case FilamentAction::MmuLoadExtruder: lcd_puts_P(_i("to load filament")); ////MSG_TO_LOAD_FIL c=20 break; case FilamentAction::UnLoad: @@ -1834,8 +1819,12 @@ switch(eFilamentAction) case FilamentAction::Lay1Cal: break; } -if(lcd_clicked()) - { + if(lcd_clicked() +#ifdef FILAMENT_SENSOR +/// @todo leptun - add this as a specific retest item + || (((eFilamentAction == FilamentAction::Load) || (eFilamentAction == FilamentAction::AutoLoad)) && fsensor.getFilamentLoadEvent()) +#endif //FILAMENT_SENSOR + ) { nLevel=2; if(!bFilamentPreheatState) { @@ -1856,6 +1845,7 @@ if(lcd_clicked()) enquecommand_P(PSTR("M702")); // unload filament break; case FilamentAction::MmuLoad: + case FilamentAction::MmuLoadExtruder: case FilamentAction::MmuUnLoad: case FilamentAction::MmuEject: case FilamentAction::MmuCut: @@ -1927,11 +1917,17 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed) menu_back(nLevel); menu_submenu(mmu_load_to_nozzle_menu); break; + case FilamentAction::MmuLoadExtruder: + nLevel = bFilamentPreheatState ? 1 : 2; + bFilamentAction = true; + menu_back(nLevel); + menu_submenu(mmu_load_to_extruder_menu); + break; case FilamentAction::MmuUnLoad: nLevel = bFilamentPreheatState ? 1 : 2; bFilamentAction = true; menu_back(nLevel); - extr_unload(); + MMU2::mmu2.unload(); break; case FilamentAction::MmuEject: nLevel = bFilamentPreheatState ? 1 : 2; @@ -1981,6 +1977,7 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed) case FilamentAction::Load: case FilamentAction::AutoLoad: case FilamentAction::MmuLoad: + case FilamentAction::MmuLoadExtruder: lcd_puts_P(_i("Preheating to load")); ////MSG_PREHEATING_TO_LOAD c=20 if (once) raise_z_above(MIN_Z_FOR_LOAD); break; @@ -2158,8 +2155,11 @@ void lcd_wait_interact() { lcd_clear(); lcd_puts_at_P(0, 1, _i("Insert filament"));////MSG_INSERT_FILAMENT c=20 - if (!fsensor_autoload_enabled) { - lcd_puts_at_P(0, 2, _i("and press the knob"));////MSG_PRESS c=20 r=2 +#ifdef FILAMENT_SENSOR + if (!fsensor.getAutoLoadEnabled()) +#endif //FILAMENT_SENSOR + { + lcd_puts_at_P(0, 2, _i("and press the knob"));////MSG_PRESS c=20 r=2 } } @@ -2211,74 +2211,61 @@ void lcd_loading_filament() { -void lcd_alright() { - int enc_dif = 0; - int cursor_pos = 1; +uint8_t lcd_alright() { + int8_t enc_dif = 0; + uint8_t cursor_pos = 1; + + lcd_clear(); + lcd_puts_at_P(0, 0, _i("Changed correctly?"));////MSG_CORRECTLY c=20 + lcd_puts_at_P(1, 1, _T(MSG_YES)); + lcd_puts_at_P(1, 2, _i("Filament not loaded"));////MSG_NOT_LOADED c=19 + lcd_puts_at_P(1, 3, _i("Color not correct"));////MSG_NOT_COLOR c=19 + lcd_putc_at(0, 1, '>'); + enc_dif = lcd_encoder_diff; + lcd_consume_click(); + while (1) + { + manage_heater(); + manage_inactivity(true); + if (abs(enc_dif - lcd_encoder_diff) >= ENCODER_PULSES_PER_STEP) + { - lcd_clear(); + if (enc_dif > lcd_encoder_diff ) { + // Rotating knob counter clockwise + cursor_pos--; + } else if (enc_dif < lcd_encoder_diff) { + // Rotating knob clockwise + cursor_pos++; + } + if (cursor_pos > 3) { + cursor_pos = 3; + Sound_MakeSound(e_SOUND_TYPE_BlindAlert); + } else if (cursor_pos < 1) { + cursor_pos = 1; + Sound_MakeSound(e_SOUND_TYPE_BlindAlert); + } - lcd_puts_at_P(0, 0, _i("Changed correctly?"));////MSG_CORRECTLY c=20 - lcd_puts_at_P(1, 1, _T(MSG_YES)); - lcd_puts_at_P(1, 2, _i("Filament not loaded"));////MSG_NOT_LOADED c=19 - lcd_puts_at_P(1, 3, _i("Color not correct"));////MSG_NOT_COLOR c=19 - lcd_putc_at(0, 1, '>'); + // Update '>' render only + lcd_puts_at_P(0, 1, PSTR(" \n \n ")); + lcd_putc_at(0, cursor_pos, '>'); - - enc_dif = lcd_encoder_diff; - lcd_consume_click(); - while (lcd_change_fil_state == 0) { - - manage_heater(); - manage_inactivity(true); - - if ( abs((enc_dif - lcd_encoder_diff)) > 4 ) { - - if ( (abs(enc_dif - lcd_encoder_diff)) > 1 ) { - if (enc_dif > lcd_encoder_diff ) { - cursor_pos --; + // Consume rotation event and make feedback sound + enc_dif = lcd_encoder_diff; + Sound_MakeSound(e_SOUND_TYPE_EncoderMove); + _delay(100); } - if (enc_dif < lcd_encoder_diff ) { - cursor_pos ++; + if (lcd_clicked()) + { + Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); + lcd_clear(); + lcd_return_to_status(); + return cursor_pos; } - - if (cursor_pos > 3) { - cursor_pos = 3; - Sound_MakeSound(e_SOUND_TYPE_BlindAlert); - } - - if (cursor_pos < 1) { - cursor_pos = 1; - Sound_MakeSound(e_SOUND_TYPE_BlindAlert); - } - lcd_puts_at_P(0, 1, PSTR(" \n \n ")); - lcd_putc_at(0, cursor_pos, '>'); - enc_dif = lcd_encoder_diff; - Sound_MakeSound(e_SOUND_TYPE_EncoderMove); - _delay(100); - } - - } - - - if (lcd_clicked()) { - Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); - lcd_change_fil_state = cursor_pos; - _delay(500); - - } - - - - }; - - - lcd_clear(); - lcd_return_to_status(); - + }; } void show_preheat_nozzle_warning() @@ -2292,34 +2279,29 @@ void show_preheat_nozzle_warning() void lcd_load_filament_color_check() { - bool clean = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_CLEAN), false, true); - while (!clean) { - lcd_update_enable(true); - lcd_update(2); + uint8_t clean = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_CLEAN), false, LCD_LEFT_BUTTON_CHOICE); + while (clean == LCD_MIDDLE_BUTTON_CHOICE) { load_filament_final_feed(); st_synchronize(); - clean = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_CLEAN), false, true); + clean = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_CLEAN), false, LCD_LEFT_BUTTON_CHOICE); } } #ifdef FILAMENT_SENSOR static void lcd_menu_AutoLoadFilament() { - uint8_t nlines; - lcd_display_message_fullscreen_nonBlocking_P(_i("Autoloading filament is active, just press the knob and insert filament..."),nlines);////MSG_AUTOLOADING_ENABLED c=20 r=4 - menu_back_if_clicked(); + lcd_display_message_fullscreen_nonBlocking_P(_i("Autoloading filament is active, just press the knob and insert filament..."));////MSG_AUTOLOADING_ENABLED c=20 r=4 + menu_back_if_clicked(); } #endif //FILAMENT_SENSOR -static void preheat_or_continue() -{ - bFilamentFirstRun = false; - if (target_temperature[0] >= extrude_min_temp) - { +static void preheat_or_continue() { + if (target_temperature[0] >= extrude_min_temp) { bFilamentPreheatState = true; mFilamentItem(target_temperature[0], target_temperature_bed); + } else { + lcd_generic_preheat_menu(); } - else lcd_generic_preheat_menu(); } static void lcd_LoadFilament() @@ -2352,7 +2334,6 @@ static void lcd_LoadFilament() //! | 00d 00h 00m | //! ---------------------- //! @endcode -//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations. Translations missing for "d"days, "h"ours, "m"inutes", "s"seconds". void lcd_menu_statistics() { lcd_timeoutToStatus.stop(); //infinite timeout @@ -2654,8 +2635,6 @@ static void lcd_babystep_z() lcd_draw_update = 1; //SERIAL_ECHO("Z baby step: "); //SERIAL_ECHO(_md->babystepMem[2]); - // Wait 90 seconds before closing the live adjust dialog. - lcd_timeoutToStatus.start(); } if (lcd_encoder != 0) @@ -2806,7 +2785,7 @@ void lcd_adjust_z() { lcd_clear(); lcd_set_cursor(0, 0); - lcd_puts_P(_i("Auto adjust Z?"));////MSG_ADJUSTZ + lcd_puts_P(_n("Auto adjust Z?"));////MSG_ADJUSTZ lcd_set_cursor(1, 1); lcd_puts_P(_T(MSG_YES)); @@ -2991,10 +2970,10 @@ bool lcd_calibrate_z_end_stop_manual(bool only_z) } } // Let the user confirm, that the Z carriage is at the top end stoppers. - int8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Are left and right Z~carriages all up?"), false);////MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 - if (result == -1) + uint8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Are left and right Z~carriages all up?"), false);////MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 + if (result == LCD_BUTTON_TIMEOUT) goto canceled; - else if (result == 1) + else if (result == LCD_MIDDLE_BUTTON_CHOICE) goto calibrated; // otherwise perform another round of the Z up dialog. } @@ -3034,10 +3013,9 @@ static inline bool pgm_is_interpunction(const char *c_addr) * * This function is non-blocking * @param msg message to be displayed from PROGMEM - * @param nlines * @return rest of the text (to be displayed on next page) */ -static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, uint8_t &nlines) +static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg) { lcd_set_cursor(0, 0); const char *msgend = msg; @@ -3086,22 +3064,15 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, lcd_print(LCD_STR_ARROW_2_DOWN[0]); } - nlines = row; return multi_screen ? msgend : NULL; } -const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines) +const char* lcd_display_message_fullscreen_P(const char *msg) { // Disable update of the screen by the usual lcd_update(0) routine. lcd_update_enable(false); lcd_clear(); -// uint8_t nlines; - return lcd_display_message_fullscreen_nonBlocking_P(msg, nlines); -} -const char* lcd_display_message_fullscreen_P(const char *msg) -{ - uint8_t nlines; - return lcd_display_message_fullscreen_P(msg, nlines); + return lcd_display_message_fullscreen_nonBlocking_P(msg); } @@ -3180,166 +3151,154 @@ lcd_wait_for_click_delay(0); } //! @brief Show multiple screen message with yes and no possible choices and wait with possible timeout -//! @param msg Message to show +//! @param msg Message to show. If NULL, do not clear the screen and handle choice selection only. //! @param allow_timeouting if true, allows time outing of the screen -//! @param default_yes if true, yes choice is selected by default, otherwise no choice is preselected -//! @retval 1 yes choice selected by user -//! @retval 0 no choice selected by user -//! @retval -1 screen timed out -int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) //currently just max. n*4 + 3 lines supported (set in language header files) +//! @param default_selection if 0, 'Yes' choice is selected by default, otherwise 'No' choice is preselected +//! @retval 0 yes choice selected by user +//! @retval 1 no choice selected by user +//! @retval 0xFF button timeout (only possible if allow_timeouting is true) +uint8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, uint8_t default_selection) //currently just max. n*4 + 3 lines supported (set in language header files) { - return lcd_show_multiscreen_message_two_choices_and_wait_P(msg, allow_timeouting, default_yes, _T(MSG_YES), _T(MSG_NO)); + return lcd_show_multiscreen_message_with_choices_and_wait_P(msg, allow_timeouting, default_selection, _T(MSG_YES), _T(MSG_NO), nullptr, 10); } -//! @brief Show multiple screen message with two possible choices and wait with possible timeout -//! @param msg Message to show -//! @param allow_timeouting if true, allows time outing of the screen -//! @param default_first if true, fist choice is selected by default, otherwise second choice is preselected +//! @brief Show a two-choice prompt on the last line of the LCD +//! @param selected Show first choice as selected if true, the second otherwise //! @param first_choice text caption of first possible choice //! @param second_choice text caption of second possible choice -//! @retval 1 first choice selected by user -//! @retval 0 second choice selected by user -//! @retval -1 screen timed out -int8_t lcd_show_multiscreen_message_two_choices_and_wait_P(const char *msg, bool allow_timeouting, bool default_first, - const char *first_choice, const char *second_choice) +//! @param second_col column on LCD where second choice is rendered. If third choice is set, this value is hardcoded to 7 +//! @param third_choice text caption of third, optional, choice. +void lcd_show_choices_prompt_P(uint8_t selected, const char *first_choice, const char *second_choice, uint8_t second_col, const char *third_choice) { - const char *msg_next = lcd_display_message_fullscreen_P(msg); - bool multi_screen = msg_next != NULL; - bool yes = default_first ? true : false; - - // Wait for user confirmation or a timeout. - unsigned long previous_millis_cmd = _millis(); - int8_t enc_dif = lcd_encoder_diff; - lcd_consume_click(); - //KEEPALIVE_STATE(PAUSED_FOR_USER); - for (;;) { - for (uint8_t i = 0; i < 100; ++i) { - delay_keep_alive(50); - if (allow_timeouting && _millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) - return -1; - manage_heater(); - manage_inactivity(true); - - if (abs(enc_dif - lcd_encoder_diff) > 4) { - if (msg_next == NULL) { - lcd_set_cursor(0, 3); - if (enc_dif < lcd_encoder_diff && yes) { - lcd_print(' '); - lcd_putc_at(7, 3, '>'); - yes = false; - Sound_MakeSound(e_SOUND_TYPE_EncoderMove); - } - else if (enc_dif > lcd_encoder_diff && !yes) { - lcd_print('>'); - lcd_putc_at(7, 3, ' '); - yes = true; - Sound_MakeSound(e_SOUND_TYPE_EncoderMove); - } - enc_dif = lcd_encoder_diff; - } - else { - Sound_MakeSound(e_SOUND_TYPE_BlindAlert); - break; //turning knob skips waiting loop - } - } - if (lcd_clicked()) { - Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); - if (msg_next == NULL) { - //KEEPALIVE_STATE(IN_HANDLER); - lcd_set_custom_characters(); - return yes; - } - else break; - } - } - if (multi_screen) { - if (msg_next == NULL) { - msg_next = msg; - } - msg_next = lcd_display_message_fullscreen_P(msg_next); - } - if (msg_next == NULL) { - lcd_set_cursor(0, 3); - if (yes) lcd_print('>'); - lcd_puts_at_P(1, 3, first_choice); - lcd_set_cursor(7, 3); - if (!yes) lcd_print('>'); - lcd_puts_at_P(8, 3, second_choice); - } - } + lcd_set_cursor(0, 3); + lcd_print(selected == LCD_LEFT_BUTTON_CHOICE ? '>': ' '); + lcd_puts_P(first_choice); + if (third_choice) + { + lcd_set_cursor(7, 3); + lcd_print(selected == LCD_MIDDLE_BUTTON_CHOICE ? '>': ' '); + lcd_puts_P(second_choice); + lcd_set_cursor(13, 3); + lcd_print(selected == LCD_RIGHT_BUTTON_CHOICE ? '>': ' '); + lcd_puts_P(third_choice); + } else { + lcd_set_cursor(second_col, 3); + lcd_print(selected == LCD_MIDDLE_BUTTON_CHOICE ? '>': ' '); + lcd_puts_P(second_choice); + } } -//! @brief Display and wait for a Yes/No choice using the last two lines of the LCD +//! @brief Show single or multiple screen message with two possible choices and wait with possible timeout +//! @param msg Message to show. If NULL, do not clear the screen and handle choice selection only. +//! @param allow_timeouting bool, if true, allows time outing of the screen +//! @param default_selection uint8_t, Control which choice is selected first. 0: left most, 1: middle, 2: right most choice. The left most choice is selected by default +//! @param first_choice text caption of first possible choice. Must be in PROGMEM +//! @param second_choice text caption of second possible choice. Must be in PROGMEM +//! @param third_choice text caption of second possible choice. Must be in PROGMEM. When not set to nullptr first_choice and second_choice may not be more than 5 characters long. +//! @param second_col column on LCD where second_choice starts +//! @retval 0 first choice selected by user +//! @retval 1 first choice selected by user +//! @retval 2 third choice selected by user +//! @retval 0xFF button timeout (only possible if allow_timeouting is true) +uint8_t lcd_show_multiscreen_message_with_choices_and_wait_P( + const char *const msg, bool allow_timeouting, uint8_t default_selection, + const char *const first_choice, const char *const second_choice, const char *const third_choice, + uint8_t second_col +) { + const char *msg_next = msg ? lcd_display_message_fullscreen_P(msg) : NULL; + bool multi_screen = msg_next != NULL; + lcd_set_custom_characters_nextpage(); + + // Initial status/prompt on single-screen messages + uint8_t current_selection = default_selection; + if (!msg_next) { + lcd_show_choices_prompt_P(current_selection, first_choice, second_choice, second_col, third_choice); + } + // Wait for user confirmation or a timeout. + unsigned long previous_millis_cmd = _millis(); + int8_t enc_dif = lcd_encoder_diff; + lcd_consume_click(); + KEEPALIVE_STATE(PAUSED_FOR_USER); + for (;;) { + for (uint8_t i = 0; i < 100; ++i) { + delay_keep_alive(50); + if (allow_timeouting && _millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) { + return LCD_BUTTON_TIMEOUT; + } + manage_heater(); + manage_inactivity(true); + + if (abs(enc_dif - lcd_encoder_diff) >= ENCODER_PULSES_PER_STEP) { + if (msg_next == NULL) { + if (third_choice) { // third_choice is not nullptr, safe to dereference + if (enc_dif > lcd_encoder_diff && current_selection != LCD_LEFT_BUTTON_CHOICE) { + // Rotating knob counter clockwise + current_selection--; + } else if (enc_dif < lcd_encoder_diff && current_selection != LCD_RIGHT_BUTTON_CHOICE) { + // Rotating knob clockwise + current_selection++; + } + } else { + if (enc_dif > lcd_encoder_diff && current_selection != LCD_LEFT_BUTTON_CHOICE) { + // Rotating knob counter clockwise + current_selection = LCD_LEFT_BUTTON_CHOICE; + } else if (enc_dif < lcd_encoder_diff && current_selection != LCD_MIDDLE_BUTTON_CHOICE) { + // Rotating knob clockwise + current_selection = LCD_MIDDLE_BUTTON_CHOICE; + } + } + lcd_show_choices_prompt_P(current_selection, first_choice, second_choice, second_col, third_choice); + enc_dif = lcd_encoder_diff; + Sound_MakeSound(e_SOUND_TYPE_EncoderMove); + } else { + Sound_MakeSound(e_SOUND_TYPE_BlindAlert); + break; // turning knob skips waiting loop + } + } + if (lcd_clicked()) { + Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); + if (msg_next == NULL) { + KEEPALIVE_STATE(IN_HANDLER); + lcd_set_custom_characters(); + lcd_update_enable(true); + return current_selection; + } else + break; + } + } + if (multi_screen) { + if (msg_next == NULL) { + msg_next = msg; + } + msg_next = lcd_display_message_fullscreen_P(msg_next); + } + if (msg_next == NULL) { + lcd_show_choices_prompt_P(current_selection, first_choice, second_choice, second_col, third_choice); + } + } +} + +//! @brief Display and wait for a Yes/No choice using the last line of the LCD //! @param allow_timeouting if true, allows time outing of the screen -//! @param default_yes if true, yes choice is selected by default, otherwise no choice is preselected -//! @retval 1 yes choice selected by user -//! @retval 0 no choice selected by user -//! @retval -1 screen timed out -int8_t lcd_show_yes_no_and_wait(bool allow_timeouting, bool default_yes) +//! @param default_selection if 0, 'Yes' choice is selected by default, otherwise 'No' choice is preselected +//! @retval 0 yes choice selected by user +//! @retval 1 no choice selected by user +//! @retval 0xFF button timeout (only possible if allow_timeouting is true) +uint8_t lcd_show_yes_no_and_wait(bool allow_timeouting, uint8_t default_selection) { - if (default_yes) { - lcd_putc_at(0, 2, '>'); - lcd_puts_P(_T(MSG_YES)); - lcd_puts_at_P(1, 3, _T(MSG_NO)); - } - else { - lcd_puts_at_P(1, 2, _T(MSG_YES)); - lcd_putc_at(0, 3, '>'); - lcd_puts_P(_T(MSG_NO)); - } - int8_t retval = default_yes ? true : false; - - // Wait for user confirmation or a timeout. - unsigned long previous_millis_cmd = _millis(); - int8_t enc_dif = lcd_encoder_diff; - lcd_consume_click(); - KEEPALIVE_STATE(PAUSED_FOR_USER); - for (;;) { - if (allow_timeouting && _millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS) - { - retval = -1; - break; - } - manage_heater(); - manage_inactivity(true); - if (abs(enc_dif - lcd_encoder_diff) > 4) { - lcd_set_cursor(0, 2); - if (enc_dif < lcd_encoder_diff && retval) { - lcd_print(' '); - lcd_putc_at(0, 3, '>'); - retval = 0; - Sound_MakeSound(e_SOUND_TYPE_EncoderMove); - - } - else if (enc_dif > lcd_encoder_diff && !retval) { - lcd_print('>'); - lcd_putc_at(0, 3, ' '); - retval = 1; - Sound_MakeSound(e_SOUND_TYPE_EncoderMove); - } - enc_dif = lcd_encoder_diff; - } - if (lcd_clicked()) { - Sound_MakeSound(e_SOUND_TYPE_ButtonEcho); - KEEPALIVE_STATE(IN_HANDLER); - break; - } - } - lcd_encoder_diff = 0; - return retval; + return lcd_show_multiscreen_message_yes_no_and_wait_P(NULL, allow_timeouting, default_selection); } //! @brief Show single screen message with yes and no possible choices and wait with possible timeout -//! @param msg Message to show +//! @param msg Message to show. If NULL, do not clear the screen and handle choice selection only. //! @param allow_timeouting if true, allows time outing of the screen -//! @param default_yes if true, yes choice is selected by default, otherwise no choice is preselected -//! @retval 1 yes choice selected by user -//! @retval 0 no choice selected by user -//! @retval -1 screen timed out +//! @param default_selection if 0, 'Yes' choice is selected by default, otherwise 'No' choice is preselected +//! @retval 0 yes choice selected by user +//! @retval 1 no choice selected by user +//! @retval 0xFF button timeout (only possible if allow_timeouting is true) //! @relates lcd_show_yes_no_and_wait -int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) +uint8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, uint8_t default_selection) { - lcd_display_message_fullscreen_P(msg); - return lcd_show_yes_no_and_wait(allow_timeouting, default_yes); + return lcd_show_multiscreen_message_yes_no_and_wait_P(msg, allow_timeouting, default_selection); } void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, uint8_t point_too_far_mask) @@ -3487,380 +3446,54 @@ static void lcd_show_sensors_state() uint8_t idler_state = STATE_NA; pinda_state = READ(Z_MIN_PIN); - if (mmu_enabled && !mmu_last_finda_response.expired(1000)) + if (MMU2::mmu2.Enabled()) { - finda_state = mmu_finda; + finda_state = MMU2::mmu2.FindaDetectsFilament(); } - //lcd_puts_at_P(0, 0, _i("Sensor state")); - lcd_puts_at_P(0, 0, _T(MSG_PINDA)); + lcd_puts_at_P(0, 0, MSG_PINDA); lcd_set_cursor(LCD_WIDTH - 14, 0); lcd_print_state(pinda_state); - if (mmu_enabled == true) + if (MMU2::mmu2.Enabled()) { lcd_puts_at_P(10, 0, _n("FINDA"));////MSG_FINDA c=5 lcd_set_cursor(LCD_WIDTH - 3, 0); lcd_print_state(finda_state); } - - if (ir_sensor_detected) { - idler_state = !READ(IR_SENSOR_PIN); - lcd_puts_at_P(0, 1, _i("Fil. sensor")); - lcd_set_cursor(LCD_WIDTH - 3, 1); - lcd_print_state(idler_state); - } - +#ifdef FILAMENT_SENSOR + idler_state = fsensor.getFilamentPresent(); + lcd_puts_at_P(0, 1, _T(MSG_FSENSOR)); + lcd_set_cursor(LCD_WIDTH - 3, 1); + lcd_print_state(idler_state); +#endif //FILAMENT_SENSOR -#ifdef PAT9125 - // Display X and Y difference from Filament sensor +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + // Display X and Y difference from Filament sensor // Display Light intensity from Filament sensor // Frame_Avg register represents the average brightness of all pixels within a frame (324 pixels). This // value ranges from 0(darkest) to 255(brightest). // Display LASER shutter time from Filament sensor // Shutter register is an index of LASER shutter time. It is automatically controlled by the chip's internal - // auto-exposure algorithm. When the chip is tracking on a good reflection surface, the Shutter is small. - // When the chip is tracking on a poor reflection surface, the Shutter is large. Value ranges from 0 to 46. - if (mmu_enabled == false) - { - // pat9125_update is already called while printing: only update manually when idling - if (!moves_planned() && !IS_SD_PRINTING && !usb_timer.running() && (lcd_commands_type != LcdCommands::Layer1Cal)) - pat9125_update(); - - lcd_set_cursor(0, 2); - lcd_printf_P(_N(" Int: %3d Xd:%6d\n" - "Shut: %3d Yd:%6d"), - pat9125_b, pat9125_x, - pat9125_s, pat9125_y); - } -#endif //PAT9125 + // auto-exposure algorithm. When the chip is tracking on a reflective surface, the Shutter is small. + // When the chip is tracking on a surface that absorbs IR (or doesn't reflect it), the Shutter is large. + // The maximum value of the shutter is 17. The value of 16 seems to be reported as 17 even though the + // Brightness value changes correctly as if the shutter changed to 16 (probably some bug with the sensor). + // The shutter algorithm tries to keep the B value in the 70-110 range. + lcd_set_cursor(0, 2); + lcd_printf_P(_N("B: %3d Xd:%6d\n" + "S: %3d Yd:%6d"), + pat9125_b, pat9125_x, + pat9125_s, pat9125_y); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) } void lcd_menu_show_sensors_state() // NOT static due to using inside "Marlin_main" module ("manage_inactivity()") { lcd_timeoutToStatus.stop(); lcd_show_sensors_state(); - if(LCD_CLICKED) - { - lcd_timeoutToStatus.start(); - menu_back(); - } + menu_back_if_clicked(); } -void prusa_statistics_err(char c){ - SERIAL_ECHOPGM("{[ERR:"); - SERIAL_ECHO(c); - SERIAL_ECHO(']'); - prusa_stat_farm_number(); -} - -static void prusa_statistics_case0(uint8_t statnr){ - SERIAL_ECHO('{'); - prusa_stat_printerstatus(statnr); - prusa_stat_farm_number(); - prusa_stat_printinfo(); -} - -void prusa_statistics(uint8_t _message, uint8_t _fil_nr) { -#ifdef DEBUG_DISABLE_PRUSA_STATISTICS - return; -#endif //DEBUG_DISABLE_PRUSA_STATISTICS - switch (_message) - { - - case 0: // default message - if (busy_state == PAUSED_FOR_USER) - { - prusa_statistics_case0(15); - } - else if (isPrintPaused) - { - prusa_statistics_case0(14); - } - else if (IS_SD_PRINTING || loading_flag) - { - prusa_statistics_case0(4); - } - else - { - SERIAL_ECHO('{'); - prusa_stat_printerstatus(1); - prusa_stat_farm_number(); - prusa_stat_diameter(); - status_number = 1; - } - break; - - case 1: // 1 heating - SERIAL_ECHO('{'); - prusa_stat_printerstatus(2); - prusa_stat_farm_number(); - status_number = 2; - farm_timer = 1; - break; - - case 2: // heating done - SERIAL_ECHO('{'); - prusa_stat_printerstatus(3); - prusa_stat_farm_number(); - SERIAL_ECHOLN('}'); - status_number = 3; - farm_timer = 1; - - if (IS_SD_PRINTING || loading_flag) - { - SERIAL_ECHO('{'); - prusa_stat_printerstatus(4); - prusa_stat_farm_number(); - status_number = 4; - } - else - { - SERIAL_ECHO('{'); - prusa_stat_printerstatus(3); - prusa_stat_farm_number(); - status_number = 3; - } - farm_timer = 1; - break; - - case 3: // filament change - // must do a return here to prevent doing SERIAL_ECHOLN("}") at the very end of this function - // saved a considerable amount of FLASH - return; - break; - case 4: // print succesfull - SERIAL_ECHOPGM("{[RES:1][FIL:"); - MYSERIAL.print(int(_fil_nr)); - SERIAL_ECHO(']'); - prusa_stat_printerstatus(status_number); - prusa_stat_farm_number(); - farm_timer = 2; - break; - case 5: // print not succesfull - SERIAL_ECHOPGM("{[RES:0][FIL:"); - MYSERIAL.print(int(_fil_nr)); - SERIAL_ECHO(']'); - prusa_stat_printerstatus(status_number); - prusa_stat_farm_number(); - farm_timer = 2; - break; - case 6: // print done - SERIAL_ECHOPGM("{[PRN:8]"); - prusa_stat_farm_number(); - status_number = 8; - farm_timer = 2; - break; - case 7: // print done - stopped - SERIAL_ECHOPGM("{[PRN:9]"); - prusa_stat_farm_number(); - status_number = 9; - farm_timer = 2; - break; - case 8: // printer started - SERIAL_ECHOPGM("{[PRN:0]"); - prusa_stat_farm_number(); - status_number = 0; - farm_timer = 2; - break; - case 20: // echo farm no - SERIAL_ECHO('{'); - prusa_stat_printerstatus(status_number); - prusa_stat_farm_number(); - farm_timer = 4; - break; - case 21: // temperatures - SERIAL_ECHO('{'); - prusa_stat_temperatures(); - prusa_stat_farm_number(); - prusa_stat_printerstatus(status_number); - break; - case 22: // waiting for filament change - SERIAL_ECHOPGM("{[PRN:5]"); - prusa_stat_farm_number(); - status_number = 5; - break; - - case 90: // Error - Thermal Runaway - prusa_statistics_err('1'); - break; - case 91: // Error - Thermal Runaway Preheat - prusa_statistics_err('2'); - break; - case 92: // Error - Min temp - prusa_statistics_err('3'); - break; - case 93: // Error - Max temp - prusa_statistics_err('4'); - break; - - case 99: // heartbeat - SERIAL_ECHOPGM("{[PRN:99]"); - prusa_stat_temperatures(); - prusa_stat_farm_number(); - break; - } - SERIAL_ECHOLN('}'); - -} - -static void prusa_stat_printerstatus(uint8_t _status) -{ - SERIAL_ECHOPGM("[PRN:"); - SERIAL_ECHO(_status); - SERIAL_ECHO(']'); -} - -static void prusa_stat_farm_number() { - SERIAL_ECHOPGM("[PFN:0]"); -} - -static void prusa_stat_diameter() { - SERIAL_ECHOPGM("[DIA:"); - SERIAL_ECHO(eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)); - SERIAL_ECHO(']'); -} - -static void prusa_stat_temperatures() -{ - SERIAL_ECHOPGM("[ST0:"); - SERIAL_ECHO(target_temperature[0]); - SERIAL_ECHOPGM("][STB:"); - SERIAL_ECHO(target_temperature_bed); - SERIAL_ECHOPGM("][AT0:"); - SERIAL_ECHO(current_temperature[0]); - SERIAL_ECHOPGM("][ATB:"); - SERIAL_ECHO(current_temperature_bed); - SERIAL_ECHO(']'); -} - -static void prusa_stat_printinfo() -{ - SERIAL_ECHOPGM("[TFU:"); - SERIAL_ECHO(total_filament_used); - SERIAL_ECHOPGM("][PCD:"); - SERIAL_ECHO(itostr3(card.percentDone())); - SERIAL_ECHOPGM("][FEM:"); - SERIAL_ECHO(itostr3(feedmultiply)); - SERIAL_ECHOPGM("][FNM:"); - SERIAL_ECHO(card.longFilename[0] ? card.longFilename : card.filename); - SERIAL_ECHOPGM("][TIM:"); - if (starttime != 0) - { - SERIAL_ECHO(_millis() / 1000 - starttime / 1000); - } - else - { - SERIAL_ECHO(0); - } - SERIAL_ECHOPGM("][FWR:"); - SERIAL_ECHORPGM(FW_VERSION_STR_P()); - SERIAL_ECHO(']'); - prusa_stat_diameter(); -} - -/* -void lcd_pick_babystep(){ - int enc_dif = 0; - int cursor_pos = 1; - int fsm = 0; - - - - - lcd_clear(); - - lcd_set_cursor(0, 0); - - lcd_puts_P(_i("Pick print"));////MSG_PICK_Z - - - lcd_set_cursor(3, 2); - - lcd_print('1'); - - lcd_set_cursor(3, 3); - - lcd_print('2'); - - lcd_set_cursor(12, 2); - - lcd_print('3'); - - lcd_set_cursor(12, 3); - - lcd_print('4'); - - lcd_set_cursor(1, 2); - - lcd_print('>'); - - - enc_dif = lcd_encoder_diff; - - while (fsm == 0) { - - manage_heater(); - manage_inactivity(true); - - if ( abs((enc_dif - lcd_encoder_diff)) > 4 ) { - - if ( (abs(enc_dif - lcd_encoder_diff)) > 1 ) { - if (enc_dif > lcd_encoder_diff ) { - cursor_pos --; - } - - if (enc_dif < lcd_encoder_diff ) { - cursor_pos ++; - } - - if (cursor_pos > 4) { - cursor_pos = 4; - } - - if (cursor_pos < 1) { - cursor_pos = 1; - } - - - lcd_set_cursor(1, 2); - lcd_print(' '); - lcd_set_cursor(1, 3); - lcd_print(' '); - lcd_set_cursor(10, 2); - lcd_print(' '); - lcd_set_cursor(10, 3); - lcd_print(' '); - - if (cursor_pos < 3) { - lcd_set_cursor(1, cursor_pos+1); - lcd_print('>'); - }else{ - lcd_set_cursor(10, cursor_pos-1); - lcd_print('>'); - } - - - enc_dif = lcd_encoder_diff; - _delay(100); - } - - } - - if (lcd_clicked()) { - fsm = cursor_pos; - int babyStepZ; - babyStepZ = eeprom_read_word((uint16_t*)EEPROM_BABYSTEP_Z0+(fsm-1)); - eeprom_update_word((uint16_t*)EEPROM_BABYSTEP_Z, babyStepZ); - calibration_status_store(CALIBRATION_STATUS_CALIBRATED); - _delay(500); - - } - }; - - lcd_clear(); - lcd_return_to_status(); -} -*/ void lcd_move_menu_axis() { MENU_BEGIN(); @@ -3914,34 +3547,6 @@ static void lcd_crash_mode_info2() } #endif //TMC2130 -#ifdef FILAMENT_SENSOR -static void lcd_filament_autoload_info() -{ -uint8_t nlines; - lcd_update_enable(true); - static uint32_t tim = 0; - if ((tim + 1000) < _millis()) - { - lcd_display_message_fullscreen_nonBlocking_P(_i("Autoloading filament available only when filament sensor is turned on..."), nlines); ////MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 - tim = _millis(); - } - menu_back_if_clicked(); -} - -static void lcd_fsensor_fail() -{ -uint8_t nlines; - lcd_update_enable(true); - static uint32_t tim = 0; - if ((tim + 1000) < _millis()) - { - lcd_display_message_fullscreen_nonBlocking_P(_i("ERROR: Filament sensor is not responding, please check connection."), nlines);////MSG_FSENS_NOT_RESPONDING c=20 r=4 - tim = _millis(); - } - menu_back_if_clicked(); -} -#endif //FILAMENT_SENSOR - //-// static void lcd_sound_state_set(void) { @@ -4011,24 +3616,6 @@ static void crash_mode_switch() else menu_goto(lcd_settings_menu, 9, true, true); } #endif //TMC2130 - - -#ifdef FILAMENT_SENSOR -static void lcd_fsensor_state_set() -{ - FSensorStateMenu = !FSensorStateMenu; //set also from fsensor_enable() and fsensor_disable() - if (!FSensorStateMenu) { - fsensor_disable(); - if (fsensor_autoload_enabled && !mmu_enabled) - menu_submenu(lcd_filament_autoload_info); - } - else { - fsensor_enable(); - if (fsensor_not_responding && !mmu_enabled) - menu_submenu(lcd_fsensor_fail); - } -} -#endif //FILAMENT_SENSOR #if (LANG_MODE != 0) @@ -4036,7 +3623,7 @@ void menu_setlang(unsigned char lang) { if (!lang_select(lang)) { - if (lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Copy selected language?"), false, true))////MSG_COPY_SEL_LANG c=20 r=3 + if (lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Copy selected language?"), false, LCD_LEFT_BUTTON_CHOICE) == LCD_LEFT_BUTTON_CHOICE)////MSG_COPY_SEL_LANG c=20 r=3 lang_boot_update_start(lang); lcd_update_enable(true); lcd_clear(); @@ -4052,7 +3639,7 @@ static void lcd_community_language_menu() { MENU_BEGIN(); uint8_t cnt = lang_get_count(); - MENU_ITEM_BACK_P(_i("Select language")); //Back to previous Menu + MENU_ITEM_BACK_P(_T(MSG_SELECT_LANGUAGE)); //Back to previous Menu for (int i = 8; i < cnt; i++) //all community languages if (menu_item_text_P(lang_get_name_by_code(lang_get_code(i)))) { @@ -4204,7 +3791,7 @@ void lcd_first_layer_calibration_reset() void lcd_v2_calibration() { - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { const uint8_t filament = choose_menu_P( _T(MSG_SELECT_FILAMENT), @@ -4219,16 +3806,17 @@ void lcd_v2_calibration() return; } } +#ifdef FILAMENT_SENSOR else if (!eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE)) { bool loaded = false; - if (fsensor_enabled && ir_sensor_detected) + if (fsensor.isReady()) { - loaded = !READ(IR_SENSOR_PIN); + loaded = fsensor.getFilamentPresent(); } else { - loaded = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), false, true); + loaded = !lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), false, LCD_LEFT_BUTTON_CHOICE); lcd_update_enabled = true; } @@ -4249,6 +3837,7 @@ void lcd_v2_calibration() return; } } +#endif //FILAMENT_SENSOR eFilamentAction = FilamentAction::Lay1Cal; menu_goto(lcd_generic_preheat_menu, 0, true, true); @@ -4257,7 +3846,7 @@ void lcd_v2_calibration() void lcd_wizard() { bool result = true; if (calibration_status() != CALIBRATION_STATUS_ASSEMBLED) { - result = lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Running Wizard will delete current calibration results and start from the beginning. Continue?"), false, false);////MSG_WIZARD_RERUN c=20 r=7 + result = !lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Running Wizard will delete current calibration results and start from the beginning. Continue?"), false);////MSG_WIZARD_RERUN c=20 r=7 } if (result) { calibration_status_store(CALIBRATION_STATUS_ASSEMBLED); @@ -4309,34 +3898,27 @@ static void wait_preheat() } -static void lcd_wizard_load() -{ - if (mmu_enabled) - { - lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the first tube of the MMU, then press the knob to load it."));////MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 - tmp_extruder = 0; - } - else - { - lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the extruder, then press the knob to load it."));////MSG_WIZARD_LOAD_FILAMENT c=20 r=6 - } - lcd_update_enable(false); - lcd_clear(); - lcd_puts_at_P(0, 2, _T(MSG_LOADING_FILAMENT)); - loading_flag = true; - gcode_M701(); -} - -bool lcd_autoDepleteEnabled() -{ - return (lcd_autoDeplete && fsensor_enabled); +static void lcd_wizard_load() { + if (MMU2::mmu2.Enabled()) { + lcd_show_fullscreen_message_and_wait_P( + _i("Please insert filament into the first tube of the MMU, then press the knob to load it.")); ////MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 + } else { + lcd_show_fullscreen_message_and_wait_P( + _i("Please insert filament into the extruder, then press the knob to load it.")); ////MSG_WIZARD_LOAD_FILAMENT c=20 r=6 + } + lcd_update_enable(false); + lcd_clear(); + lcd_puts_at_P(0, 2, _T(MSG_LOADING_FILAMENT)); + loading_flag = true; + gcode_M701(FILAMENTCHANGE_FIRSTFEED, 0); + //enquecommand_P(PSTR("M701")); } static void wizard_lay1cal_message(bool cold) { lcd_show_fullscreen_message_and_wait_P( _i("Now I will calibrate distance between tip of the nozzle and heatbed surface.")); ////MSG_WIZARD_V2_CAL c=20 r=8 - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { lcd_show_fullscreen_message_and_wait_P( _i("Select a filament for the First Layer Calibration and select it in the on-screen menu."));////MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 @@ -4390,7 +3972,7 @@ void lcd_wizard(WizState state) { using S = WizState; bool end = false; - int8_t wizard_event; + uint8_t wizard_event; const char *msg = NULL; // Make sure EEPROM_WIZARD_ACTIVE is true if entering using different entry point // other than WizState::Run - it is useful for debugging wizard. @@ -4418,11 +4000,11 @@ void lcd_wizard(WizState state) lcd_show_fullscreen_message_and_wait_P(_T(MSG_WIZARD_WELCOME_SHIPPING)); state = S::Restore; } else { - wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_WIZARD_WELCOME), false, true); - if (wizard_event) { + wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_WIZARD_WELCOME), false, LCD_LEFT_BUTTON_CHOICE); + if (wizard_event == LCD_LEFT_BUTTON_CHOICE) { state = S::Restore; eeprom_update_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); - } else { + } else { // MIDDLE_BUTTON_CHOICE eeprom_update_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0); end = true; } @@ -4457,8 +4039,10 @@ void lcd_wizard(WizState state) lcd_show_fullscreen_message_and_wait_P(_i("Please remove shipping helpers first."));////MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 lcd_show_fullscreen_message_and_wait_P(_i("Now remove the test print from steel sheet."));////MSG_REMOVE_TEST_PRINT c=20 r=4 lcd_show_fullscreen_message_and_wait_P(_i("I will run z calibration now."));////MSG_WIZARD_Z_CAL c=20 r=8 - wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false); - if (!wizard_event) lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET)); + wizard_event = lcd_show_fullscreen_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)); + } wizard_event = gcode_M45(true, 0); if (wizard_event) { //current filament needs to be unloaded and then new filament should be loaded @@ -4467,7 +4051,7 @@ void lcd_wizard(WizState state) lcd_display_message_fullscreen_P(_i("Now I will preheat nozzle for PLA.")); ////MSG_WIZARD_WILL_PREHEAT c=20 r=4 wait_preheat(); //unload current filament - unload_filament(true); + unload_filament(FILAMENTCHANGE_FINALRETRACT, true); //load filament lcd_wizard_load(); setTargetHotend(0, 0); //we are finished, cooldown nozzle @@ -4479,17 +4063,11 @@ void lcd_wizard(WizState state) //start to preheat nozzle and bed to save some time later setTargetHotend(PLA_PREHEAT_HOTEND_TEMP, 0); setTargetBed(PLA_PREHEAT_HPB_TEMP); - if (mmu_enabled) - { - wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), true); - } else - { - wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), true); - } - if (wizard_event) state = S::Lay1CalCold; - else - { - if(mmu_enabled) state = S::LoadFilCold; + wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), true); + if (wizard_event == LCD_LEFT_BUTTON_CHOICE) { + state = S::Lay1CalCold; + } else { // MIDDLE_BUTTON_CHOICE + if(MMU2::mmu2.Enabled()) state = S::LoadFilCold; else state = S::Preheat; } break; @@ -4519,7 +4097,7 @@ void lcd_wizard(WizState state) break; case S::RepeatLay1Cal: wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Do you want to repeat last step to readjust distance between nozzle and heatbed?"), false);////MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 - if (wizard_event) + if (wizard_event == LCD_LEFT_BUTTON_CHOICE) { lcd_show_fullscreen_message_and_wait_P(_i("Please clean heatbed and then press the knob."));////MSG_WIZARD_CLEAN_HEATBED c=20 r=8 state = S::Lay1CalCold; @@ -4593,86 +4171,103 @@ void lcd_settings_linearity_correction_menu(void) #endif // TMC2130 #ifdef FILAMENT_SENSOR -#define SETTINGS_FILAMENT_SENSOR \ -do\ -{\ - if (FSensorStateMenu == 0)\ - {\ - if (fsensor_not_responding && (mmu_enabled == false))\ - {\ - /* Filament sensor not working*/\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), _T(MSG_NA), lcd_fsensor_state_set);\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), NULL, lcd_fsensor_fail);\ - }\ - else\ - {\ - /* Filament sensor turned off, working, no problems*/\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), _T(MSG_OFF), lcd_fsensor_state_set);\ - if (mmu_enabled == false)\ - {\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), NULL, lcd_filament_autoload_info);\ - }\ - }\ - }\ - else\ - {\ - /* Filament sensor turned on, working, no problems*/\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), _T(MSG_ON), lcd_fsensor_state_set);\ - if (mmu_enabled == false)\ - {\ - if (fsensor_autoload_enabled)\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_ON), lcd_set_filament_autoload);\ - else\ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_OFF), lcd_set_filament_autoload);\ - /*if (fsensor_oq_meassure_enabled)*/\ - /*MENU_ITEM_FUNCTION_P(_i("F. OQ meass. [on]"), lcd_set_filament_oq_meass);*//*////MSG_FSENS_OQMEASS_ON c=17*/\ - /*else*/\ - /*MENU_ITEM_FUNCTION_P(_i("F. OQ meass.[off]"), lcd_set_filament_oq_meass);*//*////MSG_FSENS_OQMEASS_OFF c=17*/\ - }\ - }\ -}\ -while(0) -#else //FILAMENT_SENSOR -#define SETTINGS_FILAMENT_SENSOR do{}while(0) -#endif //FILAMENT_SENSOR - -static void auto_deplete_switch() -{ - lcd_autoDeplete = !lcd_autoDeplete; - eeprom_update_byte((unsigned char *)EEPROM_AUTO_DEPLETE, lcd_autoDeplete); +static void fsensor_reinit() { + fsensor.init(); } -static void settingsAutoDeplete() +static void lcd_fsensor_enabled_set(void) { + fsensor.setEnabled(!fsensor.isEnabled()); +} + +static void lcd_fsensor_runout_set() { + fsensor.setRunoutEnabled(!fsensor.getRunoutEnabled(), true); +} + +static void lcd_fsensor_autoload_set() { + fsensor.setAutoLoadEnabled(!fsensor.getAutoLoadEnabled(), true); +} + +#if FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 +static void lcd_fsensor_jam_detection_set() { + fsensor.setJamDetectionEnabled(!fsensor.getJamDetectionEnabled(), true); +} +#endif //FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 + +static void lcd_fsensor_actionNA_set(void) { - if (mmu_enabled) + Filament_sensor::SensorActionOnError act = fsensor.getActionOnError(); + switch(act) { + case Filament_sensor::SensorActionOnError::_Continue: + act = Filament_sensor::SensorActionOnError::_Pause; + break; + case Filament_sensor::SensorActionOnError::_Pause: + act = Filament_sensor::SensorActionOnError::_Continue; + break; + default: + act = Filament_sensor::SensorActionOnError::_Continue; + } + fsensor.setActionOnError(act, true); +} + +static void lcd_fsensor_settings_menu() { + MENU_BEGIN(); + MENU_ITEM_BACK_P(_T(MSG_BACK)); + + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), fsensor.isEnabled() ? _T(MSG_ON) : _T(MSG_OFF), lcd_fsensor_enabled_set); + + if (fsensor.isEnabled()) { + if (fsensor.isError()) { + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_RUNOUT), _T(MSG_NA), fsensor_reinit); + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_NA), fsensor_reinit); +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_JAM_DETECTION), _T(MSG_NA), fsensor_reinit); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + } + else { + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_RUNOUT), fsensor.getRunoutEnabled() ? _T(MSG_ON) : _T(MSG_OFF), lcd_fsensor_runout_set); + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), fsensor.getAutoLoadEnabled() ? _T(MSG_ON) : _T(MSG_OFF), lcd_fsensor_autoload_set); +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_JAM_DETECTION), fsensor.getJamDetectionEnabled() ? _T(MSG_ON) : _T(MSG_OFF), lcd_fsensor_jam_detection_set); +#endif //defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125) + } + + switch(fsensor.getActionOnError()) { + case Filament_sensor::SensorActionOnError::_Continue: + MENU_ITEM_TOGGLE_P(_T(MSG_FS_ACTION), _T(MSG_CONTINUE_SHORT), lcd_fsensor_actionNA_set); + break; + case Filament_sensor::SensorActionOnError::_Pause: + MENU_ITEM_TOGGLE_P(_T(MSG_FS_ACTION), _T(MSG_PAUSE), lcd_fsensor_actionNA_set); + break; + default: + lcd_fsensor_actionNA_set(); + } + } + + MENU_END(); +} + +#endif //FILAMENT_SENSOR + +static void settingsSpoolJoin() +{ + if (MMU2::mmu2.Enabled()) { - if (!fsensor_enabled) - { - MENU_ITEM_TOGGLE_P(_T(MSG_AUTO_DEPLETE), _T(MSG_NA), NULL); - } - else if (lcd_autoDeplete) - { - MENU_ITEM_TOGGLE_P(_T(MSG_AUTO_DEPLETE), _T(MSG_ON), auto_deplete_switch); - } - else - { - MENU_ITEM_TOGGLE_P(_T(MSG_AUTO_DEPLETE), _T(MSG_OFF), auto_deplete_switch); - } + MENU_ITEM_TOGGLE_P(MSG_SPOOL_JOIN, SpoolJoin::spooljoin.isSpoolJoinEnabled() ? _T(MSG_ON) : _T(MSG_OFF), SpoolJoin::spooljoin.toggleSpoolJoin); } } -#define SETTINGS_AUTO_DEPLETE \ +#define SETTINGS_SPOOLJOIN \ do\ {\ - settingsAutoDeplete();\ + settingsSpoolJoin();\ }\ while(0)\ #ifdef MMU_HAS_CUTTER static void settingsCutter() { - if (mmu_enabled) + if (MMU2::mmu2.Enabled()) { if (EEPROM_MMU_CUTTER_ENABLED_enabled == eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED)) { @@ -4681,7 +4276,7 @@ static void settingsCutter() #ifdef MMU_ALWAYS_CUT else if (EEPROM_MMU_CUTTER_ENABLED_always == eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED)) { - MENU_ITEM_TOGGLE_P(_T(MSG_CUTTER), _i("Always"), lcd_cutter_enabled); + MENU_ITEM_TOGGLE_P(_T(MSG_CUTTER), _T(MSG_ALWAYS), lcd_cutter_enabled); } #endif else @@ -4701,6 +4296,25 @@ while(0) #define SETTINGS_CUTTER #endif //MMU_HAS_CUTTER +static void mmu_enable_switch() +{ + uint8_t current_state = eeprom_read_byte((uint8_t *)EEPROM_MMU_ENABLED); + // EEPROM update is handled by the stop and start functions. + if (current_state) + { + MMU2::mmu2.Stop(); + } + else + { + MMU2::mmu2.Start(); + } +} + +static void mmu_reset() +{ + MMU2::mmu2.Reset(MMU2::MMU2::ResetForm::Software); +} + #ifdef TMC2130 #define SETTINGS_SILENT_MODE \ do\ @@ -4752,7 +4366,7 @@ while (0) #define SETTINGS_MMU_MODE \ do\ {\ - if (mmu_enabled)\ + if (MMU2::mmu2.Enabled())\ {\ if (SilentModeMenu_MMU == 0) MENU_ITEM_TOGGLE_P(_T(MSG_MMU_MODE), _T(MSG_NORMAL), lcd_silent_mode_mmu_set);\ else MENU_ITEM_TOGGLE_P(_T(MSG_MMU_MODE), _T(MSG_STEALTH), lcd_silent_mode_mmu_set);\ @@ -4768,7 +4382,7 @@ while (0) do\ {\ if (card.ToshibaFlashAir_isEnabled())\ - MENU_ITEM_TOGGLE_P(_T(MSG_SD_CARD), _T(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY), lcd_toshiba_flash_air_compatibility_toggle);\ + MENU_ITEM_TOGGLE_P(_T(MSG_SD_CARD), MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY, lcd_toshiba_flash_air_compatibility_toggle);\ else\ MENU_ITEM_TOGGLE_P(_T(MSG_SD_CARD), _T(MSG_NORMAL), lcd_toshiba_flash_air_compatibility_toggle);\ \ @@ -4787,7 +4401,7 @@ while (0) do\ {\ if (card.ToshibaFlashAir_isEnabled())\ - MENU_ITEM_TOGGLE_P(_T(MSG_SD_CARD), _T(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY), lcd_toshiba_flash_air_compatibility_toggle);\ + MENU_ITEM_TOGGLE_P(_T(MSG_SD_CARD), MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY, lcd_toshiba_flash_air_compatibility_toggle);\ else\ MENU_ITEM_TOGGLE_P(_T(MSG_SD_CARD), _T(MSG_NORMAL), lcd_toshiba_flash_air_compatibility_toggle);\ }\ @@ -4801,16 +4415,16 @@ do\ switch(e_mbl_type)\ {\ case e_MBL_FAST:\ - MENU_ITEM_FUNCTION_P(_i("Mode [Fast]"),mbl_mode_set);\ + MENU_ITEM_FUNCTION_P(_n("Mode [Fast]"),mbl_mode_set);\ break; \ case e_MBL_OPTIMAL:\ - MENU_ITEM_FUNCTION_P(_i("Mode [Optimal]"), mbl_mode_set); \ + MENU_ITEM_FUNCTION_P(_n("Mode [Optimal]"), mbl_mode_set); \ break; \ case e_MBL_PREC:\ - MENU_ITEM_FUNCTION_P(_i("Mode [Precise]"), mbl_mode_set); \ + MENU_ITEM_FUNCTION_P(_n("Mode [Precise]"), mbl_mode_set); \ break; \ default:\ - MENU_ITEM_FUNCTION_P(_i("Mode [Optimal]"), mbl_mode_set); \ + MENU_ITEM_FUNCTION_P(_n("Mode [Optimal]"), mbl_mode_set); \ break; \ }\ }\ @@ -4987,16 +4601,16 @@ do\ switch(oCheckVersion)\ {\ case ClCheckVersion::_None:\ - MENU_ITEM_TOGGLE_P(_T(MSG_FIRMWARE), _T(MSG_NONE), lcd_check_version_set);\ + MENU_ITEM_TOGGLE_P(MSG_FIRMWARE, _T(MSG_NONE), lcd_check_version_set);\ break;\ case ClCheckVersion::_Warn:\ - MENU_ITEM_TOGGLE_P(_T(MSG_FIRMWARE), _T(MSG_WARN), lcd_check_version_set);\ + MENU_ITEM_TOGGLE_P(MSG_FIRMWARE, _T(MSG_WARN), lcd_check_version_set);\ break;\ case ClCheckVersion::_Strict:\ - MENU_ITEM_TOGGLE_P(_T(MSG_FIRMWARE), _T(MSG_STRICT), lcd_check_version_set);\ + MENU_ITEM_TOGGLE_P(MSG_FIRMWARE, _T(MSG_STRICT), lcd_check_version_set);\ break;\ default:\ - MENU_ITEM_TOGGLE_P(_T(MSG_FIRMWARE), _T(MSG_NONE), lcd_check_version_set);\ + MENU_ITEM_TOGGLE_P(MSG_FIRMWARE, _T(MSG_NONE), lcd_check_version_set);\ }\ }\ while (0) @@ -5054,41 +4668,6 @@ SETTINGS_VERSION; MENU_END(); } -#ifdef IR_SENSOR_ANALOG -static void lcd_fsensor_actionNA_set(void) -{ -switch(oFsensorActionNA) - { - case ClFsensorActionNA::_Continue: - oFsensorActionNA=ClFsensorActionNA::_Pause; - break; - case ClFsensorActionNA::_Pause: - oFsensorActionNA=ClFsensorActionNA::_Continue; - break; - default: - oFsensorActionNA=ClFsensorActionNA::_Continue; - } -eeprom_update_byte((uint8_t*)EEPROM_FSENSOR_ACTION_NA,(uint8_t)oFsensorActionNA); -} - -#define FSENSOR_ACTION_NA \ -do\ -{\ - switch(oFsensorActionNA)\ - {\ - case ClFsensorActionNA::_Continue:\ - MENU_ITEM_TOGGLE_P(_T(MSG_FS_ACTION), _T(MSG_CONTINUE_SHORT), lcd_fsensor_actionNA_set);\ - break;\ - case ClFsensorActionNA::_Pause:\ - MENU_ITEM_TOGGLE_P(_T(MSG_FS_ACTION), _T(MSG_PAUSE), lcd_fsensor_actionNA_set);\ - break;\ - default:\ - oFsensorActionNA=ClFsensorActionNA::_Continue;\ - }\ -}\ -while (0) -#endif //IR_SENSOR_ANALOG - template static void select_sheet_menu() { @@ -5140,11 +4719,10 @@ void lcd_hw_setup_menu(void) // can not be "static" SETTINGS_NOZZLE; MENU_ITEM_SUBMENU_P(_i("Checks"), lcd_checking_menu); ////MSG_CHECKS c=18 -#ifdef IR_SENSOR_ANALOG - FSENSOR_ACTION_NA; +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) //! Fsensor Detection isn't ready for mmu yet it is temporarily disabled. //! @todo Don't forget to remove this as soon Fsensor Detection works with mmu - if(!mmu_enabled) MENU_ITEM_FUNCTION_P(PSTR("Fsensor Detection"), lcd_detect_IRsensor); + if(!MMU2::mmu2.Enabled()) MENU_ITEM_FUNCTION_P(PSTR("Fsensor Detection"), lcd_detect_IRsensor); #endif //IR_SENSOR_ANALOG if (_md->experimental_menu_visibility) @@ -5172,18 +4750,27 @@ static void lcd_settings_menu() MENU_ITEM_SUBMENU_P(_i("Temperature"), lcd_control_temperature_menu);////MSG_TEMPERATURE c=18 - if (!PRINTER_ACTIVE || isPrintPaused) + if (!printer_active() || isPrintPaused) { MENU_ITEM_SUBMENU_P(_i("Move axis"), lcd_move_menu_axis);////MSG_MOVE_AXIS c=18 MENU_ITEM_GCODE_P(_i("Disable steppers"), PSTR("M84"));////MSG_DISABLE_STEPPERS c=18 } - SETTINGS_FILAMENT_SENSOR; +#ifdef FILAMENT_SENSOR + MENU_ITEM_SUBMENU_P(_T(MSG_FSENSOR), lcd_fsensor_settings_menu); +#endif //FILAMENT_SENSOR - SETTINGS_AUTO_DEPLETE; + SETTINGS_SPOOLJOIN; SETTINGS_CUTTER; + MENU_ITEM_TOGGLE_P(PSTR("MMU"), eeprom_read_byte((uint8_t *)EEPROM_MMU_ENABLED) ? _T(MSG_ON) : _T(MSG_OFF), mmu_enable_switch); + + if (eeprom_read_byte((uint8_t *)EEPROM_MMU_ENABLED)) + { + MENU_ITEM_FUNCTION_P(PSTR("Reset MMU"), mmu_reset); + } + MENU_ITEM_TOGGLE_P(_T(MSG_FANS_CHECK), fans_check_enabled ? _T(MSG_ON) : _T(MSG_OFF), lcd_set_fan_check); SETTINGS_SILENT_MODE; @@ -5214,7 +4801,7 @@ static void lcd_settings_menu() MENU_ITEM_SUBMENU_P(_T(MSG_BABYSTEP_Z), lcd_babystep_z); #if (LANG_MODE != 0) - MENU_ITEM_SUBMENU_P(_i("Select language"), lcd_language_menu);////MSG_LANGUAGE_SELECT c=18 + MENU_ITEM_SUBMENU_P(_T(MSG_SELECT_LANGUAGE), lcd_language_menu); #endif //(LANG_MODE != 0) SETTINGS_SD; @@ -5304,7 +4891,7 @@ static void lcd_calibration_menu() //! //! Create list of items with header. Header can not be selected. //! Each item has text description passed by function parameter and -//! number. There are 5 numbered items, if mmu_enabled, 4 otherwise. +//! number. There are 5 numbered items, if MMU2::mmu2.Enabled(), 4 otherwise. //! Items are numbered from 1 to 4 or 5. But index returned starts at 0. //! There can be last item with different text and no number. //! @@ -5315,7 +4902,7 @@ static void lcd_calibration_menu() uint8_t choose_menu_P(const char *header, const char *item, const char *last_item) { //following code should handle 3 to 127 number of items well - const int8_t items_no = last_item?(mmu_enabled?6:5):(mmu_enabled?5:4); + const int8_t items_no = last_item?(MMU2::mmu2.Enabled()?6:5):(MMU2::mmu2.Enabled()?5:4); const uint8_t item_len = item?strlen_P(item):0; int8_t first = 0; int8_t enc_dif = lcd_encoder_diff; @@ -5476,8 +5063,8 @@ char reset_menu() { static void lcd_disable_farm_mode() { - int8_t disable = lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Disable farm mode?"), true, false); //allow timeouting, default no - if (disable) + uint8_t disable = lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Disable farm mode?"), true); //allow timeouting, default no + if (disable == LCD_LEFT_BUTTON_CHOICE) { enquecommand_P(PSTR("G99")); lcd_return_to_status(); @@ -5487,105 +5074,141 @@ static void lcd_disable_farm_mode() } +static inline void load_all_wrapper(){ + for(uint8_t i = 0; i < 5; ++i){ + MMU2::mmu2.load_filament(i); + } +} +static inline void load_filament_wrapper(uint8_t i){ + MMU2::mmu2.load_filament(i); +} -static void mmu_load_filament_menu() -{ +static void mmu_load_filament_menu() { MENU_BEGIN(); MENU_ITEM_BACK_P(_T(MSG_MAIN)); - MENU_ITEM_FUNCTION_P(_i("Load all"), load_all); ////MSG_LOAD_ALL c=18 + MENU_ITEM_FUNCTION_P(_T(MSG_LOAD_ALL), load_all_wrapper); for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++) - MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', extr_adj, i); ////MSG_LOAD_FILAMENT c=16 + MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', load_filament_wrapper, i); ////MSG_LOAD_FILAMENT c=16 MENU_END(); } -static void mmu_load_to_nozzle_menu() -{ - if (bFilamentAction) - { +static inline void lcd_mmu_load_to_nozzle_wrapper(uint8_t index){ + MMU2::mmu2.load_filament_to_nozzle(index); + + // Ask user if the extruded color is correct: + lcd_return_to_status(); + lcd_load_filament_color_check(); + lcd_setstatuspgm(MSG_WELCOME); + custom_message_type = CustomMsg::Status; +} + +static void mmu_load_to_nozzle_menu() { + if (bFilamentAction) { MENU_BEGIN(); MENU_ITEM_BACK_P(_T(MSG_MAIN)); for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++) - MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', lcd_mmu_load_to_nozzle, i); ////MSG_LOAD_FILAMENT c=16 + MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', lcd_mmu_load_to_nozzle_wrapper, i); ////MSG_LOAD_FILAMENT c=16 MENU_END(); - } - else - { + } else { eFilamentAction = FilamentAction::MmuLoad; preheat_or_continue(); } } -static void mmu_eject_filament(uint8_t filament) -{ +static void mmu_eject_filament(uint8_t filament) { menu_back(); - mmu_eject_filament(filament, true); + MMU2::mmu2.eject_filament(filament, true); } -static void mmu_fil_eject_menu() -{ - if (bFilamentAction) - { +static void mmu_fil_eject_menu() { + if (bFilamentAction) { MENU_BEGIN(); MENU_ITEM_BACK_P(_T(MSG_MAIN)); for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++) MENU_ITEM_FUNCTION_NR_P(_T(MSG_EJECT_FILAMENT), i + '1', mmu_eject_filament, i); ////MSG_EJECT_FILAMENT c=16 MENU_END(); - } - else - { + } else { eFilamentAction = FilamentAction::MmuEject; preheat_or_continue(); } } #ifdef MMU_HAS_CUTTER +static inline void mmu_cut_filament_wrapper(uint8_t index){ + MMU2::mmu2.cut_filament(index); +} -static void mmu_cut_filament_menu() -{ - if(bFilamentAction) - { +static void mmu_cut_filament_menu() { + if (bFilamentAction) { MENU_BEGIN(); MENU_ITEM_BACK_P(_T(MSG_MAIN)); for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++) - MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), i + '1', mmu_cut_filament, i); ////MSG_CUT_FILAMENT c=16 + MENU_ITEM_FUNCTION_NR_P(_T(MSG_CUT_FILAMENT), i + '1', mmu_cut_filament_wrapper, i); ////MSG_CUT_FILAMENT c=16 MENU_END(); - } - else - { + } else { eFilamentAction=FilamentAction::MmuCut; - bFilamentFirstRun=false; - if(target_temperature[0] >= extrude_min_temp) - { - bFilamentPreheatState=true; - mFilamentItem(target_temperature[0],target_temperature_bed); - } - else lcd_generic_preheat_menu(); + preheat_or_continue(); } } #endif //MMU_HAS_CUTTER +static inline void load_to_extruder_all_wrapper(){ + for(uint8_t i = 0; i < 5; ++i){ + MMU2::mmu2.load_to_extruder(i); + } +} + +static inline void load_to_extruder_wrapper(uint8_t i){ + MMU2::mmu2.load_to_extruder(i); +} + +static void mmu_load_to_extruder_menu() { + if (bFilamentAction) { + MENU_BEGIN(); + MENU_ITEM_BACK_P(_T(MSG_MAIN)); + MENU_ITEM_FUNCTION_P(_T(MSG_LOAD_ALL), load_to_extruder_all_wrapper); + for (uint8_t i = 0; i < MMU_FILAMENT_COUNT; i++) + MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), i + '1', load_to_extruder_wrapper, i); ////MSG_LOAD_FILAMENT c=16 + MENU_END(); + } else { + eFilamentAction = FilamentAction::MmuLoadExtruder; + preheat_or_continue(); + } +} // unload filament for single material printer (used in M702 gcode) // @param automatic: If true, unload_filament is part of a unload+load sequence (M600) -void unload_filament(bool automatic) +void unload_filament(float unloadLength, bool automatic) { custom_message_type = CustomMsg::FilamentLoading; lcd_setstatuspgm(_T(MSG_UNLOADING_FILAMENT)); - raise_z_above(automatic? MIN_Z_FOR_SWAP: MIN_Z_FOR_UNLOAD); + FSensorBlockRunout fsBlockRunout; - // extr_unload2(); + if (automatic) + { + // M600 + raise_z_above(MIN_Z_FOR_SWAP); + } - current_position[E_AXIS] -= 45; - plan_buffer_line_curposXYZE(5200 / 60); - st_synchronize(); - current_position[E_AXIS] -= 15; - plan_buffer_line_curposXYZE(1000 / 60); - st_synchronize(); - current_position[E_AXIS] -= 20; - plan_buffer_line_curposXYZE(1000 / 60); - st_synchronize(); + // Retract filament + current_position[E_AXIS] += -FILAMENT_UNLOAD_PURGE_RETRACT; + plan_buffer_line_curposXYZE(PAUSE_PARK_RETRACT_FEEDRATE); + st_synchronize(); + + // Wait for filament to cool + delay_keep_alive(FILAMENT_UNLOAD_PURGE_DELAY); + + // Quickly purge + current_position[E_AXIS] += (FILAMENT_UNLOAD_PURGE_RETRACT + FILAMENT_UNLOAD_PURGE_LENGTH); + plan_buffer_line_curposXYZE(FILAMENT_UNLOAD_PURGE_FEEDRATE); + st_synchronize(); + + // Configurable length + current_position[E_AXIS] += unloadLength; + plan_buffer_line_curposXYZE(FILAMENT_CHANGE_UNLOAD_FEEDRATE); + st_synchronize(); lcd_display_message_fullscreen_P(_T(MSG_PULL_OUT_FILAMENT)); @@ -5609,6 +5232,7 @@ void unload_filament(bool automatic) lcd_setstatuspgm(MSG_WELCOME); custom_message_type = CustomMsg::Status; + eFilamentAction = FilamentAction::None; } #include "xflash.h" @@ -5662,22 +5286,37 @@ static bool fan_error_selftest() return 0; } +bool resume_print_checks() { + // reset the lcd status so that a newer error will be shown + lcd_return_to_status(); + lcd_reset_alert_level(); + + // ensure thermal issues (temp or fan) are resolved before we allow to resume + if (get_temp_error() +#ifdef FANCHECK + || fan_error_selftest() +#endif + ) { + return false; // abort if error persists + } + + return true; +} + //! @brief Resume paused print, send host action "resumed" //! @todo It is not good to call restore_print_from_ram_and_continue() from function called by lcd_update(), //! as restore_print_from_ram_and_continue() calls lcd_update() internally. void lcd_resume_print() { - lcd_return_to_status(); - lcd_reset_alert_level(); //for fan speed error - if (fan_error_selftest()) { - if (usb_timer.running()) SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED); - return; //abort if error persists - } + // reset lcd and ensure we can resume first + if (!resume_print_checks()) return; + cmdqueue_serial_disabled = false; lcd_setstatuspgm(_T(MSG_FINISHING_MOVEMENTS)); st_synchronize(); custom_message_type = CustomMsg::Resuming; isPrintPaused = false; + Stopped = false; // resume processing USB commands again restore_print_from_ram_and_continue(default_retraction); pause_time += (_millis() - start_pause_print); //accumulate time when print is paused for correct statistics calculation refresh_cmd_timeout(); @@ -5688,7 +5327,11 @@ void lcd_resume_print() //! @brief Resume paused USB/host print, send host action "resume" void lcd_resume_usb_print() { - SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_RESUME); //resume octoprint + // reset lcd and ensure we can resume first + if (!resume_print_checks()) return; + + // resume the usb host + SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_ASK_RESUME); } static void change_sheet() @@ -5854,7 +5497,7 @@ static void lcd_main_menu() if (farm_mode) MENU_ITEM_FUNCTION_P(_T(MSG_FILAMENTCHANGE), lcd_colorprint_change);//8 - if ( moves_planned() || PRINTER_ACTIVE ) { + if ( moves_planned() || printer_active() ) { MENU_ITEM_SUBMENU_P(_i("Tune"), lcd_tune_menu);////MSG_TUNE c=18 } else { MENU_ITEM_SUBMENU_P(_i("Preheat"), lcd_preheat_menu);////MSG_PREHEAT c=18 @@ -5869,14 +5512,16 @@ static void lcd_main_menu() } if(isPrintPaused) { + // only allow resuming if hardware errors (temperature or fan) are cleared + if(!get_temp_error() #ifdef FANCHECK - if((fan_check_error == EFCE_FIXED) || (fan_check_error == EFCE_OK)) + && ((fan_check_error == EFCE_FIXED) || (fan_check_error == EFCE_OK)) #endif //FANCHECK - { - if (usb_timer.running()) { - MENU_ITEM_SUBMENU_P(_T(MSG_RESUME_PRINT), lcd_resume_usb_print); - } else { + ) { + if (saved_printing) { MENU_ITEM_SUBMENU_P(_T(MSG_RESUME_PRINT), lcd_resume_print); + } else { + MENU_ITEM_SUBMENU_P(_T(MSG_RESUME_PRINT), lcd_resume_usb_print); } } } @@ -5887,21 +5532,18 @@ static void lcd_main_menu() if (card.cardOK || lcd_commands_type == LcdCommands::Layer1Cal) { if (!card.isFileOpen()) { if (!usb_timer.running() && (lcd_commands_type != LcdCommands::Layer1Cal)) { - //if (farm_mode) MENU_ITEM_SUBMENU_P(MSG_FARM_CARD_MENU, lcd_farm_sdcard_menu); - /*else*/{ - bMain=true; // flag ('fake parameter') for 'lcd_sdcard_menu()' function - MENU_ITEM_SUBMENU_P(_T(MSG_CARD_MENU), lcd_sdcard_menu); - } - } + bMain=true; // flag ('fake parameter') for 'lcd_sdcard_menu()' function + MENU_ITEM_SUBMENU_P(_T(MSG_CARD_MENU), lcd_sdcard_menu); + } #if SDCARDDETECT < 1 - MENU_ITEM_GCODE_P(_i("Change SD card"), PSTR("M21")); // SD-card changed by user////MSG_CNG_SDCARD + MENU_ITEM_GCODE_P(_i("Change SD card"), PSTR("M21")); // SD-card changed by user ////MSG_CNG_SDCARD c=18 #endif //SDCARDDETECT } } else { bMain=true; // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function - MENU_ITEM_SUBMENU_P(_i("No SD card"), lcd_sdcard_menu);////MSG_NO_CARD c=18 + MENU_ITEM_SUBMENU_P(_i("No SD card"), lcd_sdcard_menu); ////MSG_NO_CARD c=18 #if SDCARDDETECT < 1 - MENU_ITEM_GCODE_P(_i("Init. SD card"), PSTR("M21")); // Manually initialize the SD-card via user interface////MSG_INIT_SDCARD + MENU_ITEM_GCODE_P(_i("Init. SD card"), PSTR("M21")); // Manually initialize the SD-card via user interface ////MSG_INIT_SDCARD c=18 #endif //SDCARDDETECT } #endif //SDSUPPORT @@ -5917,25 +5559,27 @@ static void lcd_main_menu() } if ( ! ( IS_SD_PRINTING || usb_timer.running() || (lcd_commands_type == LcdCommands::Layer1Cal) ) ) { - if (mmu_enabled) { + if (MMU2::mmu2.Enabled()) { MENU_ITEM_SUBMENU_P(_T(MSG_LOAD_FILAMENT), mmu_load_filament_menu); + MENU_ITEM_SUBMENU_P(_T(MSG_LOAD_TO_EXTRUDER), mmu_load_to_extruder_menu); MENU_ITEM_SUBMENU_P(_i("Load to nozzle"), mmu_load_to_nozzle_menu);////MSG_LOAD_TO_NOZZLE c=18 MENU_ITEM_SUBMENU_P(_T(MSG_UNLOAD_FILAMENT), mmu_unload_filament); MENU_ITEM_SUBMENU_P(_T(MSG_EJECT_FILAMENT), mmu_fil_eject_menu); #ifdef MMU_HAS_CUTTER - MENU_ITEM_SUBMENU_P(_T(MSG_CUT_FILAMENT), mmu_cut_filament_menu); + if (eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED) != 0) { + MENU_ITEM_SUBMENU_P(_T(MSG_CUT_FILAMENT), mmu_cut_filament_menu); + } #endif //MMU_HAS_CUTTER } else { #ifdef FILAMENT_SENSOR - if ((fsensor_autoload_enabled == true) && (fsensor_enabled == true) && (mmu_enabled == false)) + if (fsensor.getAutoLoadEnabled()) { MENU_ITEM_SUBMENU_P(_i("AutoLoad filament"), lcd_menu_AutoLoadFilament);////MSG_AUTOLOAD_FILAMENT c=18 + } else #endif //FILAMENT_SENSOR { - bFilamentFirstRun=true; MENU_ITEM_SUBMENU_P(_T(MSG_LOAD_FILAMENT), lcd_LoadFilament); } - bFilamentFirstRun=true; MENU_ITEM_SUBMENU_P(_T(MSG_UNLOAD_FILAMENT), lcd_unLoadFilament); } MENU_ITEM_SUBMENU_P(_T(MSG_SETTINGS), lcd_settings_menu); @@ -5949,12 +5593,12 @@ static void lcd_main_menu() #if defined(TMC2130) || defined(FILAMENT_SENSOR) MENU_ITEM_SUBMENU_P(_i("Fail stats"), lcd_menu_fails_stats);////MSG_FAIL_STATS c=18 #endif - if (mmu_enabled) { + if (MMU2::mmu2.Enabled()) { MENU_ITEM_SUBMENU_P(_i("Fail stats MMU"), lcd_menu_fails_stats_mmu);////MSG_MMU_FAIL_STATS c=18 } MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT c=18 #ifdef LCD_TEST - MENU_ITEM_SUBMENU_P(_i("XFLASH init"), lcd_test_menu);////MSG_XFLASH + MENU_ITEM_SUBMENU_P(_i("XFLASH init"), lcd_test_menu);////MSG_XFLASH c=18 #endif //LCD_TEST MENU_END(); @@ -6092,25 +5736,10 @@ static void lcd_tune_menu() #endif #ifdef FILAMENT_SENSOR - if (FSensorStateMenu == 0) { - if (fsensor_not_responding && (mmu_enabled == false)) { - /* Filament sensor not working*/ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), _T(MSG_NA), lcd_fsensor_state_set); - } - else { - /* Filament sensor turned off, working, no problems*/ - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), _T(MSG_OFF), lcd_fsensor_state_set); - } - } - else { - MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR), _T(MSG_ON), lcd_fsensor_state_set); - } -#ifdef IR_SENSOR_ANALOG - FSENSOR_ACTION_NA; -#endif //IR_SENSOR_ANALOG + MENU_ITEM_SUBMENU_P(_T(MSG_FSENSOR), lcd_fsensor_settings_menu); #endif //FILAMENT_SENSOR - SETTINGS_AUTO_DEPLETE; + SETTINGS_SPOOLJOIN; SETTINGS_CUTTER; @@ -6118,18 +5747,20 @@ static void lcd_tune_menu() #ifdef TMC2130 - if(!farm_mode) - { - if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM_TOGGLE_P(_T(MSG_MODE), _T(MSG_NORMAL), lcd_silent_mode_set); - else MENU_ITEM_TOGGLE_P(_T(MSG_MODE), _T(MSG_STEALTH), lcd_silent_mode_set); - - if (SilentModeMenu == SILENT_MODE_NORMAL) - { - if (lcd_crash_detect_enabled()) MENU_ITEM_TOGGLE_P(_T(MSG_CRASHDETECT), _T(MSG_ON), crash_mode_switch); - else MENU_ITEM_TOGGLE_P(_T(MSG_CRASHDETECT), _T(MSG_OFF), crash_mode_switch); - } - else MENU_ITEM_TOGGLE_P(_T(MSG_CRASHDETECT), NULL, lcd_crash_mode_info); - } + if(!farm_mode) + { + if (SilentModeMenu == SILENT_MODE_NORMAL) { + MENU_ITEM_TOGGLE_P(_T(MSG_MODE), _T(MSG_NORMAL), lcd_silent_mode_set); + if (lcd_crash_detect_enabled()) { + MENU_ITEM_TOGGLE_P(_T(MSG_CRASHDETECT), _T(MSG_ON), crash_mode_switch); + } else { + MENU_ITEM_TOGGLE_P(_T(MSG_CRASHDETECT), _T(MSG_OFF), crash_mode_switch); + } + } else { + MENU_ITEM_TOGGLE_P(_T(MSG_MODE), _T(MSG_STEALTH), lcd_silent_mode_set); + MENU_ITEM_TOGGLE_P(_T(MSG_CRASHDETECT), NULL, lcd_crash_mode_info); + } + } #else //TMC2130 if (!farm_mode) { //dont show in menu if we are in farm mode switch (SilentModeMenu) { @@ -6241,10 +5872,10 @@ static void lcd_control_temperature_menu() MENU_ITEM_EDIT_int3_P(_T(MSG_NOZZLE), &target_temperature[0], 0, HEATER_0_MAXTEMP - 10); #endif #if TEMP_SENSOR_1 != 0 - MENU_ITEM_EDIT_int3_P(_i("Nozzle2"), &target_temperature[1], 0, HEATER_1_MAXTEMP - 10);////MSG_NOZZLE1 + MENU_ITEM_EDIT_int3_P(_n("Nozzle2"), &target_temperature[1], 0, HEATER_1_MAXTEMP - 10); #endif #if TEMP_SENSOR_2 != 0 - MENU_ITEM_EDIT_int3_P(_i("Nozzle3"), &target_temperature[2], 0, HEATER_2_MAXTEMP - 10);////MSG_NOZZLE2 + MENU_ITEM_EDIT_int3_P(_n("Nozzle3"), &target_temperature[2], 0, HEATER_2_MAXTEMP - 10); #endif #if TEMP_SENSOR_BED != 0 MENU_ITEM_EDIT_int3_P(_T(MSG_BED), &target_temperature_bed, 0, BED_MAXTEMP - 3); @@ -6253,9 +5884,9 @@ static void lcd_control_temperature_menu() #if defined AUTOTEMP && (TEMP_SENSOR_0 != 0) //MENU_ITEM_EDIT removed, following code must be redesigned if AUTOTEMP enabled MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &autotemp_enabled); - MENU_ITEM_EDIT(float3, _i(" \xdf Min"), &autotemp_min, 0, HEATER_0_MAXTEMP - 10);////MSG_MIN - MENU_ITEM_EDIT(float3, _i(" \xdf Max"), &autotemp_max, 0, HEATER_0_MAXTEMP - 10);////MSG_MAX - MENU_ITEM_EDIT(float32, _i(" \xdf Fact"), &autotemp_factor, 0.0, 1.0);////MSG_FACTOR + MENU_ITEM_EDIT(float3, _n(" \xdf Min"), &autotemp_min, 0, HEATER_0_MAXTEMP - 10); + MENU_ITEM_EDIT(float3, _n(" \xdf Max"), &autotemp_max, 0, HEATER_0_MAXTEMP - 10); + MENU_ITEM_EDIT(float32, _n(" \xdf Fact"), &autotemp_factor, 0.0, 1.0); #endif MENU_END(); @@ -6283,56 +5914,72 @@ static void lcd_sd_updir() menu_data_reset(); //Forces reloading of cached variables. } -void lcd_print_stop() +// continue stopping the print from the main loop after lcd_print_stop() is called +void print_stop() { - if (!card.sdprinting) { - SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); // for Octoprint - } - UnconditionalStop(); + // save printing time + stoptime = _millis(); + unsigned long t = (stoptime - starttime - pause_time) / 1000; //time in s + save_statistics(total_filament_used, t); - // TODO: all the following should be moved in the main marlin loop! -#ifdef MESH_BED_LEVELING - mbl.active = false; //also prevents undoing the mbl compensation a second time in the second planner_abort_hard() -#endif + // lift Z + raise_z(10); - lcd_setstatuspgm(_T(MSG_PRINT_ABORTED)); - stoptime = _millis(); - unsigned long t = (stoptime - starttime - pause_time) / 1000; //time in s - pause_time = 0; - save_statistics(total_filament_used, t); - - // reset current command - lcd_commands_step = 0; - lcd_commands_type = LcdCommands::Idle; - - lcd_cooldown(); //turns off heaters and fan; goes to status screen. - - if (axis_known_position[Z_AXIS]) { - current_position[Z_AXIS] += Z_CANCEL_LIFT; - clamp_to_software_endstops(current_position); - plan_buffer_line_curposXYZE(manual_feedrate[Z_AXIS] / 60); - } - - if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) //if axis are homed, move to parked position. - { + // if axis are homed, move to parking position. + if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) { current_position[X_AXIS] = X_CANCEL_POS; current_position[Y_AXIS] = Y_CANCEL_POS; plan_buffer_line_curposXYZE(manual_feedrate[0] / 60); } st_synchronize(); - if (mmu_enabled) extr_unload(); //M702 C + // did we come here from a thermal error? + if(get_temp_error()) { + // time to stop the error beep + WRITE(BEEPER, LOW); + } else { + // Turn off the print fan + fanSpeed = 0; + } + + if (MMU2::mmu2.Enabled()) + { + if (isPrintPaused) + { + // Restore temperature saved in ram after pausing print + restore_extruder_temperature_from_ram(); + } + MMU2::mmu2.unload(); //M702 C + } + + lcd_cooldown(); //turns off heaters and fan; goes to status screen. finishAndDisableSteppers(); //M84 - - lcd_setstatuspgm(MSG_WELCOME); - custom_message_type = CustomMsg::Status; - - planner_abort_hard(); //needs to be done since plan_buffer_line resets waiting_inside_plan_buffer_line_print_aborted to false. Also copies current to destination. - axis_relative_modes = E_AXIS_MASK; //XYZ absolute, E relative - - isPrintPaused = false; //clear isPrintPaused flag to allow starting next print after pause->stop scenario. +} + +void lcd_print_stop() +{ + // UnconditionalStop() will internally cause planner_abort_hard(), meaning we _cannot_ plan + // any more move in this call! Any further move must happen inside print_stop(), which is called + // by the main loop one iteration later. + UnconditionalStop(); + + if (!card.sdprinting) { + SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); // for Octoprint + } + +#ifdef MESH_BED_LEVELING + mbl.active = false; +#endif + + // clear any pending paused state immediately + pause_time = 0; + isPrintPaused = false; + + // return to status is required to continue processing in the main loop! + lcd_commands_type = LcdCommands::StopPrint; + lcd_return_to_status(); } void lcd_sdcard_stop() @@ -6555,49 +6202,48 @@ void lcd_belttest() } #endif //TMC2130 -#ifdef IR_SENSOR_ANALOG +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) // called also from marlin_main.cpp void printf_IRSensorAnalogBoardChange(){ - printf_P(PSTR("Filament sensor board change detected: revision%S\n"), FsensorIRVersionText()); + printf_P(PSTR("Filament sensor board change detected: revision%S\n"), fsensor.getIRVersionText()); } static bool lcd_selftest_IRsensor(bool bStandalone) { - bool bPCBrev04; - uint16_t volt_IR_int; - - volt_IR_int = current_voltage_raw_IR; - bPCBrev04=(volt_IR_int < IRsensor_Hopen_TRESHOLD); + FSensorBlockRunout fsBlockRunout; + IR_sensor_analog::SensorRevision oldSensorRevision = fsensor.getSensorRevision(); + IR_sensor_analog::SensorRevision newSensorRevision; + uint16_t volt_IR_int = fsensor.getVoltRaw(); + + newSensorRevision = (volt_IR_int < fsensor.IRsensor_Hopen_TRESHOLD) ? IR_sensor_analog::SensorRevision::_Rev04 : IR_sensor_analog::SensorRevision::_Old; printf_P(PSTR("Measured filament sensor high level: %4.2fV\n"), Raw2Voltage(volt_IR_int) ); - if(volt_IR_int < IRsensor_Hmin_TRESHOLD){ + if(volt_IR_int < fsensor.IRsensor_Hmin_TRESHOLD){ if(!bStandalone) lcd_selftest_error(TestError::FsensorLevel,"HIGH",""); - return(false); + return false; } lcd_show_fullscreen_message_and_wait_P(_i("Insert the filament (do not load it) into the extruder and then press the knob."));////MSG_INSERT_FIL c=20 r=6 - volt_IR_int = current_voltage_raw_IR; + volt_IR_int = fsensor.getVoltRaw(); printf_P(PSTR("Measured filament sensor low level: %4.2fV\n"), Raw2Voltage(volt_IR_int)); - if(volt_IR_int > (IRsensor_Lmax_TRESHOLD)){ + if(volt_IR_int > (fsensor.IRsensor_Lmax_TRESHOLD)){ if(!bStandalone) lcd_selftest_error(TestError::FsensorLevel,"LOW",""); - return(false); + return false; } - if((bPCBrev04 ? 1 : 0) != (uint8_t)oFsensorPCB){ // safer then "(uint8_t)bPCBrev04" - oFsensorPCB=bPCBrev04 ? ClFsensorPCB::_Rev04 : ClFsensorPCB::_Old; + if(newSensorRevision != oldSensorRevision) { + fsensor.setSensorRevision(newSensorRevision, true); printf_IRSensorAnalogBoardChange(); - eeprom_update_byte((uint8_t*)EEPROM_FSENSOR_PCB,(uint8_t)oFsensorPCB); } - return(true); + return true; } static void lcd_detect_IRsensor(){ bool bAction; bool loaded; - bMenuFSDetect = true; // inhibits some code inside "manage_inactivity()" /// Check if filament is loaded. If it is loaded stop detection. /// @todo Add autodetection with MMU2s - loaded = ! READ(IR_SENSOR_PIN); - if(loaded ){ + loaded = fsensor.getFilamentPresent(); + if(loaded){ lcd_show_fullscreen_message_and_wait_P(_i("Please unload the filament first, then repeat this action."));////MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 return; } else { @@ -6606,13 +6252,10 @@ static void lcd_detect_IRsensor(){ } if(bAction){ lcd_show_fullscreen_message_and_wait_P(_i("Sensor verified, remove the filament now."));////MSG_FS_VERIFIED c=20 r=3 - // the fsensor board has been successfully identified, any previous "not responding" may be cleared now - fsensor_not_responding = false; + fsensor.init(); } else { lcd_show_fullscreen_message_and_wait_P(_i("Verification failed, remove the filament and try again."));////MSG_FIL_FAILED c=20 r=5 - // here it is unclear what to to with the fsensor_not_responding flag } - bMenuFSDetect=false; // de-inhibits some code inside "manage_inactivity()" } #endif //IR_SENSOR_ANALOG @@ -6626,19 +6269,19 @@ bool lcd_selftest() uint8_t _progress = 0; bool _result = true; bool _swapped_fan = false; -#ifdef IR_SENSOR_ANALOG +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) //! Check if IR sensor is in unknown state, if so run Fsensor Detection //! As the Fsensor Detection isn't yet ready for the mmu2s we set temporarily the IR sensor 0.3 or older for mmu2s //! @todo Don't forget to remove this as soon Fsensor Detection works with mmu - if( oFsensorPCB == ClFsensorPCB::_Undef) { - if (!mmu_enabled) { + if(fsensor.getSensorRevision() == IR_sensor_analog::SensorRevision::_Undef) { + if (!MMU2::mmu2.Enabled()) { lcd_detect_IRsensor(); } else { - eeprom_update_byte((uint8_t*)EEPROM_FSENSOR_PCB,0); + fsensor.setSensorRevision(IR_sensor_analog::SensorRevision::_Old, true); } } -#endif //IR_SENSOR_ANALOG +#endif lcd_wait_for_cool_down(); lcd_clear(); lcd_puts_at_P(0, 0, _i("Self test start"));////MSG_SELFTEST_START c=20 @@ -6774,9 +6417,7 @@ bool lcd_selftest() //current_position[X_AXIS] += 0; current_position[Y_AXIS] += 4; #endif //TMC2130 - current_position[Z_AXIS] = current_position[Z_AXIS] + 10; - plan_buffer_line_curposXYZE(manual_feedrate[0] / 60); - st_synchronize(); + raise_z(10); set_destination_to_current(); _progress = lcd_selftest_screen(TestScreen::AxisZ, _progress, 3, true, 1500); #ifdef TMC2130 @@ -6786,17 +6427,13 @@ bool lcd_selftest() #endif //TMC2130 //raise Z to not damage the bed during and hotend testing - current_position[Z_AXIS] += 20; - plan_buffer_line_curposXYZE(manual_feedrate[0] / 60); - st_synchronize(); + raise_z(20); } #ifdef TMC2130 if (_result) { - current_position[Z_AXIS] = current_position[Z_AXIS] + 10; - plan_buffer_line_curposXYZE(manual_feedrate[0] / 60); - st_synchronize(); + raise_z(10); _progress = lcd_selftest_screen(TestScreen::Home, 0, 2, true, 0); bool bres = tmc2130_home_calibrate(X_AXIS); _progress = lcd_selftest_screen(TestScreen::Home, 1, 2, true, 0); @@ -6826,8 +6463,8 @@ bool lcd_selftest() #ifdef FILAMENT_SENSOR if (_result) { - - if (mmu_enabled) +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) + if (MMU2::mmu2.Enabled()) { _progress = lcd_selftest_screen(TestScreen::Fsensor, _progress, 3, true, 2000); //check filaments sensor _result = selftest_irsensor(); @@ -6836,19 +6473,20 @@ bool lcd_selftest() _progress = lcd_selftest_screen(TestScreen::FsensorOk, _progress, 3, true, 2000); //fil sensor OK } } else +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) { -#ifdef PAT9125 +#if FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 _progress = lcd_selftest_screen(TestScreen::Fsensor, _progress, 3, true, 2000); //check filaments sensor _result = lcd_selftest_fsensor(); if (_result) { _progress = lcd_selftest_screen(TestScreen::FsensorOk, _progress, 3, true, 2000); //fil sensor OK } -#endif //PAT9125 +#endif //FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 #if 0 // Intentionally disabled - that's why we moved the detection to runtime by just checking the two voltages. // The idea is not to force the user to remove and insert the filament on an assembled printer. -//def IR_SENSOR_ANALOG +//defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) _progress = lcd_selftest_screen(TestScreen::Fsensor, _progress, 3, true, 2000); //check filament sensor _result = lcd_selftest_IRsensor(); if (_result) @@ -6916,7 +6554,6 @@ static bool lcd_selfcheck_axis_sg(uint8_t axis) { raise_z_above(MESH_HOME_Z_SEARCH); - st_synchronize(); tmc2130_home_enter(1 << axis); // first axis length measurement begin @@ -7406,18 +7043,19 @@ static void lcd_selftest_error(TestError testError, const char *_error_1, const } #ifdef FILAMENT_SENSOR -#ifdef PAT9125 +#if FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 static bool lcd_selftest_fsensor(void) { - fsensor_init(); - if (fsensor_not_responding) + fsensor.init(); + if (fsensor.isError()) { lcd_selftest_error(TestError::WiringFsensor, "", ""); } - return (!fsensor_not_responding); + return (!fsensor.isError()); } -#endif //PAT9125 +#endif //FILAMENT_SENSOR_TYPE == FSENSOR_PAT9125 +#if (FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) //! @brief Self-test of infrared barrier filament sensor mounted on MK3S with MMUv2 printer //! //! Test whether sensor is not triggering filament presence when extruder idler is moving without filament. @@ -7427,7 +7065,7 @@ static bool lcd_selftest_fsensor(void) //! * Pre-heat to PLA extrude temperature. //! * Unload filament possibly present. //! * Move extruder idler same way as during filament load -//! and sample IR_SENSOR_PIN. +//! and sample the filament sensor. //! * Check that pin doesn't go low. //! //! @retval true passed @@ -7449,22 +7087,19 @@ static bool selftest_irsensor() { TempBackup tempBackup; setTargetHotend(ABS_PREHEAT_HOTEND_TEMP,active_extruder); - mmu_wait_for_heater_blocking(); progress = lcd_selftest_screen(TestScreen::Fsensor, 0, 1, true, 0); - mmu_filament_ramming(); } progress = lcd_selftest_screen(TestScreen::Fsensor, progress, 1, true, 0); - mmu_command(MmuCmd::U0); - manage_response(false, false); + MMU2::mmu2.unload(); for(uint_least8_t i = 0; i < 200; ++i) { if (0 == (i % 32)) progress = lcd_selftest_screen(TestScreen::Fsensor, progress, 1, true, 0); - mmu_load_step(false); +//@@TODO mmu_load_step(false); while (blocks_queued()) { - if (READ(IR_SENSOR_PIN) == 0) + if (fsensor.getFilamentPresent()) { lcd_selftest_error(TestError::TriggeringFsensor, "", ""); return false; @@ -7485,6 +7120,7 @@ static bool selftest_irsensor() } return true; } +#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) #endif //FILAMENT_SENSOR static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite, @@ -7773,7 +7409,6 @@ static bool check_file(const char* filename) { card.printingHasFinished(); lcd_setstatuspgm(MSG_WELCOME); - lcd_finishstatus(); return result; } @@ -7801,7 +7436,7 @@ static void menu_action_sdfile(const char* filename) } } - uint8_t depth = (uint8_t)card.getWorkDirDepth(); + uint8_t depth = card.getWorkDirDepth(); eeprom_write_byte((uint8_t*)EEPROM_DIR_DEPTH, depth); for (uint_least8_t i = 0; i < depth; i++) { @@ -7813,8 +7448,8 @@ static void menu_action_sdfile(const char* filename) //filename is just a pointer to card.filename, which changes everytime you try to open a file by filename. So you can't use filename directly //to open a file. Instead, the cached filename in cmd is used as that one is static for the whole lifetime of this function. if (!check_file(cmd + 4)) { - result = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("File incomplete. Continue anyway?"), false, false);////MSG_FILE_INCOMPLETE c=20 r=3 - lcd_update_enable(true); + result = !lcd_show_fullscreen_message_yes_no_and_wait_P(_i("File incomplete. Continue anyway?"), false);////MSG_FILE_INCOMPLETE c=20 r=3 + lcd_update_enable(true); } if (result) { enquecommand(cmd); @@ -7835,12 +7470,6 @@ void menu_action_sddirectory(const char* filename) void ultralcd_init() { - { - uint8_t autoDepleteRaw = eeprom_read_byte(reinterpret_cast(EEPROM_AUTO_DEPLETE)); - if (0xff == autoDepleteRaw) lcd_autoDeplete = false; - else lcd_autoDeplete = autoDepleteRaw; - - } backlight_init(); lcd_init(); lcd_refresh(); @@ -7860,146 +7489,93 @@ void ultralcd_init() #if defined (SDSUPPORT) && defined(SDCARDDETECT) && (SDCARDDETECT > 0) SET_INPUT(SDCARDDETECT); WRITE(SDCARDDETECT, HIGH); + _delay_ms(1); //wait for the pullups to raise the line lcd_oldcardstatus = IS_SD_INSERTED; #endif//(SDCARDDETECT > 0) lcd_encoder_diff = 0; + + // Initialise status line + strncpy_P(lcd_status_message, MSG_WELCOME, LCD_WIDTH); } - - - - -void lcd_printer_connected() { - printer_connected = true; -} - -static void lcd_send_status() { - if (farm_mode && no_response && (NcTime.expired(NC_TIME * 1000))) { - //send important status messages periodicaly - prusa_statistics(important_status, saved_filament_type); - NcTime.start(); -#ifdef FARM_CONNECT_MESSAGE - lcd_connect_printer(); -#endif //FARM_CONNECT_MESSAGE - } -} - -#ifdef FARM_CONNECT_MESSAGE -static void lcd_connect_printer() { - lcd_update_enable(false); - lcd_clear(); - - int i = 0; - int t = 0; - lcd_puts_at_P(0, 0, _i("Connect printer to")); - lcd_puts_at_P(0, 1, _i("monitoring or hold")); - lcd_puts_at_P(0, 2, _i("the knob to continue")); - while (no_response) { - i++; - t++; - delay_keep_alive(100); - proc_commands(); - if (t == 10) { - prusa_statistics(important_status, saved_filament_type); - t = 0; - } - if (READ(BTN_ENC)) { //if button is not pressed - i = 0; - lcd_puts_at_P(0, 3, PSTR(" ")); - } - if (i!=0) lcd_puts_at_P((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, LCD_STR_SOLID_BLOCK[0]); - if (i == NC_BUTTON_LONG_PRESS * 10) { - no_response = false; - } - } - lcd_update_enable(true); - lcd_update(2); -} -#endif //FARM_CONNECT_MESSAGE - -void lcd_ping() { //chceck if printer is connected to monitoring when in farm mode - if (farm_mode) { - bool empty = cmd_buffer_empty(); - if ((_millis() - PingTime) * 0.001 > (empty ? PING_TIME : PING_TIME_LONG)) { //if commands buffer is empty use shorter time period - //if there are comamnds in buffer, some long gcodes can delay execution of ping command - //therefore longer period is used - printer_connected = false; - } - else { - lcd_printer_connected(); - } - } -} void lcd_ignore_click(bool b) { ignore_click = b; wait_for_unclick = false; } -void lcd_finishstatus() { - SERIAL_PROTOCOLLNRPGM(MSG_LCD_STATUS_CHANGED); - int len = strlen(lcd_status_message); - if (len > 0) { - while (len < LCD_WIDTH) { - lcd_status_message[len++] = ' '; - } - } - lcd_status_message[LCD_WIDTH] = '\0'; - lcd_draw_update = 2; +static bool lcd_message_check(uint8_t priority) +{ + // regular priority check + if (priority >= lcd_status_message_level) + return true; + // check if we can override an info message yet + if (lcd_status_message_level == LCD_STATUS_INFO) { + return lcd_status_message_timeout.expired_cont(LCD_STATUS_INFO_TIMEOUT); + } + + return false; +} + +static void lcd_updatestatus(const char *message, bool progmem = false) +{ + if (progmem) + strncpy_P(lcd_status_message, message, LCD_WIDTH); + else + strncpy(lcd_status_message, message, LCD_WIDTH); + + lcd_status_message[LCD_WIDTH] = 0; + + SERIAL_PROTOCOLLNRPGM(MSG_LCD_STATUS_CHANGED); + + // hack lcd_draw_update to 1, i.e. without clear + lcd_draw_update = 1; } void lcd_setstatus(const char* message) { - if (lcd_status_message_level > 0) - return; - lcd_updatestatus(message); -} - -void lcd_updatestatuspgm(const char *message){ - strncpy_P(lcd_status_message, message, LCD_WIDTH); - lcd_status_message[LCD_WIDTH] = 0; - lcd_finishstatus(); - // hack lcd_draw_update to 1, i.e. without clear - lcd_draw_update = 1; + if (lcd_message_check(LCD_STATUS_NONE)) + lcd_updatestatus(message); } void lcd_setstatuspgm(const char* message) { - if (lcd_status_message_level > 0) - return; - lcd_updatestatuspgm(message); + if (lcd_message_check(LCD_STATUS_NONE)) + lcd_updatestatus(message, true); } -void lcd_updatestatus(const char *message){ - strncpy(lcd_status_message, message, LCD_WIDTH); - lcd_status_message[LCD_WIDTH] = 0; - lcd_finishstatus(); - // hack lcd_draw_update to 1, i.e. without clear - lcd_draw_update = 1; -} - -void lcd_setalertstatuspgm(const char* message, uint8_t severity) +void lcd_setalertstatus_(const char* message, uint8_t severity, bool progmem) { - if (severity > lcd_status_message_level) { - lcd_updatestatuspgm(message); - lcd_status_message_level = severity; - lcd_return_to_status(); - } + if (lcd_message_check(severity)) { + bool same = !(progmem? + strcmp_P(lcd_status_message, message): + strcmp(lcd_status_message, message)); + lcd_updatestatus(message, progmem); + lcd_status_message_timeout.start(); + lcd_status_message_level = severity; + custom_message_type = CustomMsg::Status; + custom_message_state = 0; + if (!same) { + // do not kick the user out of the menus if the message is unchanged + lcd_return_to_status(); + } + } } void lcd_setalertstatus(const char* message, uint8_t severity) { - if (severity > lcd_status_message_level) { - lcd_updatestatus(message); - lcd_status_message_level = severity; - lcd_return_to_status(); - } + lcd_setalertstatus_(message, severity, false); +} + +void lcd_setalertstatuspgm(const char* message, uint8_t severity) +{ + lcd_setalertstatus_(message, severity, true); } void lcd_reset_alert_level() { - lcd_status_message_level = 0; + lcd_status_message_level = 0; } uint8_t get_message_level() @@ -8010,9 +7586,9 @@ uint8_t get_message_level() void menu_lcd_longpress_func(void) { backlight_wake(); - if (homing_flag || mesh_bed_leveling_flag || menu_menu == lcd_babystep_z || menu_menu == lcd_move_z) + if (homing_flag || mesh_bed_leveling_flag || menu_menu == lcd_babystep_z || menu_menu == lcd_move_z || menu_block_mask != MENU_BLOCK_NONE) { - // disable longpress during re-entry, while homing or calibration + // disable longpress during re-entry, while homing, calibration or if a serious error lcd_quick_feedback(); return; } @@ -8069,13 +7645,6 @@ static inline bool other_menu_expired() && menu_menu != lcd_babystep_z && lcd_timeoutToStatus.expired(LCD_TIMEOUT_TO_STATUS)); } -static inline bool forced_menu_expire() -{ - bool retval = (menu_menu != lcd_status_screen - && forceMenuExpire); - forceMenuExpire = false; - return retval; -} void menu_lcd_lcdupdate_func(void) { @@ -8143,7 +7712,7 @@ void menu_lcd_lcdupdate_func(void) (*menu_menu)(); - if (z_menu_expired() || other_menu_expired() || forced_menu_expire()) + if (z_menu_expired() || other_menu_expired()) { // Exiting a menu. Let's call the menu function the last time with menu_leaving flag set to true // to give it a chance to save its state. @@ -8162,8 +7731,7 @@ void menu_lcd_lcdupdate_func(void) if (lcd_draw_update) lcd_draw_update--; lcd_next_update_millis = _millis() + LCD_UPDATE_INTERVAL; } - lcd_ping(); //check that we have received ping command if we are in farm mode - lcd_send_status(); + prusa_statistics_update_from_lcd_update(); if (lcd_commands_type == LcdCommands::Layer1Cal) lcd_commands(); } diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index b7f63ac97..931ea8604 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -9,14 +9,19 @@ extern void menu_lcd_lcdupdate_func(void); // Call with a false parameter to suppress the LCD update from various places like the planner or the temp control. void ultralcd_init(); -void lcd_setstatus(const char* message); -void lcd_setstatuspgm(const char* message); //! LCD status severities -#define LCD_STATUS_CRITICAL 2 //< Heater failure -#define LCD_STATUS_ALERT 1 //< Other hardware issue +#define LCD_STATUS_CRITICAL 3 //< Heater failure +#define LCD_STATUS_ALERT 2 //< Other hardware issue +#define LCD_STATUS_INFO 1 //< Message times out after a while #define LCD_STATUS_NONE 0 //< No alert message set +#define LCD_STATUS_INFO_TIMEOUT 20000 + +// Set the current status message (equivalent to LCD_STATUS_NONE) +void lcd_setstatus(const char* message); +void lcd_setstatuspgm(const char* message); + //! return to the main status screen and display the alert message //! Beware - it has sideeffects: //! - always returns the display to the main status screen @@ -25,16 +30,13 @@ void lcd_setstatuspgm(const char* message); void lcd_setalertstatus(const char* message, uint8_t severity = LCD_STATUS_ALERT); void lcd_setalertstatuspgm(const char* message, uint8_t severity = LCD_STATUS_ALERT); -//! only update the alert message on the main status screen -//! has no sideeffects, may be called multiple times -void lcd_updatestatus(const char *message); -void lcd_updatestatuspgm(const char *message); - -void lcd_reset_alert_level(); +//! Get/reset the current alert level uint8_t get_message_level(); +void lcd_reset_alert_level(); + void lcd_adjust_z(); void lcd_pick_babystep(); -void lcd_alright(); +uint8_t lcd_alright(); void show_preheat_nozzle_warning(); void lcd_wait_interact(); void lcd_loading_filament(); @@ -45,9 +47,7 @@ void lcd_pause_print(); void lcd_pause_usb_print(); void lcd_resume_print(); void lcd_print_stop(); -void prusa_statistics(uint8_t _message, uint8_t _col_nr = 0); void lcd_load_filament_color_check(); -//void lcd_mylang(); extern void lcd_belttest(); extern bool lcd_selftest(); @@ -64,20 +64,27 @@ void lcd_crash_detect_enable(); void lcd_crash_detect_disable(); #endif -extern const char* lcd_display_message_fullscreen_P(const char *msg, uint8_t &nlines); +enum LCDButtonChoice : uint_fast8_t { + LCD_LEFT_BUTTON_CHOICE = 0, + LCD_MIDDLE_BUTTON_CHOICE = 1, + LCD_RIGHT_BUTTON_CHOICE = 2, + LCD_BUTTON_TIMEOUT = 0xFF, +}; + extern const char* lcd_display_message_fullscreen_P(const char *msg); extern void lcd_return_to_status(); extern void lcd_wait_for_click(); extern bool lcd_wait_for_click_delay(uint16_t nDelay); +void lcd_show_choices_prompt_P(uint8_t selected, const char *first_choice, const char *second_choice, uint8_t second_col, const char *third_choice = nullptr); extern void lcd_show_fullscreen_message_and_wait_P(const char *msg); -// 0: no, 1: yes, -1: timeouted -extern int8_t lcd_show_yes_no_and_wait(bool allow_timeouting = true, bool default_yes = false); -// 0: no, 1: yes, -1: timeouted -extern int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting = true, bool default_yes = false); -extern int8_t lcd_show_multiscreen_message_two_choices_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes, - const char *first_choice, const char *second_choice); -extern int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting = true, bool default_yes = false); +extern uint8_t lcd_show_yes_no_and_wait(bool allow_timeouting = true, uint8_t default_selection = LCD_MIDDLE_BUTTON_CHOICE); +extern uint8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting = true, uint8_t default_selection = LCD_MIDDLE_BUTTON_CHOICE); +extern uint8_t lcd_show_multiscreen_message_with_choices_and_wait_P( + const char * const msg, bool allow_timeouting, uint8_t default_selection, + const char * const first_choice, const char * const second_choice, const char * const third_choice = nullptr, + uint8_t second_col = 7); +extern uint8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting = true, uint8_t default_selection = LCD_MIDDLE_BUTTON_CHOICE); // Ask the user to move the Z axis up to the end stoppers and let // the user confirm that it has been done. @@ -123,13 +130,12 @@ enum class CustomMsg : uint_least8_t M0Wait, //!< M0/M1 Wait command working even from SD M117, //!< M117 Set the status line message on the LCD Resuming, //!< Resuming message + MMUProgress, ///< MMU progress message }; extern CustomMsg custom_message_type; extern uint8_t custom_message_state; -extern uint8_t farm_mode; - extern bool UserECoolEnabled(); extern bool FarmOrUserECool(); @@ -144,8 +150,7 @@ extern bool FarmOrUserECool(); #define SILENT_MODE_OFF SILENT_MODE_POWER #endif -#ifdef IR_SENSOR_ANALOG -extern bool bMenuFSDetect; +#if defined(FILAMENT_SENSOR) && (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) void printf_IRSensorAnalogBoardChange(); #endif //IR_SENSOR_ANALOG @@ -175,21 +180,19 @@ enum class FilamentAction : uint_least8_t MmuUnLoad, MmuEject, MmuCut, + MmuLoadExtruder, Preheat, Lay1Cal, }; extern FilamentAction eFilamentAction; -extern bool bFilamentFirstRun; extern bool bFilamentPreheatState; extern bool bFilamentAction; void mFilamentItem(uint16_t nTemp,uint16_t nTempBed); void mFilamentItemForce(); void lcd_generic_preheat_menu(); -void unload_filament(bool automatic = false); +void unload_filament(float unloadLength, bool automatic = false); -void lcd_printer_connected(); -void lcd_ping(); void lcd_wait_for_heater(); void lcd_wait_for_cool_down(); @@ -212,7 +215,6 @@ void lcd_language(); #endif void lcd_wizard(); -bool lcd_autoDepleteEnabled(); //! @brief Wizard state enum class WizState : uint8_t @@ -239,6 +241,8 @@ void lcd_wizard(WizState state); extern void lcd_experimental_toggle(); extern void lcd_experimental_menu(); +uint8_t lcdui_print_extruder(void); + #ifdef PINDA_TEMP_COMP extern void lcd_pinda_temp_compensation_toggle(); #endif //PINDA_TEMP_COMP diff --git a/Firmware/util.cpp b/Firmware/util.cpp index 7b192b8c3..992204f84 100644 --- a/Firmware/util.cpp +++ b/Firmware/util.cpp @@ -6,6 +6,7 @@ #include "language.h" #include "util.h" #include +#include "Prusa_farm.h" // Allocate the version string in the program memory. Otherwise the string lands either on the stack or in the global RAM. static const char FW_VERSION_STR[] PROGMEM = FW_VERSION; @@ -187,6 +188,9 @@ bool force_selftest_if_fw_version() bool show_upgrade_dialog_if_version_newer(const char *version_string) { + if(oCheckVersion == ClCheckVersion::_None) + return false; + int8_t upgrade = is_provided_version_newer(version_string); if (upgrade < 0) return false; @@ -223,7 +227,6 @@ void update_current_firmware_version_to_eeprom() } -//-// #define MSG_PRINT_CHECKING_FAILED_TIMEOUT 30 ClNozzleDiameter oNozzleDiameter=ClNozzleDiameter::_Diameter_400; @@ -232,207 +235,192 @@ ClCheckModel oCheckModel=ClCheckModel::_None; ClCheckVersion oCheckVersion=ClCheckVersion::_None; ClCheckGcode oCheckGcode=ClCheckGcode::_None; -void fCheckModeInit() -{ -oCheckMode=(ClCheckMode)eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODE); -if(oCheckMode==ClCheckMode::_Undef) - { - oCheckMode=ClCheckMode::_Warn; - eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,(uint8_t)oCheckMode); - } -if(farm_mode) - { - oCheckMode=ClCheckMode::_Strict; - if(eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)==EEPROM_EMPTY_VALUE16) - eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,EEPROM_NOZZLE_DIAMETER_uM_DEFAULT); - } -oNozzleDiameter=(ClNozzleDiameter)eeprom_read_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER); -if((oNozzleDiameter==ClNozzleDiameter::_Diameter_Undef)&& !farm_mode) - { - oNozzleDiameter=ClNozzleDiameter::_Diameter_400; - eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)oNozzleDiameter); - eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,EEPROM_NOZZLE_DIAMETER_uM_DEFAULT); - } -oCheckModel=(ClCheckModel)eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODEL); -if(oCheckModel==ClCheckModel::_Undef) - { - oCheckModel=ClCheckModel::_Warn; - eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODEL,(uint8_t)oCheckModel); - } -oCheckVersion=(ClCheckVersion)eeprom_read_byte((uint8_t*)EEPROM_CHECK_VERSION); -if(oCheckVersion==ClCheckVersion::_Undef) - { - oCheckVersion=ClCheckVersion::_Warn; - eeprom_update_byte((uint8_t*)EEPROM_CHECK_VERSION,(uint8_t)oCheckVersion); - } -oCheckGcode=(ClCheckGcode)eeprom_read_byte((uint8_t*)EEPROM_CHECK_GCODE); -if(oCheckGcode==ClCheckGcode::_Undef) - { - oCheckGcode=ClCheckGcode::_Warn; - eeprom_update_byte((uint8_t*)EEPROM_CHECK_GCODE,(uint8_t)oCheckGcode); - } +void fCheckModeInit() { + oCheckMode = (ClCheckMode)eeprom_read_byte((uint8_t *)EEPROM_CHECK_MODE); + if (oCheckMode == ClCheckMode::_Undef) { + oCheckMode = ClCheckMode::_Warn; + eeprom_update_byte((uint8_t *)EEPROM_CHECK_MODE, (uint8_t)oCheckMode); + } + if (farm_mode) { + oCheckMode = ClCheckMode::_Strict; + if (eeprom_read_word((uint16_t *)EEPROM_NOZZLE_DIAMETER_uM) == EEPROM_EMPTY_VALUE16) + eeprom_update_word((uint16_t *)EEPROM_NOZZLE_DIAMETER_uM, EEPROM_NOZZLE_DIAMETER_uM_DEFAULT); + } + oNozzleDiameter = (ClNozzleDiameter)eeprom_read_byte((uint8_t *)EEPROM_NOZZLE_DIAMETER); + if ((oNozzleDiameter == ClNozzleDiameter::_Diameter_Undef) && !farm_mode) { + oNozzleDiameter = ClNozzleDiameter::_Diameter_400; + eeprom_update_byte((uint8_t *)EEPROM_NOZZLE_DIAMETER, (uint8_t)oNozzleDiameter); + eeprom_update_word((uint16_t *)EEPROM_NOZZLE_DIAMETER_uM, EEPROM_NOZZLE_DIAMETER_uM_DEFAULT); + } + oCheckModel = (ClCheckModel)eeprom_read_byte((uint8_t *)EEPROM_CHECK_MODEL); + if (oCheckModel == ClCheckModel::_Undef) { + oCheckModel = ClCheckModel::_Warn; + eeprom_update_byte((uint8_t *)EEPROM_CHECK_MODEL, (uint8_t)oCheckModel); + } + oCheckVersion = (ClCheckVersion)eeprom_read_byte((uint8_t *)EEPROM_CHECK_VERSION); + if (oCheckVersion == ClCheckVersion::_Undef) { + oCheckVersion = ClCheckVersion::_Warn; + eeprom_update_byte((uint8_t *)EEPROM_CHECK_VERSION, (uint8_t)oCheckVersion); + } + oCheckGcode = (ClCheckGcode)eeprom_read_byte((uint8_t *)EEPROM_CHECK_GCODE); + if (oCheckGcode == ClCheckGcode::_Undef) { + oCheckGcode = ClCheckGcode::_Warn; + eeprom_update_byte((uint8_t *)EEPROM_CHECK_GCODE, (uint8_t)oCheckGcode); + } } -void nozzle_diameter_check(uint16_t nDiameter) -{ -uint16_t nDiameter_um; +void nozzle_diameter_check(uint16_t nDiameter) { + uint16_t nDiameter_um; -if(oCheckMode==ClCheckMode::_None) - return; -nDiameter_um=eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM); -if(nDiameter==nDiameter_um) - return; -//SERIAL_ECHO_START; -//SERIAL_ECHOLNPGM("Printer nozzle diameter differs from the G-code ..."); -//SERIAL_ECHOPGM("actual : "); -//SERIAL_ECHOLN((float)(nDiameter_um/1000.0)); -//SERIAL_ECHOPGM("expected: "); -//SERIAL_ECHOLN((float)(nDiameter/1000.0)); -switch(oCheckMode) - { - case ClCheckMode::_Warn: -// lcd_show_fullscreen_message_and_wait_P(_i("Printer nozzle diameter differs from the G-code. Continue?")); -lcd_display_message_fullscreen_P(_i("Printer nozzle diameter differs from the G-code. Continue?"));////MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT); -//???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery -lcd_update_enable(true); // display / status-line recovery - break; - case ClCheckMode::_Strict: - lcd_show_fullscreen_message_and_wait_P(_i("Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."));////MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 - lcd_print_stop(); - break; - case ClCheckMode::_None: - case ClCheckMode::_Undef: - break; - } -if(!farm_mode) - { - bSettings=false; // flag ('fake parameter') for 'lcd_hw_setup_menu()' function - menu_submenu(lcd_hw_setup_menu); - } + if (oCheckMode == ClCheckMode::_None) + return; + nDiameter_um = eeprom_read_word((uint16_t *)EEPROM_NOZZLE_DIAMETER_uM); + if (nDiameter == nDiameter_um) + return; + // SERIAL_ECHO_START; + // SERIAL_ECHOLNPGM("Printer nozzle diameter differs from the G-code ..."); + // SERIAL_ECHOPGM("actual : "); + // SERIAL_ECHOLN((float)(nDiameter_um/1000.0)); + // SERIAL_ECHOPGM("expected: "); + // SERIAL_ECHOLN((float)(nDiameter/1000.0)); + switch (oCheckMode) { + case ClCheckMode::_Warn: + // lcd_show_fullscreen_message_and_wait_P(_i("Printer nozzle diameter differs from the G-code. Continue?")); + lcd_display_message_fullscreen_P(_i("Printer nozzle diameter differs from the G-code. Continue?")); ////MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 + lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT); + //???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery + lcd_update_enable(true); // display / status-line recovery + break; + case ClCheckMode::_Strict: + lcd_show_fullscreen_message_and_wait_P(_i( + "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled.")); ////MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 + lcd_print_stop(); + break; + case ClCheckMode::_None: + case ClCheckMode::_Undef: + break; + } + if (!farm_mode) { + bSettings = false; // flag ('fake parameter') for 'lcd_hw_setup_menu()' function + menu_submenu(lcd_hw_setup_menu); + } } -void printer_model_check(uint16_t nPrinterModel) -{ -if(oCheckModel==ClCheckModel::_None) - return; -if(nPrinterModel==nPrinterType) - return; -//SERIAL_ECHO_START; -//SERIAL_ECHOLNPGM("Printer model differs from the G-code ..."); -//SERIAL_ECHOPGM("actual : "); -//SERIAL_ECHOLN(nPrinterType); -//SERIAL_ECHOPGM("expected: "); -//SERIAL_ECHOLN(nPrinterModel); -switch(oCheckModel) - { - case ClCheckModel::_Warn: -// lcd_show_fullscreen_message_and_wait_P(_i("Printer model differs from the G-code. Continue?")); -lcd_display_message_fullscreen_P(_T(MSG_GCODE_DIFF_PRINTER_CONTINUE)); -lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT); -//???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery -lcd_update_enable(true); // display / status-line recovery - break; - case ClCheckModel::_Strict: - lcd_show_fullscreen_message_and_wait_P(_T(MSG_GCODE_DIFF_PRINTER_CANCELLED)); - lcd_print_stop(); - break; - case ClCheckModel::_None: - case ClCheckModel::_Undef: - break; - } +void printer_model_check(uint16_t nPrinterModel) { + if (oCheckModel == ClCheckModel::_None) + return; + if (nPrinterModel == nPrinterType) + return; + // SERIAL_ECHO_START; + // SERIAL_ECHOLNPGM("Printer model differs from the G-code ..."); + // SERIAL_ECHOPGM("actual : "); + // SERIAL_ECHOLN(nPrinterType); + // SERIAL_ECHOPGM("expected: "); + // SERIAL_ECHOLN(nPrinterModel); + switch (oCheckModel) { + case ClCheckModel::_Warn: + // lcd_show_fullscreen_message_and_wait_P(_i("Printer model differs from the G-code. Continue?")); + lcd_display_message_fullscreen_P(_T(MSG_GCODE_DIFF_PRINTER_CONTINUE)); + lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT); + //???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery + lcd_update_enable(true); // display / status-line recovery + break; + case ClCheckModel::_Strict: + lcd_show_fullscreen_message_and_wait_P(_T(MSG_GCODE_DIFF_PRINTER_CANCELLED)); + lcd_print_stop(); + break; + case ClCheckModel::_None: + case ClCheckModel::_Undef: + break; + } } -uint8_t mCompareValue(uint16_t nX,uint16_t nY) -{ -if(nX>nY) - return((uint8_t)ClCompareValue::_Greater); -if(nX nY) + return ((uint8_t)ClCompareValue::_Greater); + if (nX < nY) + return ((uint8_t)ClCompareValue::_Less); + return ((uint8_t)ClCompareValue::_Equal); } -void fw_version_check(const char *pVersion) -{ -uint16_t aVersion[4]; -uint8_t nCompareValueResult; +void fw_version_check(const char *pVersion) { + uint16_t aVersion[4]; + uint8_t nCompareValueResult; -if(oCheckVersion==ClCheckVersion::_None) - return; -parse_version(pVersion,aVersion); -nCompareValueResult=mCompareValue(aVersion[0],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MAJOR))<<6; -nCompareValueResult+=mCompareValue(aVersion[1],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_MINOR))<<4; -nCompareValueResult+=mCompareValue(aVersion[2],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_REVISION))<<2; -nCompareValueResult+=mCompareValue(aVersion[3],eeprom_read_word((uint16_t*)EEPROM_FIRMWARE_VERSION_FLAVOR)); -if(nCompareValueResult==COMPARE_VALUE_EQUAL) - return; -if((nCompareValueResult cmdqueue ??? -#define PRINTER_NAME_LENGTH ((sizeof(PRINTER_MMU_NAME)>sizeof(PRINTER_NAME))?(sizeof(PRINTER_MMU_NAME)-1):(sizeof(PRINTER_NAME)-1)) +#define PRINTER_NAME_LENGTH ((sizeof(PRINTER_MMU_NAME) > sizeof(PRINTER_NAME)) ? (sizeof(PRINTER_MMU_NAME) - 1) : (sizeof(PRINTER_NAME) - 1)) #define GCODE_DELIMITER '"' #define ELLIPSIS "..." -char* code_string(char* pStr,size_t* nLength) -{ +char *code_string(const char *pStr, size_t *nLength) { char* pStrBegin; char* pStrEnd; @@ -444,21 +432,19 @@ pStrEnd=strchr(pStrBegin,GCODE_DELIMITER); if(!pStrEnd) return(NULL); *nLength=pStrEnd-pStrBegin; -pStrBegin[*nLength] = '\0'; return pStrBegin; } -void printer_smodel_check(char* pStrPos) -{ +void printer_smodel_check(const char *pStrPos) { char* pResult; size_t nLength,nPrinterNameLength; nPrinterNameLength = strlen_P(sPrinterName); -pResult = code_string(pStrPos,&nLength); +pResult=code_string(pStrPos,&nLength); if(pResult != NULL && nLength == nPrinterNameLength) { // Only compare them if the lengths match - if (strcmp_P(pResult, sPrinterName) == 0) return; + if (strncmp_P(pResult, sPrinterName, nLength) == 0) return; } switch(oCheckModel) @@ -480,20 +466,16 @@ lcd_update_enable(true); // display / status-line recovery } } -void fSetMmuMode(bool bMMu) -{ -if(bMMu) - { - nPrinterType=pgm_read_word(&_nPrinterMmuType); - sPrinterName=_sPrinterMmuName; - } -else { - nPrinterType=pgm_read_word(&_nPrinterType); - sPrinterName=_sPrinterName; - } +void fSetMmuMode(bool bMMu) { + if (bMMu) { + nPrinterType = pgm_read_word(&_nPrinterMmuType); + sPrinterName = _sPrinterMmuName; + } else { + nPrinterType = pgm_read_word(&_nPrinterType); + sPrinterName = _sPrinterName; + } } - void ip4_to_str(char* dest, uint8_t* IP) { sprintf_P(dest, PSTR("%u.%u.%u.%u"), IP[0], IP[1], IP[2], IP[3]); diff --git a/Firmware/util.h b/Firmware/util.h index 6d34aa081..f2ad46c4b 100644 --- a/Firmware/util.h +++ b/Firmware/util.h @@ -1,5 +1,5 @@ -#ifndef UTIL_H -#define UTIL_H +#pragma once +#include extern const char* FW_VERSION_STR_P(); @@ -104,7 +104,7 @@ extern ClCheckGcode oCheckGcode; void fCheckModeInit(); void nozzle_diameter_check(uint16_t nDiameter); void printer_model_check(uint16_t nPrinterModel); -void printer_smodel_check(char* pStrPos); +void printer_smodel_check(const char* pStrPos); void fw_version_check(const char *pVersion); void gcode_level_check(uint16_t nGcodeLevel); @@ -112,5 +112,3 @@ void fSetMmuMode(bool bMMu); #define IP4_STR_SIZE 16 extern void ip4_to_str(char* dest, uint8_t* IP); - -#endif /* UTIL_H */ diff --git a/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h index 4a777f75c..720757ec8 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo10a-E3Dv6full.h @@ -10,6 +10,7 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK25 #define PRINTER_NAME PRINTER_MK25_NAME +#define PRINTER_NAME_ALTERNATE PRINTER_MK25S_NAME //the other similar printer to this. #define PRINTER_MMU_TYPE PRINTER_MK25_MMU2 #define PRINTER_MMU_NAME PRINTER_MK25_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK25" @@ -118,7 +119,6 @@ // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) // Online crash dumper #define EMERGENCY_SERIAL_DUMP // Request dump via serial on stack corruption and WDR @@ -126,7 +126,7 @@ // Filament sensor #define FILAMENT_SENSOR -#define PAT9125 +#define FILAMENT_SENSOR_TYPE FSENSOR_PAT9125 #define DEBUG_DCODE2 #define DEBUG_DCODE3 @@ -136,7 +136,6 @@ //#define _NO_ASM #define DEBUG_DCODES //D codes #define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial //#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD //#define DEBUG_RESUME_PRINT //Resume/save print debug enable //#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output @@ -151,7 +150,6 @@ //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) @@ -161,8 +159,6 @@ //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display #endif /* DEBUG_BUILD */ -//#define FSENSOR_QUALITY - /*------------------------------------ EXTRUDER SETTINGS @@ -380,9 +376,6 @@ PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -494,13 +487,6 @@ #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release @@ -522,6 +508,11 @@ #define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning +// MMU Error pause position +#define MMU_ERR_X_PAUSE_POS 125 +#define MMU_ERR_Y_PAUSE_POS 0 +#define MMU_ERR_Z_PAUSE_LIFT 20 + // Default Arc Interpolation Settings (Now configurable via M214) #define DEFAULT_N_ARC_CORRECTION 25 // Number of interpolated segments between corrections. /* A value of 1 or less for N_ARC_CORRECTION will trigger the use of Sin and Cos for every arc, which will improve accuracy at the diff --git a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h index 83199ffcb..ba72bf228 100644 --- a/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25-RAMBo13a-E3Dv6full.h @@ -10,6 +10,7 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK25 #define PRINTER_NAME PRINTER_MK25_NAME +#define PRINTER_NAME_ALTERNATE PRINTER_MK25S_NAME //the other similar printer to this. #define PRINTER_MMU_TYPE PRINTER_MK25_MMU2 #define PRINTER_MMU_NAME PRINTER_MK25_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK25" @@ -119,7 +120,6 @@ // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) // Online crash dumper #define EMERGENCY_SERIAL_DUMP // Request dump via serial on stack corruption and WDR @@ -127,7 +127,7 @@ // Filament sensor #define FILAMENT_SENSOR -#define PAT9125 +#define FILAMENT_SENSOR_TYPE FSENSOR_PAT9125 #define DEBUG_DCODE2 #define DEBUG_DCODE3 @@ -137,7 +137,6 @@ //#define _NO_ASM #define DEBUG_DCODES //D codes #define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial //#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD //#define DEBUG_RESUME_PRINT //Resume/save print debug enable //#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output @@ -152,7 +151,6 @@ //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) @@ -162,8 +160,6 @@ //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display #endif /* DEBUG_BUILD */ -//#define FSENSOR_QUALITY - /*------------------------------------ EXTRUDER SETTINGS @@ -381,9 +377,6 @@ PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -495,13 +488,6 @@ #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release @@ -523,6 +509,11 @@ #define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning +// MMU Error pause position +#define MMU_ERR_X_PAUSE_POS 125 +#define MMU_ERR_Y_PAUSE_POS 0 +#define MMU_ERR_Z_PAUSE_LIFT 20 + //#define HEATBED_ANALYSIS //for meash bed leveling and heatbed analysis D-codes D80 and D81 //#define MICROMETER_LOGGING //related to D-codes D80 and D81, currently works on MK2.5 only (MK3 board pin definitions missing) diff --git a/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h index 377dfe650..9c64bdbd9 100644 --- a/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25S-RAMBo10a-E3Dv6full.h @@ -10,6 +10,7 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK25S #define PRINTER_NAME PRINTER_MK25S_NAME +#define PRINTER_NAME_ALTERNATE PRINTER_MK25_NAME //the other similar printer to this. #define PRINTER_MMU_TYPE PRINTER_MK25S_MMU2 #define PRINTER_MMU_NAME PRINTER_MK25S_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK25S" @@ -118,7 +119,6 @@ // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) // Online crash dumper #define EMERGENCY_SERIAL_DUMP // Request dump via serial on stack corruption and WDR @@ -126,7 +126,7 @@ // Filament sensor #define FILAMENT_SENSOR -#define IR_SENSOR +#define FILAMENT_SENSOR_TYPE FSENSOR_IR #define DEBUG_DCODE2 #define DEBUG_DCODE3 @@ -136,7 +136,6 @@ //#define _NO_ASM #define DEBUG_DCODES //D codes #define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial //#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD //#define DEBUG_RESUME_PRINT //Resume/save print debug enable //#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output @@ -151,7 +150,6 @@ //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) @@ -161,8 +159,6 @@ //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display #endif /* DEBUG_BUILD */ -//#define FSENSOR_QUALITY - /*------------------------------------ EXTRUDER SETTINGS @@ -380,9 +376,6 @@ PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -494,13 +487,6 @@ #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release @@ -529,6 +515,11 @@ //#define MMU_ALWAYS_CUT #define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning +// MMU Error pause position +#define MMU_ERR_X_PAUSE_POS 125 +#define MMU_ERR_Y_PAUSE_POS 0 +#define MMU_ERR_Z_PAUSE_LIFT 20 + // Default Arc Interpolation Settings (Now configurable via M214) #define DEFAULT_N_ARC_CORRECTION 25 // Number of interpolated segments between corrections. /* A value of 1 or less for N_ARC_CORRECTION will trigger the use of Sin and Cos for every arc, which will improve accuracy at the diff --git a/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h index c40dfc600..d7348c73b 100644 --- a/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK25S-RAMBo13a-E3Dv6full.h @@ -10,6 +10,7 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK25S #define PRINTER_NAME PRINTER_MK25S_NAME +#define PRINTER_NAME_ALTERNATE PRINTER_MK25_NAME //the other similar printer to this. #define PRINTER_MMU_TYPE PRINTER_MK25S_MMU2 #define PRINTER_MMU_NAME PRINTER_MK25S_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK25S" @@ -119,7 +120,6 @@ // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) // Online crash dumper #define EMERGENCY_SERIAL_DUMP // Request dump via serial on stack corruption and WDR @@ -127,7 +127,7 @@ // Filament sensor #define FILAMENT_SENSOR -#define IR_SENSOR +#define FILAMENT_SENSOR_TYPE FSENSOR_IR #define DEBUG_DCODE2 #define DEBUG_DCODE3 @@ -137,7 +137,6 @@ //#define _NO_ASM #define DEBUG_DCODES //D codes #define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial //#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD //#define DEBUG_RESUME_PRINT //Resume/save print debug enable //#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output @@ -152,7 +151,6 @@ //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) //#define DEBUG_DISABLE_FANCHECK //disable fan check (no ISR INT7, check disabled) @@ -162,8 +160,6 @@ //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display #endif /* DEBUG_BUILD */ -//#define FSENSOR_QUALITY - /*------------------------------------ EXTRUDER SETTINGS @@ -381,9 +377,6 @@ PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -495,13 +488,6 @@ #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release @@ -530,6 +516,11 @@ //#define MMU_ALWAYS_CUT #define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning +// MMU Error pause position +#define MMU_ERR_X_PAUSE_POS 125 +#define MMU_ERR_Y_PAUSE_POS 0 +#define MMU_ERR_Z_PAUSE_LIFT 20 + // Default Arc Interpolation Settings (Now configurable via M214) #define DEFAULT_N_ARC_CORRECTION 25 // Number of interpolated segments between corrections. /* A value of 1 or less for N_ARC_CORRECTION will trigger the use of Sin and Cos for every arc, which will improve accuracy at the diff --git a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h index f31999afd..92f129c0a 100644 --- a/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h @@ -11,6 +11,7 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK3 #define PRINTER_NAME PRINTER_MK3_NAME +#define PRINTER_NAME_ALTERNATE PRINTER_MK3S_NAME //the other similar printer to this. #define PRINTER_MMU_TYPE PRINTER_MK3_MMU2 #define PRINTER_MMU_NAME PRINTER_MK3_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK3" @@ -138,7 +139,6 @@ // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) // Offline crash dumper #define XFLASH_DUMP // enable dump functionality (including D20/D21/D22) @@ -151,7 +151,8 @@ // Filament sensor #define FILAMENT_SENSOR -#define PAT9125 +#define FILAMENT_SENSOR_TYPE FSENSOR_PAT9125 +#define FSENSOR_PROBING // Backlash - //#define BACKLASH_X @@ -178,7 +179,6 @@ //#define _NO_ASM #define DEBUG_DCODES //D codes #define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial //#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD //#define DEBUG_RESUME_PRINT //Resume/save print debug enable //#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output @@ -193,7 +193,6 @@ //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) @@ -205,8 +204,6 @@ #define CMD_DIAGNOSTICS //Show cmd queue length on printer display #endif /* DEBUG_BUILD */ -//#define FSENSOR_QUALITY - #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION @@ -413,6 +410,34 @@ #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 +// model-based temperature check +#define TEMP_MODEL 1 // enable model-based temperature checks +#define TEMP_MODEL_DEBUG 1 // extended runtime logging + +#define TEMP_MODEL_P 38. // heater power (W) + +#define TEMP_MODEL_C 12.1 // initial guess for heatblock capacitance (J/K) +#define TEMP_MODEL_Cl 5 // C estimation lower limit +#define TEMP_MODEL_Ch 20 // C estimation upper limit +#define TEMP_MODEL_C_thr 0.01 // C estimation iteration threshold +#define TEMP_MODEL_C_itr 30 // C estimation iteration limit + +#define TEMP_MODEL_R 20.5 // initial guess for heatblock resistance (K/W) +#define TEMP_MODEL_Rl 5 // R estimation lower limit +#define TEMP_MODEL_Rh 50 // R estimation upper limit +#define TEMP_MODEL_R_thr 0.01 // R estimation iteration threshold +#define TEMP_MODEL_R_itr 30 // R estimation iteration limit + +#define TEMP_MODEL_Ta_corr -7 // Default ambient temperature correction +#define TEMP_MODEL_LAG 2.1 // Temperature transport delay (s) + +#define TEMP_MODEL_W 1.2 // Default warning threshold (K/s) +#define TEMP_MODEL_E 1.74 // Default error threshold (K/s) + +#define TEMP_MODEL_CAL_Th 230 // Default calibration working temperature (C) +#define TEMP_MODEL_CAL_Tl 50 // Default calibration cooling temperature (C) + + /*------------------------------------ MOTOR CURRENT SETTINGS *------------------------------------*/ @@ -503,16 +528,10 @@ // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #endif // PIDTEMPBED -//connect message when communication with monitoring broken -//#define FARM_CONNECT_MESSAGE - /*----------------------------------- PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -625,13 +644,6 @@ #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release @@ -669,6 +681,11 @@ #define MMU_HAS_CUTTER #define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning +// MMU Error pause position +#define MMU_ERR_X_PAUSE_POS 125 +#define MMU_ERR_Y_PAUSE_POS 0 +#define MMU_ERR_Z_PAUSE_LIFT 20 + // Default Arc Interpolation Settings (Now configurable via M214) #define DEFAULT_N_ARC_CORRECTION 25 // Number of interpolated segments between corrections. /* A value of 1 or less for N_ARC_CORRECTION will trigger the use of Sin and Cos for every arc, which will improve accuracy at the diff --git a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h index ddd40186f..2eb94d88b 100644 --- a/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK3S-EINSy10a-E3Dv6full.h @@ -10,6 +10,7 @@ // Printer revision #define PRINTER_TYPE PRINTER_MK3S #define PRINTER_NAME PRINTER_MK3S_NAME +#define PRINTER_NAME_ALTERNATE PRINTER_MK3_NAME //the other similar printer to this. #define PRINTER_MMU_TYPE PRINTER_MK3S_MMU2 #define PRINTER_MMU_NAME PRINTER_MK3S_MMU2_NAME #define FILAMENT_SIZE "1_75mm_MK3S" @@ -140,7 +141,6 @@ // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) // Offline crash dumper #define XFLASH_DUMP // enable dump functionality (including D20/D21/D22) @@ -153,7 +153,8 @@ // Filament sensor #define FILAMENT_SENSOR -#define IR_SENSOR +#define FILAMENT_SENSOR_TYPE FSENSOR_IR_ANALOG +#define FSENSOR_PROBING // Backlash - //#define BACKLASH_X @@ -180,7 +181,6 @@ //#define _NO_ASM #define DEBUG_DCODES //D codes #define DEBUG_STACK_MONITOR //Stack monitor in stepper ISR -//#define DEBUG_FSENSOR_LOG //Reports fsensor status to serial //#define DEBUG_CRASHDET_COUNTERS //Display crash-detection counters on LCD //#define DEBUG_RESUME_PRINT //Resume/save print debug enable //#define DEBUG_UVLO_AUTOMATIC_RECOVER // Power panic automatic recovery debug output @@ -195,7 +195,6 @@ //#define DEBUG_DISABLE_SWLIMITS //sw limits ignored //#define DEBUG_DISABLE_LCD_STATUS_LINE //empty four lcd line //#define DEBUG_DISABLE_PREVENT_EXTRUDER //cold extrusion and long extrusion allowed -//#define DEBUG_DISABLE_PRUSA_STATISTICS //disable prusa_statistics() mesages //#define DEBUG_DISABLE_FORCE_SELFTEST //disable force selftest //#define DEBUG_XSTEP_DUP_PIN 21 //duplicate x-step output to pin 21 (SCL on P3) //#define DEBUG_YSTEP_DUP_PIN 21 //duplicate y-step output to pin 21 (SCL on P3) @@ -207,8 +206,6 @@ #define CMD_DIAGNOSTICS //Show cmd queue length on printer display #endif /* DEBUG_BUILD */ -//#define FSENSOR_QUALITY - #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION @@ -417,6 +414,34 @@ #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 +// model-based temperature check +#define TEMP_MODEL 1 // enable model-based temperature checks +#define TEMP_MODEL_DEBUG 1 // extended runtime logging + +#define TEMP_MODEL_P 38. // heater power (W) + +#define TEMP_MODEL_C 12.1 // initial guess for heatblock capacitance (J/K) +#define TEMP_MODEL_Cl 5 // C estimation lower limit +#define TEMP_MODEL_Ch 20 // C estimation upper limit +#define TEMP_MODEL_C_thr 0.01 // C estimation iteration threshold +#define TEMP_MODEL_C_itr 30 // C estimation iteration limit + +#define TEMP_MODEL_R 20.5 // initial guess for heatblock resistance (K/W) +#define TEMP_MODEL_Rl 5 // R estimation lower limit +#define TEMP_MODEL_Rh 50 // R estimation upper limit +#define TEMP_MODEL_R_thr 0.01 // R estimation iteration threshold +#define TEMP_MODEL_R_itr 30 // R estimation iteration limit + +#define TEMP_MODEL_Ta_corr -7 // Default ambient temperature correction +#define TEMP_MODEL_LAG 2.1 // Temperature transport delay (s) + +#define TEMP_MODEL_W 1.2 // Default warning threshold (K/s) +#define TEMP_MODEL_E 1.74 // Default error threshold (K/s) + +#define TEMP_MODEL_CAL_Th 230 // Default calibration working temperature (C) +#define TEMP_MODEL_CAL_Tl 50 // Default calibration cooling temperature (C) + + /*------------------------------------ MOTOR CURRENT SETTINGS *------------------------------------*/ @@ -507,16 +532,10 @@ // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. #endif // PIDTEMPBED -//connect message when communication with monitoring broken -//#define FARM_CONNECT_MESSAGE - /*----------------------------------- PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -629,13 +648,6 @@ #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release @@ -681,6 +693,11 @@ //#define MMU_ALWAYS_CUT #define MMU_IDLER_SENSOR_ATTEMPTS_NR 21 //max. number of attempts to load filament if first load failed; value for max bowden length and case when loading fails right at the beginning +// MMU Error pause position +#define MMU_ERR_X_PAUSE_POS 125 +#define MMU_ERR_Y_PAUSE_POS 0 +#define MMU_ERR_Z_PAUSE_LIFT 20 + // Default Arc Interpolation Settings (Now configurable via M214) #define DEFAULT_N_ARC_CORRECTION 25 // Number of interpolated segments between corrections. /* A value of 1 or less for N_ARC_CORRECTION will trigger the use of Sin and Cos for every arc, which will improve accuracy at the diff --git a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h index 4fc5fd8ce..e7bee2cea 100644 --- a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo10a-E3Dv6full.h @@ -180,14 +180,6 @@ CHANGE FILAMENT SETTINGS ADDITIONAL FEATURES SETTINGS *------------------------------------*/ -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#define FILAMENT_RUNOUT_SCRIPT "M600" -#endif - // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 #define TEMP_RUNAWAY_BED_TIMEOUT 360 @@ -300,45 +292,32 @@ BED SETTINGS PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 -#define FARM_PREHEAT_FAN_SPEED 0 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 55 -#define PLA_PREHEAT_FAN_SPEED 0 #define PVB_PREHEAT_HOTEND_TEMP 215 #define PVB_PREHEAT_HPB_TEMP 75 -#define PVB_PREHEAT_FAN_SPEED 0 #define ASA_PREHEAT_HOTEND_TEMP 260 #define ASA_PREHEAT_HPB_TEMP 105 -#define ASA_PREHEAT_FAN_SPEED 0 #define PC_PREHEAT_HOTEND_TEMP 275 #define PC_PREHEAT_HPB_TEMP 105 -#define PC_PREHEAT_FAN_SPEED 0 #define ABS_PREHEAT_HOTEND_TEMP 255 #define ABS_PREHEAT_HPB_TEMP 100 -#define ABS_PREHEAT_FAN_SPEED 0 #define HIPS_PREHEAT_HOTEND_TEMP 220 #define HIPS_PREHEAT_HPB_TEMP 100 -#define HIPS_PREHEAT_FAN_SPEED 0 #define PP_PREHEAT_HOTEND_TEMP 254 #define PP_PREHEAT_HPB_TEMP 100 -#define PP_PREHEAT_FAN_SPEED 0 #define PET_PREHEAT_HOTEND_TEMP 240 #define PET_PREHEAT_HPB_TEMP 90 -#define PET_PREHEAT_FAN_SPEED 0 #define FLEX_PREHEAT_HOTEND_TEMP 230 #define FLEX_PREHEAT_HPB_TEMP 50 -#define FLEX_PREHEAT_FAN_SPEED 0 /*------------------------------------ THERMISTORS SETTINGS @@ -419,25 +398,16 @@ THERMISTORS SETTINGS #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release #define DEFAULT_PID_TEMP 210 - #define END_FILE_SECTION 20000 //number of bytes from end of file used for checking if file is complete // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) #define M600_TIMEOUT 600 //seconds diff --git a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h index 674f3c36f..788ab7906 100644 --- a/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/obsolete/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -179,14 +179,6 @@ CHANGE FILAMENT SETTINGS ADDITIONAL FEATURES SETTINGS *------------------------------------*/ -// Define Prusa filament runout sensor -//#define FILAMENT_RUNOUT_SUPPORT - -#ifdef FILAMENT_RUNOUT_SUPPORT -#define FILAMENT_RUNOUT_SENSOR 1 -#define FILAMENT_RUNOUT_SCRIPT "M600" -#endif - // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 #define TEMP_RUNAWAY_BED_TIMEOUT 360 @@ -299,9 +291,6 @@ BED SETTINGS PREHEAT SETTINGS *------------------------------------*/ -#define FARM_PREHEAT_HOTEND_TEMP 250 -#define FARM_PREHEAT_HPB_TEMP 80 - #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 55 @@ -408,25 +397,16 @@ THERMISTORS SETTINGS #define PINDA_STEP_T 10 #define PINDA_MAX_T 100 -#define PING_TIME 60 //time in s -#define PING_TIME_LONG 600 //10 min; used when length of commands buffer > 0 to avoid 0 triggering when dealing with long gcodes -#define PING_ALLERT_PERIOD 60 //time in s - -#define NC_TIME 10 //time in s for periodic important status messages sending which needs reponse from monitoring -#define NC_BUTTON_LONG_PRESS 15 //time in s - #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release #define DEFAULT_PID_TEMP 210 - #define END_FILE_SECTION 20000 //number of bytes from end of file used for checking if file is complete // Safety timer #define SAFETYTIMER #define DEFAULT_SAFETYTIMER_TIME_MINS 30 -#define FARM_DEFAULT_SAFETYTIMER_TIME_ms (45*60*1000ul) #define M600_TIMEOUT 600 //seconds diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index cc2d940df..e8689d3b5 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -138,15 +138,18 @@ pos_mm_t pos_2_mm(float pos){ void xyzcal_meassure_enter(void) { DBG(_n("xyzcal_meassure_enter\n")); + + // disable heaters and stop motion before we initialize sm4 disable_heater(); - DISABLE_TEMPERATURE_INTERRUPT(); -#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) - DISABLE_FANCHECK_INTERRUPT(); -#endif //(defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) + st_synchronize(); + + // disable incompatible interrupts DISABLE_STEPPER_DRIVER_INTERRUPT(); #ifdef WATCHDOG wdt_disable(); #endif //WATCHDOG + + // setup internal callbacks sm4_stop_cb = 0; sm4_update_pos_cb = xyzcal_update_pos; sm4_calc_delay_cb = xyzcal_calc_delay; @@ -155,21 +158,18 @@ void xyzcal_meassure_enter(void) void xyzcal_meassure_leave(void) { DBG(_n("xyzcal_meassure_leave\n")); - planner_abort_hard(); - ENABLE_TEMPERATURE_INTERRUPT(); -#if (defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) - ENABLE_FANCHECK_INTERRUPT(); -#endif //(defined(FANCHECK) && defined(TACH_1) && (TACH_1 >-1)) - ENABLE_STEPPER_DRIVER_INTERRUPT(); + + // resync planner position from counters (changed by xyzcal_update_pos) + planner_reset_position(); + + // re-enable interrupts #ifdef WATCHDOG wdt_enable(WDTO_4S); #ifdef EMERGENCY_HANDLERS WDTCSR |= (1 << WDIE); #endif //EMERGENCY_HANDLERS #endif //WATCHDOG - sm4_stop_cb = 0; - sm4_update_pos_cb = 0; - sm4_calc_delay_cb = 0; + ENABLE_STEPPER_DRIVER_INTERRUPT(); } @@ -999,13 +999,9 @@ BedSkewOffsetDetectionResultType xyzcal_scan_and_process(){ return ret; } -BedSkewOffsetDetectionResultType xyzcal_find_bed_induction_sensor_point_xy(void){ - BedSkewOffsetDetectionResultType ret = BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; - - //@size=258 +BedSkewOffsetDetectionResultType xyzcal_find_bed_induction_sensor_point_xy(void) { // DBG(_n("xyzcal_find_bed_induction_sensor_point_xy x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); - st_synchronize(); - + BedSkewOffsetDetectionResultType ret = BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND; xyzcal_meassure_enter(); if (xyzcal_searchZ()) ret = xyzcal_scan_and_process(); diff --git a/MK404-build.sh b/MK404-build.sh index a4368b4ee..da44b5bcd 100755 --- a/MK404-build.sh +++ b/MK404-build.sh @@ -10,7 +10,7 @@ # 3. Install latest updates with 'sudo apt-get upgrade' # # -# Version: 1.0.0-Build_14 +# Version: 1.0.0-Build_18 # Change log: # 11 Feb 2021, 3d-gussner, Inital # 11 Feb 2021, 3d-gussner, Optional flags to check for updates @@ -22,8 +22,9 @@ # 18 Jun 2021, 3d-gussner, Added -g 3 and 4 for more details extrusion lines # 18 Jun 2021, 3d-gussner, Check for updates is default. Fix update if internet connection is lost. # 21 Jun 2021, 3d-gussner, Change board_flash argument to 'y' and firmware_version to 'f' -# 25 Jan 2021, 3d-gussner, Allow upper and lower case in selection +# 25 Jan 2022, 3d-gussner, Allow upper and lower case in selection # Add update option to release OR devel +# 01 Jul 2022, 3d-gussner, Limit atmegaMK404 boards mem to 8,16,32 #### Start: Failures failures() @@ -35,7 +36,7 @@ case "$1" in 4) echo "$(tput setaf 1)Some packages are missing please install these!$(tput sgr0)" ; exit 4 ;; 5) echo "$(tput setaf 1)Wrong printer chosen.$(tput sgr0) Following Printers are supported: MK25, MK25S, MK3 and MK3S" ; exit 5 ;; 6) echo "$(tput setaf 1)Unsupported board flash size chosen.$(tput sgr0) Only '256', '384', '512', '1024' and '32M' are allowed." ; exit 6 ;; - 7) echo "$(tput setaf 1)Unsupported board mem size chosen.$(tput sgr0) Only '8', '16', '32' and '64' are allowed." ; exit 7 ;; + 7) echo "$(tput setaf 1)Unsupported board mem size chosen.$(tput sgr0) Only '8', '16' and '32' are allowed." ; exit 7 ;; 8) echo "$(tput setaf 1)No firmware version file selected!$(tput sgr0)" ; echo "Add argument -f with path and hex filename to start MK404" ; exit 8 ;; 9) echo "$(tput setaf 1)Tried to determine MK404 printer from hex file, but failed!$(tput sgr0)" ; "Add argument -p with 'MK25', 'MK25S', 'MK3' or 'MK3S' to start MK404" ; exit 9 ;; 10) echo "$(tput setaf 1)Missing printer$(tput sgr0)" ; exit 10 ;; @@ -76,7 +77,7 @@ while getopts c:f:g:m:n:p:u:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* MK404-build.sh Version: 1.0.0-Build_14 *" +echo "* MK404-build.sh Version: 1.0.0-Build_18 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-c$(tput sgr0) Check for update" @@ -101,7 +102,7 @@ echo " -m : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' y echo " -n : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" echo " -p : '$(tput setaf 2)MK25$(tput sgr0)', '$(tput setaf 2)MK25S$(tput sgr0)', '$(tput setaf 2)MK3$(tput sgr0)' or '$(tput setaf 2)MK3S$(tput sgr0)'" echo " -u : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' release ', '$(tput setaf 2)2$(tput sgr0)' devel '" -echo " -x : '$(tput setaf 2)8$(tput sgr0)',$(tput setaf 2)16$(tput sgr0)',$(tput setaf 2)32$(tput sgr0)' or '$(tput setaf 2)64$(tput sgr0)' Kb." +echo " -x : '$(tput setaf 2)8$(tput sgr0)',$(tput setaf 2)16$(tput sgr0)' or $(tput setaf 2)32$(tput sgr0)' Kb." echo " -y : '$(tput setaf 2)256$(tput sgr0)','$(tput setaf 2)384$(tput sgr0)','$(tput setaf 2)512$(tput sgr0)','$(tput setaf 2)1024$(tput sgr0)''$(tput setaf 2)32M$(tput sgr0)'" echo echo "Example:" @@ -160,9 +161,6 @@ if [ ! -z "$board_mem_flag" ] ; then elif [ "$board_mem_flag" == "32" ] ; then BOARD_MEM="0x7DFF" echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" - elif [ "$board_mem_flag" == "64" ] ; then - BOARD_MEM="0xFFFF" - echo "Board mem size : $board_mem_flag Kb, $BOARD_MEM (hex)" else failures 7 fi diff --git a/PF-build.sh b/PF-build.sh index deed646c1..4396f7f2f 100755 --- a/PF-build.sh +++ b/PF-build.sh @@ -56,7 +56,7 @@ # Some may argue that this is only used by a script, BUT as soon someone accidentally or on purpose starts Arduino IDE # it will use the default Arduino IDE folders and so can corrupt the build environment. # -# Version: 2.0.2-Build_69 +# Version: 2.0.2-Build_80 # Change log: # 12 Jan 2019, 3d-gussner, Fixed "compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections" in 'platform.txt' # 16 Jan 2019, 3d-gussner, Build_2, Added development check to modify 'Configuration.h' to prevent unwanted LCD messages that Firmware is unknown @@ -177,8 +177,12 @@ # Fix DEV_STATUS to set correctly on RC/BETA/ALPHA/DEVEL # Fix atmegaMK404 Board mem and flash modifications # Limit atmegaMK404 boards mem to 8,16,32 -# 20 Jun 2022, 3d-gussner, Change to Ardunio_boards v 1.0.5-1 - +# 20 Jun 2022, 3d-gussner, Change to Ardunio_boards v1.0.5-1 +# 20 Jun 2022, wavexx , New PO-based language translation support +# 20 Jun 2022, 3d-gussner, fix Mk2.5/S zip after change PO-based language translation support +# 06 Jul 2022, 3d-gussner, Change to v1.0.8 and Ardunio_boards v1.0.5-2 +# 06 Jul 2022, 3d-gussner, Fix branch check +# 12 Jul 2022, 3d-gussner, Check if FW_FLAVAVOR and FW_FLAVERSION are correct SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" export SRCDIR=$SCRIPT_PATH @@ -202,6 +206,7 @@ case "$1" in 22) echo "$(tput setaf 1)PF-build.sh has been interrupted/failed. $(tput setaf 6)Restoring 'config.h'$(tput sgr0)" ; if [ $OUTPUT == "1" ] ; then sleep 5 ; fi ;; 24) echo "$(tput setaf 1)PF-build.sh stopped due to compiling errors! Try to restore modified files.$(tput sgr0)"; check_script_failed_nr1 ; check_script_failed_nr2 ; cleanup_firmware ; exit 24 ;; 25) echo "$(tput setaf 1)Failed to execute $(tput sgr0)" ; exit 25 ;; + 26) echo "$(tput setaf 1)FW_FLAVAVOR or FW_FLAVERSION commented out in 'Firmware/Configuration.h'$(tput sgr0)"; check_script_failed_nr1 ; check_script_failed_nr2 ; cleanup_firmware ; exit 26 ;; esac } #### End: Failures @@ -235,7 +240,7 @@ while getopts b:c:d:g:h:i:j:l:m:n:o:p:v:x:y:?h flag # '?' 'h' argument usage and help if [ "$help_flag" == "1" ] ; then echo "***************************************" -echo "* PF-build.sh Version: 2.0.2-Build_69 *" +echo "* PF-build.sh Version: 2.0.2-Build_80 *" echo "***************************************" echo "Arguments:" echo "$(tput setaf 2)-b$(tput sgr0) Build/commit number" @@ -261,7 +266,7 @@ echo " -b : '$(tput setaf 2)Auto$(tput sgr0)' needs git or a number" echo " -c : '$(tput setaf 2)0$(tput sgr0)' clean up, '$(tput setaf 2)1$(tput sgr0)' keep" echo " -d : '$(tput setaf 2)GOLD$(tput sgr0)', '$(tput setaf 2)RC$(tput sgr0)', '$(tput setaf 2)BETA$(tput sgr0)', '$(tput setaf 2)ALPHA$(tput sgr0)', '$(tput setaf 2)DEBUG$(tput sgr0)', '$(tput setaf 2)DEVEL$(tput sgr0)' and '$(tput setaf 2)UNKNOWN$(tput sgr0)'" echo " -g : '$(tput setaf 2)0$(tput sgr0)' no '$(tput setaf 2)1$(tput sgr0)' lite '$(tput setaf 2)2$(tput sgr0)' fancy '$(tput setaf 2)3$(tput sgr0)' lite with Quad_HR '$(tput setaf 2)4$(tput sgr0)' fancy with Quad_HR" -echo " -i : '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.13$(tput sgr0)', '$(tput setaf 2)1.8.19$(tput sgr0)'" +echo " -i : '$(tput setaf 2)1.8.5$(tput sgr0)', '$(tput setaf 2)1.8.19$(tput sgr0)'" echo " -j : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes" echo " -l : '$(tput setaf 2)ALL$(tput sgr0)' for multi language or '$(tput setaf 2)EN_ONLY$(tput sgr0)' for English only" echo " -m : '$(tput setaf 2)0$(tput sgr0)' no, '$(tput setaf 2)1$(tput sgr0)' yes '$(tput setaf 2)2$(tput sgr0)' with MMU2" @@ -353,7 +358,7 @@ fi #Start: Check if Arduino IDE version is correct if [ ! -z "$IDE_flag" ]; then - if [[ "$IDE_flag" == "1.8.5" || "$IDE_flag" == "1.8.13" || "$IDE_flag" == "1.8.19" ]]; then + if [[ "$IDE_flag" == "1.8.5" || "$IDE_flag" == "1.8.19" ]]; then ARDUINO_ENV="${IDE_flag}" else ARDUINO_ENV="1.8.19" @@ -542,11 +547,11 @@ fi #### Start: Set build environment set_build_env_variables() { -BUILD_ENV="1.0.7" +BUILD_ENV="1.0.8" BOARD="prusa_einsy_rambo" BOARD_PACKAGE_NAME="PrusaResearch" if [ "$ARDUINO_ENV" == "1.8.19" ]; then - BOARD_VERSION="1.0.5-1" + BOARD_VERSION="1.0.5-2" else BOARD_VERSION="1.0.4" fi @@ -925,7 +930,6 @@ fi #Check if Build is selected via argument '-b' if [ ! -z "$build_flag" ] ; then if [[ "$build_flag" == "Auto" && "$git_available" == "1" ]] ; then - echo "Build changed to $build_flag" BUILD=$(git rev-list --count HEAD) elif [[ $build_flag =~ ^[0-9]+$ ]] ; then BUILD=$build_flag @@ -934,27 +938,26 @@ if [ ! -z "$build_flag" ] ; then echo "Only $(tput setaf 2)'Auto' (git needed) or numbers $(tput sgr0) are allowed as build '-b' argument!$(tput sgr0)" failures 5 fi - echo "New Build number is: $BUILD" fi #Check git branch has changed if [ ! -z "git_available" ]; then - BRANCH="" - CLEAN_PF_FW_BUILD=0 -else BRANCH=$(git branch --show-current) echo "Current branch is:" $BRANCH if [ ! -f "$SCRIPT_PATH/../PF-build.branch" ]; then - echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch + #echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch echo "created PF-build.branch file" else PRE_BRANCH=$(cat "$SCRIPT_PATH/../PF-build.branch") - echo "Previous branch was:" $PRE_BRANCH + #echo "Previous branch was:" $PRE_BRANCH if [ ! "$BRANCH" == "$PRE_BRANCH" ] ; then CLEAN_PF_FW_BUILD=1 echo "$BRANCH" >| $SCRIPT_PATH/../PF-build.branch fi fi +else + BRANCH="" + CLEAN_PF_FW_BUILD=0 fi } #### End: Getting arguments for command line compiling @@ -1018,20 +1021,27 @@ prepare_code_for_compiling() MOTHERBOARD=$(grep --max-count=1 "\bMOTHERBOARD\b" $SCRIPT_PATH/Firmware/variants/$VARIANT.h | sed -e's/ */ /g' |cut -d ' ' -f3) # Check development status FW_FLAV=$(grep --max-count=1 "//#define FW_FLAVOR\b" $SCRIPT_PATH/Firmware/Configuration.h|cut -d ' ' -f1) + FW_FLAVREV=$(grep --max-count=1 "//#define FW_FLAVERSION\b" $SCRIPT_PATH/Firmware/Configuration.h|cut -d ' ' -f1) + if [[ "$FW_FLAV" == "//#define" && -z $FW_FLAVREV ]];then + failures 26 + fi #echo "FLAV:$FW_FLAV" if [[ "$FW_FLAV" != "//#define" ]] ; then FW_FLAVOR=$(grep --max-count=1 "\bFW_FLAVOR\b" $SCRIPT_PATH/Firmware/Configuration.h| sed -e's/ */ /g'|cut -d ' ' -f3) #echo "FLAVOR:$FW_FLAVOR" - FW_FLAVERSION=$(grep --max-count=1 "\bFW_FLAVERSION\b" $SCRIPT_PATH/Firmware/Configuration.h| sed -e's/ */ /g'|cut -d ' ' -f3) - if [[ "$FW_FLAVOR" != "//#define FW_FLAVOR" ]] ; then + if [[ "$FW_FLAVREV" != "//#define" ]] ; then + FW_FLAVERSION=$(grep --max-count=1 "\bFW_FLAVERSION\b" $SCRIPT_PATH/Firmware/Configuration.h| sed -e's/ */ /g'|cut -d ' ' -f3) FW="$FW-$FW_FLAVOR" DEV_CHECK="$FW_FLAVOR" - #echo "DEV:$DEV_CHECK" + echo "DEV:$DEV_CHECK" if [ ! -z "$FW_FLAVERSION" ] ; then FW="$FW$FW_FLAVERSION" fi + else + failures 26 fi fi + #DEV_CHECK=$(grep --max-count=1 "\bFW_VERSION\b" $SCRIPT_PATH/Firmware/Configuration.h | sed -e's/ */ /g'|cut -d '"' -f2|sed 's/\.//g'|cut -d '-' -f2) if [ -z "$DEV_STATUS_SELECTED" ] ; then if [[ "$DEV_CHECK" == *"RC"* ]] ; then DEV_STATUS="RC" @@ -1155,7 +1165,7 @@ prepare_variant_for_compiling() fi #Prepare Configuration.h to use the correct FW_DEV_VERSION to prevent LCD messages when connecting with OctoPrint - sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h + sed -i -- "s/#define FW_DEV_VERSION FW_VERSION_.*/#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/g" $SCRIPT_PATH/Firmware/Configuration.h # set FW_REPOSITORY sed -i -- 's/#define FW_REPOSITORY "Unknown"/#define FW_REPOSITORY "Prusa3d"/g' $SCRIPT_PATH/Firmware/Configuration.h @@ -1345,10 +1355,10 @@ create_multi_firmware() cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.elf else #Search for created firmware languages - langs=$(find firmware_*.hex | cut -d "_" -f2 | cut -d "." -f1) + langs=$(find Firmware-intl-en_*.hex | cut -d "_" -f2 | cut -d "." -f1) #Copy found firmware_*.hex files for la in $langs; do - cp -f firmware_$la.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-$la.hex + cp -f Firmware-intl-en_$la.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-$la.hex done cp -f $BUILD_PATH/Firmware.ino.elf $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.elf echo "$(tput setaf 2)Zip multi language firmware for MK2.5/miniRAMbo board to PF-build-hex folder$(tput sgr 0)" @@ -1356,12 +1366,7 @@ create_multi_firmware() zip a $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex #rm $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex elif [ $TARGET_OS == "linux" ]; then - # Make a copy for MK404 sim of MK2, MK2.5, MK2.5S firmware - if [ ! -z "$mk404_flag" ]; then - cp -f firmware_de.hex $SCRIPT_PATH/../$OUTPUT_FOLDER/$OUTPUT_FILENAME.hex - fi - # End of MK2, MK2.5, MK2.5S firmware copy - zip -j ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex + zip -j ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME.zip ../../$OUTPUT_FOLDER/$OUTPUT_FILENAME-??.hex fi fi @@ -1390,7 +1395,9 @@ save_en_firmware() cleanup_firmware() { if [[ -z "$prusa_flag" || "$prusa_flag" == "0" ]]; then - rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || failures 13 + if [ -e "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then + rm $SCRIPT_PATH/Firmware/Configuration_prusa.h || failures 13 + fi fi # Delete dupblicates if find $SCRIPT_PATH/lang/ -name '*RAMBo10a*.txt' -printf 1 -quit | grep -q 1 @@ -1417,8 +1424,8 @@ cleanup_firmware() fi # Restore files to previous state - sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_$DEV_STATUS/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h - sed -i -- 's/^#define FW_REPOSITORY "Prusa3d"/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h + sed -i -- "s/^#define FW_DEV_VERSION FW_VERSION_.*/#define FW_DEV_VERSION FW_VERSION_UNKNOWN/g" $SCRIPT_PATH/Firmware/Configuration.h + sed -i -- 's/^#define FW_REPOSITORY.*/#define FW_REPOSITORY "Unknown"/g' $SCRIPT_PATH/Firmware/Configuration.h if [ ! -z "$BUILD_ORG" ] ; then sed -i -- "s/^#define FW_COMMIT_NR.*/#define FW_COMMIT_NR $BUILD_ORG/g" $SCRIPT_PATH/Firmware/Configuration.h fi @@ -1442,11 +1449,11 @@ cleanup_firmware() fi # Restore build env files to previous state - if [ $BOARD_MEM_MODIFIED == "1" ]; then + if [ "$BOARD_MEM_MODIFIED" == "1" ]; then sed -i -- "s/^#define FLASHEND .*$/#define FLASHEND 0x3FFFF/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h echo "$(tput setaf 2)Restored Board Mem$(tput sgr 0)" fi - if [ $BOARD_FLASH_MODIFIED == "1" ]; then + if [ "$BOARD_FLASH_MODIFIED" == "1" ]; then sed -i -- "s/^prusa_einsy_rambo.upload.maximum_size.*/prusa_einsy_rambo.upload.maximum_size=253952/g" $BUILD_ENV_PATH/portable/packages/$BOARD_PACKAGE_NAME/hardware/avr/$BOARD_VERSION/boards.txt sed -i -- "s/^#define RAMEND.*/#define RAMEND 0x21FF/g" $BUILD_ENV_PATH/hardware/tools/avr/avr/include/avr/iom2560.h echo "$(tput setaf 2)Restored Board Flash$(tput sgr 0)" diff --git a/Tests/AutoDeplete_test.cpp b/Tests/AutoDeplete_test.cpp deleted file mode 100644 index fb2964bc0..000000000 --- a/Tests/AutoDeplete_test.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file - * @author Marek Bel - */ - -#include "catch.hpp" - -#include "../Firmware/AutoDeplete.h" - -TEST_CASE( "AutoDeplete test.", "[AutoDeplete]" ) -{ - CHECK(ad_allDepleted() == false); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 1); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - - ad_markDepleted(1); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 2); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markDepleted(3); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 2); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 4); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markDepleted(4); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 2); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 0); - CHECK(ad_getAlternative(4) == 0); - CHECK(ad_allDepleted() == false); - - ad_markDepleted(4); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 2); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 0); - CHECK(ad_getAlternative(4) == 0); - CHECK(ad_allDepleted() == false); - - ad_markDepleted(0); - - CHECK(ad_getAlternative(0) == 2); - CHECK(ad_getAlternative(1) == 2); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 2); - CHECK(ad_getAlternative(4) == 2); - CHECK(ad_allDepleted() == false); - - ad_markDepleted(2); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 1); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == true); - - ad_markDepleted(2); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 1); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == true); - - ad_markLoaded(4); - - CHECK(ad_getAlternative(0) == 4); - CHECK(ad_getAlternative(1) == 4); - CHECK(ad_getAlternative(2) == 4); - CHECK(ad_getAlternative(3) == 4); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markLoaded(0); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 4); - CHECK(ad_getAlternative(2) == 4); - CHECK(ad_getAlternative(3) == 4); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markLoaded(3); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 3); - CHECK(ad_getAlternative(2) == 3); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markLoaded(3); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 3); - CHECK(ad_getAlternative(2) == 3); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markLoaded(2); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 2); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markLoaded(1); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 1); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - - ad_markLoaded(1); - - CHECK(ad_getAlternative(0) == 0); - CHECK(ad_getAlternative(1) == 1); - CHECK(ad_getAlternative(2) == 2); - CHECK(ad_getAlternative(3) == 3); - CHECK(ad_getAlternative(4) == 4); - CHECK(ad_allDepleted() == false); - -} diff --git a/build.sh b/build.sh index 9b901ee24..3146e12b0 100755 --- a/build.sh +++ b/build.sh @@ -1,21 +1,22 @@ #!/bin/bash BUILD_ENV="1.0.8" SCRIPT_PATH="$( cd "$(dirname "$0")" ; pwd -P )" +LANGUAGES=$1 if [ ! -d "build-env" ]; then mkdir build-env || exit 1 fi cd build-env || exit 2 -if [ ! -d "../../PF-build-env-$BUILD_ENV" ]; then +if [ ! -d "../../PF-build-env-$BUILD_ENV-build" ]; then if [ ! -f "PF-build-env-Linux64-$BUILD_ENV.zip" ]; then #wget https://github.com/3d-gussner/PF-build-env-1/releases/download/$BUILD_ENV-Linux64/PF-build-env-Linux64-$BUILD_ENV.zip || exit 3 wget https://github.com/prusa3d/PF-build-env/releases/download/$BUILD_ENV-Linux64/PF-build-env-Linux64-$BUILD_ENV.zip || exit 3 fi - unzip -q PF-build-env-Linux64-$BUILD_ENV.zip -d ../../PF-build-env-$BUILD_ENV || exit 4 + unzip -q PF-build-env-Linux64-$BUILD_ENV.zip -d ../../PF-build-env-$BUILD_ENV-build || exit 4 fi -cd ../../PF-build-env-$BUILD_ENV || exit 5 +cd ../../PF-build-env-$BUILD_ENV-build || exit 5 BUILD_ENV_PATH="$( pwd -P )" cd .. @@ -31,9 +32,21 @@ if [ ! -f "$SCRIPT_PATH/Firmware/Configuration_prusa.h" ]; then cp $SCRIPT_PATH/Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.h $SCRIPT_PATH/Firmware/Configuration_prusa.h || exit 8 fi +if [[ ! -z $LANGUAGES && $LANGUAGES == "EN_ONLY" ]]; then + echo "English only language firmware will be built" + sed -i -- "s/^#define LANG_MODE *1/#define LANG_MODE 0/g" $SCRIPT_PATH/Firmware/config.h +else + sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h +fi + $BUILD_ENV_PATH/arduino $SCRIPT_PATH/Firmware/Firmware.ino --verify --board PrusaResearch:avr:prusa_einsy_rambo --pref build.path=$BUILD_PATH --pref compiler.warning_level=all || exit 9 export ARDUINO=$BUILD_ENV_PATH -cd $SCRIPT_PATH/lang -./fw-build.sh || exit 10 +if [ -z $LANGUAGES ]; then + cd $SCRIPT_PATH/lang + ./fw-build.sh || exit 10 +fi + +#Reset lang_mode +sed -i -- "s/^#define LANG_MODE *0/#define LANG_MODE 1/g" $SCRIPT_PATH/Firmware/config.h diff --git a/lang/fw-build.sh b/lang/fw-build.sh index 0764c6275..cd79b20a9 100755 --- a/lang/fw-build.sh +++ b/lang/fw-build.sh @@ -35,11 +35,14 @@ rm -rf "$TMPDIR" mkdir -p "$TMPDIR" BIN=$TMPDIR/firmware.bin MAP=$TMPDIR/firmware.map +VARIANT=$(grep '^#define \+PRINTER_TYPE ' "$SRCDIR/Firmware/Configuration_prusa.h"|cut -d '_' -f3) + # Extract and patch the symbol table/language map color 4 "generating firmware symbol map" >&2 "$OBJCOPY" -I ihex -O binary "$INOHEX" "$BIN" ./lang-map.py "$INOELF" "$BIN" > "$MAP" +cp -f $MAP firmware_$VARIANT.map # Get the maximum size of a single language table maxsize=$(grep '^#define \+LANG_SIZE_RESERVED \+' "$SRCDIR/Firmware/config.h" | sed -e 's/\s\+/ /g' | cut -d ' ' -f3) @@ -50,7 +53,7 @@ for lang in $LANGUAGES; do binfile="$TMPDIR/lang_$lang.bin" color 4 "compiling language \"$lang\" from $pofile" >&2 - ./lang-check.py --map "$MAP" "$pofile" + ./lang-check.py --map "$MAP" "$pofile" --no-suggest if [ "$?" != 0 ]; then color 1 "$pofile: NG! - translation contains warnings or errors" >&2 fi @@ -58,8 +61,9 @@ for lang in $LANGUAGES; do ./lang-build.py "$MAP" "$pofile" "$binfile" # ensure each catalog fits the reserved size - if [[ $(stat -c '%s' "$binfile") -gt $maxsize ]]; then - color 1 "$pofile: NG! - language data exceeds $maxsize bytes" >&2 + currentsize=$(stat -c '%s' "$binfile") + if [[ $currentsize -gt $maxsize ]]; then + color 1 "$pofile: NG! - language data exceeds $maxsize bytes, it uses $currentsize" >&2 finish 1 fi done @@ -78,8 +82,25 @@ if [ "$has_xflash" = 1 ]; then color 4 "assembling final firmware image" >&2 "$OBJCOPY" -I binary -O ihex "$BIN" "$OUTHEX" truncate -s0 "$TMPDIR/lang.bin" + individual_lang_reserved_hex=$(grep --max-count=1 "^#define LANG_SIZE_RESERVED *" $SRCDIR/Firmware/config.h|sed -e's/ */ /g'|cut -d ' ' -f3|cut -d 'x' -f2) + individual_lang_reserved=$((16#$individual_lang_reserved_hex)) for lang in $LANGUAGES; do cat "$TMPDIR/lang_$lang.bin" >> "$TMPDIR/lang.bin" + lang_size=$(stat -c '%s' "$TMPDIR/lang_$lang.bin") + lang_size_pad=$(( ($lang_size+256-1) / 256 * 256 )) + lang_free=$(($individual_lang_reserved - $lang_size)) + echo >&2 + echo -n " size usage" >&2 + [ $lang_size -gt $individual_lang_reserved ] && c=1 || c=2 + color $c " $lang $lang_size_pad ($lang_size)" >&2 + echo -n " reserved size " >&2 + color 2 "$individual_lang_reserved" >&2 + echo -n " free bytes " >&2 + color 2 "$lang_free" >&2 + if [ $lang_size_pad -gt $individual_lang_reserved ]; then + color 1 "NG! - language $lang data too large" >&2 + finish 1 + fi done "$OBJCOPY" -I binary -O ihex "$TMPDIR/lang.bin" "$TMPDIR/lang.hex" cat "$TMPDIR/lang.hex" >> "$OUTHEX" diff --git a/lang/lang-build.py b/lang/lang-build.py index dab8b2662..0f3e04eba 100755 --- a/lang/lang-build.py +++ b/lang/lang-build.py @@ -68,6 +68,8 @@ def main(): # build a catalog of all translations trans_table = {} for translation in po: + if translation.obsolete: + continue msgid = translation.msgid found = msgid in msgid_data if found: diff --git a/lang/lang-check.py b/lang/lang-check.py index 333457822..cc5310fa4 100755 --- a/lang/lang-check.py +++ b/lang/lang-check.py @@ -42,6 +42,7 @@ from lib import charset as cs from lib.io import load_map COLORIZE = (stdout.isatty() and os.getenv("TERM", "dumb") != "dumb") or os.getenv('NO_COLOR') == "0" +LCD_WIDTH = 20 def color_maybe(color_attr, text): if COLORIZE: @@ -118,9 +119,13 @@ def ign_char_first(c): def ign_char_last(c): return c.isalnum() or c in {'.', "'"} -def check_translation(entry, msgids, is_pot, no_warning, no_suggest, warn_empty, warn_same, information): +def check_translation(entry, msgids, is_pot, no_warning, no_suggest, warn_empty, warn_same, information, shorter): """Check strings to display definition.""" + # do not check obsolete/deleted entriees + if entry.obsolete: + return True + # fetch/decode entry for easy access meta = entry.comment.split('\n', 1)[0] source = entry.msgid @@ -157,15 +162,18 @@ def check_translation(entry, msgids, is_pot, no_warning, no_suggest, warn_empty, print(red(" definition: " + meta)) return False - if cols is None and rows is None: - if not no_warning and known_msgid: + if not cols: + if not no_warning and known_msgid and not rows: errors += 1 print(yellow("[W]: No usable display definition on line %d" % line)) # probably fullscreen, guess from the message length to continue checking - cols = len(source) - if rows is None: + cols = LCD_WIDTH + if cols > LCD_WIDTH: + errors += 1 + print(yellow("[W]: Invalid column count on line %d" % line)) + if not rows: rows = 1 - elif rows > 1 and cols != 20: + elif rows > 1 and cols != LCD_WIDTH: errors += 1 print(yellow("[W]: Multiple rows with odd number of columns on line %d" % line)) @@ -213,7 +221,7 @@ def check_translation(entry, msgids, is_pot, no_warning, no_suggest, warn_empty, print_wrapped(wrapped_source, rows, cols) print() - # Check for translation lenght + # Check for translation length too long if (rows_count_translation > rows) or (rows == 1 and len(translation) > cols): errors += 1 print(red('[E]: Text is longer than definition on line %d: cols=%d rows=%d (rows diff=%d)' @@ -222,6 +230,14 @@ def check_translation(entry, msgids, is_pot, no_warning, no_suggest, warn_empty, wrapped_source, wrapped_translation, rows, cols) + # Check for translation length shorter + if shorter and (rows_count_translation < rows-1): + print(yellow('[S]: Text is shorter than definition on line %d: cols=%d rows=%d (rows diff=%d)' + % (line, cols, rows, rows_count_translation-rows))) + print_source_translation(source, translation, + wrapped_source, wrapped_translation, + rows, cols) + # Different count of % sequences if source.count('%') != translation.count('%') and len(translation) > 0: errors += 1 @@ -305,6 +321,9 @@ def main(): parser.add_argument( "--warn-same", action="store_true", help="Warn about one-word translations which are identical to the source") + parser.add_argument( + "--shorter", action="store_true", + help="Show message if it is shorter than expected.") # load the translations args = parser.parse_args() @@ -325,7 +344,7 @@ def main(): status = True for translation in polib.pofile(args.po): status &= check_translation(translation, msgids, args.pot, args.no_warning, args.no_suggest, - args.warn_empty, args.warn_same, args.information) + args.warn_empty, args.warn_same, args.information, args.shorter) return 0 if status else 1 if __name__ == "__main__": diff --git a/lang/lang-extract.py b/lang/lang-extract.py index 5dce1f121..f0ba84356 100755 --- a/lang/lang-extract.py +++ b/lang/lang-extract.py @@ -149,8 +149,8 @@ def extract_refs(path, catalog): # match message catalog references to add backrefs RE_CAT = r''' - (?= pri_start and sym_end < pri_end and sym_size > 0: + if sym_start >= pri_start and sym_end <= pri_end and sym_size > 0: data = text_data[sym_start:sym_end] # perform basic checks on the language section diff --git a/lang/lib/charset.py b/lang/lib/charset.py index 0db4f7a9a..96c61a9c1 100644 --- a/lang/lib/charset.py +++ b/lang/lib/charset.py @@ -1,5 +1,6 @@ # Mapping from LCD source encoding to unicode characters CUSTOM_CHARS = { + '\x06': '⏬', '\x04': '🔃', '\xe4': 'µ', '\xdf': '°', diff --git a/lang/po/Firmware.pot b/lang/po/Firmware.pot index f8f21bce2..7226c13b0 100644 --- a/lang/po/Firmware.pot +++ b/lang/po/Firmware.pot @@ -7,435 +7,420 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr "" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr "" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr "" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "" +"Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "" -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" "Normal mode" msgstr "" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet." " Please follow the manual, chapter First steps, section First layer " @@ -443,342 +428,418 @@ msgid "" msgstr "" #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "" - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 +#: ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "" - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again." " Print cancelled." msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." msgstr "" #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -786,1003 +847,1041 @@ msgid "" msgstr "" #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" msgstr "" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "" +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." msgstr "" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware." +" If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "" - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "" #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "" -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "" #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "" #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." msgstr "" #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." msgstr "" #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "" #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." msgstr "" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "" - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "" #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "" #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "" - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "" #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "" -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "" - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First" " steps, section Calibration flow." msgstr "" #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." msgstr "" +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" msgstr "" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "" #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "" +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "" #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1791,130 +1890,194 @@ msgid "" msgstr "" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." msgstr "" #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "" #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1922,109 +2085,109 @@ msgid "" msgstr "" #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." msgstr "" #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector" +" is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "" #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2033,219 +2196,210 @@ msgid "" msgstr "" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "" #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this" " version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "" diff --git a/lang/po/Firmware_cs.po b/lang/po/Firmware_cs.po index 38f705986..04e175c8f 100644 --- a/lang/po/Firmware_cs.po +++ b/lang/po/Firmware_cs.po @@ -16,173 +16,154 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 nebo starsi" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 nebo novejsi" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s ocekavana verze" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Zrusit" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Doladeni Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Vse OK" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Vse je hotovo. Tisku zdar!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Abeceda" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Okoli" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Dojely oba Z voziky k~hornimu dorazu?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Asist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Automat." #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "AutoZavedeni fil." -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Automaticke zavadeni filamentu je mozne pouze pri zapnutem filament " -"senzoru..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte " "filament..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Osa" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Delka osy" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Zpet" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Podlozka" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Zahrivani bedu" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Bed OK." #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Korekce podlozky" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -190,51 +171,55 @@ msgstr "" "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Podlozka/Topeni" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Stav remenu" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test remenu" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Detekovan vypadek proudu.Obnovit tisk?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Jasny" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Podsviceni" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibrace XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibrovat Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -243,13 +228,13 @@ msgstr "" "tlacitkem." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibruji Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -258,154 +243,151 @@ msgstr "" "tlacitkem." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibruji vychozi p." #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibrace" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibrace OK" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Karta vyjmuta" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Vymenit filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Zmena uspesna!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Vymena ok?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Kontrola osy X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Kontrola osy Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Kontrola osy Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Kontrola podlozky" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Kontrola endstopu" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Kontroluji soubor" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Kontrola hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Kontrola senzoru" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Kontrola" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Barva neni cista" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Komunitni prekl." -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Pokr." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Zchladit" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Kopirovat vybrany jazyk?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Naraz" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Det. narazu" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Detekovan naraz." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Detekovan naraz. Obnovit tisk?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -415,48 +397,48 @@ msgstr "" "byt zapnuta pouze v\n" "Normal modu" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Ustrihnout" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Strihani" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Strihani filamentu" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Temny" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Vypnout motory" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -466,277 +448,352 @@ msgstr "" "podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" "Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a podlozkou?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "Korekce E:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "CHYBA:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "CHYBA: Filament senzor nereaguje, zkontrolujte prosim zapojeni." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Vysunout fil." -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Vysouvam filament" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Koncovy spinac" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Kon. spinac nesepnut" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Konc. spinace" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Levy vent.:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autozav." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS reakce" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 nebo starsi" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 a novejsi" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Selhani" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Selhani MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falesne spusteni" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Rychlost vent." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test ventilatoru" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Kontr. vent." +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Vypadky filam." #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Fil. senzor" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament vytlacen a spravne barvy?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Filament nezaveden" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Senzor filamentu" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Spotrebovano filam." #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Soubor nekompletni. Pokracovat?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Dokoncovani pohybu" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Kal. prvni vrstvy" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri " "sestaveni tiskarny." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Opravte chybu a pote stisknete tlacitko na jednotce MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Prutok" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Predni tiskovy vent?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Vpredu [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Predni/levy vent." #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-code je pripraven pro jinou verzi. Pokracovat?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -745,14 +802,14 @@ msgstr "" "zrusen." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-code je pripraven pro jiny typ tiskarny. Pokracovat?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -761,12 +818,12 @@ msgstr "" "Tisk zrusen." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code je pripraven pro novejsi firmware. Pokracovat?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -775,42 +832,42 @@ msgstr "" "zrusen." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW nastaveni" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Topeni/Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Zahrivani" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Zahrivani preruseno bezpecnostnim casovacem." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Zahrivani OK." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -820,7 +877,7 @@ msgstr "" "nastaveni, ve kterem zkalibrujeme osu Z. Pak budete moct zacit tisknout." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -829,24 +886,45 @@ msgstr "" "kalibracnim procesem?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Vys. vykon" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Nyni provedu xyz kalibraci. Zabere to priblizne 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Nyni provedu z kalibraci." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -854,523 +932,492 @@ msgstr "" "Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni " "- Tiskove platy" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Informace" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Vlozte filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "Vlozte filament (nezavadejte) do extruderu a stisknete tlacitko" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Je filament zaveden?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Je tiskovy plat na podlozce?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Opakovani" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Posledni tisk" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Selhani posl. tisku" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Vlevo" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Levy vent na trysce?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Vlevo [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Normalni" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Ztlumeny" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Korekce lin." #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Doladeni osy Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Zavest vse" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Zavest filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Zavest do trysky" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Cisteni barvy" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Zavadeni filamentu" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Uvolnena remenicka" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Hlasity" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Kal. prvni vrstvy" +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3 firmware detekovan na MK3S tiskarne" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S firmware detekovan na tiskarne MK3" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU mod" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Pokracuji v tisku..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Pokracuji v nahrivani..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Pokracuji..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Selhani MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Zavedeni MMU selhalo" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU selhani zav" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU potrebuje zasah uzivatele." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU vyp. proudu" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 pripojeno" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Komp. magnetu" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Hlavni nabidka" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Merene zkos." #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Merim referencni vysku kalibracniho bodu" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Mod" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Probiha zmena modu..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Posunout X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Posunout Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Posunout Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Posunout osu" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Vysla nova verze firmware:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Ne" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Zadna SD karta" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Bez pohybu." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Zadne" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nezapojeno" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Netoci se" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem podlozky." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Nyni predehreji trysku pro PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Nyni odstrante testovaci vytisk z tiskoveho platu." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Tryska" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Tryska" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Vyp" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "Zap" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Jednou" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kal." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kal. ukoncena" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibrace" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Nahrivani PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA kal." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "PINDA kalibrace selhala" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1378,24 +1425,36 @@ msgstr "" "PINDA kalibrace dokoncena a je nyni aktivni. Zabere je mozno deaktivovat v " "menu Nastaveni->Tepl. kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pauza" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pozastavit tisk" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1404,7 +1463,7 @@ msgstr "" "prvnich 4 bodu. Pokud tryska zachyti papir, okamzite vypnete tiskarnu." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1413,35 +1472,35 @@ msgstr "" "Pruvodce restartovanim tiskarny." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Prosim zkontrolujte zapojeni IR senzoru a vyjmuty filament" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Zkontrolujte:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Prosim ocistete podlozku a stisknete tlacitko." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" "Prosim vlozte filament do extruderu a stisknete tlacitko k jeho zavedeni" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1450,172 +1509,156 @@ msgstr "" "zavedeni" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Prosim nejdriv zavedte filament" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Prosim otevrete idler a manualne odstrante filament." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Umistete prosim tiskovy plat na podlozku" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Pro vysunuti filamentu stisknete prosim tlacitko" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Prosim vyjmete urychlene filament" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Prosim vyjmete filament a pote stisknete tlacitko." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Nejprve prosim sundejte transportni soucastky." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Odstrante prosim tiskovy plat z podlozky." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Nejprve spustte kalibraci XYZ." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Prosim vyjmete filament a zopakujte tuto akci" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Prosim aktualizujte firmware ve vasi MMU2 jednotce. Cekam na reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Prosim aktualizujte." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Prosim cekejte" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Vypadky proudu" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Predehrev" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Predehrejte trysku!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Predehrev trysky. Prosim cekejte." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Predehrev ke strihu" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Predehrev k vysunuti" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Predehrev k zavedeni" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Predehrev k vyjmuti" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Stisknete tlacitko" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Pro nahrati trysky a pokracovani stisknete tlacitko." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Pro pokracovani nahrivani trysky stisknete tlacitko." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Tisk prerusen" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Tiskovy vent.:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Tisk z SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Tisk pozastaven" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Cas tisku" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "IP adr. tiskarny:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1624,12 +1667,12 @@ msgstr "" "kapitola Zaciname, odstavec Postup kalibrace." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Prumer trysky tiskarny se lisi od G-code. Pokracovat?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1637,70 +1680,110 @@ msgstr "" "Prumer trysky tiskarny se lisi od G-code. Prosim zkontrolujte nastaveni. " "Tisk zrusen." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Vzadu [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Obnovovani tisku" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Vyjmete stary filament a stisknete tlacitko pro zavedeni noveho." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Prejmenovat" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Pokracovat" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Obnoveni tisku" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Vpravo" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Vpravo [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1708,135 +1791,147 @@ msgstr "" "Spusteni Pruvodce vymaze ulozene vysledky vsech kalibraci a spusti " "kalibracni proces od zacatku. Pokracovat?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD karta" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "ZASTAVENO." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Hledam kalibracni bod podlozky" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Vybrat" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Vyberte extruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Zvolte filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Vyber jazyka" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "Vyberte teplotu predehrati trysky ktera odpovida vasemu materialu." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Zvolte teplotu, ktera odpovida vasemu materialu." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Chyba Selftestu!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Selftest selhal" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Pro kalibraci presneho rehomovani bude nyni spusten selftest." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Senzor info" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Senzor overen, vyjmete filament." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Nastavte teplotu:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Nastaveni" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Tezke zkos." #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Plat" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1849,23 +1944,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Stav konc. spin." #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Tichy" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Lehke zkos." #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1874,107 +1969,171 @@ msgstr "" "setrideni je 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Vyskytl se problem, srovnavam osu Z ..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Trideni" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Trideni souboru" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Zvuk" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Rychlost" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Toci se" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Je vyzadovana stabilni pokojova teplota 21-26C a pevna podlozka." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistika" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Tichy" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Tiskove platy" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Zastavit tisk" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Prisne" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Podpora" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Prohozene" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Teplota" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Teploty" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1984,7 +2143,7 @@ msgstr "" "vysku. Postupujte podle obrazku v handbooku (kapitola Kalibrace)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -1993,102 +2152,102 @@ msgstr "" "Zaciname, sekce Postup kalibrace." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Cas" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Celkem" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Celkem selhani" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filament celkem" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Celkovy cas tisku" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Ladit" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Vyjmout filament" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Vysouvam filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Overeni selhalo, vyjmete filament a zkuste znovu." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Napeti" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2101,221 +2260,275 @@ msgstr "" "Stealth modu" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Ceka se na uzivatele" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Cekani na zchladnuti PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Cekani na zchladnuti trysky a podlozky." #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Varovat" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Varovani: doslo ke zmene typu tiskarny a motherboardu." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Varovani: doslo ke zmene typu motherboardu." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Varovani: doslo ke zmene typu tiskarny." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Bylo vysunuti filamentu uspesne?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Chyba zapojeni" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Pruvodce" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Korekce X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "Detaily XYZ kal." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Kalibrace XYZ selhala. Nahlednete do manualu." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y vzdalenost od min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Korekce Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Ano" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Pruvodce muzete kdykoliv znovu spustit z menu Kalibrace -> Pruvodce" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Korekce Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Pocet mereni Z" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] odsazeni bodu" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "a stisknete tlacitko" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "k zavedeni filamentu" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "k vyjmuti filamentu" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "neznamy" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "neznamy stav" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Obnovit" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Automaticke zavadeni filamentu je mozne pouze pri zapnutem filament " +#~ "senzoru..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Detekovan naraz. Obnovit tisk?" + +#~ msgid "Cutting filament" +#~ msgstr "Strihani filamentu" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "CHYBA: Filament senzor nereaguje, zkontrolujte prosim zapojeni." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 nebo starsi" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 a novejsi" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Opravte chybu a pote stisknete tlacitko na jednotce MMU." + +#~ msgid "Load all" +#~ msgstr "Zavest vse" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Kal. prvni vrstvy" + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3 firmware detekovan na MK3S tiskarne" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S firmware detekovan na tiskarne MK3" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Pokracuji v tisku..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Pokracuji v nahrivani..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Pokracuji..." + +#~ msgid "MMU load failed" +#~ msgstr "Zavedeni MMU selhalo" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU potrebuje zasah uzivatele." + +#~ msgid "MMU power fails" +#~ msgstr "MMU vyp. proudu" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Prosim vyjmete filament a pote stisknete tlacitko." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Prosim aktualizujte firmware ve vasi MMU2 jednotce. Cekam na reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Pro pokracovani nahrivani trysky stisknete tlacitko." diff --git a/lang/po/Firmware_da.po b/lang/po/Firmware_da.po index 4690fba45..3c1a18afb 100644 --- a/lang/po/Firmware_da.po +++ b/lang/po/Firmware_da.po @@ -16,435 +16,419 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr "" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr "" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr "" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "" -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" "Normal mode" msgstr "" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -452,342 +436,417 @@ msgid "" msgstr "" #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "" - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "" - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." msgstr "" #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -795,7 +854,7 @@ msgid "" msgstr "" #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -804,996 +863,1034 @@ msgstr "" "dig gennem installationsprocessen?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "" +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." msgstr "" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "" - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "" #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "" -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "" #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "" #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." msgstr "" #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." msgstr "" #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "" #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." msgstr "" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "" - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "" #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "" #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "" - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "" #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "" -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "" - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." msgstr "" #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." msgstr "" +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" msgstr "" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "" #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "" +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "" #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1802,130 +1899,194 @@ msgid "" msgstr "" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." msgstr "" #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "" #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1933,109 +2094,109 @@ msgid "" msgstr "" #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." msgstr "" #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "" #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2044,219 +2205,210 @@ msgid "" msgstr "" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "" #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "" diff --git a/lang/po/Firmware_de.po b/lang/po/Firmware_de.po index 4e25131e9..ccc4de8ef 100644 --- a/lang/po/Firmware_de.po +++ b/lang/po/Firmware_de.po @@ -16,172 +16,154 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 oder älter" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 oder neuer" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s Level erwartet" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Abbruch" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Z Anpassen:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Alles richtig" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Alles abgeschlossen. Viel Spaß beim Drucken!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" -msgstr "" +msgstr "Alphabet" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" -msgstr "" +msgstr "Immer" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Raumtemp." #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Sind linke+rechte Z- Schlitten ganz oben?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Assist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" -msgstr "" - -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" +msgstr "Auto" #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Startposition" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Auto Leist" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "AutoLaden Filament" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Automatisches Laden Filament nur bei eingeschaltetem Fil. sensor verfügbar..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Automatisches Laden Filament ist aktiv, Knopf drücken und Filament " "einlegen..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "Vermeide schleifen" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Achse" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Achsenlänge" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Zurück" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Bett" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Bett aufwärmen" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Bett OK" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Bett Level Korr." #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -189,51 +171,55 @@ msgstr "" "Z-Kal. fehlgeschlg. Sensor nicht ausgelöst. Schmutzige Düse? Warte auf Reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Bett/Heizung" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Gurtstatus" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Riementest" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Stromausfall! Druck wiederherstellen?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Hell" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Helligkeit" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "KOMMUNIKATIONSFEHLER" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibrierung XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibrierung Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -242,13 +228,13 @@ msgstr "" "Anschliessend den Knopf drücken." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibriere Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -257,154 +243,153 @@ msgstr "" "Anschliessend den Knopf drücken." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibriere Start" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibrierung" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibrierung OK" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "Kann Selektor oder Riemenscheibe nicht bewegen." + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" +"Die Aktion kann nicht ausgeführt werden, das Filament ist bereits geladen. " +"Entladen Sie es zuerst." + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "SD Karte entfernt" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" -msgstr "" - -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" +msgstr "Wechsel SD Karte" #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Filament-Wechsel" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Wechsel erfolgr.!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Wechsel ok?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Prüfe X Achse" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Prüfe Y Achse" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Prüfe Z Achse" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Prüfe Bett" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Prüfe Endschalter" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Überprüfe Datei" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Prüfe Düse" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Prüfe Sensoren" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Kontrolle" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Falsche Farbe" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Von der Community" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." -msgstr "" +msgstr "Weit." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Abkühlen" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Gewählte Sprache kopieren?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" -msgstr "" +msgstr "Crash" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Crash Erk." #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Crash erkannt." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Crash erkannt. Druck fortführen?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -414,48 +399,48 @@ msgstr "" "nur im Modus Normal\n" "genutzt werden" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Fil. schneiden" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Messer" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Schneide filament" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Dimm" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "Deaktiv." + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Motoren aus" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "Spannrol. auskuppeln" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -466,7 +451,7 @@ msgstr "" "Abschnitt Erste Schicht Kalibrierung." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -474,270 +459,357 @@ msgstr "" "Möchten Sie den letzten Schritt wiederholen, um den Abstand zwischen Düse " "und Druckbett neu einzustellen?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." -msgstr "" +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" +msgstr "Klar" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "E-Korrektur:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "FEHL. Fil.Hilfe" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "FEHLER Intern" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "FEHLER TMC" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "FEHL. Warte Benutzer" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "FEHLER:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "FEHLER: Filament- sensor reagiert nicht, bitte Verbindung prüfen." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Filamentauswurf" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "werfe Filament aus" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Endanschlag" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Ende nicht getroffen" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Endschalter" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "Spannrol. einkuppeln" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" -msgstr "" - -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" +msgstr "Extruder" #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Extruderlüfter:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Extruder Info" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autoladen" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "FS. Auslauf" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "FIL. BEREITS GELADEN" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "FINDA N. AUSGELÖST" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" +"Die FINDA schaltete sich beim Entladen nicht aus. Versuchen Sie, Fil. " +"manuell zu entladen. Überprüfen Sie, dass sich Fil. bewegen kann und die " +"FINDA funktioniert." + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" +"FINDA hat beim Laden des Filaments nicht ausgelöst. Stellen Sie sicher, dass " +"sich das Filament bewegen kann und FINDA funktioniert." + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "FINDA NICHT FIL.FREI" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS Aktion" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS v0.3 oder älter" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "FSENSOR N. AUSGELÖST" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS v0.4 oder neuer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "FSENSOR ZU FRÜH" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "FSENSOR N. FIL.FREI" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "FW-LAUFZEITFEHLER" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Fehlerstatistik" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "MMU-Fehler" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falschtriggerung" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Lüfter-Tempo" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Lüftertest" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Lüfter Check" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "Zufuhr zur FINDA" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "Zufuhr zum FSensor" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "Zufuhr zum Extruder" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "Zufuhr zur Düse" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fil. Mängel" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Fil. Sensor" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" -msgstr "" +msgstr "Filament" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament extrudiert mit richtiger Farbe?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. nicht geladen" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Filamentsensor" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" +"Der FSensor hat sich beim Entladen des Fil. nicht abgeschaltet. Stellen Sie " +"sicher, dass sich das Fil. bewegen kann und der Sensor funktioniert." + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" +"Der FSensor hat beim Laden des Filaments nicht ausgelöst. Stellen Sie " +"sicher, dass das Filament den Sensor erreicht hat und der Sensor " +"funktioniert." + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" +"Der FSensor wurde beim Laden in den Extruder zu früh ausgelöst. Prüfen Sie, " +"dass nichts im PTFE-Schlauch fest- sitzt und der Sensor richtig liest." + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Filament benutzt" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Datei unvollständig Trotzdem fortfahren?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Bewegung beenden" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Erste-Schicht Kal." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Zunächst führe ich den Selbsttest durch, um die häufigsten Probleme beim " "Zusammenbau zu überprüfen." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Beseitigen Sie das Problem und drücken Sie dann den Knopf am MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Durchfluss" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Drucklüfter?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Vorne [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Druck/Extr. Lüfter" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-Code ist für einen anderen Level geslict. Fortfahren?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -746,14 +818,14 @@ msgstr "" "erneut. Druck abgebrochen." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-Code ist für einen anderen Drucker geslict. Fortfahren?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -762,12 +834,12 @@ msgstr "" "erneut. Druck abgebrochen." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-Code ist für eine neuere Firmware geslict. Fortfahren?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -776,42 +848,42 @@ msgstr "" "Druck abgebrochen." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" -msgstr "" +msgstr "Gcode" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW Einstellungen" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Heizung/Thermistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Aufwärmen" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Heizung durch Sicherheitstimer deaktiviert." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Aufwärmen OK." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -822,7 +894,7 @@ msgstr "" "Danach sind Sie bereit für den Druck." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -831,26 +903,47 @@ msgstr "" "durch den Einricht- ungsablauf führe?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Hohe leist" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "Startposition" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" "Ich werde jetzt die XYZ-Kalibrierung durchführen. Es wird ca. 12 Minuten " "dauern." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Ich werde jetzt die Z Kalibrierung durchführen." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "SPANNRO. STARTP.FEH." + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "SPANNROL. SITZT FEST" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "UNGÜLTIGER FIL.PLATZ" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -858,52 +951,28 @@ msgstr "" "Wenn Sie zusätzliche Stahlbleche haben, kalibrieren Sie deren " "Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" -msgstr "" +msgstr "Verbesserung des Bettkalibrierungspunkts" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Infoanzeige" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" -msgstr "" +msgstr "Init. SD Karte" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Filament einlegen" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." @@ -911,474 +980,476 @@ msgstr "" "Stecken Sie das Filament (nicht laden) in den Extruder und drücken Sie dann " "den Knopf." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" +"Interner Laufzeitfehler. Versuchen Sie, die MMU-Einheit zurückzusetzen oder " +"die Firmware zu aktualisieren. Wenn das Problem weiterhin besteht, wenden " +"Sie sich an den Support" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Ist das Filament geladen?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Liegt das Stahlblech auf dem Heizbett?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Wiederholung" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Letzter Druck" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Letzte Druckfehler" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Links" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Extruderlüfter?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Links [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Hell.wert" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Dimmwert" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Lineare Korrektur" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Z einstellen" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "Alle laden" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Filament laden" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "Lade zum Extruder" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "In Düse laden" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Lade Farbe" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Filament lädt" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Lose Riemenscheibe" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Laut" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Erste-Schicht Kal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "MMU FW UPDATE NÖTIG" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3-Firmware am MK3S-Drucker erkannt" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S-Firmware auf MK3-Drucker erkannt" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "MMU Firmware interner Fehler, bitte setzen Sie die MMU zurück." #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU Mod." -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Position wiederherstellen..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "MMU REAGIERT NICHT" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Temperatur wiederherstellen..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Weiterdrucken..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "MMU-Neuversuch: Wiederherstelle die Temperatur..." #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "MMU Fehler" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "MMU Ladefehler" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU Ladefehler" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU erfordert Benutzereingriff." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" +"MMU-Einheit antwortet nicht korrekt. Überprüfen Sie die Verkabelung und die " +"Anschlüsse. Wenn das Problem weiterhin besteht, wenden Sie sich an den " +"Support." -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU Netzfehler" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" +"MMU-Einheit antwortet nicht. Überprüfen Sie die Verkabelung und die " +"Anschlüsse. Wenn das Problem weiterhin besteht, wenden Sie sich an den " +"Support." #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 verbunden" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Magnet Komp." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Hauptmenü" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Schräglauf" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Messen der Referenzhöhe des Kalibrierpunktes" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Gitter" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "MeshBett Ausgleich" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Modus" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Moduswechsel erfolgt..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modell" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "Weiter Details online." + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "Mehr⏬" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" -msgstr "" +msgstr "Motor" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Bewege X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Bewege Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Bewege Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Achse bewegen" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "Bewege Selektor" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "N/V" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Neue Firmware- Version verfügbar:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nein" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Keine SD Karte" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Keine Bewegung." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Ohne" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" -msgstr "" +msgstr "Normal" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nicht angeschlossen" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Dreht sich nicht" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" "Jetzt werde ich den Abstand zwischen Düsenspitze und Druckbett kalibrieren." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Jetzt werde ich die Düse für PLA vorheizen." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Testdruck jetzt von Stahlblech entfernen." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Düse" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Düsen Dia." -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" -msgstr "" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" +msgstr "OK" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Aus" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Alte Einstellungen gefunden. Standard PID, E-Steps u.s.w. werden gesetzt." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "An" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Einmal" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "PAUSE THERM. FEHLER" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID Kal." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID Kalib. fertig" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID Kalibrierung" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "PINDA erwärmen" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA Kal." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "PINDA-Kalibrierung fehlgeschlagen" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1386,24 +1457,36 @@ msgstr "" "PINDA Kalibrierung ist fertig + aktiv. Es kann ausgeschaltet werden im Menu " "Einstellungen -> PINDA kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "RIEHMENS. SITZT FEST" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "Parke Selektor" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" -msgstr "" +msgstr "Pause" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Druck pausieren" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" -msgstr "" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" +msgstr "Führe Schnitt aus" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1413,7 +1496,7 @@ msgstr "" "ausschalten." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1422,28 +1505,28 @@ msgstr "" "mit dem Assistenten fort, indem Sie den Drucker neu starten." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Bitte IR Sensor Verbindungen über- prüfen und Filament entladen ist." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Bitte prüfen:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Bitte reinigen Sie das Heizbett und drücken Sie dann den Knopf." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" "Bitte entfernen Sie überstehendes Filament von der Düse. Klicken wenn sauber." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" @@ -1451,7 +1534,7 @@ msgstr "" "Knopf, um es zu laden." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1460,172 +1543,156 @@ msgstr "" "Sie dann den Knopf, um es zu laden." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Bitte laden Sie zuerst das Filament." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Bitte Spannrolle öffnen und Filament von Hand entfernen" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Bitte legen Sie das Stahlblech auf das Heizbett." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Bitte drücken Sie den Knopf um das Filament zu entladen." #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Bitte ziehen Sie das Filament sofort heraus" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Bitte Filament entfernen und dann den Knopf drücken" - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Bitte zuerst Transportsicherungen entfernen." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Bitte entfernen Sie das Stahlblech vom Heizbett." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Bitte zuerst XYZ Kalibrierung ausführen." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Bitte entladen Sie erst das Filament und versuchen Sie es nochmal." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Bitte aktualisieren Sie die Firmware in der MMU2. Warte auf Reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Bitte aktualisieren." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Bitte warten" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Netzfehler" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Vorheizen" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Düse vorheizen!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Vorheizen der Düse. Bitte warten." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Heizen zum Schnitt" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Heizen zum Auswurf" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Heizen zum Laden" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Heizen zum Entladen" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" -msgstr "" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" +msgstr "Bereite Messer vor" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Knopf drücken zum" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Bitte drücken Sie den Knopf um die Düse vorzuheizen und fortzufahren." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Drücken Sie den Knopf um die Düsentemperatur wiederherzustellen" - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Druck abgebrochen" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Drucklüfter:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Drucken von SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Druck pausiert" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Druckzeit" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Drucker IP Adr.:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1634,12 +1701,12 @@ msgstr "" "Erste Schritte, Abschnitt Kalibrie- rungsablauf." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Der Durchmesser der Druckerdüse weicht vom G-Code ab. Fortfahren?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1647,72 +1714,116 @@ msgstr "" "Der Durchmesser der Druckerdüse weicht vom G-Code ab. Bitte überprüfen Sie " "den Wert in den Einstellungen. Druck abgebrochen." -#. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 -msgid "RPi port" +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." msgstr "" +"Der Riemenscheiben- motor ist blockiert. Sicherstellen, dass sich die " +"Riemenscheibe bewegen kann und die Verkabelung überprüfen." + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "Schiebe Filament" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "QUEUE VOLL" + +#. MSG_RPI_PORT c=13 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 +msgid "RPi port" +msgstr "RPi port" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Hinten [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Druck wiederherst" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Entfernen Sie das alte Filament und drücken Sie den Knopf, um das neue zu " "laden." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Umbenennen" -#. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 -msgid "Reset" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." msgstr "" +"Der angeforderte Filamentplatz ist auf dieser Hardware nicht verfügbar. " +"Prüfen Sie den G-Code auf Plätze außerhalb des Bereichs (T0-T4)." + +#. MSG_RESET c=14 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 +msgid "Reset" +msgstr "Reset" + +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "Reset MMU" #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset XYZ Kalibr." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Druck fortsetzen" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Druck fortgesetzt" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "Einziehen von FINDA" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "Wdh." + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "Selektor zurückfahr." + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Rechts" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Rechts [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1720,37 +1831,41 @@ msgstr "" "Der Assistent wird die aktuellen Kalibrierungsdaten löschen und von vorne " "beginnen. Fortfahren?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Mängel" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD Karte" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "SELEK. STARTPOSFEHL." + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "SELEKTOR SITZT FEST" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "GESTOPPT." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Suche Bett Kalibrierpunkt" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Auswahl" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1759,98 +1874,106 @@ msgstr "" "im On-Screen-Menu aus." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Wähle extruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Wähle filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Wähle Sprache" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "Bitte Vorheiztemperatur auswählen, die Ihrem Material entspricht." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Wählen Sie die Temperatur, die zu Ihrem Material passt." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "Wähle Filament Platz" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Selbsttest OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Selbsttest start" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Selbsttest" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Selbsttest Fehler!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Selbsttest Error" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Selbsttest wird gestartet, um Startposition zu kalibrieren." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Sensor Info" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Sensor überprüft, entladen Sie jetzt das Filament." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Temp. einstellen:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Einstellungen" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Sehr schräg" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Stahlblech" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1863,23 +1986,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Endschalter Status" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Leise" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Leicht schräg" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1887,108 +2010,179 @@ msgstr "" "Einige Dateien wur- den nicht sortiert. Max. Dateien pro Verzeichnis = 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Fehler aufgetreten, Z-Kalibrierung erforderlich..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Sort." #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Sortiere Dateien" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Ton" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Geschwindigkeit" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Dreht sich" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Stabile Umgebungs- temperatur 21-26C und feste Stand- fläche erforderlich" #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistiken" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Leise" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Stahlbleche" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "Stop" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Druck abbrechen" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Strikt" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" -msgstr "" +msgstr "Support" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Ausgetauscht" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "THERMISCHE ANOMALIE" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "TM kal. fehlgeschlg." + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "TMC TREIBER FEHLER" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "TMC TREIBER RESET" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "TMC KURZSCHLUSS" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "TMC ÜBERHITZ.FEHL." + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "TMC UNTERSPANN.FEHL." + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "Temp. Model Autokal." + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatur" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperaturen" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "Teste filament" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" +"Die Spannrolle kann die Startposition nicht richtig erreichen. Prüfen Sie, " +"ob irgendetwas seine Bewegung blockiert." + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" +"Die MMU-Einheit meldet, dass ihre FW-Version nicht mit der Firmware des " +"Druckers kompatibel ist. Stellen Sie sicher, dass die MMU-Firmware auf dem " +"neuesten Stand ist." + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" +"Der Selektor kann die Startposition nicht richtig erreichen. Prüfen Sie, ob " +"irgendetwas seine Bewegung blockiert." + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1999,7 +2193,7 @@ msgstr "" "im Handbuch (Kapitel Kalibrierung)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2008,104 +2202,106 @@ msgstr "" "Sie das Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrierablauf." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Zeit" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" -msgstr "" +msgstr "Timeout" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Gesamt" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Gesamte Fehler" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Gesamtes Filament" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Gesamte Druckzeit" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Feineinstellung" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" -msgstr "" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" +msgstr "ENTLADE MANUELL" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" +"Unerwarteter FINDA-Wert. Stellen Sie sicher, dass sich kein Filament unter " +"FINDA befindet und der Selektor frei ist. Prüfen Sie die FINDA-Verbindung." + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "Entla." + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Fil. entladen" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Filament auswerfen" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" -msgstr "" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "Entlade zur FINDA" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" +msgstr "Entlade zur Riemens." #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "" "Überprüfung fehl- geschlagen, entladen Sie das Filament und versuchen Sie es " "erneut." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Spannungen" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "WARNUNG TMC ZU HEISS" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2118,99 +2314,99 @@ msgstr "" "Stealth Modus" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Warte auf Benutzer.." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Warten, bis PINDA- Sonde abgekühlt ist" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Warten bis Heizung und Bett abgekühlt sind" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Warnen" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Warnung: Druckertyp und Platinentyp wurden beide geändert." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Warnung: Platinentyp wurde geändert." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Warnung: Druckertyp wurde geändert." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Konnten Sie das Filament entnehmen?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Verdrahtungsfehler" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Assistent" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "X-Korrektur:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" -msgstr "" +msgstr "XFLASH init" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ Kal. Details" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ Kalibrierung in Ordnung. Schräglauf wird automatisch korrigiert." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" "XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schräg. Gut gemacht!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" "XYZ-Kalibrierung beeinträchtigt. Vordere Kalibrierpunkte nicht erreichbar." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" @@ -2218,128 +2414,185 @@ msgstr "" "erreichbar." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist nicht " "erreichbar." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander Glückwunsch!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y Entfernung vom Min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Y-Korrektur:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Ja" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" "Sie können den Assistenten immer im Menu neu starten: Kalibrierung -> " "Assistent" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Z-Korrektur:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z-Test Nr." #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] Punktversatz" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "und Knopf drücken" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "um Filament laden" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "um Filament entladen" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "unbekannt" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "Status unbekannt" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Aktualisiere" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Automatisches Laden Filament nur bei eingeschaltetem Fil. sensor " +#~ "verfügbar..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Crash erkannt. Druck fortführen?" + +#~ msgid "Cutting filament" +#~ msgstr "Schneide filament" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "FEHLER: Filament- sensor reagiert nicht, bitte Verbindung prüfen." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS v0.3 oder älter" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS v0.4 oder neuer" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Beseitigen Sie das Problem und drücken Sie dann den Knopf am MMU." + +#~ msgid "Load all" +#~ msgstr "Alle laden" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Erste-Schicht Kal." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3-Firmware am MK3S-Drucker erkannt" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S-Firmware auf MK3-Drucker erkannt" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Position wiederherstellen..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Temperatur wiederherstellen..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Weiterdrucken..." + +#~ msgid "MMU load failed" +#~ msgstr "MMU Ladefehler" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU erfordert Benutzereingriff." + +#~ msgid "MMU power fails" +#~ msgstr "MMU Netzfehler" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Bitte Filament entfernen und dann den Knopf drücken" + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Bitte aktualisieren Sie die Firmware in der MMU2. Warte auf Reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Drücken Sie den Knopf um die Düsentemperatur wiederherzustellen" + +#~ msgid "Runouts" +#~ msgstr "Mängel" diff --git a/lang/po/Firmware_es.po b/lang/po/Firmware_es.po index 53ffb0860..d4e3de31a 100644 --- a/lang/po/Firmware_es.po +++ b/lang/po/Firmware_es.po @@ -16,171 +16,153 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 o mayor" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 o mas nueva" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s nivel esperado" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Cancelar" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Ajustar-Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Todo bien" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Terminado! Feliz impresion!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfabet" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Ambiente" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Carros Z izq./der. estan arriba maximo?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Asist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Llevar al origen" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Encendido" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Carga auto. filam." -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"La carga automatica solo funciona si el sensor de filamento esta activado..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "La carga automatica esta activada, pulse el dial e inserte el filamento..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Eje" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Longitud del eje" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "atras" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Base" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Calentando Base" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Base preparada" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Corr. de la cama" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -188,51 +170,55 @@ msgstr "" "Nivelacion fallada. Sensor no funciona. Restos en boquilla? Esperando reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Base/Calentador" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Estado de correa" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test cinturon" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Se fue la luz. Re- anudar la impresion?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Brill." #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Brillo" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Calibrar XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Calibrar Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -241,13 +227,13 @@ msgstr "" "superiores. Despues haz clic." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Calibrando Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -256,154 +242,151 @@ msgstr "" "superiores. Despues haz clic." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Calibrar pos.inicial" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Calibracion" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Calibracion OK" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Tarjeta retirada" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Cambiar filamento" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Cambio correcto!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Cambio correcto?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Control sensor X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Control sensor Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Control sensor Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Control base cal." #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Control endstops" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Verif. archivo" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Control fusor" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Comprobando sensores" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Comprobaciones" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Color no homogeneo" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Desde la comunidad" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Enfriar" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Copiar idioma seleccionado?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Choque" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Det. choque" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Choque detectado." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Choque detectado. Continuar impresion?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -413,48 +396,48 @@ msgstr "" "ser activada solo en\n" "Modo normal" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Cortar filament" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Cuchillo" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Corte de filament" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Fecha:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Oscuro" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Apagar motores" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -465,278 +448,352 @@ msgstr "" "primera capa." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" "Quieres repetir el ultimo paso para reajustar la distancia boquilla-base?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "Corregir-E:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "" -"ERROR:Sensor de fi- lamento no responde Por favor, comprue- ba la conexion." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Expulsar fil." -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Expulsando filamento" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Endstop no alcanzado" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "Extruir" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Vent.extrusor:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Info. del extrusor" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "Autocarg.fil." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS accion" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 o mayor" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 o mas nueva" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Estadistica Fallos" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Total Fallos MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falsa activacion" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Velocidad Vent" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test ventiladores" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Comprob.vent" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fil. acabado" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Sensor Fil." -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "Filamento" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Es nitido el color nuevo?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. no introducido" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Sensor de fil." +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Filamento usado" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Archivo incompleto. Continuar de todos modos?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Term. movimientos" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Cal. primera cap." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Primero, hare el Selftest para comprobar los problemas de montaje mas " "comunes." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Corrige el problema y pulsa el boton en la unidad MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Flujo" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Vent. frontal?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Frontal [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Vents. front/izqui" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "Codigo G laminado para un nivel diferente. Continuar?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -745,14 +802,14 @@ msgstr "" "nuevo. Impresion cancelada." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "Codigo G laminado para un tipo de impresora diferente. Continuar?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -761,12 +818,12 @@ msgstr "" "de nuevo. Impresion cancelada." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "Codigo G laminado para nuevo firmware. Continuar?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -775,42 +832,42 @@ msgstr "" "Impresion cancelada." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "Configuracion HW" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Calentador/Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Calentando..." #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Calentadores desactivados por el temporizador de seguridad." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Calentando acabado." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -821,7 +878,7 @@ msgstr "" "listo para imprimir." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -830,24 +887,45 @@ msgstr "" "configuracion?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Rend.pleno" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Hare la calibracion XYZ. Tardara 12 min. aproximadamente." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Voy a hacer Calibracion Z ahora." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -855,411 +933,383 @@ msgstr "" "Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - " "Ajustes HW - Planchas acero." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Monitorizar" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Introducir filamento" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" "Inserte el filamento (no lo cargue) en el extrusor y luego presione el dial." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Esta el filamento cargado?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Esta coloc.la lamina sobre la base?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iteracion" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Ultima impresion" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Ultimos imp. fallos" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Izquierda" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Vent. izquierdo?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Izquierda [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Valor brill." #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Valor oscuro" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Correc. Linealidad" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Micropaso Eje Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Intr. todos fil." +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Introducir filam." +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Cargar a boquilla" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Cambiando color" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Introduciendo filam." #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Polea suelta" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Alto" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Cal. primera cap." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "Firmware MK3 detectado en impresora MK3S" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "Firmware MK3S detectado en impresora MK3" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "Modo MMU" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Restaurando posicion..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Restaurando temperatura..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Resumiendo..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Fallos MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Carga MMU fallida" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "Carga MMU falla" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU necesita atencion del usuario." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "Fallo red MMU" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 conectado" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Comp. imanes" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Menu principal" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "No a escuadra" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Midiendo altura del punto de calibracion" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Malla" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Nivela. Mesh Level" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Modo" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Cambio de modo progresando ..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modelo" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Mover X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Mover Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Mover Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Mover ejes" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "N/D" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Nuevo firmware disponible:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "No hay tarjeta SD" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Sin movimiento" -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Ninguno" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "No hay conexion" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Ventilador no gira" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" @@ -1267,116 +1317,113 @@ msgstr "" "la base." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Ahora precalentare la boquilla para PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Ahora retira la prueba de la lamina de acero." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Boquilla" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "D-boquilla" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Ina" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Se han encontrado ajustes anteriores. Se ajustara el PID, los pasos del " "extrusor, etc" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "Act" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Una vez" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "Cal. PID" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "Cal. PID terminada" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "Calibracion PID" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Calentando PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "Cal. PINDA" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Fallo de la calibracion de PINDA" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1384,24 +1431,36 @@ msgstr "" "La calibracion PINDA esta finalizada y activa. Se puede desactivar en el " "menu Configuracion->Cal. PINDA" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pausa" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pausar impresion" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1411,7 +1470,7 @@ msgstr "" "impresora inmediatamente." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1420,28 +1479,28 @@ msgstr "" "continua con el Wizard" #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" "Por favor comprueba la conexion del IR sensor y filamento esta descargado." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Controla:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Limpia la superficie de la base, por favor, y luego presione el dial." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Limpia boquilla para calibracion. Click cuando acabes." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" @@ -1449,7 +1508,7 @@ msgstr "" "cargarlo." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1458,174 +1517,158 @@ msgstr "" "dial para cargarlo." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Por favor, cargar primero el filamento." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" "Por favor abate el rodillo de empuje (idler) y retira el filamento " "manualmente." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Por favor coloca la chapa de acero en la base calefactable." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Por favor, pulsa el dial para descargar el filamento" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Por favor retire el filamento de inmediato" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Por favor quite el filamento y luego presione el dial." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Por favor retira los soportes de envio primero." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Por favor retire la chapa de acero de la base calefactable." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Por favor realiza la calibracion XYZ primero." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Primero descargue el filamento, luego repita esta accion." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Por favor actualice el firmware en tu MMU2. Esperando el reseteo." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Actualize por favor" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Por Favor Espere" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Fallas energia" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Precalentar" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Precalienta extrusor" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Precalentando nozzle. Espera por favor." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Precalent. laminar" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Precalent. expulsar" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Precalent. cargar" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Precalent. descargar" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Pulsa el dial" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Pulsa el dial para precalentar la boquilla y continue." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Presione el dial para continuar con la temperatura de la boquilla." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Impresion cancelada" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Vent.fusor:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Menu tarjeta SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Impresion en pausa" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Tiempo de imp." #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Dir. IP impresora:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1634,12 +1677,12 @@ msgstr "" "Primeros pasos Calibracion flujo." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametro nozzle impresora difiere de cod.G. Continuar?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1647,72 +1690,112 @@ msgstr "" "Diametro nozzle Impresora difiere de cod.G. Comprueba los valores en " "ajustes. Impresion cancelada." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "Puerto RPi" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Trasera [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Recuper. impresion" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Retire el filamento viejo y presione el dial para comenzar a cargar el nuevo " "filamento." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Renombrar" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Reanudar impres." #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Continuan. impresion" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Derecha" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Derecha [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1720,37 +1803,41 @@ msgstr "" "Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara " "de nuevo. Continuar?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Falla" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "Tarj. SD" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "PARADA" #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Buscando punto de calibracion base" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Seleccionar" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1759,102 +1846,110 @@ msgstr "" "el menu en pantalla." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Elegir extrusor:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Selecciona filam.:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Cambiar el idioma" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Selecciona la temperatura para precalentar la boquilla que se ajuste a tu " "material." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Selecciona la temperatura adecuada a tu material." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Iniciar Selftest" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Error Selftest!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Fallo Selftest" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Se realizara el auto-test para calibrar con precision la vuelta a la " "posicion inicial sin sensores." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Info sensor" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Sensor verificado, retire el filamento ahora." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Establecer temp.:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Configuracion" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Severo sesgar" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Lamina" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1867,23 +1962,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Mostrar endstops" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Acallar" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Ligera sesgar" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1892,108 +1987,172 @@ msgstr "" "ordenar." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Problema encontrado, nivelacion Z forzosa ..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Ordenar" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Ordenando archivos" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Sonido" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Velocidad" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Ventilador girando" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Se necesita una temperatura ambiente ente 21 y 26C y un soporte rigido." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Estadisticas" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Sigilo" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Lamina de acero" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Detener impresion" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Estrict" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Soporte" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Intercambiado" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatura" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperaturas" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -2004,7 +2163,7 @@ msgstr "" "de calibracion)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2013,102 +2172,102 @@ msgstr "" "capitulo Primeros pasos, seccion Calibracion del flujo." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Fecha" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Expirar" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Fallos totales" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filamento total" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Tiempo total" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Ajustar" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Soltar filamento" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Soltando filamento" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "La verificacion fallo, retire el filamento e intente nuevamente." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Voltajes" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2121,223 +2280,282 @@ msgstr "" "Modo silencio" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Esperando ordenes..." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Esperando a que se enfrie la sonda PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Esperando enfriamiento de la base y extrusor." #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Aviso" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" "Aviso: tanto el tipo de impresora como el tipo de la placa han cambiado." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Cuidado: el tipo de placa ha cambiado." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Cuidado: Ha cambiado el tipo de impresora." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Se descargo con exito el filamento?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Error de conexion" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Corregir-X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "Detalles cal. XYZ" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibracion XYZ correcta. La inclinacion se corregira automaticamente." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen " "trabajo!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibrazion XYZ comprometida. Puntos frontales no alcanzables." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" "Calibracion XYZ fallada. Puntos de calibracion en la base no encontrados." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Calibracion XYZ fallada. Puntos frontales no alcanzables." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Calibracion XYZ fallada. Consulta el manual por favor." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Calibracion XYZ fallad. Punto frontal derecho no alcanzable." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibracion XYZ ok. Ejes X/Y perpendiculares. Enhorabuena!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Dist. en Y desde min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Corregir-Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Si" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Siempre puedes acceder al asistente desde Calibracion -> Wizard" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Corregir-Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z-sensor nr." #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] punto offset" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "y presione el dial" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "para cargar el fil." #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "para descargar fil." #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "desconocido" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "estado desconocido" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Actualizar" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "La carga automatica solo funciona si el sensor de filamento esta " +#~ "activado..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Choque detectado. Continuar impresion?" + +#~ msgid "Cutting filament" +#~ msgstr "Corte de filament" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "" +#~ "ERROR:Sensor de fi- lamento no responde Por favor, comprue- ba la " +#~ "conexion." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 o mayor" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 o mas nueva" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Corrige el problema y pulsa el boton en la unidad MMU." + +#~ msgid "Load all" +#~ msgstr "Intr. todos fil." + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Cal. primera cap." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "Firmware MK3 detectado en impresora MK3S" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "Firmware MK3S detectado en impresora MK3" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Restaurando posicion..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Restaurando temperatura..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Resumiendo..." + +#~ msgid "MMU load failed" +#~ msgstr "Carga MMU fallida" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU necesita atencion del usuario." + +#~ msgid "MMU power fails" +#~ msgstr "Fallo red MMU" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Por favor quite el filamento y luego presione el dial." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Por favor actualice el firmware en tu MMU2. Esperando el reseteo." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Presione el dial para continuar con la temperatura de la boquilla." + +#~ msgid "Runouts" +#~ msgstr "Falla" diff --git a/lang/po/Firmware_fr.po b/lang/po/Firmware_fr.po index 665f88d0b..bf937572d 100644 --- a/lang/po/Firmware_fr.po +++ b/lang/po/Firmware_fr.po @@ -16,171 +16,153 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 ou +ancien" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 ou +recent" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "niveau %s attendu" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Annuler" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Ajuster Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Tout est correct" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Tout est pret. Bonne impression!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Ambiant" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Z~carriages gauche + droite tout en haut?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Mise a 0 des axes" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Puiss.auto" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autocharge du fil." -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Chargement auto du filament uniquement si le capteur de filament est active." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Chargement auto. du fil. active, appuyez sur le bouton et inserez le fil." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Axe" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Longueur de l'axe" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Retour" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Lit" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Chauffe du lit" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Plateau termine" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Reglage plateau" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -189,51 +171,55 @@ msgstr "" "attente d'un reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Lit/Chauffage" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Statut courroie" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test de courroie" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Coupure detectee. Reprendre impres.?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Brill." #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Luminosite" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Calibrer XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Calibrer Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -242,13 +228,13 @@ msgstr "" "l'axe Z jusqu'aux butees. Cliquez une fois fait." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Calibration Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -257,154 +243,151 @@ msgstr "" "Z jusqu'aux butees. Cliquez une fois fait." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Calib. mise a 0" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Calibration terminee" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Carte retiree" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Changer filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Changement reussi!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Change correctement?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Verification axe X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Verification axe Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Verification axe Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Verif. plateau chauf" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Verification butees" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Verific. fichier" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Verif. du hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Verif. des capteurs" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Verifications" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Couleur incorrecte" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Fait de community" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Refroidissement" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Copier la langue choisie?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Detect.crash" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Crash detecte." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Crash detecte. Poursuivre l'impression?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -415,48 +398,48 @@ msgstr "" "active seulement en\n" "mode Normal" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Coupe filament" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Coupeur" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Je coupe filament" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Sombre" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Desactiver moteurs" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -467,7 +450,7 @@ msgstr "" "Calibration de la premiere couche." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -475,270 +458,345 @@ msgstr "" "Voulez-vous refaire l'etape pour reajuster la hauteur entre la buse et le " "plateau chauffant?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "Correct-E:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "ERREUR:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "ERREUR: Le capteur de filament ne repond pas, verifiez le branchement." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Remonter le fil." -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Le fil. remonte" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Butee" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Butee non atteinte" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Butees" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "Extrudeur" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Vent. extrudeur:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Infos extrudeur" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autocharg." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS v0.3 ou +ancien" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS v0.4 ou +recent" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Stat. d'echec" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Stat. d'echec MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Faux declenchement" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Vitesse vent." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test du ventilateur" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Verif vent." +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fins filament" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Capteur Fil." -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament extrude et avec bonne couleur?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Filament non charge" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Capteur de fil." +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Filament utilise" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Fichier incomplet. Continuer qd meme?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Mouvement final" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Cal. 1ere couche" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "D'abord, je vais lancer le Auto-test pour verifier les problemes " "d'assemblage les plus communs." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Corrigez le probleme et appuyez sur le bouton sur la MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Flux" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Ventilo impr avant?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Avant [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Ventilos avt/gauche" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "Le G-code a ete prepare pour un niveau different. Continuer?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -747,15 +805,15 @@ msgstr "" "modele a nouveau. L'impression a ete annulee." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "" "Le G-code a ete prepare pour une autre version de l'imprimante. Continuer?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -764,13 +822,13 @@ msgstr "" "decouper le modele a nouveau. L'impression a ete annulee." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" "Le G-code a ete prepare pour une version plus recente du firmware. Continuer?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -779,42 +837,42 @@ msgstr "" "mettre a jour le firmware. L'impression annulee." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "Config HW" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Chauffage/Thermistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Chauffe" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Chauffage desactivee par le compteur de securite." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Chauffe terminee." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -825,7 +883,7 @@ msgstr "" "calibrer le Z-axis. Apres cela, tout sera pret pour imprimer." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -834,25 +892,46 @@ msgstr "" "guide a travers le processus d'installation?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Haut.puiss" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" "Je vais maintenant lancer la calibration XYZ. Cela prendra 12 min environ." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Je vais maintenant lancer la calibration Z." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -860,52 +939,28 @@ msgstr "" "Si vous avez d'autres feuilles d'acier, calibrez leurs pre-reglages dans " "Reglages - Config HW - Plaque en acier." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Ecran d'info" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Inserez le filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." @@ -913,359 +968,355 @@ msgstr "" "Veuillez inserer le filament ( ne le chargez pas) dans l'extrudeur, puis " "appuyez sur le bouton." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Fil. est-il charge?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Est la plaque sur le plat. chauffant?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Derniere impres." #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Echecs derniere imp." #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Gauche" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Ventilo gauche?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Gauche [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Niveau brill" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Niv. sombre" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Correction lin." #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Ajuster Z en dir." -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Charger un par un" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Charger filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Charger la buse" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Charg. de la couleur" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Chargement du fil." #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Poulie lache" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Fort" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Cal. 1ere couche" +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "Firmware MK3 detecte sur imprimante MK3S" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "Firmware MK3S detecte sur imprimante MK3" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "Mode MMU" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Reprise de la position ..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Rechauffage de la buse..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Reprise ..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Echecs MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Def. charg. MMU" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "Def. charg. MMU" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "Le MMU necessite l'attention de l'utilisateur." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "Def. alim. MMU" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 connecte" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Compens. aim." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Menu principal" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Var. mesuree" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Je mesure la hauteur de reference du point de calibrage" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Changement de mode en cours..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modele" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "Moteur" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Deplacer X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Deplacer Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Deplacer Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Deplacer l'axe" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "I/D" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Nouvelle version de firmware disponible:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Non" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Pas de carte SD" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Pas de mouvement." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Aucun" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Non connecte" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Ne tourne pas" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" @@ -1273,115 +1324,112 @@ msgstr "" "surface du plateau chauffant." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Maintenant je vais prechauffer la buse pour du PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Retirez maintenant l'impression de test de la plaque en acier." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Buse" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Diam. buse" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Anciens reglages trouves. Le PID, les Esteps etc. par defaut seront regles" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "1 fois" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "Calib. PID" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "Calib. PID terminee" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "Calibration PID" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Chauffe de la PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "Calib. PINDA" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Echec de la calibration en PINDA" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1389,24 +1437,36 @@ msgstr "" "La calibration en PINDA est terminee et activee. Il peut etre desactivee " "dans le menu Reglages-> Calib. PINDA" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pause de l'impr." -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1415,7 +1475,7 @@ msgstr "" "premiers points. Si la buse accroche le papier, eteignez vite l'imprimante." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1424,27 +1484,27 @@ msgstr "" "l'assistant en redemarrant l'imprimante." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "SVP, verifiez la connexion du capteur IR et decharge le filament." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Verifiez:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Nettoyez plateau chauffant en acier et appuyez sur le bouton." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Nettoyez la buse pour la calibration. Cliquez une fois fait." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" @@ -1452,7 +1512,7 @@ msgstr "" "pour le charger." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1461,173 +1521,156 @@ msgstr "" "le bouton pour le charger." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Veuillez d'abord charger un filament." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Ouvrez l'idler et retirez le filament manuellement." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Placez la plaque en acier sur le plateau chauffant." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Appuyez sur le bouton pour decharger le filament" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Retirez immediatement le filament" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Veuillez retirer le filament puis appuyez sur le bouton." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Retirez d'abord les protections de transport." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Retirez la plaque en acier du plateau chauffant." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Veuillez d'abord lancer la calibration XYZ." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "SVP, dechargez le filament et reessayez." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "" -"Veuillez mettre a jour le firmware de votre MMU2. En attente d'un reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Mettez a jour le FW." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Merci de patienter" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Coup.de courant" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Prechauffage" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Prechauffez la buse!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Prechauffage de la buse. Merci de patienter." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Chauffe pour couper" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Chauf. pour remonter" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Chauffe pour charger" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Chauf.pour decharger" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "App. sur sur bouton" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Appuyez sur le bouton pour prechauffer la buse et continuer." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Appuyez sur le bouton pour rechauffer la buse." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Impression annulee" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Vent. impr:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Impr. depuis la SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Impression en pause" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Temps d'impression" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Adr.IP imprimante:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1636,14 +1679,14 @@ msgstr "" "Premiers pas, section Processus de calibration." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-" "Code. Continuer?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1651,71 +1694,111 @@ msgstr "" "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-" "Code. Merci de verifier le parametre dans les reglages. Impression annulee." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "Port RPi" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Arriere [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Recup. impression" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Retirez l'ancien filament puis appuyez sur le bouton pour charger le nouveau." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Renommer" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Reinitialiser" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reinit. calib. XYZ" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Reprise impression" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Reprise de l'impr." +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Droite" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Droite [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1723,37 +1806,41 @@ msgstr "" "Lancement de l'Assistant supprimera les resultats actuels de calibration et " "commencera du debut. Continuer?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Fins" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "Carte SD" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "ARRETE." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Recherche point calibration du plateau" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Selectionner" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1762,101 +1849,109 @@ msgstr "" "selectionnez-le depuis le menu a l'ecran." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Choisir extrudeur:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Choix du filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Choisir langue" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Selectionnez la temperature de prechauffage de la buse qui correspond a " "votre materiau." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Selectionnez la temperature qui correspond a votre materiau." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Auto-test OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Debut auto-test" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Auto-test" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Erreur auto-test!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Echec de l'auto-test" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Le Selftest sera lance pour calibrer la remise a zero precise sans capteur" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Info capteur" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Capteur verifie, retirez le filament maintenant." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Regler temp.:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Reglages" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Deviat.sev." #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Plaque" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1869,23 +1964,23 @@ msgstr "" "%cReinitialiser" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Afficher butees" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Furtif" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Deviat.leg." #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1893,108 +1988,172 @@ msgstr "" "Certains fichiers ne seront pas tries. Max 100 fichiers tries par dossier." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Probleme rencontre, cliquez sur le bouton pour niveller l'axe Z..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Tri" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Tri des fichiers" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Son" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Vitesse" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Tourne" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Une temperature ambiante stable de 21-26C et un support stable sont requis." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistiques" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Furtif" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Plaques en acier" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Arreter impression" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Stricte" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Echange" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -2005,7 +2164,7 @@ msgstr "" "(chapitre Calibration)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2014,102 +2173,102 @@ msgstr "" "chapitre Premiers pas, section Processus de calibration." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Heure" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Totale" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Total des echecs" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filament total" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Temps total impr." #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Regler" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Decharger fil." -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Dechargement fil." -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Verification en echec, retirez le filament et reessayez." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Tensions" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2122,101 +2281,101 @@ msgstr "" "mode furtif" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Attente utilisateur." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Attente du refroidissement de la sonde PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Attente du refroidissement des buse et plateau chauffant" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Avert" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Attention: Types d'imprimante et de carte mere modifies" #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Attention: Type de carte mere modifie." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Attention: Type d'imprimante modifie" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Dechargement du filament reussi?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Erreur de cablage" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Assistant" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Correct-X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "Details calib. XYZ" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibration XYZ OK. L'ecart sera corrige automatiquement." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" "Calibration XYZ OK. Les axes X/Y sont legerement non perpendiculaires. Bon " "boulot!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" "Calibration XYZ compromise. Les points de calibration en avant ne sont pas " "atteignables." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" @@ -2224,129 +2383,188 @@ msgstr "" "atteignable." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" "Echec calibration XYZ. Le point de calibration du plateau n'a pas ete trouve." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "Echec calibration XYZ. Les points de calibration en avant ne sont pas " "atteignables." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Echec calibration XYZ. Consultez le manuel." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "Echec calibration XYZ. Le point de calibration avant droit n'est pas " "atteignable." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibration XYZ OK. Les axes X/Y sont perpendiculaires. Felicitations!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Distance Y du min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Correct-Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Oui" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" "Vous pouvez toujours relancer l'Assistant dans Calibration > Assistant." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Correct-Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Mesurer x-fois" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "Offset point [0;0]" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "et appuyez sur le bouton" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "pour charger le fil." #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "pour decharger fil." #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "inconnu" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "Etat inconnu" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Rafraichir" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Chargement auto du filament uniquement si le capteur de filament est " +#~ "active." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Crash detecte. Poursuivre l'impression?" + +#~ msgid "Cutting filament" +#~ msgstr "Je coupe filament" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "" +#~ "ERREUR: Le capteur de filament ne repond pas, verifiez le branchement." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS v0.3 ou +ancien" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS v0.4 ou +recent" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Corrigez le probleme et appuyez sur le bouton sur la MMU." + +#~ msgid "Load all" +#~ msgstr "Charger un par un" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Cal. 1ere couche" + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "Firmware MK3 detecte sur imprimante MK3S" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "Firmware MK3S detecte sur imprimante MK3" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Reprise de la position ..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Rechauffage de la buse..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Reprise ..." + +#~ msgid "MMU load failed" +#~ msgstr "Def. charg. MMU" + +#~ msgid "MMU needs user attention." +#~ msgstr "Le MMU necessite l'attention de l'utilisateur." + +#~ msgid "MMU power fails" +#~ msgstr "Def. alim. MMU" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Veuillez retirer le filament puis appuyez sur le bouton." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "" +#~ "Veuillez mettre a jour le firmware de votre MMU2. En attente d'un reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Appuyez sur le bouton pour rechauffer la buse." + +#~ msgid "Runouts" +#~ msgstr "Fins" diff --git a/lang/po/Firmware_hr.po b/lang/po/Firmware_hr.po index af76e7167..5359db4c2 100644 --- a/lang/po/Firmware_hr.po +++ b/lang/po/Firmware_hr.po @@ -16,171 +16,152 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 ili stariji" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 ili noviji" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s level ocekivan" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Otkazati" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Podesavanje Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Sve je u redu" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Sve je gotovo. Sretno printanje!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Abeceda" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Ambijent" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Jesu lijevi i desni Z~nosaci podignuti?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Pomoc" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Pocetna tocka" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Auto napaj" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autopunj filamenta" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Automatsko punjenje filamenta moguce je samo kada je sensor filamenta " -"ukljucen.." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "Auto punjenje fil. je aktivno, pritisnite gumb i umetnite fil.." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Os" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Duljina osi" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Vrati" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Podloga" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Podloga se zagrijava" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Podloga zagrijana" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Podloga ispravna" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -189,51 +170,55 @@ msgstr "" "mlaznici? Ceka se resetiranje." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Grijac/Podloga" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Status remena" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Testiranje remena" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Doslo je do gasenja. Oporaviti print?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Svijet" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Svjetlina" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibrirajte XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibrirajte Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -242,13 +227,13 @@ msgstr "" "Kliknite kada je zavrseno." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibriracija Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -257,202 +242,199 @@ msgstr "" "Kliknite kada je zavrseno." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibracija nultocke" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibriranje" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibracija gotova" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Kartica je uklonjena" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Promijeni filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Promijena uspjesna!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Ispravno izmjenjeno?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Provjera X osi" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Provjera Y osi" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Provjera Z osi" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Provjera podloge" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Provjera granicnika" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Provjera datoteke" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Provjera hotenda" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Provjera senzora" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Provjere" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Boja nije ispravna" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Napravilo zajedno" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Nast." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Ohladi" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Kopirati odabrani jezik?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Udar" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Udar detekti." #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Udar otkriven." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Otkriven je udar. Nastaviti print?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" "Normal mode" msgstr "Detekcija udarca moze biti ukljuceno samo u Normalnom nacinu rada" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Odrezite fil." #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Rezac" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Rezanje filamenta" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Tamno" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Onemoguci stepere" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -463,7 +445,7 @@ msgstr "" "prvog sloja." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -471,270 +453,345 @@ msgstr "" "Zelite li ponoviti zadnji korak za ponovno podesavanje udaljenosti izmedu " "mlaznice i grijace podloge?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "E-ispravan:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "POGRESKA:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "POGRESKA: Senzor filamenta ne reagira, provjerite vezu." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Izbaci filament" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Izbacivanje fil." #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Granicnik" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Granicnik nije aktiv" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Granicnici" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "Ekstruder" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Ekstruder vent:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Info o ekstruderu" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. auto.punj" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS Akcija" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS v0.3 il stariji" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS v0.4 ili noviji" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Neuspjesna stat" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Neuspjes. MMU stat" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Lazno aktiviranje" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Brzina vent" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test ventilatora" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Provjera vent" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Bez filmaneta" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Fil. senzor" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Ekstrudiranje fil.s sa ispravnom bojom?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. nije napunjen" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Senzor filamenta" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Iskoristeni fil." #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Datoteka je nepotpuna. Svejedno nastaviti?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Zavrsni pokreti" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Prvi sloj kalib." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Prvo cu pokrenuti samotestiranje kako bih provjerio najcesce probleme sa " "montazom." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Rijesite problem, a zatim pritisnite gumb na MMU jedinici." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Protok" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Prednji print vent?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Prednj str[μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Prednji/lijevi vent" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-kod izrezan za drugu razinu. Nastavite?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -743,14 +800,14 @@ msgstr "" "otkazan." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-kod izrezan za drugu vrstu printera. Nastavite?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -759,12 +816,12 @@ msgstr "" "je otkazan." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-kod izrezan za noviji firmware. Nastavite?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -773,42 +830,42 @@ msgstr "" "otkazan." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW podesavanje" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Grijac/Termostat" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Grijanje" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Grijanje je onemoguceno sigurnosnim mjeracem vremena." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Grijanje obavljeno." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -819,7 +876,7 @@ msgstr "" "printanje." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -828,24 +885,45 @@ msgstr "" "postupak postavljanja?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Visoka sna" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Sada cu pokrenuti xyz kalibraciju. Trebat ce cca. 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Sada cu pokrenuti z kalibraciju." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -853,411 +931,383 @@ msgstr "" "Ako imate dodatne celicne ploce, kalibrirajte njihove unaprijed postavljene " "postavke u Postavke - HW Podesavanje - Celicne ploce." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Info zaslon" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Umetnite filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" "Umetnite filament (nemojte ga puniti) u ekstruder i zatim pritisnite gumb." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Je li filament napunjen?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Je li celicna ploca na grijanoj podlozi?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Ponavljanje" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Zadnji print" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Zadnji neusp. print" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Lijevo" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Lijevi hotend vent?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Lijeva str[μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Razina svjet" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Razina zatam" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Lin. ispravak" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Live podesavanje Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Napuni sve" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Napunite filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Punjenje u mlazn" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Ucitavanje boje" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Punjenje filamenta" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Labava remenica" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Glasno" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Prvi sloj kal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3 firmware otkriven na MK3S printeru" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S firmware detektiran na MK3 printeru" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU Mod" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Nastavak pozicije..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Nastavak temperature..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Nastavak..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "MMU ne uspijeva" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Neusp. MMU punjenje" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "Neusp. MMU punj" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU treba paznju korisnika." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "Neusp. MMU nap" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 spojen" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Magnet. komp." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Nazad" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Mjereni nagib" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Mjerenje referentne visine kalibracijske tocke" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Mreza" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Izrav. mrez. podl" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Mod" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Promjena moda u tijeku..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Pomaknite X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Pomaknite Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Pomaknite Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Pomaknite os" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Dostupna nova verzija firmwera:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Ne" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Nema SD kartice" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Bez pomaka." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Nema" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nije povezano" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Ne okrece se" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" @@ -1265,114 +1315,111 @@ msgstr "" "podloge." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Sada cu zagrijati mlaznicu za PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Sada uklonite probni print sa celicne ploce." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Mlaznica" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Mlaznica." -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Pronadene stare postavke. Postavit ce se zadani PID, Esteps itd." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Jednom" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kal." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kal. zavrsena" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibracija" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "PINDA se Zagrijava" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA kal." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Kalibracija PINDA nije uspjela" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1380,24 +1427,36 @@ msgstr "" "Kalibracija PINDA je zavrsena i aktivna. Moze se onemoguciti u izborniku " "Postavke->PINDA. kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pauza" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pauzirajte print" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1406,7 +1465,7 @@ msgstr "" "mlaznica uhvati papir, odmah iskljucite printer." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1415,33 +1474,33 @@ msgstr "" "ponovnim pokretanjem printera." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Provjerite IR prikljucak senzora, izvadite filament ako postoji." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Molimo provjerite:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Ocistite grijacu podlogu, a zatim pritisnite gumb." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Molimo ocistite mlaznicu radi kalibracije. Kliknite kada ste gotovi." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "Umetnite filament u ekstruder, a zatim pritisnite gumb za punjenje." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1449,172 +1508,156 @@ msgstr "" "Umetnite filament u prvu cijev MMU-a, a zatim pritisnite gumb za punjenje." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Molimo prvo ubacite filament." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Molimo otvorite klizac i rucno uklonite filament." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Stavite celicnu plocu na grijacu podlogu." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Pritisnite gumb za praznjenje filamenta" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Molimo odmah izvucite filament" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Molimo uklonite filament i zatim pritisnite gumb." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Najprije uklonite prijevozne osloce." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Molimo uklonite celicnu plocu sa grijace podloge." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Prvo pokrenite XYZ kalibraciju." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Prvo izvadite filament, a zatim ponovite ovu radnju." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Azurirajte firmwer u svom MMU2. Ceka se resetiranje." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Molimo nadogradite." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Molimo pricekajte" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Prekidi struje" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Predgrijavanje" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Predgr. mlaznicu!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Predgrijavanje mlaznice. Molim vas pricekajte." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Predgr. za rezanje" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Predgr. za izbaci." #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Predgr. za punjenje" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Predgr. za praznj." -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Pritisnite gumb" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Pritisnite gumb za predgrijavanje mlaznice i nastavite." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Pritisnite gumb za nastavak temperature mlaznice." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Print je prekinut" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Vent printa:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Printaj sa SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Print pauziran" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Vrijeme printanja" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1623,12 +1666,12 @@ msgstr "" "koraci, odjeljak Tijek kalibracije." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Promjer mlaznice printera razlikuje se od G-koda. Nastavite?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1636,72 +1679,112 @@ msgstr "" "Promjer mlaznice printera razlikuje se od G-koda. Molimo provjerite " "vrijednost u postavkama. Print je otkazan." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "RPi utor" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Zad. str.[μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Oporavak printa" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Uklonite stari filament i pritisnite gumb za pocetak stavljanja novog " "filamenta." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Preimenuj" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Resetiraj" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Nastavite print" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Nastavak printa" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Tocno" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Desna str.[μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1709,37 +1792,41 @@ msgstr "" "Pokrenuti carobnjak ce izbrisati trenutne rezultate kalibracije i poceti " "ispocetka. Nastavite?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Nestalo" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD karti" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "ZAUSTAVLJENO." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Trazenje tocke kalibracije podloge" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Odaberi" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1748,101 +1835,109 @@ msgstr "" "zaslonu." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Odaberite ekstruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Odaberi filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Izaberi jezik" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Odaberite temperaturu predgrijavanja mlaznice koja odgovara vasem materijalu." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Odaberite temperaturu koja odgovara vasem materijalu." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Samotestiranje OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Pocetak selftesta" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Selftest nije uspio" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Provest ce se selftest radi kalibracije preciznog ponovnog postavljanja bez " "senzora." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Info senzora" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Senzor je provjeren, odmah uklonite filament." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Postavi temperaturu:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Postavke" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Veliki nagib" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Ploca" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1855,23 +1950,23 @@ msgstr "" "%cResetiraj" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Pokazi granicnike" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Tih" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Lagani nagib" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1880,108 +1975,172 @@ msgstr "" "je 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Naisao je neki problem, nametnuto Z-niveliranje..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Vrsta" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Sortiranje datoteka" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Zvuk" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Brzina" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Okrece se" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Potrebna je stabilna temperatura okoline 21-26C, potrebno je cvrsto postolje." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistika" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Tiho" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Celicna ploca" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Zaustavi print" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Strogo" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Podrska" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Zamjenjeno" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatura" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperature" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1991,7 +2150,7 @@ msgstr "" "optimalnu visinu. Provjerite slike u prirucniku (poglavlje Kalibracija)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2000,102 +2159,102 @@ msgstr "" "poglavlje Prvi koraci, odjeljak Tijek kalibracije." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Vrijeme" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Pauza" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Ukupno" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Totalne pogreske" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Totalno filamenta" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Vrijeme printanja" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Ugodi" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Ispraznite fil." -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Praznjenje filamenta" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Provjera nije uspjela, uklonite filament i pokusajte ponovno." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Voltaza" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2107,224 +2266,281 @@ msgstr "" "u tihom modu" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Ceka se korisnik..." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Ceka se hladenje PINDA sonde" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Ceka se hladjenje mlaznice i podloge" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Upozore" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Upozorenje: promijenjeni su i tip printera i tip maticne ploce." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Upozorenje: tip maticne ploce je promijenjen." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Upozorenje: promijenjena je vrsta printera." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Je li praznjenje fil. bilo uspjesno?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Greska u ozicenju" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Carobnjak" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "X-ispravan:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ detalji kal" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ kalibracija u redu. Iskrivljenost ce se automatski ispraviti." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ kalibracija je u redu. Osi X/Y su malo nagnute. Bravo!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" "XYZ kalibracija je ugrozena. Prednje kalibracijske tocke nisu dostupne." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" "XYZ kalibracija je ugrozena. Desna prednja tocka kalibracije nije dostupna." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" "XYZ kalibracija nije uspjela. Tocka kalibracije podloga nije pronadena." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "XYZ kalibracija nije uspjela. Prednje kalibracijske tocke nisu dostupne." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "XYZ kalibracija nije uspjela. Molimo pogledajte prirucnik." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "XYZ kalibracija nije uspjela. Desna prednja tocka kalibracije nije dostupna." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ kalibracija u redu. Osi X/Y su okomite. Cestitamo!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y distanca od min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Y-ispravan:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Da" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Carobnjak uvijek mozete nastaviti iz Kalibracija -> Carobnjak." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Z-ispravan:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z-sonda br." #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] razmak tocke" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "i pritisnite gumb" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "da napuni filament" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "da isprazni filament" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "nepoznato" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "nepoznato stanje" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Osvjeziti" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Automatsko punjenje filamenta moguce je samo kada je sensor filamenta " +#~ "ukljucen.." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Otkriven je udar. Nastaviti print?" + +#~ msgid "Cutting filament" +#~ msgstr "Rezanje filamenta" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "POGRESKA: Senzor filamenta ne reagira, provjerite vezu." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS v0.3 il stariji" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS v0.4 ili noviji" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Rijesite problem, a zatim pritisnite gumb na MMU jedinici." + +#~ msgid "Load all" +#~ msgstr "Napuni sve" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Prvi sloj kal." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3 firmware otkriven na MK3S printeru" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S firmware detektiran na MK3 printeru" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Nastavak pozicije..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Nastavak temperature..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Nastavak..." + +#~ msgid "MMU load failed" +#~ msgstr "Neusp. MMU punjenje" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU treba paznju korisnika." + +#~ msgid "MMU power fails" +#~ msgstr "Neusp. MMU nap" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Molimo uklonite filament i zatim pritisnite gumb." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Azurirajte firmwer u svom MMU2. Ceka se resetiranje." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Pritisnite gumb za nastavak temperature mlaznice." + +#~ msgid "Runouts" +#~ msgstr "Nestalo" diff --git a/lang/po/Firmware_hu.po b/lang/po/Firmware_hu.po index 06b3ab5cc..997907511 100644 --- a/lang/po/Firmware_hu.po +++ b/lang/po/Firmware_hu.po @@ -16,169 +16,152 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 vagy regebbi" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 v. ujabb" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "Vart szint: %s" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Megsem" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Z allitasa:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Minden rendben" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Keszen vagyunk. Jo nyomtatast!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Abece" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Kornyezet" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "A Z tengely a felso vegponton van?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Seged" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "Autom." -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Auto ero" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Fil. auto.betolt." -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "Filament autom. betolteste csak bekapcs. fil. szenzorral mukodik." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "Autom. betoltes be, nyomd meg a gombot es helyzed be a filamentet." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Tengely" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Tengely hossz" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Vissza" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Asztal" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Asztal futes" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Asztal kesz" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Szint. korrekcio" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -187,51 +170,55 @@ msgstr "" "az ujrainditast." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Asztal/Fej futes" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Szij allapot" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Szij teszt" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Aramkieses volt, nyomt. folytatasa?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Fenyes" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Fenyero" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "XYZ kalibracio" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Z kalibracio" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -240,13 +227,13 @@ msgstr "" "nem er, majd nyomd meg ha keszen vagy." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Z kalibralasa" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -255,154 +242,151 @@ msgstr "" "er, majd nyomd meg ha keszen vagy." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Home poz. kalibralas" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibracio" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibracio kesz" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Kartya eltavolitva" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Filament csere" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Csere sikerult!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Sikerult a csere?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "X tengely ellenorzes" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Y tengely ellenorzes" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Z tengely ellenorzes" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Asztal ellenorzese" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Vegallaskapcs. ellen" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Fajl ellenorzese" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Hotend ellenorzese" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Szenz. ellenorzese" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Ellenorzesek" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Szin nem jo" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Kozossegi" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Folyt" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Lehutes" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Kivalasztott nyelv masolasa?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Utkozes" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Utkozes erz." #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Utkozes erzekelve." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Utkozes erzekelve. Folytassam a nyomtatast?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -412,48 +396,48 @@ msgstr "" "normal modban\n" "kapcsolhato be" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Filament vagasa" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Vago" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Filament vagasa" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Sotet" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Motorok kikapcsol." +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -464,7 +448,7 @@ msgstr "" "bekezdest." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -472,270 +456,345 @@ msgstr "" "Meg szeretned ismetelni az utolso lepest, hogy finomhangold a fuvoka es az " "asztal kozotti tavolsagot?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "E-korrekcio:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "HIBA:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "HIBA: A fil. szenzor nem valaszol, ellenorizd a csatlakozast." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Filament kiadasa" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Filament kiadasa" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Vegallaskapcsolo" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Vegallask. nem kapcs" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Vegallaskapcsolok" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Extruder vent.:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autobetolt" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FSz akcio" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS v0.3 v. regebbi" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS v0.4 vagy ujabb" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Hiba statisztika" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "MMU hiba stat." #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Hamis kivalto ok" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Vent. sebesseg" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Ventillator teszt" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Vent.proba" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fil. kifutasok" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Fil. szenzor" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament es a szine rendben?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. nincs betoltve" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Filament szenzor" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Felhasznalt filam." #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "A fajl vege hianyzik. Folytatod igy is?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Mozdulat befejezese" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Elso reteg kal." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Elsokent lefuttatom az onellenorzest, hogy megnezzem a leggyakoribb " "osszeszerelesi problemakat." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Hozd helyre a hibat, majd nyomd meg a gombot az MMU egysegen." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Elso targyhuto vent?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Elulso old[μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Elso/bal ventillator" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "A G-kod mas szintre lett elokesztve. Folytassam?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -744,14 +803,14 @@ msgstr "" "megallitva." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "A G-kod mas nyomtato tipusra lett elokesztve. Folytassam?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -760,12 +819,12 @@ msgstr "" "Nyomtatas megallitva." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "A G-kod ujabb firmverre lett elokesztve. Folytassam?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -774,42 +833,42 @@ msgstr "" "Nyomtatas megallitva." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW beallitas" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Futotest/Termisztor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Futes folyamatban" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "A bizonsagi idozito leallitotta a futest" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Futes kesz." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -820,7 +879,7 @@ msgstr "" "nyomtathatsz is." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -829,24 +888,45 @@ msgstr "" "a beallitasi folyamaton?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Magas ero" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Lefuttatom az XYZ kalibraciot. Ez kb. 12 percet vesz igenybe." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Lefuttatom a Z kalibraciot." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -854,52 +934,28 @@ msgstr "" "Ha tobb acellapod van, kalibrald be oket a Beallitasok - HW beall. - " "Acellapok menupont alatt." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Info kepernyo" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Helyezd be a filam." -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." @@ -907,496 +963,501 @@ msgstr "" "Helyezd be a filamentet az extruderbe (ne toltsd be), majd nyomtd meg a " "gombot." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Filament behelyezve?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Rajta van az acellap a targyasztalon?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iteracio" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Utolso nyomtatas" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Utolso nyomt. hibak" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Bal" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Bal hotend vent.?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Bal [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Fenyes szint" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Sotet szint" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Lin. korrekcio" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Z magassag beall." -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Osszes betolt." +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Filament betolt." +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Betolt. fuvokahoz" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Szin tisztitasa" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Filament betoltese" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Laza szijtarcsa" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Hangos" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117. Elso reteg kalibr." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3 firmver telepitve MK3S nyomtatora" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S firmver eszlelve MK3 nyomtaton" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU Mod" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Pozicio visszaallitasa..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Homerseklet visszaallitasa..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Folytatom..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "MMU hibak" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "MMU betolt.hiba" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU bet. hibak" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "Az MMU felhasznaloi figyelmet igenyel." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU tap hibak" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 csatlakozott" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Magnes komp." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Fomenu" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Meroleg. hiba" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Kalibracios pont magassaganak merese" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Halo" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Asztal szintezes" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Mod" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Modvaltas folyamatban..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modell" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "X mozgatasa" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Y mozgatasa" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Z mozgatasa" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Tengely mozgatasa" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Uj firmver verzio erheto el:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nem" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Nincs SD kartya" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Nincs mozgas." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Nincs" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nincs csatlakoztatva" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Nem forog" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" "Most beallitjuk a fuvoka hegye es a targyasztal felulete kozotti tavolsagot." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Felfutom a fuvokat PLA-hoz." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Vedd le a tesztnyomatot az acellaprol." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Fuvoka" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Fuv. atm." -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Ki" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Regi beallitasokat talaltam. Az alap PID, Esteps, stb. lesz beallitva." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "Be" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Egyszer" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kalibracio" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kal. kesz" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibracio" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "PINDA Futes" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA kal." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "PINDA kalibracio sikertelen." #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "PINDA kalibracio sikeres es aktiv. A Beallitasok ->PINDA kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Szun." #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Nyomtatas szunet" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1405,7 +1466,7 @@ msgstr "" "fuvoka hozzaer a papirlaphoz, azonnal kapcsold ki a nyomtatot." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1414,29 +1475,29 @@ msgstr "" "folytathatod az uzembe helyezest a nyomtato ujrainditasaval." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Nezd meg az IR szenzor csatlakoz., vedd ki a filam., ha bent van." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Kerlek ellenorizd:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Kerlek, tisztisd le a targyasztalt, majd nyomd meg a gombot." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" "Kerlek, tisztisd meg a fuvokat kalibracio elott. Nyomd meg a gombot, ha " "keszen vagy." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" @@ -1444,7 +1505,7 @@ msgstr "" "betolteshez." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1453,173 +1514,157 @@ msgstr "" "a betolteshez." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Kerlek eloszor toltsd be a filamentet." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" "Kerlek, nyisd ki a nyomogorgo ajtajat, es tavolitsd el a filamentet kezzel." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Kerlek, helyzed az acellapot a targyasztalra." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Kerlek, nyomd meg a gombot a filament kiadasahoz" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Kerlek, huzd ki a filamentet most" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Kerlek, tavolitsd el a filamentet, majd nyomd meg a gombot." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Tavolitsd el a szallitasi segedanyagokat." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Kerlek, tavolisd el az acellapot az asztalrol." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Kerlek, elobb futtasd le az XYZ kalibraciot." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Kerlek eloszor vedd ki a filamentet, majd probalkozz ujra." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Kerlek, frissitsd az MMU2 firmverjet. Varom az ujrainditast." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Kerlek frissits." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Kerlek varj" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Aramkimaradasok" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Elofutes" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Futsd fel a fuvokat!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Fuvoka futese folyamatban. Kerlek, varj." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Melegites vagashoz" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Melegites kiadashoz" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Felfutes betolteshez" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Felfutes kiadashoz" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Nyomd meg a gombot" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Nyomd meg a gombot a folytatashoz es a fuvoka felfutesehez." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Nyomd meg a gombot a fuvoka ismetelt felfutesehez." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Nyomt. megszakitva" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Targyhuto:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Nyomtatas SD-rol" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Nyomt. szuneteltetve" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Nyomtatasi ido" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Nyomtato IP cime:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1628,12 +1673,12 @@ msgstr "" "lepesek fejezetenek Kalibracio menete bekezdeset." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "A nyomtato fuvoka atmeroje elter a G-kodtol. Folytasasm?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1641,72 +1686,112 @@ msgstr "" "A nyomtato fuvoka atmeroje elter a G-kodtol. Ellenorizd az erteket a " "beallitasokban. Nyomtatas megallitva." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Hatso old.[μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Nyomt. visszaallit" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Vedd ki a regi filamentet, majd nyomd meg a gombot az uj filament " "betoltesehez." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Atnevezes" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Ujrainditas" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "XYZ kal. nullazas" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Nyomt. folytatasa" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Nyomtatas folytatasa" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Jobb" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Jobb old.[μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1714,138 +1799,150 @@ msgstr "" "A Varazslo futtatasa nullazza a jelenlegi kalibracios ertekeket es elolrol " "fog mindent kezdeni. Folytatod?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Kifutas" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SDkartya" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "MEGALLITVA." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Kalibracios pont keresese az asztalon" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Kivalasztas" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "Valassz egy filamentet az elso reteg kalibraciojahoz a menubol." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Extruder valasztas:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Valassz filamentet:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Valassz nyelvet" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Valaszd ki a fuvoka homersekletet, amelyik megfelel az altalad hasznalt " "anyaghoz ajanlott homersekletnek." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Valassz homersekletet, ami megfelel a filamenthez." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Ondiagnosztika OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Ondiagnosztika indul" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Ondiagnosztika" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Ondiagnosztika hiba!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Ondiag. sikertelen" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "A pontos szenzor nelkuli homing erdekeben lefuttatom az ondiagnosztikat." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Szenzor info" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Szenzor OK, vedd ki a filamentet most." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Homerseklet beall.:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Beallitasok" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "NagyMerol.hiba" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Acellap" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1858,23 +1955,23 @@ msgstr "" "%cUjrainditas" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Vegallaskapcsolok" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Halk" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Kis merol.hiba" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1883,107 +1980,171 @@ msgstr "" "konyvtaron belul." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Hiba tortent, Z szintezes indul..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Rendez" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Fajlok rendezese" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Hang" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Sebesseg" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Forog" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Stabil 21-26C homerseklet es egy merev allvany (asztal) szukseges." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statisztika" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Halk" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Acellapok" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Nyomt. megallitasa" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Szigoru" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Tamogatas" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Felcserelve" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Homerseklet" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Homersekletek" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1994,7 +2155,7 @@ msgstr "" "Kalibracio fejezeteben." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2003,102 +2164,102 @@ msgstr "" "fejezetenek Kalibracio menete bekezdeset." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Ido" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Idotullepes" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Ossz." #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Ossz. hiba" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Osszes filament" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Ossz. nyomt. ido" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Finomhangolas" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Filament kiadasa" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Filament kiadasa" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Ellenorzes sikertelen, vedd ki a filamentet es probald ujra." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Feszultsegek" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2111,227 +2272,282 @@ msgstr "" "Halk modban" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Var. a felhasznalora" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "A PINDA szenzor kihuleset varom." #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "A fuvoka es az asztal kihuleset varom." #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Figylem." #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Figyelem: a nyomtato es az alaplap tipusa is megvaltozott." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Figyelem: az alaplap tipusa megvaltozott." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Figyelem: a nyomtato tipusa megvaltozott." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Sikerult kivenni a filamentet?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Kabelezesi hiba" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Varazslo" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "X-korrekcio:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ kal. reszlet" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" "XYZ kalibracio OK. Az esetleges X/Y merolegessegi hiba automatikusan " "korrigalva lesz." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" "XYZ kalibracio sikerult. Az X/Y tengelyeken enyhe merolegessegi hiba van." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" "Az XYZ kalibracio sikertelen. Az elulso kalibracios pontok nem erhetoek el." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" "Az XYZ kalibracio sikertelen. A jobb kalibracios pontok nem erhetoek el." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" "Az XYZ kalibracio sikertelen. Az asztal kalibracios pontja nem erheto el." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "Az XYZ kalibracio sikertelen. Az elulso kalibracios pontok nem erhetoek el." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "XYZ kalibracio sikertelen. Kerlek, nezz bele a kezikonyvbe." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "Az XYZ kalibracio sikertelen. A jobb kalibracios pontok nem erhetoek el." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ kalibracio OK. Az X/Y tengelyek merolegesek. Gratulalok!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y-minimum tavolsag" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Y-korrekcio:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Igen" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "A Varazsolt barmikor elered a Kalibracio -> Varazslo menubol." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Z-korrekcio:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z meres szama" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] pont offszet" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "es nyomd meg a gombot" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "filam. betoltesehez" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "filament kiadasahoz" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "ismeretlen" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "ismeretlen allapot" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Frissites" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "Filament autom. betolteste csak bekapcs. fil. szenzorral mukodik." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Utkozes erzekelve. Folytassam a nyomtatast?" + +#~ msgid "Cutting filament" +#~ msgstr "Filament vagasa" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "HIBA: A fil. szenzor nem valaszol, ellenorizd a csatlakozast." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS v0.3 v. regebbi" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS v0.4 vagy ujabb" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Hozd helyre a hibat, majd nyomd meg a gombot az MMU egysegen." + +#~ msgid "Load all" +#~ msgstr "Osszes betolt." + +#~ msgid "M117 First layer cal." +#~ msgstr "M117. Elso reteg kalibr." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3 firmver telepitve MK3S nyomtatora" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S firmver eszlelve MK3 nyomtaton" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Pozicio visszaallitasa..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Homerseklet visszaallitasa..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Folytatom..." + +#~ msgid "MMU load failed" +#~ msgstr "MMU betolt.hiba" + +#~ msgid "MMU needs user attention." +#~ msgstr "Az MMU felhasznaloi figyelmet igenyel." + +#~ msgid "MMU power fails" +#~ msgstr "MMU tap hibak" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Kerlek, tavolitsd el a filamentet, majd nyomd meg a gombot." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Kerlek, frissitsd az MMU2 firmverjet. Varom az ujrainditast." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Nyomd meg a gombot a fuvoka ismetelt felfutesehez." + +#~ msgid "Runouts" +#~ msgstr "Kifutas" diff --git a/lang/po/Firmware_it.po b/lang/po/Firmware_it.po index e2b4a51c9..b0924c0e5 100644 --- a/lang/po/Firmware_it.po +++ b/lang/po/Firmware_it.po @@ -16,170 +16,152 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 o inferiore" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 o superiore" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "atteso livello %s" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Annulla" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Compensaz. Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Nessun errore" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Tutto fatto. Buona stampa!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfabeti" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Ambiente" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "I carrelli Z sin/des sono altezza max?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Assist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "Auto" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Trova origine" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Automatico" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autocaric. filam." -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Caricamento automatico filamento disponibile solo con il sensore attivo..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "Caricamento automatico attivo, premi la manopola e inserisci il filam." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Assi" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Lunghezza dell'asse" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Indietro" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Piano" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Riscald. piano" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Piano fatto." #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Correz. liv.piano" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -188,51 +170,55 @@ msgstr "" "reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Piano/Riscald." #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Stato cinghie" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test cinghie" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Blackout rilevato. Recuperare stampa?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Chiaro" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Luminosita'" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Calibra XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Calibra Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -241,13 +227,13 @@ msgstr "" "all'altezza massima. Click per terminare." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Calibrando Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -256,154 +242,151 @@ msgstr "" "all'altezza massima. Click per terminare." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Calibrazione Home" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Calibrazione" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Calibr. completa" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "SD rimossa" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Cambia filamento" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Cambio riuscito!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Cambio corretto?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Verifica asse X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Verifica asse Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Verifica asse Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Verifica piano" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Verifica finecorsa" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Verifica file" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Verifica ugello" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Controllo sensori" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Controlli" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Colore non puro" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Contribuiti" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Cont." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Raffredda" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Copiare la lingua selezionata?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Impatto" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Rileva.crash" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Rilevato impatto." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Scontro rilevato. Riprendere la stampa?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -413,48 +396,48 @@ msgstr "" "attivabile solo\n" "in Modalita normale" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Taglia filamento" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Tagliatr." -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Tagliando filam." - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Data:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Scuro" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Disabilita motori" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -465,7 +448,7 @@ msgstr "" "Calibrazione primo strato." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -473,270 +456,345 @@ msgstr "" "Desideri ripetere l'ultimo passaggio per migliorare la distanza fra ugello e " "piatto?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "Correzione-E:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "ERRORE:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "ERRORE: il sensore filam. non risponde,Controllare conness." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Espelli fil." -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Espellendo filamento" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Finecorsa" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Finec. fuori portata" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Finecorsa" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "Estrusore" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Vent. estrusore:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Info estrusore" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "Autocar.fil." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "Azione FS" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 o inferiore" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 o superiore" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Stat. fallimenti" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Stat.fall. MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falso innesco" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Velocita vent." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test ventola" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Control.vent" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fil. esauriti" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Sensore fil." -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "Filamento" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filamento estruso e con colore corretto?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. non caricato" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Sensore filam." +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Fil. utilizzato" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "File incompleto. Continuare comunque?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Finaliz. spostamenti" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Cal. primo strato" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Per primo avviero l'autotest per controllare gli errori di assemblaggio piu " "comuni." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Risolvere il problema e premere il bottone sull'unita MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Flusso" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Ventola frontale?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Fronte [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Ventola frontale/sin" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-code processato per un livello diverso. Continuare?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -745,14 +803,14 @@ msgstr "" "slice del modello. Stampa annullata." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-code processato per una stampante diversa. Continuare?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -761,12 +819,12 @@ msgstr "" "slice del modello. Stampa annullata." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code processato per un firmware piu recente. Continuare?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -775,42 +833,42 @@ msgstr "" "firmware. Stampa annullata." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "Impostazioni HW" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Riscald./Termist." #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Riscaldamento..." #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Riscaldamento fermato dal timer di sicurezza." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Riscald. completo" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -821,7 +879,7 @@ msgstr "" "stampare." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -830,24 +888,45 @@ msgstr "" "processo di configurazione?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Forte" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Adesso avviero una Calibrazione XYZ. Puo durare circa 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Adesso avviero la Calibrazione Z." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -855,526 +934,495 @@ msgstr "" "Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - " "Setup HW - Piastre in Acciaio." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Schermata info" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Inserire filamento" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" "Inserire filamento (senza caricarlo) nell'estrusore e premere la manopola." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Il filamento e' stato caricato?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Piastra d'acciaio su piano riscaldato?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iterazione" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Ultima stampa" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Errori ultima stampa" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Sinistra" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Vent SX hotend?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Sinistra [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Liv. Chiaro" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Liv. Scuro" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Correzione lineare" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Compensazione Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Caricare tutti" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Carica filamento" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Carica ugello" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Caricando colore" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Caricando filamento" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Puleggia lenta" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Forte" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Calibr. primo strato" +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "Firmware MK3 rilevato su stampante MK3S" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "Firmware MK3S rilevato su stampante MK3" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "Mod. MMU" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. riprendendo la posizione..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Ripristino temperatura..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Riprendendo..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Fallimenti MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Caricam. MMU fallito" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "Car MMU falliti" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "Il MMU richiede attenzione dall'utente." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "Manc. corr. MMU" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 connessa" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Comp. Magneti" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Menu principale" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Dev. misurata" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Misura altezza di rif. del punto di calib." #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Griglia" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Liv. griglia piano" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Mod." -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Cambio modalita in corso..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modello" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "Motore" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Sposta X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Sposta Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Sposta Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Muovi asse" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "N/D" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Nuova vers. firmware disponibile:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "No" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Nessuna SD" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Nessun movimento." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Nessuno" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "Normale" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Non connesso" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Non gira" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Adesso calibro la distanza fra ugello e superfice del piatto." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Adesso preriscaldero l'ugello per PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Ora rimuovete la stampa di prova dalla piastra in acciaio." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Ugello" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Dia.Ugello" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Off" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Sono state trovate impostazioni vecchie. Verranno impostati i valori " "predefiniti di PID, Esteps etc." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "On" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Singolo" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "Calibrazione PID" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "Calib. PID completa" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "Calibrazione PID" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Riscaldamento PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "Calib. PINDA" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Calibrazione temperatura fallita" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1382,24 +1430,36 @@ msgstr "" "Calibrazione PINDA completata e attiva. Puo essere disattivata dal menu " "Impostazioni ->Calib. PINDA" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pausa" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Metti in pausa" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1408,7 +1468,7 @@ msgstr "" "punti. In caso l'ugello muova il foglio spegnere subito la stampante." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1417,34 +1477,34 @@ msgstr "" "riprendi il Wizard dopo aver riavviato la stampante." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Controllare il collegamento al sensore e rimuovere il filamento." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Verifica:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Per favore pulisci il piatto, poi premi la manopola." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Pulire l'ugello per la calibrazione, poi fare click." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" "Inserisci il filamento nell'estrusore, poi premi la manopola per caricarlo." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1453,172 +1513,156 @@ msgstr "" "manopola per caricarlo." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Per favore prima carica il filamento." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Aprire la guida filam. e rimuovere il filam. a mano" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Per favore posizionate la piastra d'acciaio sul piano riscaldato." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Premete la manopola per scaricare il filamento" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Estrarre il filamento immediatamente" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Rimuovi il filamento e quindi premi la manopola." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Per favore rimuovete i materiali da spedizione" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Rimuovete la piastra di acciaio dal piano riscaldato" #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Esegui la calibrazione XYZ prima." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Scaricare prima il filamento, poi ripetere l'operazione." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Aggiorna il firmware sul tuo MMU2. In attesa di reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Prego aggiornare." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Attendere" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Interr. corr." #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Preriscalda" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Prerisc. ugello!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Preriscaldando l'ugello. Attendere prego." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Preriscalda. taglio" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Preriscalda. espuls." #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Preriscald. carico" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Preriscald. scarico" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Premere la manopola" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Premete la manopola per preriscaldare l'ugello e continuare." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Premete la manopola per recuperare la temperatura dell'ugello." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Stampa interrotta" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Vent.stam:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Stampa da SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Stampa in pausa" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Tempo di stampa" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Ind. IP stampante:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1627,12 +1671,12 @@ msgstr "" "Primi Passi, sezione Sequenza di Calibrazione." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametro ugello diverso da G-Code. Continuare?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1640,72 +1684,112 @@ msgstr "" "Diametro ugello diverso dal G-Code. Controlla il valore nelle impostazioni. " "Stampa annullata." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "Porta RPi" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Retro [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Recupero stampa" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Rimuovi il filamento precedente e premi la manopola per caricare il nuovo " "filamento." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Rinomina" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Reset" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset calibr. XYZ." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Riprendi stampa" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Riprendi stampa" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Destra" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Destra [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1713,37 +1797,41 @@ msgstr "" "Se avvi il Wizard perderai la calibrazione preesistente e dovrai " "ricominciare dall'inizio. Continuare?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Esaurim" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "Mem. SD" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "ARRESTATO." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Ricerca punti calibrazione piano" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Seleziona" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1752,100 +1840,108 @@ msgstr "" "menu sullo schermo." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Seleziona estrusore:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Seleziona il filam.:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Seleziona lingua" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Selezionate la temperatura per il preriscaldamento dell'ugello adatta al " "vostro materiale." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Seleziona la temperatura appropriata per il tuo materiale." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Autotest OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Avvia autotest" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Autotest" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Errore Autotest!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Autotest fallito" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Verra effettuato un self test per calibrare l'homing senza sensori" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Info Sensore" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Sensore verificato, rimuovere il filamento." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Imposta temperatura:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Impostazioni" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Deviaz. forte" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Piano" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1858,23 +1954,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Stato finecorsa" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Silenz." #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Deviaz. lieve" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1883,108 +1979,172 @@ msgstr "" "e 100 perche siano ordinati." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Sono stati rilevati problemi, avviato livellamento Z ..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Ordina" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Ordinando i file" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Suono" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Velocita" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Gira" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Sono necessari una temperatura ambiente di 21-26C e una superficie rigida." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistiche" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Silenz." #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Piani d'acciaio" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Arresta stampa" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Esatto" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Supporto" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Scambiato" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatura" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperature" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1995,7 +2155,7 @@ msgstr "" "manuale (capitolo sulla calibrazione)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2004,102 +2164,102 @@ msgstr "" "Primi Passi, sezione Sequenza di Calibrazione." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Cron." #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Timeout" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Totale" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Totale fallimenti" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filamento totale" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Tempo stampa totale" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Regola" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Scarica filam." -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Scaricando filamento" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Verifica fallita, rimuovere il filamento e riprovare." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Voltaggi" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2112,225 +2272,281 @@ msgstr "" "Modalita silenziosa" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Attendendo utente..." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "In attesa del raffreddamento della sonda PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "In attesa del raffreddamento dell'ugello e del piano" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Avviso" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Attenzione: tipo di stampante e di scheda madre cambiati." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Avviso: tipo di scheda madre cambiato" #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Avviso: tipo di stampante cambiato." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Filamento scaricato con successo?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Errore cablaggio" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Wizard" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Correzione-X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ Cal. dettagli" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" "Calibrazione XYZ corretta. La distorsione verra compensata automaticamente." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Calibrazion XYZ corretta. Assi X/Y leggermente storti. Ben fatto!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" "Calibrazione XYZ fallita. Il punto di calibrazione sul piano non e' stato " "trovato." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "Calibrazione XYZ fallita. Punti anteriori non raggiungibili." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Calibrazione XYZ fallita. Si prega di consultare il manuale." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "Calibrazione XYZ fallita. Punto anteriore destro non raggiungibile." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibrazione XYZ OK. Gli assi X/Y sono perpendicolari. Complimenti!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Distanza Y dal min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Correzione-Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Si" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" "E possibile riprendere il Wizard in qualsiasi momento attraverso " "Calibrazione -> Wizard." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Correzione-Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Nr. Z-test" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] punto offset" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "e cliccare manopola" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "per caricare il fil." #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "per scaricare fil." #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "sconosciuto" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "stato sconosciuto" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Ricaricare" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Caricamento automatico filamento disponibile solo con il sensore attivo..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Scontro rilevato. Riprendere la stampa?" + +#~ msgid "Cutting filament" +#~ msgstr "Tagliando filam." + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "ERRORE: il sensore filam. non risponde,Controllare conness." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 o inferiore" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 o superiore" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Risolvere il problema e premere il bottone sull'unita MMU." + +#~ msgid "Load all" +#~ msgstr "Caricare tutti" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Calibr. primo strato" + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "Firmware MK3 rilevato su stampante MK3S" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "Firmware MK3S rilevato su stampante MK3" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. riprendendo la posizione..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Ripristino temperatura..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Riprendendo..." + +#~ msgid "MMU load failed" +#~ msgstr "Caricam. MMU fallito" + +#~ msgid "MMU needs user attention." +#~ msgstr "Il MMU richiede attenzione dall'utente." + +#~ msgid "MMU power fails" +#~ msgstr "Manc. corr. MMU" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Rimuovi il filamento e quindi premi la manopola." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Aggiorna il firmware sul tuo MMU2. In attesa di reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Premete la manopola per recuperare la temperatura dell'ugello." + +#~ msgid "Runouts" +#~ msgstr "Esaurim" diff --git a/lang/po/Firmware_lb.po b/lang/po/Firmware_lb.po index b631a74a5..60568e415 100644 --- a/lang/po/Firmware_lb.po +++ b/lang/po/Firmware_lb.po @@ -16,435 +16,419 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr "" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr "" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr "" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "" -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" "Normal mode" msgstr "" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -452,342 +436,417 @@ msgid "" msgstr "" #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "" - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "" - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." msgstr "" #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -795,7 +854,7 @@ msgid "" msgstr "" #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -804,996 +863,1034 @@ msgstr "" "duerch de Setupprozess guideieren?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "" +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." msgstr "" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "" - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "" #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "" -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "" #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "" #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." msgstr "" #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." msgstr "" #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "" #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." msgstr "" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "" - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "" #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "" #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "" - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "" #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "" -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "" - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." msgstr "" #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." msgstr "" +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" msgstr "" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "" #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "" +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "" #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1802,130 +1899,194 @@ msgid "" msgstr "" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." msgstr "" #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "" #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1933,109 +2094,109 @@ msgid "" msgstr "" #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." msgstr "" #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "" #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2044,219 +2205,210 @@ msgid "" msgstr "" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "" #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "" diff --git a/lang/po/Firmware_lt.po b/lang/po/Firmware_lt.po index 76d12ebee..57b708899 100644 --- a/lang/po/Firmware_lt.po +++ b/lang/po/Firmware_lt.po @@ -16,435 +16,419 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr "" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr "" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr "" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "" -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" "Normal mode" msgstr "" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -452,342 +436,417 @@ msgid "" msgstr "" #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "" - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "" - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." msgstr "" #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -795,7 +854,7 @@ msgid "" msgstr "" #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -804,996 +863,1034 @@ msgstr "" "padetu jums atlikti sarankos procesa?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "" +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." msgstr "" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "" - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "" #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "" -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "" #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "" #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." msgstr "" #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." msgstr "" #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "" #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." msgstr "" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "" - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "" #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "" #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "" - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "" #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "" -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "" - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." msgstr "" #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." msgstr "" +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" msgstr "" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "" #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "" +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "" #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1802,130 +1899,194 @@ msgid "" msgstr "" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." msgstr "" #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "" #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1933,109 +2094,109 @@ msgid "" msgstr "" #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." msgstr "" #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "" #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2044,219 +2205,210 @@ msgid "" msgstr "" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "" #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "" diff --git a/lang/po/Firmware_nl.po b/lang/po/Firmware_nl.po index 940fcdaff..2746f6cea 100644 --- a/lang/po/Firmware_nl.po +++ b/lang/po/Firmware_nl.po @@ -16,172 +16,153 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 of ouder" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 of nieuwer" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s niveau verwacht" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Annuleren" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Z is ingesteld:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Allemaal goed" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Klaar. Happy printing!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfabet" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" -msgstr "" +msgstr "Altijd" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Kamertemp." #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Zijn beide Z wagen heelemaal boven?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Assist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" -msgstr "" - -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" +msgstr "Auto" #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Startpositie" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" -msgstr "" +msgstr "Auto power" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autoladen filament" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Auto. laden van fil. is enkel beschikbaar wanneer fil.sensor is " -"ingeschakeld..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Automatisch laden van flament is actief, druk de knop en laad filament..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "Slijpen vermijden" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "As" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Aslengte" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "terug" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" -msgstr "" +msgstr "Bed" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Bed opwarmen" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Bed klaar" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Bed niveau correct" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -190,51 +171,55 @@ msgstr "" "reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Bed/Verwarming" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Riem status" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Riemtest" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Stroomstoring. Print herstellen?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Helder" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Helderheid" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "COMMUNICATIEFOUT" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibratie XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibratie Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -243,13 +228,13 @@ msgstr "" "stoppers. Druk knop als klaar." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibrere Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -258,154 +243,153 @@ msgstr "" "stoppers. Druk knop als klaar." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibreren start" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibratie" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibratie klaar" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "Kan selector of spanrol niet bewegen." + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" +"De actie kan niet worden uitgevoerd, de filament is al geladen. Eerst " +"uitladen." + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "SD verwijderd" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" -msgstr "" - -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" +msgstr "Wissel SD kaart" #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Wissel filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Wissel geslaagd!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Wissel ok?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Controleer X as" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Controleer Y as" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Controleer Z as" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Controleer bed" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Controleer endstops" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Bestand controle" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Controleer hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Controleer sensors" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" -msgstr "" +msgstr "Checks" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Kleur niet juist" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Van de community" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Door." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Afkoelen" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Geselecteerde taal kopieren?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" -msgstr "" +msgstr "Crash" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Crashdet." #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Crash gedetecteerd." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Crash gedetecteerd. Print voorzetten?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -415,48 +399,48 @@ msgstr "" "alleen in normaal\n" "gebruikt worden" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Fil. knippen" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Mes" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Knippe filament" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" -msgstr "" +msgstr "Dim" + +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "Uitschak." #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Motoren uit" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "Ontkoppel spanrol" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -467,7 +451,7 @@ msgstr "" "calibration." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -475,270 +459,355 @@ msgstr "" "Wilt u de laatste stap herhalen om de afstand tussen de tuit en de bed " "opnieuw in te stellen?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." -msgstr "" +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" +msgstr "Klaar" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "E-correctie:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "FOUT help filament" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "FOUT Inern" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "FOUT TMC" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "FOUT Wacht gebruiker" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "FOUT:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "FOUT: Filamentsensor reageert niet, controleer de verbinding." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Fil. uitwerpen" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Fil. word ontladen" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Eindstop" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Endstop niet geraakt" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Eindstops" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "Koppel spanrol" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" -msgstr "" - -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" +msgstr "Extruder" #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" -msgstr "" +msgstr "Extruder fan:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" -msgstr "" +msgstr "Extruder info" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autoladen" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "FS. uitloop" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "FILAMENT AL GELADEN" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "FINDA TRIGGERDE NIET" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" +"De FINDA schakelde niet uit bij het lossen. Probeer Fil. handmatig te " +"ontladen. Controleer of Fil. kan bewegen en of de FINDA werkt." + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" +"FINDA ging niet af bij het laden van de filament. Controleer of het filament " +"kan bewegen en FINDA werkt." + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "FINDA NIET FIL.VRIJ" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS actie" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 of ouder" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "FSEN. NIET AF GEGAAN" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 of nieuwer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "FSENSOR TE VROEG" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "FSENSOR FIL. VAST" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "FW RUNTIME FOUT" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Foutstatistieken" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "MMU-Fouten" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Valse triggering" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Fan snelh." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" -msgstr "" +msgstr "Fan test" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" -msgstr "" +msgstr "Fans check" + +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "Voeding tot FINDA" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "Voeding tot FSensor" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "Voeding tot extruder" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "Voeding tot tuit" #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fil. fouten" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" -msgstr "" - -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" +msgstr "Fil. sensor" #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" -msgstr "" +msgstr "Filament" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament extrudeert met de juiste kleur?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. niet geladen" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Filamentsensor" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" +"Filament sensor schakelde niet uit tijdens het lossen van filament. " +"Controleer of het filament kan bewegen en de sensor werkt." + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" +"De filament sensor ging niet af tijdens het laden van de filament. " +"Controleer of het filament de fsensor heeft bereikt en de sensor werkt." + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" +"Filament sensor te vroeg geactiveerd tijdens laden naar extruder. Controleer " +"of er niets vastzit in de PTFE-buis. Controleer of de sensor goed leest." + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Gebruikte filament" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Bestand onvolledig. Toch doorgaan?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Voortgang afwerken" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Eerste laag kal." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Ten eerste zullen we de zelftest uitvoeren om de meest voorkomende " "montageproblemen te controleren." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Los het probleem op en druk vervolgens op de knop op de MMU-eenheid." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Stromen" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Voorzijde fan?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Voorkant [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Fans voor/links" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-Code is voor een ander niveau geslict. Doorgaan?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -747,14 +816,14 @@ msgstr "" "Druk geannuleerd." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-Code is voor een ander printertype geslict. Doorgaan?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -763,12 +832,12 @@ msgstr "" "alsjeblieft. Druk geannuleerd." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-Code is voor een nieuwere firmware geslict. Doorgaan?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -777,42 +846,42 @@ msgstr "" "alsjeblieft. Druk geannuleerd." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" -msgstr "" +msgstr "Gcode" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW Configuratie" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Verwarmer/Therm." #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Opwarmen" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Verwarming uitgeschakeld door veiligheidstimer." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Opwarmen klaar." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -823,7 +892,7 @@ msgstr "" "printen." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -832,24 +901,45 @@ msgstr "" "installatieproces?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Hoog verm." +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "Startpositie" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Begin nu met xyz-kalibratie. Het duurt ongeveer 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Begin nu met z-kalibratie." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "SPANROL STARTPOSFOUT" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "SPANROL BEWEGT NIET" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "ONGELDIG TOOL" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -857,526 +947,501 @@ msgstr "" "Als u extra staalplaten hebt, kalibreert u hun voorinstellingen in " "Instellingen - HW Setup - Staalplaten." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" -msgstr "" +msgstr "Verbetering van het bedijkingspunt" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Info scherm" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" -msgstr "" +msgstr "Init. SD kaart" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Voer filament in" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" "Steek a.u.b. filament (maar niet laden) in de extruder en druk op knop." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" +"Interne runtime fout. Probeer de MMU-eenheid te resetten of de firmware bij " +"te werken. Als het probleem aanhoudt, neem dan contact op met support." + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Is filament geladen?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Ligt de staalplaat op het bed?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iteratie" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Laatste print" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Laatste printfouten" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Links" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Linker hotend fan?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Linkerkant[μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Helder waard" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Dim waarde" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Lineaire correctie" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Live Z aanpassen" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "Laad alle" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Filament laden" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "Laad naar extruder" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Tot tuit laden" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Laden kleur" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Laden filament" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Losse riemschijf" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Hard" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Eerste laag kal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "MMU FW UPDATE NODIG" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3-firmware bij MK3S-printer gedetecteerd" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S-firmware op MK3-printer ontdekt" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "MMU Firmware interne fout, reset de MMU." #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU Mod" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Positie hervatten..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "MMU REAGEERT NIET" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Temperatuur hervatten..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Hervatten..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "MMU Retry: Temperatuur herstellen..." #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "MMU fout" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "MMU laden mislukt" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU laadfout" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU heeft gebruikersaandacht nodig." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" +"MMU eenheid reageert niet correct. Controleer de bedrading en connectoren. " +"Als het probleem aanhoudt, neem dan contact op met support." -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU stroomstor." +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" +"MMU eenheid reageert niet. Controleer de bedrading en connectoren. Als het " +"probleem aanhoudt, neem dan contact op met support." #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 verbonden" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Magnet. comp." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Hoofdmenu" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Scheefheid" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Referentie hoogte van het kalibratiepunt meten" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" -msgstr "" +msgstr "Mesh" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Mesh bed Leveling" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Stand" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Moduswijziging bezig..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" -msgstr "" +msgstr "Model" + +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "Meer details online." + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "Meer⏬" #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" -msgstr "" +msgstr "Motor" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Verplaats X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Verplaats Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Verplaats Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "As verplaatsen" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "Bewege selector" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "N/V" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Nieuwe firmware versie beschikbaar:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nee" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Geen SD kaart" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Geen beweging." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Geen" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "Normaal" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Niet verbonden" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Draait niet" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Begin met kalibratie tussen de tuit en het bed." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Opwarmen van de tuit voor PLA voor." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Verwijder nu de testprint van staalplaat." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Tuit" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Tuit d." -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" -msgstr "" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" +msgstr "OK" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Uit" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Oude instellingen gevonden. Standaard PID, E-steps etc. instellingen worden " "geladen." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "Aan" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Eenmaal" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "PAUSE TERMISCHE FOUT" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kal." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kalibratie klaar" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibratie" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "PINDA opwarmen" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA kalib." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "PINDA-kalibratie mislukt" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1384,24 +1449,36 @@ msgstr "" "PINDA-kalibratie is voltooid en actief. Het kan worden uitgeschakeld in het " "menu Instellingen-> PINDA kalib." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "RIEMSCH. BEWEGT NIET" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "Parkere selector" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pauze" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Print pauzeren" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" -msgstr "" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" +msgstr "Voer cut uit" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1410,7 +1487,7 @@ msgstr "" "punten. Als de tuit het papier beweegt, de printer onmiddellijk uitschakelen." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1419,35 +1496,35 @@ msgstr "" "wizard door de printer opnieuw te starten." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" "AUB IR sensor ver- binding kontrolleren , verwijder filament indien aanwezig." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Controleer aub:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Maak het bed schoon en druk op de knop." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Reinig de tuit voor de kalibratie. Druk op de knop wanneer gereed." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" "Steek a.u.b. filament in de extruder en druk op de knop om het te laden." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1456,172 +1533,156 @@ msgstr "" "te laden." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Laad a.u.b. eerst filament." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." -msgstr "Open rondsel en verwijder filament handmatig." +msgstr "Open spanrol en verwijder filament handmatig." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Leg staalplaat op bed." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Druk op de knop om filament te verwijderen" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Trek onmiddellijk de filament eruit" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Trek onmiddellijk filament eruit en druk vervolgens op de knop." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Verwijder eerst de transport beschermers." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Verwijder staalplaat van het bed." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Voer eerst de XYZ-kalibratie uit." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Verwijder eerst het filament en probeer het opnieuw." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Aub de firmware te vernieuwen in uw MMU2. Wacht op reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Voer een upgrade uit" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Even geduld aub" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Stroomstoringen" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Voorverwarmen" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Tuit voorverwarmen!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Opwarmen van de tuit. Wacht aub." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Opwarm. te snijden" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Opwarm.te uitwerpen" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Opwarmen invoeren" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Opwarmen uitwerpen" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" -msgstr "" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" +msgstr "Bereid mes voor" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Druk op knop" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Druk op de knop om de tuit voor te verwarmen en door te gaan." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Druk op de knop om de temperatuur van de tuit te hervatten." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Print afgebroken" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" -msgstr "" +msgstr "Print fan:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Print van SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Print pauzeren" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Print tijd" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Printer IP-adres:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1630,13 +1691,13 @@ msgstr "" "steps, sectie Calibration flow." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" "De diameter van de tuit van de printer verschilt van de G-code. Doorgaan?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1644,71 +1705,114 @@ msgstr "" "De diameter van de tuit van de printer verschilt van de G-code. Controleer " "de waarde in de instellingen. Afdrukken geannuleerd." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "Riemschijf motor is vastgelopen. Controleer of de poelie kan bewegen en " +"controleer de bedrading." + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "Duwe filament" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "QUEUE VOL" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" -msgstr "" +msgstr "RPi port" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Achterkant[μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Print herstellen" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 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." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Hernoem" -#. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 -msgid "Reset" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." msgstr "" +"De gevraagde filament tool is niet beschikbaar op deze hardware. Controleer " +"de G-code voor filament index buiten bereik (T0-T4)." + +#. MSG_RESET c=14 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 +msgid "Reset" +msgstr "Reset" + +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "Reset MMU" #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Print hervatten" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Hervatten print" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "Intrekken van FINDA" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "Retry" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "Selctor terugrijden" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Rechts" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Recht.kant[μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1716,37 +1820,41 @@ msgstr "" "Starten van de Wizard verwijdert de huidige kalibreringsresultaten en begint " "vanaf het begin. Doorgaan?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Fouten" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD kaart" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "SELECTOR STARTP_FOUT" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "SELECTOR BEWEG FOUT" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "GESTOPT." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Zoeken bed kalibratiepunt" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Selecteer" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1755,102 +1863,110 @@ msgstr "" "het schermmenu." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Kies extruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Kies filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Kies taal" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Selecteer de voorverwarmingstemperatuur van de tuit die overeenkomt met uw " "materiaal." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Selecteer de temperatuur die overeenkomt met uw materiaal." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "Selectere fil. slot" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Zelftest OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Zelftest start" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Zelftest" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Zelftest fout!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Zelftest mislukt" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Zelftest zal worden uitgevoerd om nauwkeurige sensorloze auto positie te " "kalibreren." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" -msgstr "" +msgstr "Sensor info" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Sensor geverifieerd, verwijder nu het filament." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Temp. instellen:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Instellingen" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Erg scheef" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Staalplaat" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1863,23 +1979,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Toon endstops" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Stil" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Beetje scheef" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1888,109 +2004,177 @@ msgstr "" "per map 100 is." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Er is een probleem opgetreden, Z-kalibratie afgedwongen ..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Sort." #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Bestanden sorteren" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Geluid" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Snelheid" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Draait" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "En stabiele 21-26C omgevingstemperatuur is nodig,een stevige stand is " "vereist." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistieken" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Stil" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Staalplaten" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "Stop" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Print stoppen" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Strikt" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" -msgstr "" +msgstr "Support" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Gewisseld" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "THERMISCHE ANOMALIE" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "TM autotune mislukt" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "TMC FOUT" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "TMC RESET" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "TMC KORTSLUITING" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "TMC OVERHITTINGSFOUT" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "TMC ONDERVOLT. FOUT" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "Temp. model autotune" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatuur" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperaturen" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "Teste filament" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" +"Het spanrol kan niet goed bewegen. Controleer of er iets de beweging" +" blokkeert." + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" +"De MMU meldt dat zijn FW-versie niet compatibel is met de firmware van" +" de printer. Controleer of de MMU-firmware up-to-date is." + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "De selector kan niet startpositie finden. Controleer of er iets in de weg zit." + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -2001,7 +2185,7 @@ msgstr "" "(Calibration chapter)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2010,102 +2194,104 @@ msgstr "" "handleiding, hoofdstuk First steps, section Calibration flow." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Tijd" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Time-out" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Totaal" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Totaal fouten" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Totaal fil." #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Totaal printtijd" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Fijnafstemming" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" -msgstr "" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" +msgstr "ONTLAAD MANUEEL" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" +"Onverwachte FINDA-aflezing. Zorg ervoor dat er geen filament onder FINDA zit" +" en dat de selecteur vrij is. Controleer de FINDA-verbinding." + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "Ontla." + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Fil. uitwerpen" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Uitwerpen filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" -msgstr "" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "Ontlade naar FINDA" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" +msgstr "Ontlade n. riemschi." #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Verificatie mislukt, verwijder het filament en probeer het opnieuw." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Spanning" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "WAARSCH. TMC TE HEET" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2118,222 +2304,280 @@ msgstr "" "Stealth stand" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Wacht op gebruiker.." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Wachten op afkoelen van PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Wachten op afkoelen van tuit en bed" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Waarsch." #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" "Waarschuwing: zowel het printertype als het moederbordtype is gewijzigd." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Waarschuwing: type moederbord gewijzigd." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Waarschuwing: printertype gewijzigd." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Is filament succes- vol verwijderd?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Aansluitingsfout" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" -msgstr "" +msgstr "Wizard" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "X-correctie:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" -msgstr "" +msgstr "XFLASH init" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ kal. details" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" "XYZ-kalibratie in orde. Scheefheid zal automatisch worden gecorrigeerd." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ-kalibratie in orde. X / Y-assen zijn licht scheef. Goed gedaan!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "XYZ-kalibratie niet gelukt. Voorste kalibratiepunten niet bereikbaar." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" "XYZ-kalibratie niet gelukt. Rechter voor kalibratiepunt niet bereikbaar." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-kalibratie mislukt. Bed ijkpunt niet gevonden." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ-kalibratie mislukt. Voorste kalibratiepunten niet bereikbaar." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." -msgstr "" +msgstr "XYZ-kalibratie mislukt. Kalibratiepunt linksvoor niet bereikbaar." #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "XYZ-kalibratie mislukt. Raadpleeg de handleiding aub." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "XYZ-kalibratie mislukt. Rechter voor kalibratiepunt niet bereikbaar." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-kalibratie ok. X / Y-assen staan loodrecht. Gefeliciteerd!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y afstand van min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Y-correctie:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Ja" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "U kunt de wizard altijd hervatten via Kalibratie -> Wizard." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Z-correctie:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z-test nr." #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] punt offset" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "en druk op knop" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "om filament te laden" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "om fil. uitwerpen" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "onbekend" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "Status onbekend" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" -msgstr "" +msgstr "🔃Refresh" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Auto. laden van fil. is enkel beschikbaar wanneer fil.sensor is " +#~ "ingeschakeld..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Crash gedetecteerd. Print voorzetten?" + +#~ msgid "Cutting filament" +#~ msgstr "Knippe filament" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "FOUT: Filamentsensor reageert niet, controleer de verbinding." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 of ouder" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 of nieuwer" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "" +#~ "Los het probleem op en druk vervolgens op de knop op de MMU-eenheid." + +#~ msgid "Load all" +#~ msgstr "Laad alle" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Eerste laag kal." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3-firmware bij MK3S-printer gedetecteerd" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S-firmware op MK3-printer ontdekt" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Positie hervatten..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Temperatuur hervatten..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Hervatten..." + +#~ msgid "MMU load failed" +#~ msgstr "MMU laden mislukt" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU heeft gebruikersaandacht nodig." + +#~ msgid "MMU power fails" +#~ msgstr "MMU stroomstor." + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Trek onmiddellijk filament eruit en druk vervolgens op de knop." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Aub de firmware te vernieuwen in uw MMU2. Wacht op reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Druk op de knop om de temperatuur van de tuit te hervatten." + +#~ msgid "Runouts" +#~ msgstr "Fouten" diff --git a/lang/po/Firmware_no.po b/lang/po/Firmware_no.po index f7d0b5235..70a61db16 100644 --- a/lang/po/Firmware_no.po +++ b/lang/po/Firmware_no.po @@ -16,171 +16,153 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 eller eldre" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 eller nyere" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s nivå ventet" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Avbryt" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Justerer Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Alt korrekt" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Alt klart. God printing!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfabet" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Omgivelse" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Er venstre og høyre Z-vogn helt oppe?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Hjelp" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Auto hjem" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Autostyrke" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "AutoLast filament" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Autolasting av fil. er kun tilgjengelig når fil.- sensoren er skrudd på..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Autolasting av fil. er aktivert. Trykk på knappen og sett inn filament..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Akse" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Akselengde" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Tilbake" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Seng" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Sengen varmes" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Seng ferdig" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Plankorrekt seng" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -189,51 +171,55 @@ msgstr "" "omstart." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Seng/Varmer" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Beltestatus" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Belte test" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Oppdaget Strømbrudd! Gjenoppta print?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Lys" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Lysstyrke" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibrer XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibrer Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -242,13 +228,13 @@ msgstr "" "Deretter trykk." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibrer Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -257,154 +243,151 @@ msgstr "" "trykk." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibrerer hjem" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibrering" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibrering ferdig" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Kort fjernet" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Bytt filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Bytte vellykket!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Byttet riktig?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Sjekker X aksen" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Sjekker Y aksen" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Sjekker Z aksen" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Sjekker seng" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Sjekker endesensorer" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Sjekker fil" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Sjekker hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Sjekker sensorer" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "G-code sjekk" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Farge ikke riktig" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Community laget" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Fort." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Nedkjøling" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Kopiere det valgte språket?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Krasj" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Krasjdetek." #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Krasj oppdaget." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Krasj oppdaget. Fortsette print?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -414,48 +397,48 @@ msgstr "" "bare skrus på i\n" "Normal modus" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Kutt filament" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Kutter" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Kutter filament" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Dato:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Svak" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Frigjør motorer" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -465,7 +448,7 @@ msgstr "" "manualen, under First Steps, for hvordan det første laget skal kalibreres." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -473,268 +456,343 @@ msgstr "" "Vil du repetere det siste trinnet for å omjustere avstanden mellom dysen og " "platen?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "E-korreksjon:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "ERROR: Filament- sensor svarer ikke. Vennligst sjekk koblingen." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Mat ut filament" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Mater ut filament" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Endesensor" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Traff ikke endesens." #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Endesensorer" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "Ekstruder" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Ekstrudervifte:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Ekstruderinfo" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autolast" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS aksjon" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 eller eldre" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 eller nyere" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Feilstatistikk" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Feil stat. MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falskt utløsning" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Viftehastighet" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Viftetest" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Viftesjekk" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Tomt filament" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament kommer ut og har riktig farge?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. ikke lastet" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Filamentsensor" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Brukt filament" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Fil er ukomplett. Fortsette allikevel?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Avslutter bevegelser" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Førstelagskal." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "Først skal jeg kjøre en selvtest for å sjekke vanlige byggefeil." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Løs problemet og trykk på MM-enhetens knapp." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Flyt" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Fremre printvifte?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Fremsiden [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Fremre/venstre vifte" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-code sliced for en annen høyde. Fortsette?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -742,14 +800,14 @@ msgstr "" "G-code sliced for en annen høyde. Vennligst slice igjen. Print avbrutt." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-code sliced for en annen printer. Fortsette?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -757,12 +815,12 @@ msgstr "" "G-code sliced for en annen printer. Vennligst slice igjen. Print avbrutt." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code sliced for en nyere systemvare. Fortsette?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -771,42 +829,42 @@ msgstr "" "avbrutt." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Varmer/Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Varmer opp" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Varme skrudd av pga. sikkerhet." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Oppvarming ferdig." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -816,7 +874,7 @@ msgstr "" "oppsett, hvor Z aksen blir kalibrert. Du er da klar til å printe." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -825,24 +883,45 @@ msgstr "" "gjennom oppsettprosessen?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Høy styrke" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Nå skal jeg kjøre kalibreringen. Det tar ca. 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Nå kjører jeg Z-kalibreringen." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -850,524 +929,493 @@ msgstr "" "Hvis du har andre stålplater, kalibrer de i Innstillinger -> HW Setup -> " "Stålplater." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Infoskjerm" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Sett inn filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "Sett inn filamentet i ekstruderen og deretter trykk inn valghjulet." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Er filament lastet?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Er stålplaten på varmesenga?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iterasjon" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Siste print" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Siste printfeil" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Venstre" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Venst. ekstr. vifte?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Vens. side[μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Nivå Lyst" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Nivå Dimmet" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Lin. korreksjon" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Juster Live-Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Last alle" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Last inn filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Last til dysen" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Laster farge" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Laster filament" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Løs talje" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Høyt" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Førstelagskal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3 system funnet på MK3S printer" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S systemvare funnet på MK3 printer" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU Mod." -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Gjenopptar posisjon..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Gjenopptar oppvarming..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Gjenopptar..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "MMU feil" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "MMU last feilet" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU lastefeil" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU trenger brukerinnvending." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU strøm feil" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 tilkoblet" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Magnet komp." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Hovedmeny" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Målt skjevhet" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Måler referansehøyde for kalibreringspunkt" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Plan-nett" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Sengeplanering" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Modus" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Modus endres..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modell" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Beveg X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Beveg Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Beveg Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Beveg akse" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr " -" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Ny systemvare tilgjengelig:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nei" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "SD-kort mangler" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Ingen bevegelse." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Ingen" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Ikke tilkoblet" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Spinner ikke" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Jeg vil nå kalibrere avstanden mellom tuppen av dysen og varmeplaten." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Jeg vil nå forvarme dysen for PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Fjern nå testprintet fra stålplaten." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Dyse" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Dyse diam." -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Av" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Gamle verdier funnet Standarinnstillinger for PID, motor etc. blir satt." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "På" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "En gang" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kal." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kal. ferdig" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibrering" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "PINDA varmes" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "PINDA kalibrering mislyktes" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1375,24 +1423,36 @@ msgstr "" "PINDA kalibrering er fullført og aktiv. Der kan bli skrudd av i menyen " "under Innstillinger -> PINDA kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pause printjobben" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1401,7 +1461,7 @@ msgstr "" "dysen tar papiret, skru umiddelbart av printeren." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1410,33 +1470,33 @@ msgstr "" "omstarte printeren." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Vennligst sjekk koblingen til IR sensorer. Last ut filament om lastet." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Venligst sjekk:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Rengjør stålplaten og trykk valghjulet." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Rengjør dysen og trykk valghjulet." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "Sett inn filament I ekstruderen og trykk valghjulet for å laste." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1445,184 +1505,168 @@ msgstr "" "å laste." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Vennligst sett inn filament først." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Åpne taljedøren og fjern filamentet for hånd." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Plasser stålplaten på varmesenga." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Trykk valghjulet for å ta ut filamentet" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Trekk ut filamented med en gang" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Fjern filamentet og trykk valghjulet." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Vennligst fjern sendingsbeskyttelsen først." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Vennligst ta stålplaten av varmesenga." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Vennligst fullfør XYZ kalibreringen først." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Vennligst last ut filamentet først, deretter repeter denne handlingen." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Oppdater din MMU2 systemvare. Venter på omstart..." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Vennligst oppdater." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Vennligst vent" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Strømfeil" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Forvarming" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Forvarm dysen!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Forvarmer dysen. Vennligst vent..." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Forvarmer for kutt" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Forvarmer for utmat." #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Forvarmer for last" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Forvarmer for fil." -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Trykk valghjulet" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Trykk valghjulet for å forvarme dysen og fortsette." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Trykk valghjulet for å fortsette oppvarming." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Print avbrutt" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Printvifte:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Print fra SD-kort" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Print satt på pause" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Printetid" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Printer IP adr.:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." msgstr "Printeren er ikke kalibrert. Vennligst se manualen, under First Steps." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Printerens dysediameter er forskjellig fra G-Code. Fortsette?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1630,70 +1674,110 @@ msgstr "" "Printerens dysediameter er forskjellig fra G-Code. Sjekk Innstillinger for " "hva som er satt. Print avbrutt." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Baksiden [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Gjenopptar print" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 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." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Gi nytt navn" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Nullstill" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Nullstill XYZ kal." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Gjenoppta print" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Gjenopptar print" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Høyre" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Høyre side[μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1701,136 +1785,148 @@ msgstr "" "Ved å kjøre Veilederen slettes all nåværende kalibreringsdata og du må " "begynne på nytt. Fortsette?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "F. tomt" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD-kort" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "STOPPET." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Søker etter kalibreringspunkt" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Velg" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "Velg filamenttype for Førstelags- kalibrering." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Velg filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Velg språk" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "Velg dysetemperatur som passer ditt materiale." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Velg temperaturen som passer ditt materiale." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Selvtest OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Selvtest starter" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Selvtest" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Selvtest feil!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Selvtest feilet" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Selvtest vil bli kjørt for å kalibrere nøyaktig sensorløs hjemposisjon." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Sensorinformasjon" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Sensor verifiserte, fjern filamentet nå." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Satt temperatur:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Innstillinger" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Stor skjevhet" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Plate" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1843,130 +1939,194 @@ msgstr "" "%cNullstill" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Vis endesensorer" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Lydløs" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Lett skjevhet" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." msgstr "Noen filer vil ikke bli sortert. Maks antall filer i en mappe er 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Problem møtt. Z aksjeplanering tvunget ..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Sorter" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Sorter filer" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Lyd" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Hastighet" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Spinner" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "En stabil rom- temperatur på 21-26C og et solid underlag er nødvendig." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistikk" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Stille" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Stål plate" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Stopp printjobb" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Streng" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "System info" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Byttet" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatur" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperaturer" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1977,7 +2137,7 @@ msgstr "" "skal se ut." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -1986,102 +2146,102 @@ msgstr "" "hovedmenyen og følg Veilederen." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Dato" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Tidsavbrudd" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Totalt" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Feil totalt" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filament totalt" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Printetid totalt" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Juster" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Last ut filament" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Laster ut filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Verifisering feilet. Fjern filamentet og prøv igjen." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Strøm/Volt" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2094,221 +2254,277 @@ msgstr "" "Stillemodus" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Venter på bruker..." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Venter på PINDA nedkjøling" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Venter på dyse- og platenedkjøling" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Advar" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Advarsel: Både printertype og hovedkortype er forandret." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Advarsel: Hovedkortype forandret." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Advarsel: Printertype forandret." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Ble filamentet lastet helt ut?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Koblingsfeil" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Veileder" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "X-korreksjon:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ cal. detaljer" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ kalibreringen er grei. Skjevhet blir justert automatisk." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ kalibreringen er god. Godt jobba!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "XYZ kalibreringen feilet. Front kalibreringspunkt ikke nådd." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "XYZ kalibreringen feilet. Høyre front kalibreringspunkt ikke nådd." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ kalibreringen feilet. Kalibreringspunkt ikke funnet." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ kalibreringen feilet. Front kalibreringspunkt ikke nådd." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "XYZ kal. mislyktes. Vennligst rådfør med håndboken." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "XYZ kalibreringen feilet. Høyre front kalibreringspunkt ikke nådd." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" "XYZ kalibrering OK.\n" "X og Y aksen er perpendikulær. Gratulerer!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y distanse fra min." #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Y-korreksjon:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Ja" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Du kan alltid starte Veilederen fra Kalibrering -> Veileder." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Z-korreksjon:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z-sensor nr." #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] punktforskyv." #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "og trykk på knappen" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "for filamentlast" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "for filament ut" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "ukjent" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "ukjent tilstand" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Forfriske" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Autolasting av fil. er kun tilgjengelig når fil.- sensoren er skrudd på..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Krasj oppdaget. Fortsette print?" + +#~ msgid "Cutting filament" +#~ msgstr "Kutter filament" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "ERROR: Filament- sensor svarer ikke. Vennligst sjekk koblingen." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 eller eldre" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 eller nyere" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Løs problemet og trykk på MM-enhetens knapp." + +#~ msgid "Load all" +#~ msgstr "Last alle" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Førstelagskal." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3 system funnet på MK3S printer" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S systemvare funnet på MK3 printer" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Gjenopptar posisjon..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Gjenopptar oppvarming..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Gjenopptar..." + +#~ msgid "MMU load failed" +#~ msgstr "MMU last feilet" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU trenger brukerinnvending." + +#~ msgid "MMU power fails" +#~ msgstr "MMU strøm feil" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Fjern filamentet og trykk valghjulet." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Oppdater din MMU2 systemvare. Venter på omstart..." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Trykk valghjulet for å fortsette oppvarming." + +#~ msgid "Runouts" +#~ msgstr "F. tomt" diff --git a/lang/po/Firmware_pl.po b/lang/po/Firmware_pl.po index eb9b538c8..252dc2cc7 100644 --- a/lang/po/Firmware_pl.po +++ b/lang/po/Firmware_pl.po @@ -16,170 +16,152 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 lub starszy" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 lub nowszy" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "Oczekiwano wersji %s" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Anuluj" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Ustawianie Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Wszystko OK" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Gotowe. Udanego drukowania!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfab" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Otoczenie" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Obydwa konce osi sa na szczycie?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Asyst." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Auto zerowanie" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Automatycz" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autoladowanie fil." -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Autoladowanie fil. dostepne tylko gdy czujnik filamentu jest wlaczony..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "Autoladowanie filamentu wlaczone, nacisnij pokretlo i wsun filament..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Os" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Dlugosc osi" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Wstecz" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Stol" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Grzanie stolu.." #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Stol OK" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Korekta stolu" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -188,51 +170,55 @@ msgstr "" "reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Stol/Grzanie" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Stan paskow" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test paskow" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Wykryto zanik napiecia.Kontynowac?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Jasny" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Jasnosc" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibracja XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibruj Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -241,13 +227,13 @@ msgstr "" "ogranicznikow. Nacisnij, by potwierdzic." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibruje Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -256,154 +242,151 @@ msgstr "" "ogranicznikow. Nacisnij, by potwierdzic." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Zerowanie osi" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibracja" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibracja OK" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Karta wyjeta" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Wymiana filamentu" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Wymiana ok!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Wymiana ok?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Kontrola osi X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Kontrola osi Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Kontrola osi Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Kontrola stolu" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Kontrola krancowek" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Sprawdzanie pliku" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Kontrola hotendu" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Kontrola czujnikow" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Testy" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Kolor zanieczysz." #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Od spolecznosci" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Kont." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Chlodzenie" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Skopiowac wybrany jezyk?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Zderzen" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Wykr.zderzen" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Zderzenie wykryte" -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Wykryto zderzenie. Wznowic druk?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -414,48 +397,48 @@ msgstr "" "tylko w\n" "trybie Normalnym" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Ciecie filamentu" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Nozyk" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Obcinanie fil." - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Data:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Sciemn" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Wylacz silniki" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -465,7 +448,7 @@ msgstr "" "z instrukcja: rozdzial Wprowadzenie - Kalibracja pierwszej warstwy." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -473,270 +456,345 @@ msgstr "" "Chcesz powtorzyc ostatni krok i ponownie ustawic odleglosc miedzy dysza a " "stolikiem?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "Korekcja-E:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "BLAD:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "BLAD: Czujnik filamentu nie odpowiada, sprawdz polaczenie." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Wysun filament" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Wysuwanie filamentu" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Krancowka" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Krancowka nie aktyw." #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Krancowki" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "Ekstruder" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "WentHotend:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Ekstruder - info" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "Autolad. fil." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "Akcja FS" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 lub starszy" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 lub nowszy" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Statystyki bledow" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Bledy MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falszywy alarm" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Predkosc went." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test wentylatora" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Sprawd.went." +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Konc.filamentu" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Czuj. filam." -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament wychodzi z dyszy,kolor jest ok?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. nie zaladowany" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Czujnik filamentu" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Uzyty filament" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Plik niekompletny. Kontynowac?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Konczenie druku" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Kal. 1. warstwy" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Najpierw wlacze selftest w celu sprawdzenia najczestszych problemow podczas " "montazu." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Rozwiaz problem i wcisnij przycisk na MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Przeplyw" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Przedni went. druku?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Przod [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Przedni/lewy wentyl." #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-code pociety dla innej wersji. Kontynuowac?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -744,14 +802,14 @@ msgstr "" "G-code pociety na innym poziomie. Potnij model ponownie. Druk anulowany." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-code pociety dla innej drukarki. Kontynuowac?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -760,12 +818,12 @@ msgstr "" "anulowany." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code pociety dla nowszego firmware. Kontynuowac?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -773,42 +831,42 @@ msgstr "" "G-code pociety dla nowszego firmware. Zaktualizuj firmware. Druk anulowany." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "Ustawienia HW" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Grzalka/Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Grzanie..." #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Grzanie wylaczone przez wyl. czasowy" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Grzanie zakonczone" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -818,7 +876,7 @@ msgstr "" "krotka kalibracje osi Z, po ktorej mozesz rozpoczac drukowanie." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -827,24 +885,45 @@ msgstr "" "ustawieniem?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Wysoka wyd" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Przeprowadze teraz kalibracje XYZ. Zajmie ok. 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Przeprowadze kalibracje Z." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -852,52 +931,28 @@ msgstr "" "Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu " "Ustawienia - Ustawienia HW - Plyty stalowe." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Ekran informacyjny" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Wprowadz filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." @@ -905,474 +960,467 @@ msgstr "" "Wsun filament (nie uzywaj funkcji ladowania) do ekstrudera i nacisnij " "pokretlo." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Filament jest zaladowany?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Czy plyta stal. jest na podgrzew. stole?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iteracja" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Ost. wydruk" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Ostatnie bledy druku" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Lewa" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Lewy went hotendu?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Lewo [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Poziom jasn." #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Poziom ciem." #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Korekcja liniowa" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Ustaw. Live Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Zalad. wszystkie" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Ladowanie fil." +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Zaladuj do dyszy" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Czyszcz. koloru" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Laduje filament" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Luzne kolo pasowe" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Glosny" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Kal. 1. warstwy" +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "Wykryto firmware MK3 w drukarce MK3S" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "Wykryto firmware MK3S w drukarce MK3" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "Tryb MMU" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Wznawianie pozycji." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Wznawiam nagrzewanie..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Wznawianie..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Bledy MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Blad ladowania MMU" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "Bledy lad. MMU" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU wymaga uwagi uzytkownika." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "Zaniki zas. MMU" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU podlaczone" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Kor. magnesow" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Menu glowne" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Zmierz. skos" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Okreslam wysokosc odniesienia punktu kalibracyjnego" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Siatka" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Poziomowanie stolu" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Tryb" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Trwa zmiana trybu..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "Silnik" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Ruch osi X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Ruch osi Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Ruch osi Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Ruch osi" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "N/D" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Dostepna nowa wersja firmware:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nie" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Brak karty SD" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Brak ruchu." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Brak" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nie podlaczono" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Nie kreci sie" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Kalibruje odleglosc miedzy koncowka dyszy a powierzchnia druku." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Nagrzewam dysze dla PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Teraz zdejmij wydruk testowy ze stolu." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Dysza" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Sr. dyszy" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Wyl" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Znaleziono stare ustawienia. Zostana przywrocone domyslne ust. PID, Esteps, " "itp." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "Wl" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "1-raz" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "Kalibracja PID" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "Kal. PID zakonczona" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "Kalibracja PID" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Grzanie sondy PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "Kalib. PINDA" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Kalibracja temperaturowa nieudana" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1380,24 +1428,36 @@ msgstr "" "Kalibracja PINDA zakonczona i wlaczona. Moze byc wylaczona z menu Ustawienia " "-> Kalib. PINDA" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pauza" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Wstrzym. wydruku" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1406,7 +1466,7 @@ msgstr "" "punktow. Jesli dysza zahaczy o papier, natychmiast wylacz drukarke." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1415,33 +1475,33 @@ msgstr "" "Asystenta przez restart drukarki." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Sprawdz polaczenie czujnika IR, rozladuj filament, jesli zaladowany." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Sprawdz:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Oczysc powierzchnie druku i nacisnij pokretlo." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Dla prawidlowej kalibracji nalezy oczyscic dysze. Potwierdz guzikiem." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "Wsun filament do ekstrudera i nacisnij pokretlo, aby go zaladowac." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1450,173 +1510,157 @@ msgstr "" "zaladowac." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Najpierw zaladuj filament." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" "Prosze odciagnac dzwignie dociskowa ekstrudera i recznie usunac filament." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Prosze umiescic plyte stalowa na stole podgrzewanym." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Nacisnij pokretlo aby rozladowac filament" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Wyciagnij filament teraz" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Wyciagnij filament i wcisnij pokretlo." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Najpierw usun zabezpieczenia transportowe" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Prosze zdjac plyte stalowa z podgrzewanego stolu." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Prosze najpierw uruchomic kalibracje XYZ" #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Najpierw rozladuj filament, nastepnie powtorz czynnosc." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Prosze zaktualizowac Firmware MMU2. Czekam na reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Prosze zaktualizowac" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Prosze czekac" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Zaniki zasil." #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Grzanie" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Nagrzej dysze!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Nagrzewanie dyszy. Prosze czekac." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Nagrzew. obciecia" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Nagrzew. wysuniecia" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Nagrzew.do ladowania" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Nagrzew. do rozlad." -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Wcisnij pokretlo" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Wcisnij pokretlo aby rozgrzac dysze i kontynuowac." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Wcisnij pokretlo aby wznowic podgrzewanie dyszy." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Druk przerwany" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "WentWydruk:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Druk z karty SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Druk wstrzymany" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Czas druku" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "Adr. IP drukarki:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1625,82 +1669,122 @@ msgstr "" "Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Srednica dyszy drukarki rozni sie od tej w G-code. Kontynuowac?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." msgstr "" "Srednica dyszy rozni sie od tej w G-code. Sprawdz ustawienia. Druk anulowany." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "Port RPi" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Tyl [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Wznawianie wydruku" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Wyciagnij poprzedni filament i nacisnij pokretlo aby zaladowac nowy." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Zmien nazwe" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset kalibr. XYZ" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Wznowic wydruk" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Wznawianie druku" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Prawa" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Prawo [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1708,37 +1792,41 @@ msgstr "" "Wlaczenie Asystenta usunie obecne dane kalibracyjne i zacznie od poczatku. " "Kontynuowac?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Konce f" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "Karta SD" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "ZATRZYMANO." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Szukam punktu kalib. na stole" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Wybierz" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1747,100 +1835,108 @@ msgstr "" "ekranowym." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Wybierz ekstruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Wybierz filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Wybor jezyka" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "Wybierz temperature grzania dyszy odpowiednia dla materialu." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Wybierz temperature, ktora odpowiada Twojemu filamentowi." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Selftest OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Selftest startuje" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Blad selftest!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Selftest nieudany" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Zostanie uruchomiony Selftest aby dokladnie skalibrowac punkt bazowy bez " "krancowek" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Info o sensorach" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Czujnik sprawdzony, wyciagnij filament." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Ustaw temperature:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Ustawienia" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Znaczny skos" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Plyta" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1853,23 +1949,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Pokaz krancowki" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Cichy" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Lekki skos" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1878,108 +1974,172 @@ msgstr "" "100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Wykryto problem, wymuszono poziomowanie osi Z." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Sort." #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Sortowanie plikow" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Dzwiek" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Predkosc" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Kreci sie" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Potrzebna jest stabilna temperatura otoczenia 21-26C i stabilne podloze." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statystyki" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Cichy" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Plyty stalowe" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Przerwanie druku" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Restr." #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Wsparcie" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Zamieniono" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatura" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperatury" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1990,7 +2150,7 @@ msgstr "" "Kalibracja)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -1999,102 +2159,102 @@ msgstr "" "Kroki, sekcja Kalibracja." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Czas" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "Wyl. czas." #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Suma" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Suma bledow" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Zuzycie filamentu" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Laczny czas druku" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Strojenie" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Rozladowanie fil" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Rozladowuje filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Niepowodzenie sprawdzenia, wyciagnij filament i sprobuj ponownie." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Napiecia" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2107,224 +2267,280 @@ msgstr "" "trybie Stealth" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Czekam na uzytk. ..." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Czekam az spadnie temp. sondy PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Oczekiwanie na wychlodzenie dyszy i stolu" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Ostrzez" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Ostrzezenie: typ drukarki i plyta glowna ulegly zmianie." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Ostrzezenie: plyta glowna ulegla zmianie." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Ostrzezenie: rodzaj drukarki ulegl zmianie" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Rozladowanie fil. ok?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Blad polaczenia" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Asystent" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Korekcja-X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "Szczegoly kal. XYZ" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Kalibracja XYZ pomyslna. Skos bedzie automatycznie korygowany." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibr. XYZ niedokladna. Przednie punkty kalibr. nieosiagalne." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibracja XYZ niedokladna. Prawy przedni punkt nieosiagalny." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibracja XYZ nieudana. Nie znaleziono punktow kalibracyjnych." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "Kalibr. XYZ nieudana. Przednie punkty kalibr. nieosiagalne. Nalezy poprawic " "montaz drukarki." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Kalibracja XYZ nieudana. Sprawdz przyczyny i rozwiazania w instrukcji." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "Kalibr. XYZ nieudana. Prawy przedni punkt nieosiagalny. Nalezy poprawic " "montaz drukarki." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Dystans od 0 w osi Y" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Korekcja-Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Tak" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" "Zawsze mozesz uruchomic Asystenta ponownie przez Kalibracja -> Asystent." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Korekcja-Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Ilosc Pomiarow" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] przesun.punktu" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "i nacisnij pokretlo" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "aby zaladow. fil." #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "aby rozlad. filament" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "nieznane" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "Stan nieznany" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Odswiezac" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Autoladowanie fil. dostepne tylko gdy czujnik filamentu jest wlaczony..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Wykryto zderzenie. Wznowic druk?" + +#~ msgid "Cutting filament" +#~ msgstr "Obcinanie fil." + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "BLAD: Czujnik filamentu nie odpowiada, sprawdz polaczenie." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 lub starszy" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 lub nowszy" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Rozwiaz problem i wcisnij przycisk na MMU." + +#~ msgid "Load all" +#~ msgstr "Zalad. wszystkie" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Kal. 1. warstwy" + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "Wykryto firmware MK3 w drukarce MK3S" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "Wykryto firmware MK3S w drukarce MK3" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Wznawianie pozycji." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Wznawiam nagrzewanie..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Wznawianie..." + +#~ msgid "MMU load failed" +#~ msgstr "Blad ladowania MMU" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU wymaga uwagi uzytkownika." + +#~ msgid "MMU power fails" +#~ msgstr "Zaniki zas. MMU" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Wyciagnij filament i wcisnij pokretlo." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Prosze zaktualizowac Firmware MMU2. Czekam na reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Wcisnij pokretlo aby wznowic podgrzewanie dyszy." + +#~ msgid "Runouts" +#~ msgstr "Konce f" diff --git a/lang/po/Firmware_ro.po b/lang/po/Firmware_ro.po index b8c04adbf..500989bb2 100644 --- a/lang/po/Firmware_ro.po +++ b/lang/po/Firmware_ro.po @@ -16,172 +16,154 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 / mai vechi" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 / mai nou" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "nivel %s asteptat" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Anuleaza" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Ajustare Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Totul OK" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Totul este OK. Distractie placuta!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfabet" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Ambiental" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Este axa Z aliniata sus?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Asist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Put. auto" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Incarcarea automata de fil. e valabila doar cand senzorul este pornit..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Incarcarea automata de filament pornita; apasati butonul si incarcati " "filamentul" +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Axa" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Lungime axa" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Inapoi" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Pat" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Patul se incalzeste" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Pat incalzit" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Nivelare pat" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -190,51 +172,55 @@ msgstr "" "reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Incalzitor/Pat" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Status curele" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test curele" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Pana de curent. Continuati printul?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Maxim" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Luminozitate ecran" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Calibrare XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Calibrare Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -243,13 +229,13 @@ msgstr "" "butonul cand este gata." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Calibrare Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -258,154 +244,151 @@ msgstr "" "butonul cand este gata." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Calibrare home" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Calibrare" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Calibrare gata" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Card scos" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Schimba filamentul" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Schimbare cu succes!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Schimbat corect?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Verificare axa X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Verificare axa Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Verificare axa Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Verificare pat" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Verif. endstop-uri" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Verif. fisier" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Verificare hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Verificare senzori" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Verificari" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Culoare gresita" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Comunitate" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Racire" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Copiaza limba selectata?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Coliz." #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Det.coliziune" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Coliziune detectata." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Coliziune detectata. Continuati printul?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -415,48 +398,48 @@ msgstr "" "poate fi pornita\n" "doar in modul normal" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Taie filamentul" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Filamentul se taie" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Data:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Minim" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Oprire steppere" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -466,7 +449,7 @@ msgstr "" "manual, capitolul First steps, sectiunea First layer calibration." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -474,270 +457,345 @@ msgstr "" "Vreti sa repetati ultimul pas pentru a reajusta distanta dintre varf si " "suprafata de print?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "EROARE:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "EROARE: Senzorul de filament nu merge, verificati conexiunea." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Scoate filament" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Se scoate filamentul" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Endstop neatins" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Endstop-uri" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Vent. extruder:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "Info. extruder" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "Autoload fil." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "Actiune FS" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 / mai vechi" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 / mai nou" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Statistici erori" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Stat. erori MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "nu detect. schimbare" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Viteza vent." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test ventilator" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Verif. vent." +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Epuizari fil." #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Senzor fil." -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Fil. curge si are culoarea corecta?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Fil. nu e incarcat" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Senz. de filament" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Filament folosit" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Fisier incomplet. Continua oricum?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Finalizare miscari" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Cal. first layer" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Mai intai, voi rula testele automate pentru a verifica cele mai intalnite " "probleme de asamblare." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Rezolvati problema si apasati butonul pe unitatea MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Vent. print?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Fata [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Ventilatoarele sunt" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "Versiune de G-code incorecta. Continuati?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -746,14 +804,14 @@ msgstr "" "anulat." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-code pregatit pentru un alt tip de printer. Continuati?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -762,12 +820,12 @@ msgstr "" "nou. Print anulat." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code pregatit pentru firmware mai nou. Continuati?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -776,42 +834,42 @@ msgstr "" "Print anulat." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "Setup HW" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Incalzitor/Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Incalzire" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Incalzirea dezactivata de timer-ul de siguranta" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Incalzirea gata." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -821,7 +879,7 @@ msgstr "" "proces de setup in care axa Z va fi calibrata. Apoi, vei fi gata sa printezi." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -830,24 +888,45 @@ msgstr "" "automate si calibrarile?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Put. max" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Voi rula calibrarea XYZ acum. Va dura aprox. 12 minute." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Voi rula calibrarea Z acum." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -855,523 +934,492 @@ msgstr "" "Daca ai suprafete de print suplimentare, calibreaza-le in Setari - Setup HW " "- Suprafete print." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Ecran informatii" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Incarca filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "Infige filamentul (nu-l incarca) in extruder si apasa butonul." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Este filamentul incarcat?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Este suprafata de print pe pat?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Iteratie" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Ultimul print" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Err. ultimului print" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Stanga" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Vent. hotend?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Stanga [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Lum. maxim" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Lum. minim" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Corectie lin." #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Reglare Z live" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Incarcati toate" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Incarca filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Incarca extruder" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Incarcare culoare" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Incarcare filament" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Fulie slabita" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Tare" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Cal. first layer" +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "Firmware MK3 detectat pe imprimanta MK3S" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "Firmware MK3S detectat pe imprimanta MK3" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "Mod MMU" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Se reia pozitia..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Restabilire temperatura..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Reluare..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Erori MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "Eroare incarcare MMU" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "Err. incarc MMU" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU necesita atentia utilizatorului." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "Err. MMU curent" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 conectat" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Comp. magneti" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Meniu principal" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Distorsiune" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Masurare distanta de referinta pentru punctul de calib." #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Calibrare mesh" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Mod" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Schimbare mod in progres..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Miscare X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Miscare Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Miscare Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Miscare axe" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Vers. de firmware noua disponibila:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nu" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Fara card SD" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Fara miscare." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "N/A" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nu este conectat" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Nu se roteste" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Acum voi calibra distanta dintre varf si suprafata patului." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Acum voi preincalzi extruder-ul pentru PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Acum inlaturati printul de test de pe suprafata de print." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Varf" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Diam. varf" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Setari vechi detectate. PID, Esteps etc. de baza vor fi setate." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "O data" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "Calibrare PID" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "Calibrare PID gata" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "Calibrare PID" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Incalzire PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "Cal. PINDA" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Calibrarea temperaturii a esuat" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1379,24 +1427,36 @@ msgstr "" "Calibrarea PINDA s-a terminat si este activa. Poate fi dezactivata din " "meniul Setari->Cal. PINDA" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pauza" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pauza print" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1405,7 +1465,7 @@ msgstr "" "Daca varful prinde hartia, opriti imediat imprimanta." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1414,27 +1474,27 @@ msgstr "" "ul repornind imprimanta." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Verificati senzorul IR, scoateti filamentul daca exista." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Verificati:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Curatati patul si apoi apasati butonul pentru a continua." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Curatati varful pentru calibrare. Apasati butonul cand terminati." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" @@ -1442,7 +1502,7 @@ msgstr "" "incarca." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1451,172 +1511,156 @@ msgstr "" "pentru a-l incarca." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Va rugam incarcati filamentul mai intai." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Deschideti idler-ul si scoateti filamentul manual." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Asezati suprafata de print pe pat." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Apasati butonul pentru a scoate filamentul." #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Va rugam scoateti filamentul imediat" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Va rugam scoateti filamentul, iar apoi apasati butonul." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Va rugam scoateti protectiile de transport mai intai." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Va rugam indepartati suprafata de print de pe pat." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Va rugam rulati calibrarea XYZ mai intai." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Va rugam mai intai sa scoateti filamentul, apoi incercati din nou." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Va rugam actualizati firmware-ul MMU2. Se asteapta resetarea." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Va rugam actualizati" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Va rog asteptati" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Err. alimentare" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Preincalzire" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Preincalziti varful!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Preincalzire extruder. Asteptati, va rugam." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Preincalzire..." #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Preincalzire..." #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Preincalzire load" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Preincalzire unload" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Apasati butonul" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Apasati butonul pentru a preincalzi extruder-ul si continuati." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Apasati butonul pentru a restabili temperatura extruder-ului." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Print anulat" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Vent. print:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Printare de pe SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Print oprit" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Durata print" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "IP imprimanta:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1625,12 +1669,12 @@ msgstr "" "capitolul First steps, sectiunea Calibration flow." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Diametrul varfului este diferit de cel din G-code. Continuati?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1638,71 +1682,111 @@ msgstr "" "Diametrul varfului este diferit de cel din G-code. Va rugam verificati " "valoarea in setari. Print anulat." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "Port RPi" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Spate [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Recuperare print" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Scoateti filamentul vechi si apasati butonul pentru a incarca filamentul nou." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Redenumeste" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Reset." +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset. calibr. XYZ" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Continua print" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Reluare print..." +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Dreapta" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Dreapta [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1710,37 +1794,41 @@ msgstr "" "Rularea Wizard-ului va sterge rezultatele curente ale calibrarii si va porni " "de la inceput. Continuati?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "Card SD" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "OPRIT." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Se cauta punctele de calibrare" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Selecteaza" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1749,100 +1837,108 @@ msgstr "" "ecran." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Alege extruderul:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Select. filamentul:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Selectati limba" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" "Selectati temperatura de preheat a extruder-ului pentru materialul ales." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Selectati temp. potrivita pentru materialul curent." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Testare automata OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Start Autotestare" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Testare automata" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Err. test. automata!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Autotestare esuata" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Testarea automata va fi rulata pentru a calibra sensorless rehoming-ul." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Info. senzori" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Senzorul a fost verificat, scoate filamentul." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Setati temperatura:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Setari" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Dist. severa" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Suprafata" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1855,23 +1951,23 @@ msgstr "" "%cReset." #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Stare endstop-uri" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Silent." #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Dist. usoara" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1880,108 +1976,172 @@ msgstr "" "care pot fi sortate este 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "A fost intalnita o problema, calibrarea Z a fost initiata..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Sortare" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Sortare fisiere..." -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Sunet" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Viteza" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Se roteste" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" "Temp. ambient. stabila (21-26C) si o suprafata de lucru rigida necesare." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistici" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Silent." #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Suprafete print" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Oprire print" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Informatii" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "inversate" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatura" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperaturi" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1991,7 +2151,7 @@ msgstr "" "inaltimea optima. Folositi pozele din handbook (capitolul Calibration)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2000,102 +2160,102 @@ msgstr "" "First steps, sectiunea Calibration flow." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Data" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Total erori" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filament total" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Durata totala print" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Optiuni" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Descarca filament" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Scoatere filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Verificarea a esuat, scoateti filamentul si incercati din nou." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Voltaje" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2108,99 +2268,99 @@ msgstr "" "modul silentios" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Se asteapta..." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Se asteapta racirea probei PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Se ateapta racirea extruder-ului si a patului" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Avert." #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Atentie: tipul imprimantei si al placii de baza s-a schimbat." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Atentie: tipul placii de baza s-a schimbat." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Atentie: tipul imprimantei s-a schimbat." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Filamentul a fost scos cu succes?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Eroare de cablare" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Corect. X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "Detalii cal. XYZ" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "Calibrarea XYZ in regula. Distorsiunea va fi corectata automat." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" "Calibrarea XYZ in regula. Axele X/Y sunt distorsionate putin. Felicitari!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" "Calibrarea XYZ compromisa. Punctele de calibrare din fata nu pot fi atinse." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" @@ -2208,127 +2368,180 @@ msgstr "" "atinse." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" "Calibrarea XYZ a esuat. Un punct de calibrare a patului nu a fost gasit." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "Calibrarea XYZ a esuat. Punctele de calibrare din fata nu pot fi atinse." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Calibrarea XYZ a esuat. Va rugam consultati manualul." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "Calibrarea XYZ a esuat. Punctele de calibrare din fata dreapta nu pot fi " "atinse." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Calibrarea XYZ ok. Axele X/Y sunt perpendiculare. Felicitari!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Distanta Y de la min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Corect. Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Da" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Puteti oricand sa reluati Wizard-ul din Calibrare -> Wizard." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Corect. Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Nr. Z-probe" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "compensare origine" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "si apasa butonul" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "a incarca filament" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "a scoate filament" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "necunoscut" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "vers. necunoscuta" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Reimprospata" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Incarcarea automata de fil. e valabila doar cand senzorul este pornit..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Coliziune detectata. Continuati printul?" + +#~ msgid "Cutting filament" +#~ msgstr "Filamentul se taie" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "EROARE: Senzorul de filament nu merge, verificati conexiunea." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 / mai vechi" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 / mai nou" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Rezolvati problema si apasati butonul pe unitatea MMU." + +#~ msgid "Load all" +#~ msgstr "Incarcati toate" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Cal. first layer" + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "Firmware MK3 detectat pe imprimanta MK3S" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "Firmware MK3S detectat pe imprimanta MK3" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Se reia pozitia..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Restabilire temperatura..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Reluare..." + +#~ msgid "MMU load failed" +#~ msgstr "Eroare incarcare MMU" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU necesita atentia utilizatorului." + +#~ msgid "MMU power fails" +#~ msgstr "Err. MMU curent" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Va rugam scoateti filamentul, iar apoi apasati butonul." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Va rugam actualizati firmware-ul MMU2. Se asteapta resetarea." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Apasati butonul pentru a restabili temperatura extruder-ului." diff --git a/lang/po/Firmware_sk.po b/lang/po/Firmware_sk.po index 7381b7d72..f0714d1be 100644 --- a/lang/po/Firmware_sk.po +++ b/lang/po/Firmware_sk.po @@ -16,171 +16,153 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 a starsie" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 a novsie" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "Ocakavana verzia %s" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Zrusit" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Doladenie Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Vsetko OK" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Vsetko je hotove!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Abeceda" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Okolie" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Dosli oba Z voziky k hornemu dorazu?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "Asist." #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Automat." #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autozav. filamentu" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" -"Autom. zavedenie filamentu je mozne len pri zapnutom senzore filamentu..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Autom. zavedenie filamentu aktivne, stlacte tlacidlo a vlozte filament..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Os" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Dlzka osi" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Spat" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Podlozka" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Zahrievanie podlozky" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Podlozka OK." #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Korekcie podlozky" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -188,51 +170,55 @@ msgstr "" "Kalibracia Z zlyhala. Sensor nezopol. Znecistena tryska? Cakam na reset." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Podlozka/Zohrievanie" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Stav remena" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Test remena" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Nastal vypadok prudu. Obnovit tlac?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Jasne" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Podsvietenie" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibracia XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibrovat Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -241,13 +227,13 @@ msgstr "" "tlacidlom." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibrujem Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -256,154 +242,151 @@ msgstr "" "tlacidlom." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibr. vychodziu p." #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibracia" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibracia OK" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Karta vysunuta" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Vymenit filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Zmena uspesna!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Vymena ok?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Kontrola osi X" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Kontrola osi Y" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Kontrola osi Z" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Kontrola podlozky" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Kontrola endstopu" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Kontrolujem subor" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Kontrola hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Kontrola senzorov" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Kontrola" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Nespravna farba" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Komunitny prekl." -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Pokr." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Schladit" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Kopirovat vybrany jazyk?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Naraz" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Det. narazu" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Zisteny naraz." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Zisteny naraz. Obnovit tlac?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -413,48 +396,48 @@ msgstr "" "byt zapnuta len v\n" "Normal mode" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Odstrihnut" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Strihanie" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Strihanie filam." - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "Temny" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Vypnut motory" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -464,7 +447,7 @@ msgstr "" "manualu, kapitola Zaciname, odstavec Nastavenie prvej vrstvy." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -472,270 +455,345 @@ msgstr "" "Chcete opakovat posledny krok a pozmenit vzdialenost medzi tryskou a " "podlozkou?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "Korekcia E:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "CHYBA:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "CHYBA: Filament senzor nereaguje, skontrolujte prosim zapojenie." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Vysunut fil." -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Vysuvam filament" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Koncovy spinac" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Kon. spinac nezopol" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Konc. spinace" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Lavy vent.:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autozav." +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS reakcia" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS 0.3 a starsie" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS 0.4 a novsie" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Zlyhanie" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Zlyhanie MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Falosne spustenie" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Rychlost vent." #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Test ventilatora" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Kontr. vent." +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Vypadky filam." #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "Fil. senzor" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Filament vytlaceny a spravnej farby?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Filament nezavedeny" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "Senzor filamentu" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Spotrebovany filam." #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Subor nekompletny. Pokracovat?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Dokoncovanie pohybu" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Kal. prvej vrstvy" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Najskor pomocou selftestu skontrolujem nejcastejsie chyby vznikajuce pri " "zostaveni tlaciarne." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Opravte chybu a potom stlacte tlacidlo na jednotke MMU." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Prietok" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Predny tlacovy vent?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "Vpredu [μm]" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Predny/lavy vent." #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-code pripraveny pre inu uroven. Pokracovat?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -743,14 +801,14 @@ msgstr "" "G-code pripraveny pre inu verziu. Vygenerujte G-code znova. Tlac zrusena." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-code je pripraveny pre iny typ tlaciarne. Pokracovat?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -759,12 +817,12 @@ msgstr "" "zrusena." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-code je pripraveny pre novsi firmware. Pokracovat?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -773,42 +831,42 @@ msgstr "" "zrusena." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW nastavenie" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Zohr./Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Zahrievanie" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Zohrievanie prerusene bezpecnostnym casovacom." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Zahrievanie OK." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -818,7 +876,7 @@ msgstr "" "nastavenia, v ktorom skalibrujem os Z. Potom budete moct zacat tlacit." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -827,24 +885,45 @@ msgstr "" "previedla kalibracnym procesom?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Vys. vykon" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "Teraz urobim XYZ kalibraciu. Zaberie to priblizne 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Teraz urobim kalibraciu Z." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -852,523 +931,492 @@ msgstr "" "Ak mate viac platni, kalibrujte ich v menu Nastavenie - HW nastavenie - " "Platne" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Informacie" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Vlozte filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "Vlozte filament (nezavadzajte) do extruderu a stlacte tlacidlo" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Je filament zavedeny?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Je platna na podlozke?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "Opakovanie" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Posledna tlac" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Zlyhanie posl. tlace" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Vlavo" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Lavy vent na tryske?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Vlavo [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Normalne" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Stlmene" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Korekcia lin." #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Doladenie osi Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Zaviest vsetko" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Zaviest filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Zaved. do trysky" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Cistenie farby" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Zavedenie filamentu" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Uvolnena remenica" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Hlasny" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Kal. prvej vrstvy" +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3 firmware na MK3S tlaciarni" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S firmware na MK3 tlaciarni" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU mod" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Pokracujem v tlaci..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Pokracujem v nahrievani..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Pokracujem..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "Zlyhanie MMU" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "MMU zaved. zlyhalo" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU zlyhalo" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU potrebuje zasah uzivatela." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU vyp. prudu" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 pripojene" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Komp. magnetu" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Hlavna ponuka" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Merane skos." #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Meriam referencnu vysku kalibracneho bodu" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "Mod" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Prebieha zmena modu..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Posunut X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Posunut Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Posunut Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Posunut os" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Vysla nova verzia firmware:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nie" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Ziadna SD karta" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Bez pohybu." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Ziadne" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Nezapojene" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Netoci sa" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "Teraz skalibrujem vzdialenost medzi koncom trysky a povrchom podlozky." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Teraz predhrejem trysku pre PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Teraz odstrante testovaci vytlacok z platne." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Tryska" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Tryska" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Vyp" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "Neplatne hodnoty nastavenia. Bude pouzite predvolene PID, Esteps atd." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "Zap" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "Raz" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kal." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kal. ukoncena" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibracia" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "Nahrievanie PINDA" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA kal." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "Teplotna kalibracia zlyhala" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1376,24 +1424,36 @@ msgstr "" "PINDA kalibracia dokoncena a je teraz aktivna. Da je mozno deaktivovat v " "menu Nastavenie->PINDA kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Pauza" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pozastavit tlac" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1403,7 +1463,7 @@ msgstr "" "tlacidlom X." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1412,35 +1472,35 @@ msgstr "" "restartovanim tlaciarne." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Prosim skontrolujte zapojenie IR senzoru a vyberte filament" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Skontrolujte:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Prosim ocistite podlozku a stlacte tlacidlo." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" "Pre uspesnu kalibraciu ocistite prosim tlacovu trysku. Potvrdte tlacidlom." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" "Prosim vlozte filament do extruderu a stlacte tlacidlo k jeho zavedeniu" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1449,172 +1509,156 @@ msgstr "" "zavedeniu" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Prosim najskor zavedte filament" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Prosim otvorte idler a manualne odstrante filament." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Umiestnite prosim platnu na podlozku" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Pre vysunutie filamentu stlacte prosim tlacidlo" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Prosim vyberte urychlene filament" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Prosim vyberte filament a potom stlacte tlacidlo." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Najskor prosim odstrante prevozne suciastky." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Odstrante prosim platnu z pozdlozky." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Nejskor spustte kalibraciu XYZ." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Prosim vyberte filament a zopakujte tuto akciu" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Prosim aktualizujte firmware v vasej MMU2 jednotke. Cakam na reset." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Aktualizujte prosim." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Cakajte prosim" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Vypadky prudu" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Predohrev" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Predhrejte trysku!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Predhrev trysky. Prosim cakajte." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Predhrev k strihu" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Predhrev k vysunutiu" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Predhrev k zavedeniu" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Predhrev k vybratiu" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Stlacte tlacidlo" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Pre nahriatie trysky a pokracovanie stlacte tlacidlo." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Pre pokracovanie nahrievania trysky stlacte tlacidlo." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Tlac prerusena" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Tlacovy vent.:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Tlac z SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Tlac pozastavena" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Cas tlace" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "IP adr. tlaciarne:" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1623,12 +1667,12 @@ msgstr "" "kapitola Zaciname, odstavec Postup kalibracie." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Priemer trysky tlaciarne sa lisi od G-code. Pokracovat?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1636,70 +1680,110 @@ msgstr "" "Priemer trysky tlaciarne sa lisi od G-code. Prosim skontrolujte nastavenie. " "Tlac zrusena." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Vzadu [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Obnovovanie tlace" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "Vyberte stary filament a stlacte tlacidlo pre zavedenie noveho." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Premenovat" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Reset XYZ kalibr." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Pokracovat" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Obnovenie tlace" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Vpravo" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Vpravo [μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1707,135 +1791,147 @@ msgstr "" "Spustenie Sprievodcu vymaze ulozene vysledky vsetkych kalibracii a spusti " "kalibracny proces od zaciatku. Pokracovat?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD karta" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "ZASTAVENE." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Hladam kalibracny bod podlozky" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Vybrat" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "Zvolte filament pre kalibraciu prvej vrstvy z nasledujuceho menu" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Vyberte extruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Zvolte filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Vyber jazyka" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "Vyberte teplotu predohrevu trysky ktora zodpoveda vasmu materialu." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Zvolte teplotu, ktora odpoveda vasmu materialu." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Chyba Selftestu!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Selftest zlyhal" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "Pre kalibraciu presneho rehomovania bude teraz spusteny selftest." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Senzor info" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Senzor overeny, vyberte filament." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Nastavte teplotu:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Nastavenie" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Tazke skos." #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Platna" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1848,23 +1944,23 @@ msgstr "" "%cReset" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Stav konc. spin." #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Tichy" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Lahke skos." #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1873,107 +1969,171 @@ msgstr "" "zoradenie je 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Vyskytol sa problem, zarovnam os Z ..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Triedit" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Triedenie suborov" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Zvuk" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Rychlost" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Toci sa" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Je vyzadovana stabilna izbova teplota 21-26C a pevna podlozka." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistika" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Tichy" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Platne" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Zastavit tlac" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Prisne" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "Podpora" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Prehodene" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Teplota" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Teploty" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1983,7 +2143,7 @@ msgstr "" "vysku. Postupujte podla obrazku v handbooku (kapitola Kalibracia)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -1992,102 +2152,102 @@ msgstr "" "Zaciname, sekcia Postup kalibracie." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Cas" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "Celkom" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Celkom zlyhani" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Filament celkom" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Celkovy cas tlace" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Ladit" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Vybrat filament" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Vysuvam filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Overenie zlyhalo, vyberte filament a skuste znovu." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Napatie" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2100,224 +2260,277 @@ msgstr "" "Stealth mode" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Caka sa na uzivatela" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Cakanie na schladnutie PINDA" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Cakanie na schladenie trysky a podlozky." #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Varovat" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Varovanie: doslo k zmene typu tlaciarne a motherboardu." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Varovanie: doslo k zmene typu motherboardu." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Varovanie: doslo k zmene typu tlaciarne." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Bolo vysunutie filamentu uspesne?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Chyba zapojenia" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Sprievodca" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "Korekcia X:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "Detaily XYZ kal." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" "Kalibracia XYZ v poradku. Skosenie bude automaticky vyrovnane pri tlaci." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "Kalibracia XYZ v poriadku. X/Y osi mierne skosene. Dobra praca!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "Kalibracia XYZ nepresna. Predne kalibracne body su velmi vpredu." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "Kalibracia XYZ nepresna. Pravy predny bod je velmi vpredu." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "Kalibracia XYZ zlyhala. Kalibracny bod podlozky nenajdeny." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" "Kalibracia XYZ zlyhala. Predne kalibracne body velmi vpredu. Zrovnajte " "tlaciaren." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "Kalibracia XYZ zlyhala. Nahliadnite do manualu." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "Kalibracia XYZ zlyhala. Pravy predny bod velmi vpredu. Zrovnajte tlaciaren." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "Kalibracia XYZ v poradku. X/Y osi su kolme. Gratulujem!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y vzdialenost od min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Korekcia Y:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Ano" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" "Sprievodcu mozete kedykolvek znovu spustit z menu Kalibracia -> Sprievodca" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Korekcia Z:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Pocet merani Z" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] odsadenie bodu" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "a stlacte tlacidlo" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "k zavedeniu filam." #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "k vybraniu filamentu" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "neznamy" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "neznamy stav" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Obnovit" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "" +#~ "Autom. zavedenie filamentu je mozne len pri zapnutom senzore filamentu..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Zisteny naraz. Obnovit tlac?" + +#~ msgid "Cutting filament" +#~ msgstr "Strihanie filam." + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "CHYBA: Filament senzor nereaguje, skontrolujte prosim zapojenie." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS 0.3 a starsie" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS 0.4 a novsie" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Opravte chybu a potom stlacte tlacidlo na jednotke MMU." + +#~ msgid "Load all" +#~ msgstr "Zaviest vsetko" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Kal. prvej vrstvy" + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3 firmware na MK3S tlaciarni" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S firmware na MK3 tlaciarni" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Pokracujem v tlaci..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Pokracujem v nahrievani..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Pokracujem..." + +#~ msgid "MMU load failed" +#~ msgstr "MMU zaved. zlyhalo" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU potrebuje zasah uzivatela." + +#~ msgid "MMU power fails" +#~ msgstr "MMU vyp. prudu" + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Prosim vyberte filament a potom stlacte tlacidlo." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Prosim aktualizujte firmware v vasej MMU2 jednotke. Cakam na reset." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Pre pokracovanie nahrievania trysky stlacte tlacidlo." diff --git a/lang/po/Firmware_sl.po b/lang/po/Firmware_sl.po index 7aef07dd6..56386235f 100644 --- a/lang/po/Firmware_sl.po +++ b/lang/po/Firmware_sl.po @@ -16,435 +16,419 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr "" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr "" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr "" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "" - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." msgstr "" #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." msgstr "" #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "" #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "" #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "" -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" "Normal mode" msgstr "" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -452,342 +436,417 @@ msgid "" msgstr "" #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" msgstr "" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "" - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "" #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "" - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." msgstr "" #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." msgstr "" #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "" #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "" -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -795,7 +854,7 @@ msgid "" msgstr "" #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -804,996 +863,1034 @@ msgstr "" "skozi postopek nastavitve?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "" +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." msgstr "" -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "" - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "" #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "" #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "" -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "" #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "" #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "" -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "" #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "" #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." msgstr "" +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." msgstr "" #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." msgstr "" #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "" #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "" #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "" #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." msgstr "" #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "" #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "" #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "" #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "" - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "" #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "" #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "" #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "" -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "" - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "" #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "" #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "" -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "" - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." msgstr "" #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." msgstr "" +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "" #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" msgstr "" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "" #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." msgstr "" #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "" #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "" +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "" #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1802,130 +1899,194 @@ msgid "" msgstr "" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." msgstr "" #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "" #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "" #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1933,109 +2094,109 @@ msgid "" msgstr "" #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." msgstr "" #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "" #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2044,219 +2205,210 @@ msgid "" msgstr "" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "" #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "" #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "" #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "" #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "" #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "" #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "" diff --git a/lang/po/Firmware_sv.po b/lang/po/Firmware_sv.po index f4c873af9..31a33ed62 100644 --- a/lang/po/Firmware_sv.po +++ b/lang/po/Firmware_sv.po @@ -16,170 +16,153 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #. MSG_IR_03_OR_OLDER c=18 -#: ../../Firmware/fsensor.cpp:178 ../../Firmware/messages.c:166 +#: ../../Firmware/Filament_sensor.cpp:287 +#: ../../Firmware/Filament_sensor.cpp:362 ../../Firmware/messages.cpp:165 msgid " 0.3 or older" msgstr " 0.3 el äldre" #. MSG_IR_04_OR_NEWER c=18 -#: ../../Firmware/fsensor.cpp:180 ../../Firmware/messages.c:165 +#: ../../Firmware/Filament_sensor.cpp:289 +#: ../../Firmware/Filament_sensor.cpp:365 ../../Firmware/messages.cpp:164 msgid " 0.4 or newer" msgstr " 0.4 el nyare" -#. MSG_FACTOR -#: ../../Firmware/ultralcd.cpp:6966 -msgid " ° Fact" -msgstr "" - -#. MSG_MAX -#: ../../Firmware/ultralcd.cpp:6965 -msgid " ° Max" -msgstr "" - -#. MSG_MIN -#: ../../Firmware/ultralcd.cpp:6964 -msgid " ° Min" -msgstr "" - #. MSG_SELFTEST_FS_LEVEL c=20 -#: ../../Firmware/ultralcd.cpp:8100 +#: ../../Firmware/ultralcd.cpp:7035 msgid "%s level expected" msgstr "%s nivå förväntad" -#. MSG_CANCEL c=9 -#: ../../Firmware/messages.c:20 ../../Firmware/ultralcd.cpp:2279 -#: ../../Firmware/ultralcd.cpp:4691 +#. MSG_CANCEL c=10 +#: ../../Firmware/messages.cpp:18 ../../Firmware/ultralcd.cpp:1980 +#: ../../Firmware/ultralcd.cpp:3806 msgid ">Cancel" msgstr ">Avbryt" #. MSG_BABYSTEPPING_Z c=15 #. Beware: must include the ':' as its last character -#: ../../Firmware/ultralcd.cpp:3024 +#: ../../Firmware/ultralcd.cpp:2668 msgid "Adjusting Z:" msgstr "Justerar Z:" #. MSG_SELFTEST_CHECK_ALLCORRECT c=20 -#: ../../Firmware/ultralcd.cpp:8395 +#: ../../Firmware/ultralcd.cpp:7311 msgid "All correct" msgstr "Allt korrekt" #. MSG_WIZARD_DONE c=20 r=3 -#: ../../Firmware/messages.c:120 ../../Firmware/ultralcd.cpp:5031 -#: ../../Firmware/ultralcd.cpp:5040 +#: ../../Firmware/messages.cpp:119 ../../Firmware/ultralcd.cpp:4133 +#: ../../Firmware/ultralcd.cpp:4142 msgid "All is done. Happy printing!" msgstr "Allt är klart. God utskrift!" #. MSG_SORT_ALPHA c=8 -#: ../../Firmware/messages.c:143 ../../Firmware/ultralcd.cpp:5264 +#: ../../Firmware/messages.cpp:142 ../../Firmware/ultralcd.cpp:4402 msgid "Alphabet" msgstr "Alfabet" -#: ../../Firmware/ultralcd.cpp:5168 +#. MSG_ALWAYS c=6 +#: ../../Firmware/messages.cpp:8 ../../Firmware/ultralcd.cpp:4287 msgid "Always" msgstr "" #. MSG_AMBIENT c=14 -#: ../../Firmware/ultralcd.cpp:1717 +#: ../../Firmware/ultralcd.cpp:1406 msgid "Ambient" msgstr "Omgivande" #. MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 -#: ../../Firmware/ultralcd.cpp:3347 +#: ../../Firmware/ultralcd.cpp:2981 msgid "Are left and right Z~carriages all up?" msgstr "Är båda Z-vagnarna helt uppe?" #. MSG_SOUND_BLIND c=7 -#: ../../Firmware/messages.c:148 ../../Firmware/ultralcd.cpp:5319 +#: ../../Firmware/messages.cpp:147 ../../Firmware/ultralcd.cpp:4457 msgid "Assist" msgstr "" #. MSG_AUTO c=6 -#: ../../Firmware/messages.c:162 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:161 ../../Firmware/ultralcd.cpp:5862 msgid "Auto" msgstr "" -#. MSG_ADJUSTZ -#: ../../Firmware/ultralcd.cpp:3150 -msgid "Auto adjust Z?" -msgstr "" - #. MSG_AUTO_HOME c=18 -#: ../../Firmware/Marlin_main.cpp:3472 ../../Firmware/messages.c:11 -#: ../../Firmware/ultralcd.cpp:5760 +#: ../../Firmware/Marlin_main.cpp:3261 ../../Firmware/messages.cpp:9 +#: ../../Firmware/ultralcd.cpp:4871 msgid "Auto home" msgstr "Auto hem" #. MSG_AUTO_POWER c=10 -#: ../../Firmware/messages.c:107 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:6846 +#: ../../Firmware/messages.cpp:106 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:5777 msgid "Auto power" msgstr "Auto kraft" #. MSG_AUTOLOAD_FILAMENT c=18 -#: ../../Firmware/ultralcd.cpp:6637 +#: ../../Firmware/ultralcd.cpp:5584 msgid "AutoLoad filament" msgstr "Autoladda filament" -#. MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4309 -msgid "" -"Autoloading filament available only when filament sensor is turned on..." -msgstr "Autoladdning av fil. är endast möjligt när fil. sensorn är aktiv..." - #. MSG_AUTOLOADING_ENABLED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:2638 +#: ../../Firmware/ultralcd.cpp:2301 msgid "" "Autoloading filament is active, just press the knob and insert filament..." msgstr "" "Autoladdning filament är aktiv, tryck på knappen och sätt i filament..." +#. MSG_PROGRESS_AVOID_GRIND c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:16 +#: ../../Firmware/mmu2_progress_converter.cpp:42 +msgid "Avoiding grind" +msgstr "" + #. MSG_SELFTEST_AXIS c=16 -#: ../../Firmware/ultralcd.cpp:8079 +#: ../../Firmware/ultralcd.cpp:7014 msgid "Axis" msgstr "Axel" #. MSG_SELFTEST_AXIS_LENGTH c=20 -#: ../../Firmware/ultralcd.cpp:8078 +#: ../../Firmware/ultralcd.cpp:7013 msgid "Axis length" msgstr "Axellängd" #. MSG_BACK c=18 -#: ../../Firmware/messages.c:66 ../../Firmware/ultralcd.cpp:2417 -#: ../../Firmware/ultralcd.cpp:3103 ../../Firmware/ultralcd.cpp:6928 -#: ../../Firmware/ultralcd.cpp:8971 +#: ../../Firmware/messages.cpp:63 ../../Firmware/ultralcd.cpp:2749 +#: ../../Firmware/ultralcd.cpp:4223 ../../Firmware/ultralcd.cpp:5859 +#: ../../Firmware/ultralcd.cpp:7826 msgid "Back" msgstr "Tillbaka" #. MSG_BED c=13 -#: ../../Firmware/Marlin_main.cpp:2155 ../../Firmware/Marlin_main.cpp:5196 -#: ../../Firmware/Marlin_main.cpp:5248 ../../Firmware/messages.c:14 -#: ../../Firmware/ultralcd.cpp:1715 ../../Firmware/ultralcd.cpp:6790 -#: ../../Firmware/ultralcd.cpp:6958 +#: ../../Firmware/Marlin_main.cpp:2029 ../../Firmware/Marlin_main.cpp:4792 +#: ../../Firmware/Marlin_main.cpp:4844 ../../Firmware/messages.cpp:12 +#: ../../Firmware/ultralcd.cpp:1404 ../../Firmware/ultralcd.cpp:5734 +#: ../../Firmware/ultralcd.cpp:5889 msgid "Bed" msgstr "Bädd" #. MSG_BED_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6700 ../../Firmware/messages.c:16 -#: ../../Firmware/ultralcd.cpp:599 +#: ../../Firmware/Marlin_main.cpp:6293 ../../Firmware/messages.cpp:14 +#: ../../Firmware/ultralcd.cpp:585 msgid "Bed Heating" msgstr "Bädden värms upp" #. MSG_BED_DONE c=20 -#: ../../Firmware/Marlin_main.cpp:6739 ../../Firmware/messages.c:15 -#: ../../Firmware/ultralcd.cpp:602 +#: ../../Firmware/Marlin_main.cpp:6331 ../../Firmware/messages.cpp:13 +#: ../../Firmware/ultralcd.cpp:588 msgid "Bed done" msgstr "Bädd klar" #. MSG_BED_CORRECTION_MENU c=18 -#: ../../Firmware/ultralcd.cpp:5782 +#: ../../Firmware/ultralcd.cpp:4883 msgid "Bed level correct" msgstr "Bäddnivå korrekt" #. MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:2317 ../../Firmware/Marlin_main.cpp:3193 -#: ../../Firmware/Marlin_main.cpp:3203 -#: ../../Firmware/mesh_bed_calibration.cpp:2862 -#: ../../Firmware/mesh_bed_calibration.cpp:2870 -#: ../../Firmware/mesh_bed_calibration.cpp:2895 ../../Firmware/messages.c:17 +#: ../../Firmware/Marlin_main.cpp:2209 ../../Firmware/Marlin_main.cpp:2985 +#: ../../Firmware/Marlin_main.cpp:2995 +#: ../../Firmware/mesh_bed_calibration.cpp:2858 +#: ../../Firmware/mesh_bed_calibration.cpp:2866 +#: ../../Firmware/mesh_bed_calibration.cpp:2892 ../../Firmware/messages.cpp:15 msgid "" "Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for " "reset." @@ -188,51 +171,55 @@ msgstr "" "på återställning." #. MSG_SELFTEST_BEDHEATER c=20 -#: ../../Firmware/ultralcd.cpp:8036 +#: ../../Firmware/ultralcd.cpp:6971 msgid "Bed/Heater" msgstr "Bädd/Värmare" #. MSG_BELT_STATUS c=18 -#: ../../Firmware/messages.c:19 ../../Firmware/ultralcd.cpp:1770 -#: ../../Firmware/ultralcd.cpp:2034 +#: ../../Firmware/messages.cpp:17 ../../Firmware/ultralcd.cpp:1457 +#: ../../Firmware/ultralcd.cpp:1726 msgid "Belt status" msgstr "Bält status" #. MSG_BELTTEST c=18 -#: ../../Firmware/ultralcd.cpp:5762 +#: ../../Firmware/ultralcd.cpp:4873 msgid "Belt test" msgstr "Bält test" #. MSG_RECOVER_PRINT c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:1634 ../../Firmware/Marlin_main.cpp:1656 -#: ../../Firmware/messages.c:84 +#: ../../Firmware/Marlin_main.cpp:1585 ../../Firmware/Marlin_main.cpp:1607 +#: ../../Firmware/messages.cpp:81 msgid "Blackout occurred. Recover print?" msgstr "Blackout inträffat. Återställa utskr?" #. MSG_BRIGHT c=6 -#: ../../Firmware/messages.c:160 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:159 ../../Firmware/ultralcd.cpp:5862 msgid "Bright" msgstr "Ljus" #. MSG_BRIGHTNESS c=18 -#: ../../Firmware/messages.c:156 ../../Firmware/ultralcd.cpp:5710 -#: ../../Firmware/ultralcd.cpp:6856 +#: ../../Firmware/messages.cpp:155 ../../Firmware/ultralcd.cpp:4821 +#: ../../Firmware/ultralcd.cpp:5787 msgid "Brightness" msgstr "Ljusstyrka" +#. MSG_TITLE_COMMUNICATION_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:147 ../../Firmware/mmu2/errors_list.h:185 +msgid "COMMUNICATION ERROR" +msgstr "" + #. MSG_CALIBRATE_BED c=18 -#: ../../Firmware/ultralcd.cpp:5771 +#: ../../Firmware/ultralcd.cpp:4877 msgid "Calibrate XYZ" msgstr "Kalibrerar XYZ" #. MSG_HOMEYZ c=18 -#: ../../Firmware/messages.c:54 ../../Firmware/ultralcd.cpp:5768 -#: ../../Firmware/ultralcd.cpp:5773 +#: ../../Firmware/messages.cpp:50 ../../Firmware/ultralcd.cpp:4879 msgid "Calibrate Z" msgstr "Kalibrera Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3310 +#: ../../Firmware/ultralcd.cpp:2944 msgid "" "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -241,13 +228,13 @@ msgstr "" "Klicka när du är klar." #. MSG_CALIBRATE_Z_AUTO c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:2273 ../../Firmware/messages.c:21 -#: ../../Firmware/ultralcd.cpp:643 +#: ../../Firmware/Marlin_main.cpp:2166 ../../Firmware/messages.cpp:19 +#: ../../Firmware/ultralcd.cpp:633 msgid "Calibrating Z" msgstr "Kalibrerar Z" #. MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3309 +#: ../../Firmware/ultralcd.cpp:2943 msgid "" "Calibrating Z. Rotate the knob to move the Z carriage up to the end " "stoppers. Click when done." @@ -256,154 +243,151 @@ msgstr "" "Klicka när du är klar." #. MSG_CALIBRATING_HOME c=20 -#: ../../Firmware/ultralcd.cpp:8397 +#: ../../Firmware/ultralcd.cpp:7313 msgid "Calibrating home" msgstr "Kalibrerar hem" #. MSG_CALIBRATION c=18 -#: ../../Firmware/messages.c:70 ../../Firmware/ultralcd.cpp:6648 +#: ../../Firmware/messages.cpp:67 ../../Firmware/ultralcd.cpp:5594 msgid "Calibration" msgstr "Kalibrering" #. MSG_HOMEYZ_DONE c=20 -#: ../../Firmware/ultralcd.cpp:656 +#: ../../Firmware/ultralcd.cpp:644 msgid "Calibration done" msgstr "Kalibraring utförd" +#. MSG_DESC_CANNOT_MOVE c=20 r=4 +#: ../../Firmware/mmu2/errors_list.h:203 ../../Firmware/mmu2/errors_list.h:243 +#: ../../Firmware/mmu2/errors_list.h:245 +msgid "Can't move Selector or Idler." +msgstr "" + +#. MSG_DESC_FILAMENT_ALREADY_LOADED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:228 ../../Firmware/mmu2/errors_list.h:266 +msgid "Cannot perform the action, filament is already loaded. Unload it first." +msgstr "" + #. MSG_SD_REMOVED c=20 -#: ../../Firmware/ultralcd.cpp:8844 +#: ../../Firmware/ultralcd.cpp:7700 msgid "Card removed" msgstr "Kort borttaget" -#. MSG_CNG_SDCARD -#: ../../Firmware/ultralcd.cpp:6597 +#. MSG_CNG_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5547 msgid "Change SD card" msgstr "" -#. MSG_CHANGE_EXTR c=20 -#: ../../Firmware/ultralcd.cpp:6633 -msgid "Change extruder" -msgstr "" - #. MSG_FILAMENTCHANGE c=18 -#: ../../Firmware/messages.c:45 ../../Firmware/ultralcd.cpp:6555 -#: ../../Firmware/ultralcd.cpp:6799 +#: ../../Firmware/messages.cpp:39 ../../Firmware/ultralcd.cpp:5506 +#: ../../Firmware/ultralcd.cpp:5743 msgid "Change filament" msgstr "Ändra filament" #. MSG_CHANGE_SUCCESS c=20 -#: ../../Firmware/ultralcd.cpp:2484 +#: ../../Firmware/ultralcd.cpp:2179 msgid "Change success!" msgstr "Ändring utförd!" #. MSG_CORRECTLY c=20 -#: ../../Firmware/ultralcd.cpp:2552 +#: ../../Firmware/ultralcd.cpp:2227 msgid "Changed correctly?" msgstr "Ändring korrekt?" #. MSG_CHECKING_X c=20 -#: ../../Firmware/messages.c:23 ../../Firmware/ultralcd.cpp:7240 -#: ../../Firmware/ultralcd.cpp:8387 +#: ../../Firmware/messages.cpp:21 ../../Firmware/ultralcd.cpp:6187 +#: ../../Firmware/ultralcd.cpp:7303 msgid "Checking X axis" msgstr "Kontroll X-axel" #. MSG_CHECKING_Y c=20 -#: ../../Firmware/messages.c:24 ../../Firmware/ultralcd.cpp:7249 -#: ../../Firmware/ultralcd.cpp:8388 +#: ../../Firmware/messages.cpp:22 ../../Firmware/ultralcd.cpp:6196 +#: ../../Firmware/ultralcd.cpp:7304 msgid "Checking Y axis" msgstr "Kontroll Y-axel" #. MSG_SELFTEST_CHECK_Z c=20 -#: ../../Firmware/ultralcd.cpp:8389 +#: ../../Firmware/ultralcd.cpp:7305 msgid "Checking Z axis" msgstr "Kontroll Z-axel" #. MSG_SELFTEST_CHECK_BED c=20 -#: ../../Firmware/messages.c:96 ../../Firmware/ultralcd.cpp:8390 +#: ../../Firmware/messages.cpp:93 ../../Firmware/ultralcd.cpp:7306 msgid "Checking bed" msgstr "Kontroll bädd" #. MSG_SELFTEST_CHECK_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8386 +#: ../../Firmware/ultralcd.cpp:7302 msgid "Checking endstops" msgstr "Kontroll ändlägen" #. MSG_CHECKING_FILE c=17 -#: ../../Firmware/ultralcd.cpp:8485 +#: ../../Firmware/ultralcd.cpp:7401 msgid "Checking file" msgstr "Kontrollerar fil" #. MSG_SELFTEST_CHECK_HOTEND c=20 -#: ../../Firmware/ultralcd.cpp:8392 +#: ../../Firmware/ultralcd.cpp:7308 msgid "Checking hotend" msgstr "Kontroll hotend" #. MSG_SELFTEST_CHECK_FSENSOR c=20 -#: ../../Firmware/messages.c:97 ../../Firmware/ultralcd.cpp:8393 -#: ../../Firmware/ultralcd.cpp:8394 +#: ../../Firmware/messages.cpp:94 ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:7310 msgid "Checking sensors" msgstr "Kontroll sensorer" #. MSG_CHECKS c=18 -#: ../../Firmware/ultralcd.cpp:5625 +#: ../../Firmware/ultralcd.cpp:4728 msgid "Checks" msgstr "Kontroller" #. MSG_NOT_COLOR c=19 -#: ../../Firmware/ultralcd.cpp:2555 +#: ../../Firmware/ultralcd.cpp:2230 msgid "Color not correct" msgstr "Färg ej korrekt" #. MSG_COMMUNITY_MADE c=18 -#: ../../Firmware/messages.c:25 ../../Firmware/ultralcd.cpp:4489 +#: ../../Firmware/messages.cpp:23 ../../Firmware/ultralcd.cpp:3696 msgid "Community made" msgstr "Allmänhetsgjord" -#: ../../Firmware/ultralcd.cpp:8619 -msgid "Connect printer to" -msgstr "" - #. MSG_CONTINUE_SHORT c=5 -#: ../../Firmware/messages.c:154 ../../Firmware/ultralcd.cpp:5564 +#: ../../Firmware/messages.cpp:153 ../../Firmware/ultralcd.cpp:4245 msgid "Cont." msgstr "Frts." #. MSG_COOLDOWN c=18 -#: ../../Firmware/messages.c:27 ../../Firmware/ultralcd.cpp:2441 +#: ../../Firmware/messages.cpp:25 ../../Firmware/ultralcd.cpp:2138 msgid "Cooldown" msgstr "Kyla ner" #. MSG_COPY_SEL_LANG c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4427 +#: ../../Firmware/ultralcd.cpp:3634 msgid "Copy selected language?" msgstr "Kopiera det valda språket?" #. MSG_CRASH c=7 -#: ../../Firmware/messages.c:28 ../../Firmware/ultralcd.cpp:1533 -#: ../../Firmware/ultralcd.cpp:1574 ../../Firmware/ultralcd.cpp:1584 +#: ../../Firmware/messages.cpp:26 ../../Firmware/ultralcd.cpp:1247 +#: ../../Firmware/ultralcd.cpp:1276 msgid "Crash" msgstr "Krock" #. MSG_CRASHDETECT c=13 -#: ../../Firmware/messages.c:30 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5204 -#: ../../Firmware/ultralcd.cpp:6836 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6839 +#: ../../Firmware/messages.cpp:28 ../../Firmware/ultralcd.cpp:4339 +#: ../../Firmware/ultralcd.cpp:4340 ../../Firmware/ultralcd.cpp:4342 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5765 +#: ../../Firmware/ultralcd.cpp:5769 msgid "Crash det." msgstr "Krockdetekt." #. MSG_CRASH_DETECTED c=20 -#: ../../Firmware/Marlin_main.cpp:645 ../../Firmware/messages.c:29 +#: ../../Firmware/Marlin_main.cpp:586 ../../Firmware/messages.cpp:27 msgid "Crash detected." msgstr "Krock upptäckt." -#. MSG_CRASH_RESUME c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:653 -msgid "Crash detected. Resume print?" -msgstr "Krock upptäckt. Återuppta utskrift?" - #. MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4281 +#: ../../Firmware/ultralcd.cpp:3538 msgid "" "Crash detection can\n" "be turned on only in\n" @@ -413,48 +397,48 @@ msgstr "" "endast aktiveras i\n" "normalt läge" -#. MSG_CURRENT c=19 -#: ../../Firmware/ultralcd.cpp:5913 -msgid "Current" -msgstr "" - #. MSG_CUT_FILAMENT c=17 -#: ../../Firmware/messages.c:63 ../../Firmware/ultralcd.cpp:6218 -#: ../../Firmware/ultralcd.cpp:6219 ../../Firmware/ultralcd.cpp:6220 -#: ../../Firmware/ultralcd.cpp:6221 ../../Firmware/ultralcd.cpp:6222 -#: ../../Firmware/ultralcd.cpp:6628 +#: ../../Firmware/messages.cpp:61 ../../Firmware/ultralcd.cpp:5155 +#: ../../Firmware/ultralcd.cpp:5578 msgid "Cut filament" msgstr "Skär filament" #. MSG_CUTTER c=9 -#: ../../Firmware/messages.c:130 ../../Firmware/ultralcd.cpp:5163 -#: ../../Firmware/ultralcd.cpp:5168 ../../Firmware/ultralcd.cpp:5173 +#: ../../Firmware/messages.cpp:129 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4287 ../../Firmware/ultralcd.cpp:4292 msgid "Cutter" msgstr "Skärare" -#. MSG_MMU_CUTTING_FIL c=18 -#: ../../Firmware/mmu.cpp:1387 -msgid "Cutting filament" -msgstr "Skär filament" - #. MSG_DATE c=17 -#: ../../Firmware/ultralcd.cpp:1975 +#: ../../Firmware/ultralcd.cpp:1667 msgid "Date:" msgstr "Datum:" #. MSG_DIM c=6 -#: ../../Firmware/messages.c:161 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:160 ../../Firmware/ultralcd.cpp:5862 msgid "Dim" msgstr "" +#. MSG_BTN_DISABLE_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:286 ../../Firmware/mmu2/errors_list.h:296 +msgid "Disable" +msgstr "" + #. MSG_DISABLE_STEPPERS c=18 -#: ../../Firmware/ultralcd.cpp:5662 +#: ../../Firmware/ultralcd.cpp:4764 msgid "Disable steppers" msgstr "Inaktivera stepper" +#. MSG_PROGRESS_DISENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:10 +#: ../../Firmware/mmu2_progress_converter.cpp:36 +#: ../../Firmware/mmu2_progress_converter.cpp:44 +msgid "Disengaging idler" +msgstr "" + #. MSG_BABYSTEP_Z_NOT_SET c=20 r=12 -#: ../../Firmware/Marlin_main.cpp:1579 ../../Firmware/Marlin_main.cpp:3612 -#: ../../Firmware/messages.c:13 +#: ../../Firmware/Marlin_main.cpp:1530 ../../Firmware/Marlin_main.cpp:3400 +#: ../../Firmware/messages.cpp:11 msgid "" "Distance between tip of the nozzle and the bed surface has not been set yet. " "Please follow the manual, chapter First steps, section First layer " @@ -464,7 +448,7 @@ msgstr "" "Vänligen följ manualen Första lagrets kalibrering." #. MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:5005 +#: ../../Firmware/ultralcd.cpp:4107 msgid "" "Do you want to repeat last step to readjust distance between nozzle and " "heatbed?" @@ -472,270 +456,345 @@ msgstr "" "Vill du upprepa det sista steget för att justera avståndet mellan munstycket " "och värmebädden?" -#: ../../Firmware/mmu.cpp:872 -msgid "Do you want to switch extruder?" -msgstr "" - -#. MSG_CLEAN_NOZZLE_E c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4607 -msgid "E calibration finished. Please clean the nozzle. Click when done." +#. MSG_BTN_CONTINUE c=5 +#: ../../Firmware/mmu2/errors_list.h:282 ../../Firmware/mmu2/errors_list.h:292 +msgid "Done" msgstr "" #. MSG_EXTRUDER_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5074 +#: ../../Firmware/ultralcd.cpp:4176 msgid "E-correct:" msgstr "E-korrektion:" +#. MSG_PROGRESS_ERR_HELP_FIL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:19 +#: ../../Firmware/mmu2_progress_converter.cpp:48 +msgid "ERR Help filament" +msgstr "" + +#. MSG_PROGRESS_ERR_INTERNAL c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:18 +#: ../../Firmware/mmu2_progress_converter.cpp:47 +msgid "ERR Internal" +msgstr "" + +#. MSG_PROGRESS_ERR_TMC c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:20 +#: ../../Firmware/mmu2_progress_converter.cpp:49 +msgid "ERR TMC failed" +msgstr "" + +#. MSG_PROGRESS_WAIT_USER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:17 +#: ../../Firmware/mmu2_progress_converter.cpp:46 +msgid "ERR Wait for User" +msgstr "" + #. MSG_ERROR c=10 -#: ../../Firmware/messages.c:31 ../../Firmware/ultralcd.cpp:2616 +#: ../../Firmware/messages.cpp:29 ../../Firmware/ultralcd.cpp:2282 msgid "ERROR:" msgstr "FEL:" -#. MSG_FSENS_NOT_RESPONDING c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4322 -msgid "ERROR: Filament sensor is not responding, please check connection." -msgstr "FEL: Filamentsensorn svarar inte, kontrollera anslutningen." - #. MSG_EJECT_FILAMENT c=17 -#: ../../Firmware/messages.c:62 ../../Firmware/ultralcd.cpp:6196 -#: ../../Firmware/ultralcd.cpp:6197 ../../Firmware/ultralcd.cpp:6198 -#: ../../Firmware/ultralcd.cpp:6199 ../../Firmware/ultralcd.cpp:6200 -#: ../../Firmware/ultralcd.cpp:6626 +#: ../../Firmware/messages.cpp:60 ../../Firmware/ultralcd.cpp:5137 +#: ../../Firmware/ultralcd.cpp:5575 msgid "Eject filament" msgstr "Mata ut filament" -#. MSG_EJECTING_FILAMENT c=20 -#: ../../Firmware/mmu.cpp:1415 +#. MSG_PROGRESS_EJECT_FILAMENT c=20 +#. @@todo duplicate +#: ../../Firmware/mmu2_progress_converter.cpp:27 +#: ../../Firmware/mmu2_progress_converter.cpp:58 msgid "Ejecting filament" msgstr "Matar ut filament" #. MSG_SELFTEST_ENDSTOP c=16 -#: ../../Firmware/ultralcd.cpp:8049 +#: ../../Firmware/ultralcd.cpp:6984 msgid "Endstop" msgstr "Ändläge" #. MSG_SELFTEST_ENDSTOP_NOTHIT c=20 -#: ../../Firmware/ultralcd.cpp:8054 +#: ../../Firmware/ultralcd.cpp:6989 msgid "Endstop not hit" msgstr "Ändlage inte nått" #. MSG_SELFTEST_ENDSTOPS c=20 -#: ../../Firmware/ultralcd.cpp:8040 +#: ../../Firmware/ultralcd.cpp:6975 msgid "Endstops" msgstr "Ändlägen" +#. MSG_PROGRESS_ENGAGE_IDLER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:9 +#: ../../Firmware/mmu2_progress_converter.cpp:35 +#: ../../Firmware/mmu2_progress_converter.cpp:45 +msgid "Engaging idler" +msgstr "" + #. MSG_EXTRUDER c=17 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:32 -#: ../../Firmware/ultralcd.cpp:4228 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:30 +#: ../../Firmware/ultralcd.cpp:3512 msgid "Extruder" msgstr "" -#. MSG_EXTRUDER_1 c=17 -#: ../../Firmware/ultralcd.cpp:6260 -msgid "Extruder 1" -msgstr "" - -#. MSG_EXTRUDER_2 c=17 -#: ../../Firmware/ultralcd.cpp:6261 -msgid "Extruder 2" -msgstr "" - -#. MSG_EXTRUDER_3 c=17 -#: ../../Firmware/ultralcd.cpp:6262 -msgid "Extruder 3" -msgstr "" - -#. MSG_EXTRUDER_4 c=17 -#: ../../Firmware/ultralcd.cpp:6263 -msgid "Extruder 4" -msgstr "" - #. MSG_EXTRUDER_FAN_SPEED c=16 -#: ../../Firmware/messages.c:37 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8403 +#: ../../Firmware/messages.cpp:35 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7319 msgid "Extruder fan:" msgstr "Extruderfläkt:" #. MSG_INFO_EXTRUDER c=18 -#: ../../Firmware/ultralcd.cpp:2030 +#: ../../Firmware/ultralcd.cpp:1722 msgid "Extruder info" msgstr "" #. MSG_FSENSOR_AUTOLOAD c=13 -#: ../../Firmware/messages.c:50 ../../Firmware/ultralcd.cpp:5089 -#: ../../Firmware/ultralcd.cpp:5097 ../../Firmware/ultralcd.cpp:5108 -#: ../../Firmware/ultralcd.cpp:5110 +#: ../../Firmware/messages.cpp:45 ../../Firmware/ultralcd.cpp:4230 +#: ../../Firmware/ultralcd.cpp:4237 msgid "F. autoload" msgstr "F. autoladdn" +#. MSG_FSENSOR_JAM_DETECTION c=13 +#: ../../Firmware/messages.cpp:46 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:4239 +msgid "F. jam detect" +msgstr "" + +#. MSG_FSENSOR_RUNOUT c=13 +#: ../../Firmware/messages.cpp:44 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4236 +msgid "F. runout" +msgstr "" + +#. MSG_TITLE_FIL_ALREADY_LOADED c=20 +#: ../../Firmware/mmu2/errors_list.h:148 ../../Firmware/mmu2/errors_list.h:186 +msgid "FILAMENT ALREADY LOA" +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:118 ../../Firmware/mmu2/errors_list.h:156 +msgid "FINDA DIDNT TRIGGER" +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:197 ../../Firmware/mmu2/errors_list.h:237 +msgid "" +"FINDA didn't switch off while unloading filament. Try unloading manually. " +"Ensure filament can move and FINDA works." +msgstr "" + +#. MSG_DESC_FINDA_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:196 ../../Firmware/mmu2/errors_list.h:236 +msgid "" +"FINDA didn't trigger while loading the filament. Ensure the filament can " +"move and FINDA works." +msgstr "" + +#. MSG_TITLE_FINDA_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:119 ../../Firmware/mmu2/errors_list.h:157 +msgid "FINDA: FILAM. STUCK" +msgstr "" + #. MSG_FS_ACTION c=10 -#: ../../Firmware/messages.c:153 ../../Firmware/ultralcd.cpp:5564 -#: ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:152 ../../Firmware/ultralcd.cpp:4245 +#: ../../Firmware/ultralcd.cpp:4248 msgid "FS Action" msgstr "FS aktion" -#. MSG_FS_V_03_OR_OLDER c=18 -#: ../../Firmware/Marlin_main.cpp:9927 -msgid "FS v0.3 or older" -msgstr "FS v0.3 el äldre" +#. MSG_TITLE_FSENSOR_DIDNT_TRIGGER c=20 +#: ../../Firmware/mmu2/errors_list.h:120 ../../Firmware/mmu2/errors_list.h:158 +msgid "FSENSOR DIDNT TRIGG." +msgstr "" -#. MSG_FS_V_04_OR_NEWER c=18 -#: ../../Firmware/Marlin_main.cpp:9919 -msgid "FS v0.4 or newer" -msgstr "FS v0.4 el nyare" +#. MSG_TITLE_FSENSOR_TOO_EARLY c=20 +#: ../../Firmware/mmu2/errors_list.h:123 ../../Firmware/mmu2/errors_list.h:161 +msgid "FSENSOR TOO EARLY" +msgstr "" + +#. MSG_TITLE_FSENSOR_DIDNT_GO_OFF c=20 +#: ../../Firmware/mmu2/errors_list.h:121 ../../Firmware/mmu2/errors_list.h:159 +msgid "FSENSOR: FIL. STUCK" +msgstr "" + +#. MSG_TITLE_FW_RUNTIME_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:152 ../../Firmware/mmu2/errors_list.h:190 +msgid "FW RUNTIME ERROR" +msgstr "" #. MSG_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6656 +#: ../../Firmware/ultralcd.cpp:5602 msgid "Fail stats" msgstr "Felstatistik" #. MSG_MMU_FAIL_STATS c=18 -#: ../../Firmware/ultralcd.cpp:6659 +#: ../../Firmware/ultralcd.cpp:5605 msgid "Fail stats MMU" msgstr "Felstatistik MMU" #. MSG_FALSE_TRIGGERING c=20 -#: ../../Firmware/ultralcd.cpp:8095 +#: ../../Firmware/ultralcd.cpp:7030 msgid "False triggering" msgstr "Felaktig utlösare" #. MSG_FAN_SPEED c=14 -#: ../../Firmware/messages.c:36 ../../Firmware/ultralcd.cpp:6792 -#: ../../Firmware/ultralcd.cpp:6960 +#: ../../Firmware/messages.cpp:34 ../../Firmware/ultralcd.cpp:5736 +#: ../../Firmware/ultralcd.cpp:5891 msgid "Fan speed" msgstr "Fläktfart" #. MSG_SELFTEST_FAN c=20 -#: ../../Firmware/messages.c:93 ../../Firmware/ultralcd.cpp:8207 -#: ../../Firmware/ultralcd.cpp:8383 ../../Firmware/ultralcd.cpp:8384 -#: ../../Firmware/ultralcd.cpp:8385 +#: ../../Firmware/messages.cpp:90 ../../Firmware/ultralcd.cpp:7141 +#: ../../Firmware/ultralcd.cpp:7299 ../../Firmware/ultralcd.cpp:7300 +#: ../../Firmware/ultralcd.cpp:7301 msgid "Fan test" msgstr "Fläkttest" #. MSG_FANS_CHECK c=13 -#: ../../Firmware/messages.c:33 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:6825 +#: ../../Firmware/messages.cpp:31 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:5754 msgid "Fans check" msgstr "Fläktcheck" +#. MSG_PROGRESS_FEED_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:13 +#: ../../Firmware/mmu2_progress_converter.cpp:39 +msgid "Feeding to FINDA" +msgstr "" + +#. MSG_PROGRESS_FEED_FSENSOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:31 +#: ../../Firmware/mmu2_progress_converter.cpp:62 +msgid "Feeding to FSensor" +msgstr "" + +#. MSG_PROGRESS_FEED_EXTRUDER c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:14 +#: ../../Firmware/mmu2_progress_converter.cpp:40 +msgid "Feeding to extruder" +msgstr "" + +#. MSG_PROGRESS_FEED_NOZZLE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:15 +#: ../../Firmware/mmu2_progress_converter.cpp:41 +msgid "Feeding to nozzle" +msgstr "" + #. MSG_FIL_RUNOUTS c=15 -#: ../../Firmware/messages.c:34 ../../Firmware/ultralcd.cpp:1532 -#: ../../Firmware/ultralcd.cpp:1573 ../../Firmware/ultralcd.cpp:1639 -#: ../../Firmware/ultralcd.cpp:1641 +#: ../../Firmware/messages.cpp:32 ../../Firmware/ultralcd.cpp:1246 +#: ../../Firmware/ultralcd.cpp:1275 ../../Firmware/ultralcd.cpp:1329 +#: ../../Firmware/ultralcd.cpp:1331 msgid "Fil. runouts" msgstr "Fil. avbrott" #. MSG_FSENSOR c=12 -#: ../../Firmware/messages.c:51 ../../Firmware/ultralcd.cpp:3854 -#: ../../Firmware/ultralcd.cpp:5088 ../../Firmware/ultralcd.cpp:5094 -#: ../../Firmware/ultralcd.cpp:5104 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6810 ../../Firmware/ultralcd.cpp:6814 +#: ../../Firmware/messages.cpp:47 ../../Firmware/ultralcd.cpp:3473 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4768 +#: ../../Firmware/ultralcd.cpp:5747 msgid "Fil. sensor" msgstr "" -#: ../../Firmware/Marlin_main.cpp:3875 ../../Firmware/Marlin_main.cpp:12123 -msgid "Fil. sensor response is poor, disable it?" -msgstr "" - #. MSG_FILAMENT c=17 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:35 ../../Firmware/ultralcd.cpp:4691 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:33 +#: ../../Firmware/ultralcd.cpp:3806 msgid "Filament" msgstr "Mata ut filament" #. MSG_FILAMENT_CLEAN c=20 r=2 -#: ../../Firmware/messages.c:39 ../../Firmware/ultralcd.cpp:2624 -#: ../../Firmware/ultralcd.cpp:2630 +#: ../../Firmware/messages.cpp:37 ../../Firmware/ultralcd.cpp:2290 +#: ../../Firmware/ultralcd.cpp:2294 msgid "Filament extruding & with correct color?" msgstr "Extruderas filament med rätt färg?" #. MSG_NOT_LOADED c=19 -#: ../../Firmware/ultralcd.cpp:2554 +#: ../../Firmware/ultralcd.cpp:2229 msgid "Filament not loaded" msgstr "Filament ej laddat" #. MSG_SELFTEST_FILAMENT_SENSOR c=17 -#: ../../Firmware/messages.c:99 ../../Firmware/ultralcd.cpp:8090 -#: ../../Firmware/ultralcd.cpp:8094 ../../Firmware/ultralcd.cpp:8098 -#: ../../Firmware/ultralcd.cpp:8412 +#: ../../Firmware/messages.cpp:96 ../../Firmware/ultralcd.cpp:7025 +#: ../../Firmware/ultralcd.cpp:7029 ../../Firmware/ultralcd.cpp:7033 +#: ../../Firmware/ultralcd.cpp:7328 msgid "Filament sensor" msgstr "" +#. MSG_DESC_FSENSOR_DIDNT_GO_OFF c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:199 ../../Firmware/mmu2/errors_list.h:239 +msgid "" +"Filament sensor didn't switch off while unloading filament. Ensure filament " +"can move and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_DIDNT_TRIGGER c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:198 ../../Firmware/mmu2/errors_list.h:238 +msgid "" +"Filament sensor didn't trigger while loading the filament. Ensure the " +"filament reached the fsensor and the sensor works." +msgstr "" + +#. MSG_DESC_FSENSOR_TOO_EARLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:201 ../../Firmware/mmu2/errors_list.h:241 +msgid "" +"Filament sensor triggered too early while loading to extruder. Check there " +"isn't anything stuck in PTFE tube. Check that sensor reads properly." +msgstr "" + #. MSG_FILAMENT_USED c=19 -#: ../../Firmware/ultralcd.cpp:2703 +#: ../../Firmware/ultralcd.cpp:2363 msgid "Filament used" msgstr "Använt filament" #. MSG_FILE_INCOMPLETE c=20 r=3 -#: ../../Firmware/ultralcd.cpp:8539 +#: ../../Firmware/ultralcd.cpp:7460 msgid "File incomplete. Continue anyway?" msgstr "Filen är ofullständig. Fortsätta ändå?" #. MSG_FINISHING_MOVEMENTS c=20 -#: ../../Firmware/messages.c:47 ../../Firmware/ultralcd.cpp:6377 -#: ../../Firmware/ultralcd.cpp:6697 +#: ../../Firmware/messages.cpp:41 ../../Firmware/mmu2_progress_converter.cpp:43 +#: ../../Firmware/ultralcd.cpp:5323 ../../Firmware/ultralcd.cpp:5643 msgid "Finishing movements" msgstr "Avslutar flyttning" -#. MSG_FIRMWARE c=8 -#: ../../Firmware/messages.c:172 ../../Firmware/ultralcd.cpp:5474 -#: ../../Firmware/ultralcd.cpp:5477 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5483 -msgid "Firmware" -msgstr "" - #. MSG_V2_CALIBRATION c=18 -#: ../../Firmware/messages.c:126 ../../Firmware/ultralcd.cpp:5758 -#: ../../Firmware/ultralcd.cpp:6482 +#: ../../Firmware/messages.cpp:125 ../../Firmware/ultralcd.cpp:4869 +#: ../../Firmware/ultralcd.cpp:5433 msgid "First layer cal." msgstr "Förstalager kalib." #. MSG_WIZARD_SELFTEST c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4926 +#: ../../Firmware/ultralcd.cpp:4032 msgid "First, I will run the selftest to check most common assembly problems." msgstr "" "Först kommer jag att utföra självtestet för att kontrollera de vanligaste " "monteringsproblemen." -#. MSG_MMU_FIX_ISSUE c=20 r=4 -#: ../../Firmware/mmu.cpp:727 -msgid "Fix the issue and then press button on MMU unit." -msgstr "Åtgärda problemet och tryck sedan på knappen på MMU-enheten." - -#. MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 -#: ../../Firmware/messages.c:173 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5274 -msgid "FlashAir" -msgstr "" - #. MSG_FLOW c=15 -#: ../../Firmware/ultralcd.cpp:6793 +#: ../../Firmware/ultralcd.cpp:5737 msgid "Flow" msgstr "Flöde" #. MSG_SELFTEST_PART_FAN c=20 -#: ../../Firmware/messages.c:90 ../../Firmware/ultralcd.cpp:8060 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:87 ../../Firmware/ultralcd.cpp:6995 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Front print fan?" msgstr "Frontfläkt?" #. MSG_BED_CORRECTION_FRONT c=14 -#: ../../Firmware/ultralcd.cpp:3106 +#: ../../Firmware/ultralcd.cpp:2752 msgid "Front side[μm]" msgstr "" #. MSG_SELFTEST_FANS c=20 -#: ../../Firmware/ultralcd.cpp:8084 +#: ../../Firmware/ultralcd.cpp:7019 msgid "Front/left fans" msgstr "Front/vänster fläkt" #. MSG_GCODE_DIFF_CONTINUE c=20 r=4 -#: ../../Firmware/util.cpp:414 +#: ../../Firmware/util.cpp:402 msgid "G-code sliced for a different level. Continue?" msgstr "G-kod genererad för en annan nivå. Fortsätta?" #. MSG_GCODE_DIFF_CANCELLED c=20 r=7 -#: ../../Firmware/util.cpp:420 +#: ../../Firmware/util.cpp:409 msgid "" "G-code sliced for a different level. Please re-slice the model again. Print " "cancelled." @@ -744,14 +803,14 @@ msgstr "" "Utskriften avbröts." #. MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5 -#: ../../Firmware/messages.c:136 ../../Firmware/util.cpp:331 -#: ../../Firmware/util.cpp:480 +#: ../../Firmware/messages.cpp:135 ../../Firmware/util.cpp:323 +#: ../../Firmware/util.cpp:454 msgid "G-code sliced for a different printer type. Continue?" msgstr "G-kod genererad för en annan skrivartyp. Fortsätta?" #. MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 -#: ../../Firmware/messages.c:137 ../../Firmware/util.cpp:337 -#: ../../Firmware/util.cpp:486 +#: ../../Firmware/messages.cpp:136 ../../Firmware/util.cpp:329 +#: ../../Firmware/util.cpp:460 msgid "" "G-code sliced for a different printer type. Please re-slice the model again. " "Print cancelled." @@ -760,12 +819,12 @@ msgstr "" "Utskriften avbröts." #. MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:381 +#: ../../Firmware/util.cpp:370 msgid "G-code sliced for a newer firmware. Continue?" msgstr "G-kod genererad för en nyare firmware. Fortsätta?" #. MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 -#: ../../Firmware/util.cpp:387 +#: ../../Firmware/util.cpp:377 msgid "" "G-code sliced for a newer firmware. Please update the firmware. Print " "cancelled." @@ -774,42 +833,42 @@ msgstr "" "Utskriften avbröts." #. MSG_GCODE c=8 -#: ../../Firmware/messages.c:135 ../../Firmware/ultralcd.cpp:5515 -#: ../../Firmware/ultralcd.cpp:5518 ../../Firmware/ultralcd.cpp:5521 -#: ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:134 ../../Firmware/ultralcd.cpp:4653 +#: ../../Firmware/ultralcd.cpp:4656 ../../Firmware/ultralcd.cpp:4659 +#: ../../Firmware/ultralcd.cpp:4662 msgid "Gcode" msgstr "" #. MSG_HW_SETUP c=18 -#: ../../Firmware/messages.c:104 ../../Firmware/ultralcd.cpp:5532 -#: ../../Firmware/ultralcd.cpp:5586 ../../Firmware/ultralcd.cpp:5678 +#: ../../Firmware/messages.cpp:103 ../../Firmware/ultralcd.cpp:4670 +#: ../../Firmware/ultralcd.cpp:4689 ../../Firmware/ultralcd.cpp:4789 msgid "HW Setup" msgstr "HW inställning" #. MSG_SELFTEST_HEATERTHERMISTOR c=20 -#: ../../Firmware/ultralcd.cpp:8032 +#: ../../Firmware/ultralcd.cpp:6967 msgid "Heater/Thermistor" msgstr "Värmare/Termistor" #. MSG_HEATING c=20 -#: ../../Firmware/Marlin_main.cpp:6640 ../../Firmware/messages.c:52 -#: ../../Firmware/ultralcd.cpp:591 +#: ../../Firmware/Marlin_main.cpp:6236 ../../Firmware/messages.cpp:48 +#: ../../Firmware/ultralcd.cpp:577 msgid "Heating" msgstr "Uppvärmning" #. MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:9840 +#: ../../Firmware/Marlin_main.cpp:9477 msgid "Heating disabled by safety timer." msgstr "Uppvärmning avaktiverad av säkerhetstimer." #. MSG_HEATING_COMPLETE c=20 -#: ../../Firmware/Marlin_main.cpp:6673 ../../Firmware/messages.c:53 -#: ../../Firmware/ultralcd.cpp:594 +#: ../../Firmware/Marlin_main.cpp:6267 ../../Firmware/messages.cpp:49 +#: ../../Firmware/ultralcd.cpp:580 msgid "Heating done." msgstr "Uppvärmning klar." -#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=16 -#: ../../Firmware/messages.c:124 ../../Firmware/ultralcd.cpp:4902 +#. MSG_WIZARD_WELCOME_SHIPPING c=20 r=12 +#: ../../Firmware/messages.cpp:123 ../../Firmware/ultralcd.cpp:4008 msgid "" "Hi, I am your Original Prusa i3 printer. I will guide you through a short " "setup process, in which the Z-axis will be calibrated. Then, you will be " @@ -820,7 +879,7 @@ msgstr "" "att skriva ut." #. MSG_WIZARD_WELCOME c=20 r=7 -#: ../../Firmware/messages.c:123 ../../Firmware/ultralcd.cpp:4905 +#: ../../Firmware/messages.cpp:122 ../../Firmware/ultralcd.cpp:4011 msgid "" "Hi, I am your Original Prusa i3 printer. Would you like me to guide you " "through the setup process?" @@ -829,25 +888,46 @@ msgstr "" "installationsprocessen?" #. MSG_HIGH_POWER c=10 -#: ../../Firmware/messages.c:106 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6847 +#: ../../Firmware/messages.cpp:105 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5778 msgid "High power" msgstr "Hög kraft" +#. MSG_PROGRESS_HOMING c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:29 +#: ../../Firmware/mmu2_progress_converter.cpp:60 +msgid "Homing" +msgstr "" + #. MSG_WIZARD_XYZ_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4935 +#: ../../Firmware/ultralcd.cpp:4041 msgid "I will run xyz calibration now. It will take approx. 12 mins." msgstr "" "Jag kommer att utföra en xyz-kalibrering nu. Det kommer att ta ca. 12 min." #. MSG_WIZARD_Z_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4943 +#: ../../Firmware/ultralcd.cpp:4049 msgid "I will run z calibration now." msgstr "Jag kommer att utföra z-kalibrering nu." +#. MSG_TITLE_IDLER_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:127 ../../Firmware/mmu2/errors_list.h:164 +msgid "IDLER CANNOT HOME" +msgstr "" + +#. MSG_TITLE_IDLER_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:126 ../../Firmware/mmu2/errors_list.h:165 +msgid "IDLER CANNOT MOVE" +msgstr "" + +#. MSG_TITLE_INVALID_TOOL c=20 +#: ../../Firmware/mmu2/errors_list.h:149 ../../Firmware/mmu2/errors_list.h:187 +msgid "INVALID TOOL" +msgstr "" + #. MSG_ADDITIONAL_SHEETS c=20 r=9 -#: ../../Firmware/ultralcd.cpp:5013 +#: ../../Firmware/ultralcd.cpp:4115 msgid "" "If you have additional steel sheets, calibrate their presets in Settings - " "HW Setup - Steel sheets." @@ -855,527 +935,496 @@ msgstr "" "Om du har ytterligare metallskivor, kalibrera deras förinställningar i " "Inställningar - HW inställning - Metallskiva." -#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 -#: ../../Firmware/mesh_bed_calibration.cpp:2531 +#. MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=20 r=4 +#: ../../Firmware/mesh_bed_calibration.cpp:2530 msgid "Improving bed calibration point" msgstr "" #. MSG_INFO_SCREEN c=18 -#: ../../Firmware/messages.c:118 ../../Firmware/ultralcd.cpp:6536 +#: ../../Firmware/messages.cpp:117 ../../Firmware/ultralcd.cpp:5487 msgid "Info screen" msgstr "Infoskärm" -#. MSG_INIT_SDCARD -#: ../../Firmware/ultralcd.cpp:6604 +#. MSG_INIT_SDCARD c=18 +#: ../../Firmware/ultralcd.cpp:5554 msgid "Init. SD card" msgstr "" #. MSG_INSERT_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2472 +#: ../../Firmware/ultralcd.cpp:2165 msgid "Insert filament" msgstr "Sätt i filament" -#. MSG_FILAMENT_LOADING_T0 c=20 r=4 -#: ../../Firmware/messages.c:41 ../../Firmware/mmu.cpp:976 -#: ../../Firmware/mmu.cpp:1020 -msgid "Insert filament into extruder 1. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T1 c=20 r=4 -#: ../../Firmware/messages.c:42 ../../Firmware/mmu.cpp:973 -#: ../../Firmware/mmu.cpp:1017 -msgid "Insert filament into extruder 2. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T2 c=20 r=4 -#: ../../Firmware/messages.c:43 ../../Firmware/mmu.cpp:974 -#: ../../Firmware/mmu.cpp:1018 -msgid "Insert filament into extruder 3. Click when done." -msgstr "" - -#. MSG_FILAMENT_LOADING_T3 c=20 r=4 -#: ../../Firmware/messages.c:44 ../../Firmware/mmu.cpp:975 -#: ../../Firmware/mmu.cpp:1019 -msgid "Insert filament into extruder 4. Click when done." -msgstr "" - #. MSG_INSERT_FIL c=20 r=6 -#: ../../Firmware/ultralcd.cpp:7285 +#: ../../Firmware/ultralcd.cpp:6233 msgid "" "Insert the filament (do not load it) into the extruder and then press the " "knob." msgstr "" "Infoga filamentet (ladda inte in det) i extrudern och tryck sedan på knappen." +#. MSG_DESC_FW_RUNTIME_ERROR c=20 r=11 +#: ../../Firmware/mmu2/errors_list.h:232 ../../Firmware/mmu2/errors_list.h:270 +msgid "" +"Internal runtime error. Try resetting the MMU unit or updating the firmware. " +"If the issue persists, contact support." +msgstr "" + #. MSG_FILAMENT_LOADED c=20 r=2 -#: ../../Firmware/messages.c:40 ../../Firmware/ultralcd.cpp:4711 -#: ../../Firmware/ultralcd.cpp:4968 ../../Firmware/ultralcd.cpp:4971 +#: ../../Firmware/messages.cpp:38 ../../Firmware/ultralcd.cpp:3827 +#: ../../Firmware/ultralcd.cpp:4074 msgid "Is filament loaded?" msgstr "Är filament isatt?" #. MSG_STEEL_SHEET_CHECK c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3513 ../../Firmware/Marlin_main.cpp:5315 -#: ../../Firmware/messages.c:111 ../../Firmware/ultralcd.cpp:4944 +#: ../../Firmware/Marlin_main.cpp:3301 ../../Firmware/Marlin_main.cpp:4911 +#: ../../Firmware/messages.cpp:110 ../../Firmware/ultralcd.cpp:4050 msgid "Is steel sheet on heatbed?" msgstr "Ligger metallskiva på värmebädden?" #. MSG_ITERATION c=12 -#: ../../Firmware/mesh_bed_calibration.cpp:2253 ../../Firmware/messages.c:55 +#: ../../Firmware/mesh_bed_calibration.cpp:2252 ../../Firmware/messages.cpp:51 msgid "Iteration" msgstr "" #. MSG_LAST_PRINT c=18 -#: ../../Firmware/messages.c:58 ../../Firmware/ultralcd.cpp:1460 -#: ../../Firmware/ultralcd.cpp:1608 +#: ../../Firmware/messages.cpp:54 ../../Firmware/ultralcd.cpp:1166 +#: ../../Firmware/ultralcd.cpp:1299 msgid "Last print" msgstr "Senaste utskrift" #. MSG_LAST_PRINT_FAILURES c=20 -#: ../../Firmware/messages.c:59 ../../Firmware/ultralcd.cpp:1481 -#: ../../Firmware/ultralcd.cpp:1571 ../../Firmware/ultralcd.cpp:1581 -#: ../../Firmware/ultralcd.cpp:1638 +#: ../../Firmware/messages.cpp:55 ../../Firmware/ultralcd.cpp:1186 +#: ../../Firmware/ultralcd.cpp:1273 ../../Firmware/ultralcd.cpp:1328 msgid "Last print failures" msgstr "Senaste utskriftsfel" #. MSG_LEFT c=10 -#: ../../Firmware/ultralcd.cpp:2834 +#: ../../Firmware/ultralcd.cpp:2494 msgid "Left" msgstr "Vänster" #. MSG_SELFTEST_EXTRUDER_FAN c=20 -#: ../../Firmware/messages.c:91 ../../Firmware/ultralcd.cpp:8066 -#: ../../Firmware/ultralcd.cpp:8213 ../../Firmware/ultralcd.cpp:8218 +#: ../../Firmware/messages.cpp:88 ../../Firmware/ultralcd.cpp:7001 +#: ../../Firmware/ultralcd.cpp:7147 ../../Firmware/ultralcd.cpp:7152 msgid "Left hotend fan?" msgstr "Vänst hotend fläkt?" #. MSG_BED_CORRECTION_LEFT c=14 -#: ../../Firmware/ultralcd.cpp:3104 +#: ../../Firmware/ultralcd.cpp:2750 msgid "Left side [μm]" msgstr "Vänstsida [μm]" #. MSG_BL_HIGH c=12 -#: ../../Firmware/messages.c:157 ../../Firmware/ultralcd.cpp:6929 +#: ../../Firmware/messages.cpp:156 ../../Firmware/ultralcd.cpp:5860 msgid "Level Bright" msgstr "Ljusnivå" #. MSG_BL_LOW c=12 -#: ../../Firmware/messages.c:158 ../../Firmware/ultralcd.cpp:6930 +#: ../../Firmware/messages.cpp:157 ../../Firmware/ultralcd.cpp:5861 msgid "Level Dimmed" msgstr "Nivå dämpad" #. MSG_LIN_CORRECTION c=18 -#: ../../Firmware/ultralcd.cpp:5686 +#: ../../Firmware/ultralcd.cpp:4797 msgid "Lin. correction" msgstr "Linjär korrektion" #. MSG_BABYSTEP_Z c=18 -#: ../../Firmware/messages.c:12 ../../Firmware/ultralcd.cpp:5698 -#: ../../Firmware/ultralcd.cpp:6551 +#: ../../Firmware/messages.cpp:10 ../../Firmware/ultralcd.cpp:4809 +#: ../../Firmware/ultralcd.cpp:5502 msgid "Live adjust Z" msgstr "Live justera Z" -#. MSG_LOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6151 -msgid "Load all" -msgstr "Ladda alla" +#. MSG_LOAD_ALL c=18 +#: ../../Firmware/messages.cpp:172 ../../Firmware/ultralcd.cpp:5098 +#: ../../Firmware/ultralcd.cpp:5178 +msgid "Load All" +msgstr "" #. MSG_LOAD_FILAMENT c=17 -#: ../../Firmware/messages.c:60 ../../Firmware/ultralcd.cpp:6152 -#: ../../Firmware/ultralcd.cpp:6153 ../../Firmware/ultralcd.cpp:6154 -#: ../../Firmware/ultralcd.cpp:6155 ../../Firmware/ultralcd.cpp:6159 -#: ../../Firmware/ultralcd.cpp:6170 ../../Firmware/ultralcd.cpp:6171 -#: ../../Firmware/ultralcd.cpp:6172 ../../Firmware/ultralcd.cpp:6173 -#: ../../Firmware/ultralcd.cpp:6174 ../../Firmware/ultralcd.cpp:6621 -#: ../../Firmware/ultralcd.cpp:6642 +#: ../../Firmware/messages.cpp:56 ../../Firmware/ultralcd.cpp:5100 +#: ../../Firmware/ultralcd.cpp:5119 ../../Firmware/ultralcd.cpp:5180 +#: ../../Firmware/ultralcd.cpp:5571 ../../Firmware/ultralcd.cpp:5589 msgid "Load filament" msgstr "Ladda filament" +#. MSG_LOAD_TO_EXTRUDER c=18 +#: ../../Firmware/messages.cpp:57 ../../Firmware/ultralcd.cpp:5572 +msgid "Load to extruder" +msgstr "" + #. MSG_LOAD_TO_NOZZLE c=18 -#: ../../Firmware/ultralcd.cpp:6622 +#: ../../Firmware/ultralcd.cpp:5573 msgid "Load to nozzle" msgstr "Ladd till munstyck" #. MSG_LOADING_COLOR c=20 -#: ../../Firmware/ultralcd.cpp:2506 +#: ../../Firmware/ultralcd.cpp:2201 msgid "Loading color" msgstr "Laddar färg" #. MSG_LOADING_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:3846 ../../Firmware/messages.c:61 -#: ../../Firmware/mmu.cpp:882 ../../Firmware/mmu.cpp:995 -#: ../../Firmware/mmu.cpp:1036 ../../Firmware/mmu.cpp:1037 -#: ../../Firmware/mmu.cpp:1353 ../../Firmware/mmu.cpp:1365 -#: ../../Firmware/ultralcd.cpp:2517 ../../Firmware/ultralcd.cpp:4806 +#: ../../Firmware/Marlin_main.cpp:3651 ../../Firmware/messages.cpp:58 +#: ../../Firmware/mmu2.cpp:438 ../../Firmware/mmu2.cpp:468 +#: ../../Firmware/mmu2_progress_converter.cpp:51 +#: ../../Firmware/ultralcd.cpp:2212 ../../Firmware/ultralcd.cpp:3919 msgid "Loading filament" msgstr "Laddar filament" #. MSG_LOOSE_PULLEY c=20 -#: ../../Firmware/ultralcd.cpp:8072 +#: ../../Firmware/ultralcd.cpp:7007 msgid "Loose pulley" msgstr "Lös pulley" #. MSG_SOUND_LOUD c=7 -#: ../../Firmware/messages.c:146 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:145 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4460 msgid "Loud" msgstr "Högt" -#. MSG_M117_V2_CALIBRATION c=25 -#: ../../Firmware/first_lay_cal.cpp:28 ../../Firmware/messages.c:64 -#: ../../Firmware/ultralcd.cpp:932 -msgid "M117 First layer cal." -msgstr "M117 Först lager kalibr." +#. MSG_TITLE_FW_UPDATE_NEEDED c=20 +#: ../../Firmware/mmu2/errors_list.h:151 ../../Firmware/mmu2/errors_list.h:189 +msgid "MMU FW UPDATE NEEDED" +msgstr "" -#. MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:884 -msgid "MK3 firmware detected on MK3S printer" -msgstr "MK3-firmware upptäckt på MK3S-skrivare" - -#. MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:877 -msgid "MK3S firmware detected on MK3 printer" -msgstr "MK3S-firmware upptäckt på MK3-skrivare" +#. MSG_DESC_QUEUE_FULL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:230 ../../Firmware/mmu2/errors_list.h:268 +msgid "MMU Firmware internal error, please reset the MMU." +msgstr "" #. MSG_MMU_MODE c=8 -#: ../../Firmware/messages.c:139 ../../Firmware/ultralcd.cpp:5241 -#: ../../Firmware/ultralcd.cpp:5242 +#: ../../Firmware/messages.cpp:138 ../../Firmware/ultralcd.cpp:4379 +#: ../../Firmware/ultralcd.cpp:4380 msgid "MMU Mode" msgstr "MMU-läge" -#. MSG_MMU_OK_RESUMING_POSITION c=20 r=4 -#: ../../Firmware/mmu.cpp:765 -msgid "MMU OK. Resuming position..." -msgstr "MMU OK. Återupptar position..." +#. MSG_TITLE_MMU_NOT_RESPONDING c=20 +#: ../../Firmware/mmu2/errors_list.h:146 ../../Firmware/mmu2/errors_list.h:184 +msgid "MMU NOT RESPONDING" +msgstr "" -#. MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4 -#: ../../Firmware/mmu.cpp:758 -msgid "MMU OK. Resuming temperature..." -msgstr "MMU OK. Återupptar temperatur..." - -#. MSG_MMU_OK_RESUMING c=20 r=4 -#: ../../Firmware/mmu.cpp:776 -msgid "MMU OK. Resuming..." -msgstr "MMU OK. Återupptar..." +#. MSG_MMU_RESTORE_TEMP c=20 r=4 +#: ../../Firmware/mmu2.cpp:598 +msgid "MMU Retry: Restoring temperature..." +msgstr "" #. MSG_MMU_FAILS c=15 -#: ../../Firmware/messages.c:71 ../../Firmware/ultralcd.cpp:1482 -#: ../../Firmware/ultralcd.cpp:1505 +#: ../../Firmware/messages.cpp:68 ../../Firmware/ultralcd.cpp:1187 +#: ../../Firmware/ultralcd.cpp:1215 msgid "MMU fails" msgstr "MMU felar" -#. MSG_MMU_LOAD_FAILED c=20 -#: ../../Firmware/mmu.cpp:1587 -msgid "MMU load failed" -msgstr "MMU-laddning felade" - #. MSG_MMU_LOAD_FAILS c=15 -#: ../../Firmware/messages.c:72 ../../Firmware/ultralcd.cpp:1483 -#: ../../Firmware/ultralcd.cpp:1506 +#: ../../Firmware/messages.cpp:69 ../../Firmware/ultralcd.cpp:1188 msgid "MMU load fails" msgstr "MMU-laddn felar" -#. MSG_MMU_USER_ATTENTION c=20 r=3 -#: ../../Firmware/mmu.cpp:722 -msgid "MMU needs user attention." -msgstr "MMU fordrar användarens uppmärksamhet.." +#. MSG_DESC_COMMUNICATION_ERROR c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:227 ../../Firmware/mmu2/errors_list.h:265 +msgid "" +"MMU unit not responding correctly. Check the wiring and connectors. If the " +"issue persists, contact support." +msgstr "" -#. MSG_MMU_POWER_FAILS c=15 -#: ../../Firmware/ultralcd.cpp:1507 -msgid "MMU power fails" -msgstr "MMU strömavbr." +#. MSG_DESC_MMU_NOT_RESPONDING c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:226 ../../Firmware/mmu2/errors_list.h:264 +msgid "" +"MMU unit not responding. Check the wiring and connectors. If the issue " +"persists, contact support." +msgstr "" #. MSG_MMU_CONNECTED c=18 -#: ../../Firmware/ultralcd.cpp:1987 +#: ../../Firmware/ultralcd.cpp:1679 msgid "MMU2 connected" msgstr "MMU2 ansluten" #. MSG_MAGNETS_COMP c=13 -#: ../../Firmware/messages.c:152 ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/messages.cpp:151 ../../Firmware/ultralcd.cpp:5834 msgid "Magnets comp." msgstr "Magnets komp." #. MSG_MAIN c=18 -#: ../../Firmware/messages.c:65 ../../Firmware/ultralcd.cpp:1459 -#: ../../Firmware/ultralcd.cpp:1607 ../../Firmware/ultralcd.cpp:1650 -#: ../../Firmware/ultralcd.cpp:1952 ../../Firmware/ultralcd.cpp:2421 -#: ../../Firmware/ultralcd.cpp:5655 ../../Firmware/ultralcd.cpp:5752 -#: ../../Firmware/ultralcd.cpp:6150 ../../Firmware/ultralcd.cpp:6169 -#: ../../Firmware/ultralcd.cpp:6195 ../../Firmware/ultralcd.cpp:6217 -#: ../../Firmware/ultralcd.cpp:6243 ../../Firmware/ultralcd.cpp:6259 -#: ../../Firmware/ultralcd.cpp:6786 +#: ../../Firmware/messages.cpp:62 ../../Firmware/ultralcd.cpp:1165 +#: ../../Firmware/ultralcd.cpp:1298 ../../Firmware/ultralcd.cpp:1340 +#: ../../Firmware/ultralcd.cpp:1644 ../../Firmware/ultralcd.cpp:4757 +#: ../../Firmware/ultralcd.cpp:4863 ../../Firmware/ultralcd.cpp:5097 +#: ../../Firmware/ultralcd.cpp:5117 ../../Firmware/ultralcd.cpp:5135 +#: ../../Firmware/ultralcd.cpp:5153 ../../Firmware/ultralcd.cpp:5177 +#: ../../Firmware/ultralcd.cpp:5730 msgid "Main" msgstr "Huvudsaklig" -#. MSG_MARK_FIL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4557 -msgid "Mark filament 100mm from extruder body. Click when done." -msgstr "" - #. MSG_MEASURED_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2875 +#: ../../Firmware/ultralcd.cpp:2535 msgid "Measured skew" msgstr "Mätt skevhet" #. MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3494 -#: ../../Firmware/mesh_bed_calibration.cpp:2840 ../../Firmware/messages.c:69 +#: ../../Firmware/Marlin_main.cpp:3282 +#: ../../Firmware/mesh_bed_calibration.cpp:2836 ../../Firmware/messages.cpp:66 msgid "Measuring reference height of calibration point" msgstr "Mätning av referenshöjd för kalibreringspunkt" #. MSG_MESH c=12 -#: ../../Firmware/messages.c:149 ../../Firmware/ultralcd.cpp:6899 +#: ../../Firmware/messages.cpp:148 ../../Firmware/ultralcd.cpp:5830 msgid "Mesh" msgstr "Nätverk" #. MSG_MESH_BED_LEVELING c=18 -#: ../../Firmware/messages.c:150 ../../Firmware/ultralcd.cpp:5683 -#: ../../Firmware/ultralcd.cpp:5778 +#: ../../Firmware/messages.cpp:149 ../../Firmware/ultralcd.cpp:4794 +#: ../../Firmware/ultralcd.cpp:4881 msgid "Mesh Bed Leveling" msgstr "Bäddytsjustering" #. MSG_MODE c=6 -#: ../../Firmware/messages.c:105 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5198 ../../Firmware/ultralcd.cpp:5218 -#: ../../Firmware/ultralcd.cpp:5221 ../../Firmware/ultralcd.cpp:5224 -#: ../../Firmware/ultralcd.cpp:5227 ../../Firmware/ultralcd.cpp:6831 -#: ../../Firmware/ultralcd.cpp:6832 ../../Firmware/ultralcd.cpp:6844 -#: ../../Firmware/ultralcd.cpp:6845 ../../Firmware/ultralcd.cpp:6846 -#: ../../Firmware/ultralcd.cpp:6847 ../../Firmware/ultralcd.cpp:6931 +#: ../../Firmware/messages.cpp:104 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4336 ../../Firmware/ultralcd.cpp:4356 +#: ../../Firmware/ultralcd.cpp:4359 ../../Firmware/ultralcd.cpp:4362 +#: ../../Firmware/ultralcd.cpp:4365 ../../Firmware/ultralcd.cpp:5761 +#: ../../Firmware/ultralcd.cpp:5768 ../../Firmware/ultralcd.cpp:5775 +#: ../../Firmware/ultralcd.cpp:5776 ../../Firmware/ultralcd.cpp:5777 +#: ../../Firmware/ultralcd.cpp:5778 ../../Firmware/ultralcd.cpp:5862 msgid "Mode" msgstr "" -#: ../../Firmware/ultralcd.cpp:5288 -msgid "Mode [Fast]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5291 ../../Firmware/ultralcd.cpp:5297 -msgid "Mode [Optimal]" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:5294 -msgid "Mode [Precise]" -msgstr "" - #. MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4358 +#: ../../Firmware/ultralcd.cpp:3587 msgid "Mode change in progress..." msgstr "Lägesändring pågår..." #. MSG_MODEL c=8 -#: ../../Firmware/messages.c:134 ../../Firmware/ultralcd.cpp:5435 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5441 -#: ../../Firmware/ultralcd.cpp:5444 +#: ../../Firmware/messages.cpp:133 ../../Firmware/ultralcd.cpp:4573 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4579 +#: ../../Firmware/ultralcd.cpp:4582 msgid "Model" msgstr "Modell" +#. MSG_DESC_TMC c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:207 ../../Firmware/mmu2/errors_list.h:246 +#: ../../Firmware/mmu2/errors_list.h:247 ../../Firmware/mmu2/errors_list.h:248 +#: ../../Firmware/mmu2/errors_list.h:249 ../../Firmware/mmu2/errors_list.h:250 +#: ../../Firmware/mmu2/errors_list.h:251 ../../Firmware/mmu2/errors_list.h:252 +#: ../../Firmware/mmu2/errors_list.h:253 ../../Firmware/mmu2/errors_list.h:254 +#: ../../Firmware/mmu2/errors_list.h:255 ../../Firmware/mmu2/errors_list.h:256 +#: ../../Firmware/mmu2/errors_list.h:257 ../../Firmware/mmu2/errors_list.h:258 +#: ../../Firmware/mmu2/errors_list.h:259 ../../Firmware/mmu2/errors_list.h:260 +#: ../../Firmware/mmu2/errors_list.h:261 ../../Firmware/mmu2/errors_list.h:262 +#: ../../Firmware/mmu2/errors_list.h:263 +msgid "More details online." +msgstr "" + +#. MSG_BTN_MORE c=5 +#: ../../Firmware/mmu2/errors_list.h:287 +#: ../../Firmware/mmu2_error_converter.cpp:153 +msgid "More⏬" +msgstr "" + #. MSG_SELFTEST_MOTOR c=18 -#: ../../Firmware/messages.c:98 ../../Firmware/ultralcd.cpp:8046 -#: ../../Firmware/ultralcd.cpp:8055 ../../Firmware/ultralcd.cpp:8073 +#: ../../Firmware/messages.cpp:95 ../../Firmware/ultralcd.cpp:6981 +#: ../../Firmware/ultralcd.cpp:6990 ../../Firmware/ultralcd.cpp:7008 msgid "Motor" msgstr "" #. MSG_MOVE_X c=18 -#: ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:3509 msgid "Move X" msgstr "Flytta X" #. MSG_MOVE_Y c=18 -#: ../../Firmware/ultralcd.cpp:4226 +#: ../../Firmware/ultralcd.cpp:3510 msgid "Move Y" msgstr "Flytta Y" #. MSG_MOVE_Z c=18 -#: ../../Firmware/ultralcd.cpp:4227 +#: ../../Firmware/ultralcd.cpp:3511 msgid "Move Z" msgstr "Flytta Z" #. MSG_MOVE_AXIS c=18 -#: ../../Firmware/ultralcd.cpp:5661 +#: ../../Firmware/ultralcd.cpp:4763 msgid "Move axis" msgstr "Flytta axlar" +#. MSG_PROGRESS_MOVING_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:30 +#: ../../Firmware/mmu2_progress_converter.cpp:61 +msgid "Moving selector" +msgstr "" + #. MSG_NA c=3 -#: ../../Firmware/menu.cpp:198 ../../Firmware/messages.c:129 -#: ../../Firmware/ultralcd.cpp:2840 ../../Firmware/ultralcd.cpp:2885 -#: ../../Firmware/ultralcd.cpp:3813 ../../Firmware/ultralcd.cpp:5088 -#: ../../Firmware/ultralcd.cpp:5136 ../../Firmware/ultralcd.cpp:6806 -#: ../../Firmware/ultralcd.cpp:6903 +#: ../../Firmware/menu.cpp:196 ../../Firmware/messages.cpp:128 +#: ../../Firmware/ultralcd.cpp:2500 ../../Firmware/ultralcd.cpp:2545 +#: ../../Firmware/ultralcd.cpp:3434 ../../Firmware/ultralcd.cpp:4229 +#: ../../Firmware/ultralcd.cpp:4230 ../../Firmware/ultralcd.cpp:4232 +#: ../../Firmware/ultralcd.cpp:5834 msgid "N/A" msgstr "" #. MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 -#: ../../Firmware/util.cpp:195 +#: ../../Firmware/util.cpp:199 msgid "New firmware version available:" msgstr "Ny firmware version tillgänglig:" #. MSG_NO c=4 -#: ../../Firmware/messages.c:73 ../../Firmware/ultralcd.cpp:3156 -#: ../../Firmware/ultralcd.cpp:3547 ../../Firmware/ultralcd.cpp:3642 -#: ../../Firmware/ultralcd.cpp:3647 ../../Firmware/ultralcd.cpp:5645 -#: ../../Firmware/ultralcd.cpp:7047 +#: ../../Firmware/messages.cpp:70 ../../Firmware/ultralcd.cpp:2802 +#: ../../Firmware/ultralcd.cpp:3170 ../../Firmware/ultralcd.cpp:4747 +#: ../../Firmware/ultralcd.cpp:5997 msgid "No" msgstr "Nej" #. MSG_NO_CARD c=18 -#: ../../Firmware/ultralcd.cpp:6602 +#: ../../Firmware/ultralcd.cpp:5552 msgid "No SD card" msgstr "Inget SD-kort" #. MSG_NO_MOVE c=20 -#: ../../Firmware/Marlin_main.cpp:5815 +#: ../../Firmware/Marlin_main.cpp:5402 msgid "No move." msgstr "Ingen rörelse." -#. MSG_ERR_NO_THERMISTORS -#: ../../Firmware/Marlin_main.cpp:2655 -msgid "No thermistors - no temperature" -msgstr "" - #. MSG_NONE c=8 -#: ../../Firmware/messages.c:131 ../../Firmware/ultralcd.cpp:5265 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:5435 ../../Firmware/ultralcd.cpp:5444 -#: ../../Firmware/ultralcd.cpp:5474 ../../Firmware/ultralcd.cpp:5483 -#: ../../Firmware/ultralcd.cpp:5515 ../../Firmware/ultralcd.cpp:5524 +#: ../../Firmware/messages.cpp:130 ../../Firmware/ultralcd.cpp:4403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:4573 ../../Firmware/ultralcd.cpp:4582 +#: ../../Firmware/ultralcd.cpp:4612 ../../Firmware/ultralcd.cpp:4621 +#: ../../Firmware/ultralcd.cpp:4653 ../../Firmware/ultralcd.cpp:4662 msgid "None" msgstr "Ingen" #. MSG_NORMAL c=7 -#: ../../Firmware/messages.c:109 ../../Firmware/ultralcd.cpp:5196 -#: ../../Firmware/ultralcd.cpp:5241 ../../Firmware/ultralcd.cpp:5257 -#: ../../Firmware/ultralcd.cpp:5276 ../../Firmware/ultralcd.cpp:6831 +#: ../../Firmware/messages.cpp:108 ../../Firmware/ultralcd.cpp:4334 +#: ../../Firmware/ultralcd.cpp:4379 ../../Firmware/ultralcd.cpp:4395 +#: ../../Firmware/ultralcd.cpp:4414 ../../Firmware/ultralcd.cpp:5761 msgid "Normal" msgstr "" #. MSG_SELFTEST_NOTCONNECTED c=20 -#: ../../Firmware/ultralcd.cpp:8033 +#: ../../Firmware/ultralcd.cpp:6968 msgid "Not connected" msgstr "Inte ansluten" #. MSG_SELFTEST_FAN_NO c=19 -#: ../../Firmware/messages.c:94 ../../Firmware/ultralcd.cpp:8232 -#: ../../Firmware/ultralcd.cpp:8247 ../../Firmware/ultralcd.cpp:8255 +#: ../../Firmware/messages.cpp:91 ../../Firmware/ultralcd.cpp:7166 +#: ../../Firmware/ultralcd.cpp:7181 ../../Firmware/ultralcd.cpp:7189 msgid "Not spinning" msgstr "Roterar inte" #. MSG_WIZARD_V2_CAL c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4822 +#: ../../Firmware/ultralcd.cpp:3928 msgid "" "Now I will calibrate distance between tip of the nozzle and heatbed surface." msgstr "" "Nu ska jag kalibrera avståndet mellan munstyckets spets och värmebäddsytan." #. MSG_WIZARD_WILL_PREHEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4951 +#: ../../Firmware/ultralcd.cpp:4059 msgid "Now I will preheat nozzle for PLA." msgstr "Nu ska jag förvärma munstycket för PLA." #. MSG_REMOVE_TEST_PRINT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4942 +#: ../../Firmware/ultralcd.cpp:4048 msgid "Now remove the test print from steel sheet." msgstr "Ta nu bort testutskriften från metallskivan." #. MSG_NOZZLE c=10 -#: ../../Firmware/messages.c:74 ../../Firmware/ultralcd.cpp:1714 -#: ../../Firmware/ultralcd.cpp:5353 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5359 ../../Firmware/ultralcd.cpp:5362 -#: ../../Firmware/ultralcd.cpp:6789 ../../Firmware/ultralcd.cpp:6949 +#: ../../Firmware/messages.cpp:71 ../../Firmware/ultralcd.cpp:1403 +#: ../../Firmware/ultralcd.cpp:4491 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4497 ../../Firmware/ultralcd.cpp:4500 +#: ../../Firmware/ultralcd.cpp:5733 ../../Firmware/ultralcd.cpp:5880 msgid "Nozzle" msgstr "Munstycke" #. MSG_NOZZLE_DIAMETER c=10 -#: ../../Firmware/messages.c:138 ../../Firmware/ultralcd.cpp:5406 +#: ../../Firmware/messages.cpp:137 ../../Firmware/ultralcd.cpp:4544 msgid "Nozzle d." msgstr "Munst dia." -#. MSG_NOZZLE1 -#: ../../Firmware/ultralcd.cpp:6952 -msgid "Nozzle2" -msgstr "" - -#. MSG_NOZZLE2 -#: ../../Firmware/ultralcd.cpp:6955 -msgid "Nozzle3" +#. MSG_PROGRESS_OK c=4 +#: ../../Firmware/mmu2_progress_converter.cpp:8 +#: ../../Firmware/mmu2_progress_converter.cpp:34 +msgid "OK" msgstr "" #. MSG_OFF c=3 -#: ../../Firmware/menu.cpp:469 ../../Firmware/messages.c:127 -#: ../../Firmware/ultralcd.cpp:5094 ../../Firmware/ultralcd.cpp:5110 -#: ../../Firmware/ultralcd.cpp:5144 ../../Firmware/ultralcd.cpp:5173 -#: ../../Firmware/ultralcd.cpp:5202 ../../Firmware/ultralcd.cpp:5671 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5694 -#: ../../Firmware/ultralcd.cpp:6711 ../../Firmware/ultralcd.cpp:6810 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6837 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:40 ../../Firmware/menu.cpp:467 +#: ../../Firmware/messages.cpp:126 ../../Firmware/ultralcd.cpp:4225 +#: ../../Firmware/ultralcd.cpp:4236 ../../Firmware/ultralcd.cpp:4237 +#: ../../Firmware/ultralcd.cpp:4239 ../../Firmware/ultralcd.cpp:4264 +#: ../../Firmware/ultralcd.cpp:4292 ../../Firmware/ultralcd.cpp:4340 +#: ../../Firmware/ultralcd.cpp:4775 ../../Firmware/ultralcd.cpp:4782 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4805 +#: ../../Firmware/ultralcd.cpp:5657 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5765 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "Off" msgstr "Av" #. MSG_DEFAULT_SETTINGS_LOADED c=20 r=6 -#: ../../Firmware/Marlin_main.cpp:1562 +#: ../../Firmware/Marlin_main.cpp:1513 msgid "Old settings found. Default PID, Esteps etc. will be set." msgstr "" "Gamla inställningar hittades. Standard PID, Esteps etc. kommer att ställas " "in." #. MSG_ON c=3 -#: ../../Firmware/messages.c:128 ../../Firmware/ultralcd.cpp:5104 -#: ../../Firmware/ultralcd.cpp:5108 ../../Firmware/ultralcd.cpp:5140 -#: ../../Firmware/ultralcd.cpp:5163 ../../Firmware/ultralcd.cpp:5201 -#: ../../Firmware/ultralcd.cpp:5671 ../../Firmware/ultralcd.cpp:5690 -#: ../../Firmware/ultralcd.cpp:5694 ../../Firmware/ultralcd.cpp:6814 -#: ../../Firmware/ultralcd.cpp:6825 ../../Firmware/ultralcd.cpp:6836 -#: ../../Firmware/ultralcd.cpp:6903 ../../Firmware/ultralcd.cpp:8974 -#: ../../Firmware/ultralcd.cpp:8978 +#: ../../Firmware/SpoolJoin.cpp:38 ../../Firmware/messages.cpp:127 +#: ../../Firmware/ultralcd.cpp:4225 ../../Firmware/ultralcd.cpp:4236 +#: ../../Firmware/ultralcd.cpp:4237 ../../Firmware/ultralcd.cpp:4239 +#: ../../Firmware/ultralcd.cpp:4264 ../../Firmware/ultralcd.cpp:4282 +#: ../../Firmware/ultralcd.cpp:4339 ../../Firmware/ultralcd.cpp:4775 +#: ../../Firmware/ultralcd.cpp:4782 ../../Firmware/ultralcd.cpp:4801 +#: ../../Firmware/ultralcd.cpp:4805 ../../Firmware/ultralcd.cpp:5754 +#: ../../Firmware/ultralcd.cpp:5763 ../../Firmware/ultralcd.cpp:5834 +#: ../../Firmware/ultralcd.cpp:7829 ../../Firmware/ultralcd.cpp:7833 msgid "On" msgstr "På" #. MSG_SOUND_ONCE c=7 -#: ../../Firmware/messages.c:147 ../../Firmware/ultralcd.cpp:5313 +#: ../../Firmware/messages.cpp:146 ../../Firmware/ultralcd.cpp:4451 msgid "Once" msgstr "En gång" +#. MSG_PAUSED_THERMAL_ERROR c=20 +#: ../../Firmware/Marlin_main.cpp:9677 ../../Firmware/messages.cpp:168 +msgid "PAUSED THERMAL ERROR" +msgstr "" + #. MSG_PID_RUNNING c=20 -#: ../../Firmware/ultralcd.cpp:1322 +#: ../../Firmware/ultralcd.cpp:1036 msgid "PID cal." msgstr "PID kalibrering." #. MSG_PID_FINISHED c=20 -#: ../../Firmware/ultralcd.cpp:1328 +#: ../../Firmware/ultralcd.cpp:1041 msgid "PID cal. finished" msgstr "PID kalibrering klar" #. MSG_PID_EXTRUDER c=17 -#: ../../Firmware/ultralcd.cpp:5783 +#: ../../Firmware/ultralcd.cpp:4884 msgid "PID calibration" msgstr "PID kalibrering" -#. MSG_PINDA c=5 -#: ../../Firmware/messages.c:174 ../../Firmware/ultralcd.cpp:1720 -#: ../../Firmware/ultralcd.cpp:3841 -msgid "PINDA" -msgstr "" - #. MSG_PINDA_PREHEAT c=20 -#: ../../Firmware/ultralcd.cpp:678 +#: ../../Firmware/ultralcd.cpp:666 msgid "PINDA Heating" msgstr "PINDA uppvärmning" #. MSG_PINDA_CALIBRATION c=13 -#: ../../Firmware/Marlin_main.cpp:5362 ../../Firmware/Marlin_main.cpp:5463 -#: ../../Firmware/messages.c:114 ../../Firmware/ultralcd.cpp:675 -#: ../../Firmware/ultralcd.cpp:5690 ../../Firmware/ultralcd.cpp:5796 +#: ../../Firmware/Marlin_main.cpp:4957 ../../Firmware/Marlin_main.cpp:5060 +#: ../../Firmware/messages.cpp:113 ../../Firmware/ultralcd.cpp:663 +#: ../../Firmware/ultralcd.cpp:4801 ../../Firmware/ultralcd.cpp:4891 msgid "PINDA cal." msgstr "PINDA kal." #. MSG_PINDA_CAL_FAILED c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3763 +#: ../../Firmware/ultralcd.cpp:3384 msgid "PINDA calibration failed" msgstr "PINDA-kalibrering misslyckades" #. MSG_PINDA_CALIBRATION_DONE c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:5540 ../../Firmware/messages.c:115 -#: ../../Firmware/ultralcd.cpp:3757 +#: ../../Firmware/Marlin_main.cpp:5137 ../../Firmware/messages.cpp:114 +#: ../../Firmware/ultralcd.cpp:3378 msgid "" "PINDA calibration is finished and active. It can be disabled in menu " "Settings->PINDA cal." @@ -1383,24 +1432,36 @@ msgstr "" "PINDA-kalibreringen är klar och aktiv. PINDA kalibrering kan inaktiveras i " "menyn Inställningar->PINDA kal." +#. MSG_TITLE_PULLEY_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:122 ../../Firmware/mmu2/errors_list.h:160 +msgid "PULLEY CANNOT MOVE" +msgstr "" + +#. MSG_PROGRESS_PARK_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:26 +#: ../../Firmware/mmu2_progress_converter.cpp:57 +msgid "Parking selector" +msgstr "" + #. MSG_PAUSE c=5 -#: ../../Firmware/messages.c:155 ../../Firmware/ultralcd.cpp:5567 +#: ../../Firmware/messages.cpp:154 ../../Firmware/ultralcd.cpp:4248 msgid "Pause" msgstr "Paus" #. MSG_PAUSE_PRINT c=18 -#: ../../Firmware/messages.c:76 ../../Firmware/ultralcd.cpp:6565 -#: ../../Firmware/ultralcd.cpp:6567 +#: ../../Firmware/messages.cpp:73 ../../Firmware/ultralcd.cpp:5516 +#: ../../Firmware/ultralcd.cpp:5518 msgid "Pause print" msgstr "Pausa utskrift" -#. MSG_PICK_Z -#: ../../Firmware/ultralcd.cpp:4131 -msgid "Pick print" +#. MSG_PROGRESS_PERFORM_CUT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:24 +#: ../../Firmware/mmu2_progress_converter.cpp:55 +msgid "Performing cut" msgstr "" #. MSG_PAPER c=20 r=10 -#: ../../Firmware/Marlin_main.cpp:3516 ../../Firmware/messages.c:75 +#: ../../Firmware/Marlin_main.cpp:3306 ../../Firmware/messages.cpp:72 msgid "" "Place a sheet of paper under the nozzle during the calibration of first 4 " "points. If the nozzle catches the paper, power off the printer immediately." @@ -1409,7 +1470,7 @@ msgstr "" "punkterna. Stäng av skrivaren omedelbart om munstycket rör vid pappret.." #. MSG_WIZARD_CALIBRATION_FAILED c=20 r=8 -#: ../../Firmware/messages.c:119 ../../Firmware/ultralcd.cpp:5036 +#: ../../Firmware/messages.cpp:118 ../../Firmware/ultralcd.cpp:4138 msgid "" "Please check our handbook and fix the problem. Then resume the Wizard by " "rebooting the printer." @@ -1418,27 +1479,27 @@ msgstr "" "starta om skrivaren." #. MSG_CHECK_IR_CONNECTION c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7312 +#: ../../Firmware/ultralcd.cpp:6258 msgid "Please check the IR sensor connection, unload filament if present." msgstr "Kontrollera IR-sensorns anslutning, mata ut eventuellt filament." #. MSG_SELFTEST_PLEASECHECK c=20 -#: ../../Firmware/ultralcd.cpp:8027 +#: ../../Firmware/ultralcd.cpp:6962 msgid "Please check:" msgstr "Kontrollera:" #. MSG_WIZARD_CLEAN_HEATBED c=20 r=8 -#: ../../Firmware/ultralcd.cpp:5008 +#: ../../Firmware/ultralcd.cpp:4110 msgid "Please clean heatbed and then press the knob." msgstr "Rengör bädden och tryck sedan på knappen." #. MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:3492 ../../Firmware/messages.c:26 +#: ../../Firmware/Marlin_main.cpp:3280 ../../Firmware/messages.cpp:24 msgid "Please clean the nozzle for calibration. Click when done." msgstr "Rengör munstycket för kalibrering. Klicka när du är klar." #. MSG_WIZARD_LOAD_FILAMENT c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4802 +#: ../../Firmware/ultralcd.cpp:3915 msgid "" "Please insert filament into the extruder, then press the knob to load it." msgstr "" @@ -1446,7 +1507,7 @@ msgstr "" "inladdning.." #. MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4797 +#: ../../Firmware/ultralcd.cpp:3912 msgid "" "Please insert filament into the first tube of the MMU, then press the knob " "to load it." @@ -1455,172 +1516,156 @@ msgstr "" "knappen för inladdning." #. MSG_PLEASE_LOAD_PLA c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4719 +#: ../../Firmware/ultralcd.cpp:3835 msgid "Please load filament first." msgstr "Vänligen ladda filament först." #. MSG_CHECK_IDLER c=20 r=5 -#: ../../Firmware/Marlin_main.cpp:3756 +#: ../../Firmware/Marlin_main.cpp:3581 msgid "Please open idler and remove filament manually." msgstr "Öppna idler och ta bort filamentet manuellt." #. MSG_PLACE_STEEL_SHEET c=20 r=5 -#: ../../Firmware/mesh_bed_calibration.cpp:2799 ../../Firmware/messages.c:77 -#: ../../Firmware/ultralcd.cpp:4945 +#: ../../Firmware/mesh_bed_calibration.cpp:2795 ../../Firmware/messages.cpp:74 +#: ../../Firmware/ultralcd.cpp:4052 msgid "Please place steel sheet on heatbed." msgstr "Placera metallskiva på värmebädden." #. MSG_PRESS_TO_UNLOAD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:11984 ../../Firmware/Marlin_main.cpp:12037 -#: ../../Firmware/messages.c:81 +#: ../../Firmware/Marlin_main.cpp:11532 ../../Firmware/Marlin_main.cpp:11585 +#: ../../Firmware/messages.cpp:78 msgid "Please press the knob to unload filament" msgstr "Vänligen tryck på knappen för att mata ut filament" #. MSG_PULL_OUT_FILAMENT c=20 r=4 -#: ../../Firmware/messages.c:83 ../../Firmware/ultralcd.cpp:6290 +#: ../../Firmware/messages.cpp:80 ../../Firmware/ultralcd.cpp:5221 msgid "Please pull out filament immediately" msgstr "Vänligen ta ut filamentet omedelbart" -#. MSG_EJECT_REMOVE c=20 r=4 -#: ../../Firmware/mmu.cpp:1421 -msgid "Please remove filament and then press the knob." -msgstr "Ta bort filamentet och tryck sedan på knappen." - #. MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 -#: ../../Firmware/ultralcd.cpp:4941 +#: ../../Firmware/ultralcd.cpp:4047 msgid "Please remove shipping helpers first." msgstr "Vänligen ta bort fraktinsatserna först." #. MSG_REMOVE_STEEL_SHEET c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3514 ../../Firmware/Marlin_main.cpp:5325 -#: ../../Firmware/messages.c:86 +#: ../../Firmware/Marlin_main.cpp:3303 ../../Firmware/Marlin_main.cpp:4921 +#: ../../Firmware/messages.cpp:83 msgid "Please remove steel sheet from heatbed." msgstr "Ta bort metallskivan från värmebädden." #. MSG_RUN_XYZ c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5301 +#: ../../Firmware/Marlin_main.cpp:4897 msgid "Please run XYZ calibration first." msgstr "Utför XYZ-kalibrering först." #. MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 -#: ../../Firmware/ultralcd.cpp:7309 +#: ../../Firmware/ultralcd.cpp:6255 msgid "Please unload the filament first, then repeat this action." msgstr "Vänligen mata ut filamentet först och upprepa sedan denna åtgärd." -#. MSG_UPDATE_MMU2_FW c=20 r=4 -#: ../../Firmware/mmu.cpp:1341 -msgid "Please update firmware in your MMU2. Waiting for reset." -msgstr "Uppdatera firmware i din MMU2. Väntar på återställning." - #. MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 -#: ../../Firmware/util.cpp:199 +#: ../../Firmware/util.cpp:203 msgid "Please upgrade." msgstr "Vänligen uppgradera." #. MSG_PLEASE_WAIT c=20 -#: ../../Firmware/Marlin_main.cpp:3752 ../../Firmware/Marlin_main.cpp:3768 -#: ../../Firmware/Marlin_main.cpp:8276 ../../Firmware/messages.c:78 -#: ../../Firmware/mmu.cpp:1040 ../../Firmware/mmu.cpp:1121 -#: ../../Firmware/ultralcd.cpp:2507 ../../Firmware/ultralcd.cpp:2518 -#: ../../Firmware/ultralcd.cpp:4561 +#: ../../Firmware/Marlin_main.cpp:3577 ../../Firmware/Marlin_main.cpp:3595 +#: ../../Firmware/Marlin_main.cpp:7957 ../../Firmware/messages.cpp:75 +#: ../../Firmware/ultralcd.cpp:2202 ../../Firmware/ultralcd.cpp:2213 msgid "Please wait" msgstr "Vänligen vänta" #. MSG_POWER_FAILURES c=15 -#: ../../Firmware/messages.c:79 ../../Firmware/ultralcd.cpp:1531 -#: ../../Firmware/ultralcd.cpp:1572 ../../Firmware/ultralcd.cpp:1582 +#: ../../Firmware/messages.cpp:76 ../../Firmware/ultralcd.cpp:1245 +#: ../../Firmware/ultralcd.cpp:1274 msgid "Power failures" msgstr "Strömavbrott" #. MSG_PREHEAT c=18 -#: ../../Firmware/ultralcd.cpp:6560 +#: ../../Firmware/ultralcd.cpp:5511 msgid "Preheat" msgstr "Förvärm" #. MSG_PREHEAT_NOZZLE c=20 -#: ../../Firmware/messages.c:80 ../../Firmware/ultralcd.cpp:2617 +#: ../../Firmware/messages.cpp:77 ../../Firmware/ultralcd.cpp:2283 msgid "Preheat the nozzle!" msgstr "Förvärm munstycket!" #. MSG_WIZARD_HEATING c=20 r=3 -#: ../../Firmware/messages.c:121 ../../Firmware/ultralcd.cpp:3256 -#: ../../Firmware/ultralcd.cpp:4780 ../../Firmware/ultralcd.cpp:4783 +#: ../../Firmware/messages.cpp:120 ../../Firmware/ultralcd.cpp:2898 +#: ../../Firmware/ultralcd.cpp:3897 ../../Firmware/ultralcd.cpp:3899 msgid "Preheating nozzle. Please wait." msgstr "Förvärmer munstycke. Vänta." #. MSG_PREHEATING_TO_CUT c=20 -#: ../../Firmware/ultralcd.cpp:2299 +#: ../../Firmware/ultralcd.cpp:2001 msgid "Preheating to cut" msgstr "Förvärmer för skära" #. MSG_PREHEATING_TO_EJECT c=20 -#: ../../Firmware/ultralcd.cpp:2296 +#: ../../Firmware/ultralcd.cpp:1998 msgid "Preheating to eject" msgstr "Förvämer för utmatn" #. MSG_PREHEATING_TO_LOAD c=20 -#: ../../Firmware/ultralcd.cpp:2287 +#: ../../Firmware/ultralcd.cpp:1989 msgid "Preheating to load" msgstr "Förvärmer för laddn" #. MSG_PREHEATING_TO_UNLOAD c=20 -#: ../../Firmware/ultralcd.cpp:2292 +#: ../../Firmware/ultralcd.cpp:1994 msgid "Preheating to unload" msgstr "Förvärmer for utmatn" -#. MSG_PREPARE_FILAMENT c=20 -#: ../../Firmware/ultralcd.cpp:2470 -msgid "Prepare new filament" +#. MSG_PROGRESS_PREPARE_BLADE c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:22 +#: ../../Firmware/mmu2_progress_converter.cpp:53 +msgid "Preparing blade" msgstr "" #. MSG_PRESS_KNOB c=20 -#: ../../Firmware/ultralcd.cpp:2120 +#: ../../Firmware/ultralcd.cpp:1809 msgid "Press the knob" msgstr "Tryck på knappen" #. MSG_PRESS_TO_PREHEAT c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:12015 +#: ../../Firmware/Marlin_main.cpp:11563 msgid "Press the knob to preheat nozzle and continue." msgstr "Tryck på knappen för att förvärma munstycket och fortsätta." -#. MSG_RESUME_NOZZLE_TEMP c=20 r=4 -#: ../../Firmware/mmu.cpp:726 -msgid "Press the knob to resume nozzle temperature." -msgstr "Tryck på knappen för att återställa munstyckstemperaturen." - #. MSG_PRINT_ABORTED c=20 -#: ../../Firmware/messages.c:82 ../../Firmware/ultralcd.cpp:7006 +#: ../../Firmware/messages.cpp:79 ../../Firmware/ultralcd.cpp:871 msgid "Print aborted" msgstr "Utskriften avbröts" #. MSG_PRINT_FAN_SPEED c=16 -#: ../../Firmware/messages.c:38 ../../Firmware/ultralcd.cpp:1438 -#: ../../Firmware/ultralcd.cpp:8406 +#: ../../Firmware/messages.cpp:36 ../../Firmware/ultralcd.cpp:1144 +#: ../../Firmware/ultralcd.cpp:7322 msgid "Print fan:" msgstr "Utskriftsfläkt:" #. MSG_CARD_MENU c=18 -#: ../../Firmware/messages.c:22 ../../Firmware/ultralcd.cpp:6593 +#: ../../Firmware/messages.cpp:20 ../../Firmware/ultralcd.cpp:5544 msgid "Print from SD" msgstr "Skriv ut från SD" #. MSG_PRINT_PAUSED c=20 -#: ../../Firmware/ultralcd.cpp:902 +#: ../../Firmware/ultralcd.cpp:885 msgid "Print paused" msgstr "Utskriften pausad" #. MSG_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2704 +#: ../../Firmware/ultralcd.cpp:2364 msgid "Print time" msgstr "Utskriftstid" #. MSG_PRINTER_IP c=18 -#: ../../Firmware/ultralcd.cpp:2018 +#: ../../Firmware/ultralcd.cpp:1711 msgid "Printer IP Addr:" msgstr "" #. MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1575 ../../Firmware/messages.c:48 +#: ../../Firmware/Marlin_main.cpp:1526 ../../Firmware/messages.cpp:42 msgid "" "Printer has not been calibrated yet. Please follow the manual, chapter First " "steps, section Calibration flow." @@ -1629,12 +1674,12 @@ msgstr "" "stegen, avsnitt Kalibreringsflöde." #. MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5 -#: ../../Firmware/util.cpp:295 +#: ../../Firmware/util.cpp:289 msgid "Printer nozzle diameter differs from the G-code. Continue?" msgstr "Skrivarmunstyckets diameter skiljer sig från G-koden. Fortsätta?" #. MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 -#: ../../Firmware/util.cpp:301 +#: ../../Firmware/util.cpp:295 msgid "" "Printer nozzle diameter differs from the G-code. Please check the value in " "settings. Print cancelled." @@ -1642,72 +1687,112 @@ msgstr "" "Skrivarmunstyckets diameter skiljer sig från G-koden. Kontrollera värdet i " "inställningarna. Utskriften avbröts." +#. MSG_DESC_PULLEY_STALLED c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:200 ../../Firmware/mmu2/errors_list.h:240 +msgid "Pulley motor stalled. Ensure the pulley can move and check the wiring." +msgstr "" + +#. MSG_PROGRESS_PUSH_FILAMENT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:23 +#: ../../Firmware/mmu2_progress_converter.cpp:54 +msgid "Pushing filament" +msgstr "" + +#. MSG_TITLE_QUEUE_FULL c=20 +#: ../../Firmware/mmu2/errors_list.h:150 ../../Firmware/mmu2/errors_list.h:188 +msgid "QUEUE FULL" +msgstr "" + #. MSG_RPI_PORT c=13 -#: ../../Firmware/messages.c:144 ../../Firmware/ultralcd.cpp:5694 +#: ../../Firmware/messages.cpp:143 ../../Firmware/ultralcd.cpp:4805 msgid "RPi port" msgstr "" #. MSG_BED_CORRECTION_REAR c=14 -#: ../../Firmware/ultralcd.cpp:3107 +#: ../../Firmware/ultralcd.cpp:2753 msgid "Rear side [μm]" msgstr "Baksida [μm]" #. MSG_RECOVERING_PRINT c=20 -#: ../../Firmware/Marlin_main.cpp:11359 +#: ../../Firmware/Marlin_main.cpp:10899 msgid "Recovering print" msgstr "Återställer utskrift" #. MSG_REMOVE_OLD_FILAMENT c=20 r=5 -#: ../../Firmware/mmu.cpp:833 +#: ../../Firmware/Marlin_main.cpp:3461 msgid "Remove old filament and press the knob to start loading new filament." msgstr "" "Ta bort det gamla filamentet och tryck på knappen för att börja ladda nytt " "filament." #. MSG_RENAME c=18 -#: ../../Firmware/ultralcd.cpp:6484 +#: ../../Firmware/ultralcd.cpp:5435 msgid "Rename" msgstr "Döp om" +#. MSG_DESC_INVALID_TOOL c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:229 ../../Firmware/mmu2/errors_list.h:267 +msgid "" +"Requested filament tool is not available on this hardware. Check the G-code " +"for tool index out of range (T0-T4)." +msgstr "" + #. MSG_RESET c=14 -#: ../../Firmware/messages.c:87 ../../Firmware/ultralcd.cpp:3108 -#: ../../Firmware/ultralcd.cpp:6485 +#: ../../Firmware/messages.cpp:84 ../../Firmware/ultralcd.cpp:2754 +#: ../../Firmware/ultralcd.cpp:5436 msgid "Reset" msgstr "Återställ" +#. MSG_BTN_RESTART_MMU c=9 +#: ../../Firmware/mmu2/errors_list.h:283 ../../Firmware/mmu2/errors_list.h:293 +msgid "Reset MMU" +msgstr "" + #. MSG_CALIBRATE_BED_RESET c=18 -#: ../../Firmware/ultralcd.cpp:5788 +#: ../../Firmware/ultralcd.cpp:4888 msgid "Reset XYZ calibr." msgstr "Återställ XYZ-kal." #. MSG_RESUME_PRINT c=18 -#: ../../Firmware/messages.c:88 ../../Firmware/ultralcd.cpp:6577 -#: ../../Firmware/ultralcd.cpp:6579 +#: ../../Firmware/Marlin_main.cpp:644 ../../Firmware/messages.cpp:85 +#: ../../Firmware/ultralcd.cpp:5530 ../../Firmware/ultralcd.cpp:5532 msgid "Resume print" msgstr "Återuppta utskrift" #. MSG_RESUMING_PRINT c=20 -#: ../../Firmware/messages.c:89 ../../Firmware/ultralcd.cpp:686 +#: ../../Firmware/messages.cpp:86 ../../Firmware/ultralcd.cpp:674 msgid "Resuming print" msgstr "Återupptar utskrift" +#. MSG_PROGRESS_RETRACT_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:28 +#: ../../Firmware/mmu2_progress_converter.cpp:59 +msgid "Retract from FINDA" +msgstr "" + +#. MSG_BTN_RETRY c=5 +#: ../../Firmware/mmu2/errors_list.h:281 ../../Firmware/mmu2/errors_list.h:291 +msgid "Retry" +msgstr "" + +#. MSG_PROGRESS_RETURN_SELECTOR c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:25 +#: ../../Firmware/mmu2_progress_converter.cpp:56 +msgid "Returning selector" +msgstr "" + #. MSG_RIGHT c=10 -#: ../../Firmware/ultralcd.cpp:2835 +#: ../../Firmware/ultralcd.cpp:2495 msgid "Right" msgstr "Höger" #. MSG_BED_CORRECTION_RIGHT c=14 -#: ../../Firmware/ultralcd.cpp:3105 +#: ../../Firmware/ultralcd.cpp:2751 msgid "Right side[μm]" msgstr "Höger sida[μm]" -#. MSG_E_CAL_KNOB c=20 r=8 -#: ../../Firmware/ultralcd.cpp:4552 -msgid "Rotate knob until mark reaches extruder body. Click when done." -msgstr "" - #. MSG_WIZARD_RERUN c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4740 +#: ../../Firmware/ultralcd.cpp:3857 msgid "" "Running Wizard will delete current calibration results and start from the " "beginning. Continue?" @@ -1715,37 +1800,41 @@ msgstr "" "Att utföra guiden kommer att radera aktuella kalibreringsinställningar och " "börja om från början. Fortsätta?" -#. MSG_RUNOUTS c=7 -#: ../../Firmware/ultralcd.cpp:1583 -msgid "Runouts" -msgstr "Avbrott" - #. MSG_SD_CARD c=8 -#: ../../Firmware/messages.c:140 ../../Firmware/ultralcd.cpp:5255 -#: ../../Firmware/ultralcd.cpp:5257 ../../Firmware/ultralcd.cpp:5274 -#: ../../Firmware/ultralcd.cpp:5276 +#: ../../Firmware/messages.cpp:139 ../../Firmware/ultralcd.cpp:4393 +#: ../../Firmware/ultralcd.cpp:4395 ../../Firmware/ultralcd.cpp:4412 +#: ../../Firmware/ultralcd.cpp:4414 msgid "SD card" msgstr "SD-kort" +#. MSG_TITLE_SELECTOR_CANNOT_HOME c=20 +#: ../../Firmware/mmu2/errors_list.h:125 ../../Firmware/mmu2/errors_list.h:162 +msgid "SELECTOR CANNOT HOME" +msgstr "" + +#. MSG_TITLE_SELECTOR_CANNOT_MOVE c=20 +#: ../../Firmware/mmu2/errors_list.h:124 ../../Firmware/mmu2/errors_list.h:163 +msgid "SELECTOR CANNOT MOVE" +msgstr "" + #. MSG_STOPPED c=20 -#: ../../Firmware/Marlin_main.cpp:10175 ../../Firmware/cmdqueue.cpp:495 -#: ../../Firmware/messages.c:113 +#: ../../Firmware/Marlin_main.cpp:9706 ../../Firmware/messages.cpp:112 msgid "STOPPED." msgstr "STOPPAD." #. MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=3 -#: ../../Firmware/Marlin_main.cpp:3498 ../../Firmware/Marlin_main.cpp:3518 -#: ../../Firmware/mesh_bed_calibration.cpp:2234 ../../Firmware/messages.c:46 +#: ../../Firmware/Marlin_main.cpp:3286 ../../Firmware/Marlin_main.cpp:3308 +#: ../../Firmware/mesh_bed_calibration.cpp:2233 ../../Firmware/messages.cpp:40 msgid "Searching bed calibration point" msgstr "Söker efter kalibreringspunkt för bädden" #. MSG_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:6477 +#: ../../Firmware/ultralcd.cpp:5428 msgid "Select" msgstr "Välj" #. MSG_SELECT_FIL_1ST_LAYERCAL c=20 r=7 -#: ../../Firmware/ultralcd.cpp:4826 +#: ../../Firmware/ultralcd.cpp:3932 msgid "" "Select a filament for the First Layer Calibration and select it in the on-" "screen menu." @@ -1753,99 +1842,107 @@ msgstr "" "Välj ett filament för första lagrets kalibrering och välj det i skärmmenyn." #. MSG_SELECT_EXTRUDER c=20 -#: ../../Firmware/Marlin_main.cpp:8967 ../../Firmware/messages.c:56 +#: ../../Firmware/Marlin_main.cpp:3519 ../../Firmware/Tcodes.cpp:35 +#: ../../Firmware/Tcodes.cpp:51 ../../Firmware/messages.cpp:52 msgid "Select extruder:" msgstr "Välj extruder:" #. MSG_SELECT_FILAMENT c=20 -#: ../../Firmware/Marlin_main.cpp:8936 ../../Firmware/Marlin_main.cpp:8963 -#: ../../Firmware/messages.c:57 ../../Firmware/ultralcd.cpp:4690 +#: ../../Firmware/Tcodes.cpp:33 ../../Firmware/messages.cpp:53 +#: ../../Firmware/ultralcd.cpp:3805 msgid "Select filament:" msgstr "Välj filament:" -#. MSG_LANGUAGE_SELECT c=18 -#: ../../Firmware/ultralcd.cpp:4443 ../../Firmware/ultralcd.cpp:5701 +#. MSG_SELECT_LANGUAGE c=18 +#: ../../Firmware/messages.cpp:99 ../../Firmware/ultralcd.cpp:3650 +#: ../../Firmware/ultralcd.cpp:4812 msgid "Select language" msgstr "Välj språk" #. MSG_SEL_PREHEAT_TEMP c=20 r=6 -#: ../../Firmware/ultralcd.cpp:4982 +#: ../../Firmware/ultralcd.cpp:4084 msgid "Select nozzle preheat temperature which matches your material." msgstr "Välj munstycksförvärmningstemperatur som passar ditt material." #. MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4831 +#: ../../Firmware/ultralcd.cpp:3937 msgid "Select temperature which matches your material." msgstr "Välj temperatur som passar ditt material." +#. MSG_PROGRESS_SELECT_SLOT c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:21 +#: ../../Firmware/mmu2_progress_converter.cpp:52 +msgid "Selecting fil. slot" +msgstr "" + #. MSG_SELFTEST_OK c=20 -#: ../../Firmware/ultralcd.cpp:7584 +#: ../../Firmware/ultralcd.cpp:6522 msgid "Self test OK" msgstr "Självtest OK" #. MSG_SELFTEST_START c=20 -#: ../../Firmware/ultralcd.cpp:7352 +#: ../../Firmware/ultralcd.cpp:6295 msgid "Self test start" msgstr "Självteststart" #. MSG_SELFTEST c=18 -#: ../../Firmware/ultralcd.cpp:5764 +#: ../../Firmware/ultralcd.cpp:4875 msgid "Selftest" msgstr "Självtest" #. MSG_SELFTEST_ERROR c=20 -#: ../../Firmware/ultralcd.cpp:8026 +#: ../../Firmware/ultralcd.cpp:6961 msgid "Selftest error!" msgstr "Självtestfel!" #. MSG_SELFTEST_FAILED c=20 -#: ../../Firmware/messages.c:92 ../../Firmware/ultralcd.cpp:7588 -#: ../../Firmware/ultralcd.cpp:8113 ../../Firmware/ultralcd.cpp:8396 +#: ../../Firmware/messages.cpp:89 ../../Firmware/ultralcd.cpp:6526 +#: ../../Firmware/ultralcd.cpp:7048 ../../Firmware/ultralcd.cpp:7312 msgid "Selftest failed" msgstr "Självtestet felade" #. MSG_FORCE_SELFTEST c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:1594 +#: ../../Firmware/Marlin_main.cpp:1545 msgid "Selftest will be run to calibrate accurate sensorless rehoming." msgstr "" "Självtest kommer att utföras för att kalibrera exakt sensorlös hemposition." #. MSG_INFO_SENSORS c=18 -#: ../../Firmware/ultralcd.cpp:2031 +#: ../../Firmware/ultralcd.cpp:1723 msgid "Sensor info" msgstr "Sensorinformation" #. MSG_FS_VERIFIED c=20 r=3 -#: ../../Firmware/ultralcd.cpp:7316 +#: ../../Firmware/ultralcd.cpp:6262 msgid "Sensor verified, remove the filament now." msgstr "Sensor verifierad, ta bort filamentet nu." #. MSG_SET_TEMPERATURE c=20 -#: ../../Firmware/ultralcd.cpp:3125 +#: ../../Firmware/ultralcd.cpp:2771 msgid "Set temperature:" msgstr "Sätt temperatur:" #. MSG_SETTINGS c=18 -#: ../../Firmware/messages.c:101 ../../Firmware/ultralcd.cpp:4224 -#: ../../Firmware/ultralcd.cpp:4460 ../../Firmware/ultralcd.cpp:5066 -#: ../../Firmware/ultralcd.cpp:6647 ../../Firmware/ultralcd.cpp:6894 -#: ../../Firmware/ultralcd.cpp:6947 +#: ../../Firmware/messages.cpp:98 ../../Firmware/ultralcd.cpp:3508 +#: ../../Firmware/ultralcd.cpp:3667 ../../Firmware/ultralcd.cpp:4168 +#: ../../Firmware/ultralcd.cpp:5593 ../../Firmware/ultralcd.cpp:5825 +#: ../../Firmware/ultralcd.cpp:5878 msgid "Settings" msgstr "Inställningar" #. MSG_SEVERE_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2878 +#: ../../Firmware/ultralcd.cpp:2538 msgid "Severe skew" msgstr "Hög skevhet" #. MSG_SHEET c=10 -#: ../../Firmware/menu.cpp:211 ../../Firmware/menu.cpp:223 -#: ../../Firmware/messages.c:67 +#: ../../Firmware/menu.cpp:209 ../../Firmware/menu.cpp:221 +#: ../../Firmware/messages.cpp:64 msgid "Sheet" msgstr "Skiva" #. MSG_SHEET_OFFSET c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4680 +#: ../../Firmware/ultralcd.cpp:3795 msgid "" "Sheet %.7s\n" "Z offset: %+1.3fmm\n" @@ -1858,23 +1955,23 @@ msgstr "" "%cÅterställ" #. MSG_SHOW_END_STOPS c=18 -#: ../../Firmware/ultralcd.cpp:5785 +#: ../../Firmware/ultralcd.cpp:4886 msgid "Show end stops" msgstr "Visa ändlägen" #. MSG_SILENT c=7 -#: ../../Firmware/messages.c:108 ../../Firmware/ultralcd.cpp:5221 -#: ../../Firmware/ultralcd.cpp:5316 ../../Firmware/ultralcd.cpp:6845 +#: ../../Firmware/messages.cpp:107 ../../Firmware/ultralcd.cpp:4359 +#: ../../Firmware/ultralcd.cpp:4454 ../../Firmware/ultralcd.cpp:5776 msgid "Silent" msgstr "Tyst" #. MSG_SLIGHT_SKEW c=14 -#: ../../Firmware/ultralcd.cpp:2877 +#: ../../Firmware/ultralcd.cpp:2537 msgid "Slight skew" msgstr "Låg skevhet" #. MSG_FILE_CNT c=20 r=6 -#: ../../Firmware/cardreader.cpp:817 +#: ../../Firmware/cardreader.cpp:818 msgid "" "Some files will not be sorted. Max. No. of files in 1 folder for sorting is " "100." @@ -1883,107 +1980,171 @@ msgstr "" "sortering är 100." #. MSG_ZLEVELING_ENFORCED c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:3260 +#: ../../Firmware/Marlin_main.cpp:3052 msgid "Some problem encountered, Z-leveling enforced ..." msgstr "Ett problem har uppstått, Z-nivellering utförs..." #. MSG_SORT c=7 -#: ../../Firmware/messages.c:141 ../../Firmware/ultralcd.cpp:5263 -#: ../../Firmware/ultralcd.cpp:5264 ../../Firmware/ultralcd.cpp:5265 +#: ../../Firmware/messages.cpp:140 ../../Firmware/ultralcd.cpp:4401 +#: ../../Firmware/ultralcd.cpp:4402 ../../Firmware/ultralcd.cpp:4403 msgid "Sort" msgstr "Sortera" #. MSG_SORTING_FILES c=20 -#: ../../Firmware/cardreader.cpp:882 ../../Firmware/cardreader.cpp:942 +#: ../../Firmware/cardreader.cpp:862 ../../Firmware/cardreader.cpp:929 +#: ../../Firmware/messages.cpp:100 msgid "Sorting files" msgstr "Sorterar filer" -#. MSG_SORTING_FOLDERS c=20 -#: ../../Firmware/cardreader.cpp:883 -msgid "Sorting folders" -msgstr "" - #. MSG_SOUND c=9 -#: ../../Firmware/messages.c:145 ../../Firmware/ultralcd.cpp:5310 -#: ../../Firmware/ultralcd.cpp:5313 ../../Firmware/ultralcd.cpp:5316 -#: ../../Firmware/ultralcd.cpp:5319 ../../Firmware/ultralcd.cpp:5322 +#: ../../Firmware/messages.cpp:144 ../../Firmware/ultralcd.cpp:4448 +#: ../../Firmware/ultralcd.cpp:4451 ../../Firmware/ultralcd.cpp:4454 +#: ../../Firmware/ultralcd.cpp:4457 ../../Firmware/ultralcd.cpp:4460 msgid "Sound" msgstr "Ljud" #. MSG_SPEED c=15 -#: ../../Firmware/ultralcd.cpp:6787 +#: ../../Firmware/ultralcd.cpp:5731 msgid "Speed" msgstr "Fart" #. MSG_SELFTEST_FAN_YES c=19 -#: ../../Firmware/messages.c:95 ../../Firmware/ultralcd.cpp:8230 -#: ../../Firmware/ultralcd.cpp:8245 ../../Firmware/ultralcd.cpp:8253 +#: ../../Firmware/messages.cpp:92 ../../Firmware/ultralcd.cpp:7164 +#: ../../Firmware/ultralcd.cpp:7179 ../../Firmware/ultralcd.cpp:7187 msgid "Spinning" msgstr "Rotation" -#. MSG_AUTO_DEPLETE c=13 -#: ../../Firmware/messages.c:171 ../../Firmware/ultralcd.cpp:5136 -#: ../../Firmware/ultralcd.cpp:5140 ../../Firmware/ultralcd.cpp:5144 -msgid "SpoolJoin" -msgstr "" - #. MSG_TEMP_CAL_WARNING c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:5314 +#: ../../Firmware/Marlin_main.cpp:4910 msgid "Stable ambient temperature 21-26C is needed a rigid stand is required." msgstr "Stabil omgivningstemperatur 21-26C krävs samt ett styvt stativ." #. MSG_STATISTICS c=18 -#: ../../Firmware/ultralcd.cpp:6652 +#: ../../Firmware/ultralcd.cpp:5598 msgid "Statistics" msgstr "Statistik" #. MSG_STEALTH c=7 -#: ../../Firmware/messages.c:110 ../../Firmware/ultralcd.cpp:5198 -#: ../../Firmware/ultralcd.cpp:5242 ../../Firmware/ultralcd.cpp:6832 +#: ../../Firmware/messages.cpp:109 ../../Firmware/ultralcd.cpp:4336 +#: ../../Firmware/ultralcd.cpp:4380 ../../Firmware/ultralcd.cpp:5768 msgid "Stealth" msgstr "Tyst" #. MSG_STEEL_SHEETS c=18 -#: ../../Firmware/messages.c:68 ../../Firmware/ultralcd.cpp:5623 -#: ../../Firmware/ultralcd.cpp:6474 +#: ../../Firmware/messages.cpp:65 ../../Firmware/ultralcd.cpp:4726 +#: ../../Firmware/ultralcd.cpp:5425 msgid "Steel sheets" msgstr "Metallskivor" +#. MSG_BTN_STOP c=5 +#: ../../Firmware/mmu2/errors_list.h:285 ../../Firmware/mmu2/errors_list.h:295 +msgid "Stop" +msgstr "" + #. MSG_STOP_PRINT c=18 -#: ../../Firmware/messages.c:112 ../../Firmware/ultralcd.cpp:6584 -#: ../../Firmware/ultralcd.cpp:7046 +#: ../../Firmware/messages.cpp:111 ../../Firmware/ultralcd.cpp:5537 +#: ../../Firmware/ultralcd.cpp:5996 msgid "Stop print" msgstr "Stoppa utskriften" #. MSG_STRICT c=8 -#: ../../Firmware/messages.c:133 ../../Firmware/ultralcd.cpp:5359 -#: ../../Firmware/ultralcd.cpp:5441 ../../Firmware/ultralcd.cpp:5480 -#: ../../Firmware/ultralcd.cpp:5521 +#: ../../Firmware/messages.cpp:132 ../../Firmware/ultralcd.cpp:4497 +#: ../../Firmware/ultralcd.cpp:4579 ../../Firmware/ultralcd.cpp:4618 +#: ../../Firmware/ultralcd.cpp:4659 msgid "Strict" msgstr "Strikt" #. MSG_SUPPORT c=18 -#: ../../Firmware/ultralcd.cpp:6661 +#: ../../Firmware/ultralcd.cpp:5607 msgid "Support" msgstr "" #. MSG_SELFTEST_SWAPPED c=16 -#: ../../Firmware/ultralcd.cpp:8085 +#: ../../Firmware/ultralcd.cpp:7020 msgid "Swapped" msgstr "Utbytt" +#. MSG_THERMAL_ANOMALY c=20 +#: ../../Firmware/messages.cpp:170 ../../Firmware/temperature.cpp:2440 +msgid "THERMAL ANOMALY" +msgstr "" + +#. MSG_TM_AUTOTUNE_FAILED c=20 +#: ../../Firmware/temperature.cpp:2897 +msgid "TM autotune failed" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:134 ../../Firmware/mmu2/errors_list.h:172 +#: ../../Firmware/mmu2/errors_list.h:173 ../../Firmware/mmu2/errors_list.h:174 +msgid "TMC DRIVER ERROR" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_RESET c=20 +#: ../../Firmware/mmu2/errors_list.h:137 ../../Firmware/mmu2/errors_list.h:175 +#: ../../Firmware/mmu2/errors_list.h:176 ../../Firmware/mmu2/errors_list.h:177 +msgid "TMC DRIVER RESET" +msgstr "" + +#. MSG_TITLE_TMC_DRIVER_SHORTED c=20 +#: ../../Firmware/mmu2/errors_list.h:143 ../../Firmware/mmu2/errors_list.h:181 +#: ../../Firmware/mmu2/errors_list.h:182 ../../Firmware/mmu2/errors_list.h:183 +msgid "TMC DRIVER SHORTED" +msgstr "" + +#. MSG_TITLE_TMC_OVERHEAT_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:131 ../../Firmware/mmu2/errors_list.h:169 +#: ../../Firmware/mmu2/errors_list.h:170 ../../Firmware/mmu2/errors_list.h:171 +msgid "TMC OVERHEAT ERROR" +msgstr "" + +#. MSG_TITLE_TMC_UNDERVOLTAGE_ERROR c=20 +#: ../../Firmware/mmu2/errors_list.h:140 ../../Firmware/mmu2/errors_list.h:178 +#: ../../Firmware/mmu2/errors_list.h:179 ../../Firmware/mmu2/errors_list.h:180 +msgid "TMC UNDERVOLTAGE ERR" +msgstr "" + +#. MSG_TEMP_MODEL_AUTOTUNE c=20 +#: ../../Firmware/temperature.cpp:2882 +msgid "Temp. model autotune" +msgstr "" + #. MSG_TEMPERATURE c=18 -#: ../../Firmware/ultralcd.cpp:5657 +#: ../../Firmware/ultralcd.cpp:4759 msgid "Temperature" msgstr "Temperatur" #. MSG_MENU_TEMPERATURES c=18 -#: ../../Firmware/ultralcd.cpp:2037 +#: ../../Firmware/ultralcd.cpp:1729 msgid "Temperatures" msgstr "Temperaturer" +#. MSG_TESTING_FILAMENT c=20 +#: ../../Firmware/messages.cpp:59 ../../Firmware/mmu2.cpp:426 +msgid "Testing filament" +msgstr "" + +#. MSG_DESC_IDLER_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:205 ../../Firmware/mmu2/errors_list.h:244 +msgid "" +"The Idler cannot home properly. Check for anything blocking its movement." +msgstr "" + +#. MSG_DESC_FW_UPDATE_NEEDED c=20 r=9 +#: ../../Firmware/mmu2/errors_list.h:231 ../../Firmware/mmu2/errors_list.h:269 +msgid "" +"The MMU unit reports its FW version incompatible with the printer's " +"firmware. Make sure the MMU firmware is up to date." +msgstr "" + +#. MSG_DESC_SELECTOR_CANNOT_HOME c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:202 ../../Firmware/mmu2/errors_list.h:242 +msgid "" +"The Selector cannot home properly. Check for anything blocking its movement." +msgstr "" + #. MSG_WIZARD_V2_CAL_2 c=20 r=12 -#: ../../Firmware/ultralcd.cpp:4834 +#: ../../Firmware/ultralcd.cpp:3940 msgid "" "The printer will start printing a zig-zag line. Rotate the knob until you " "reach the optimal height. Check the pictures in the handbook (Calibration " @@ -1993,7 +2154,7 @@ msgstr "" "optimal höjd. Kontrollera med bilderna i handboken (Kalibreringskapitlet)." #. MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9 -#: ../../Firmware/Marlin_main.cpp:1588 ../../Firmware/messages.c:49 +#: ../../Firmware/Marlin_main.cpp:1539 ../../Firmware/messages.cpp:43 msgid "" "There is still a need to make Z calibration. Please follow the manual, " "chapter First steps, section Calibration flow." @@ -2002,102 +2163,102 @@ msgstr "" "manualen, kapitel Första stegen, avsnitt Kalibreringsflöde." #. MSG_SORT_TIME c=8 -#: ../../Firmware/messages.c:142 ../../Firmware/ultralcd.cpp:5263 +#: ../../Firmware/messages.cpp:141 ../../Firmware/ultralcd.cpp:4401 msgid "Time" msgstr "Tid" #. MSG_TIMEOUT c=12 -#: ../../Firmware/messages.c:159 ../../Firmware/ultralcd.cpp:6932 +#: ../../Firmware/messages.cpp:158 ../../Firmware/ultralcd.cpp:5863 msgid "Timeout" msgstr "" #. MSG_TOTAL c=6 -#: ../../Firmware/messages.c:102 ../../Firmware/ultralcd.cpp:1461 -#: ../../Firmware/ultralcd.cpp:1609 +#: ../../Firmware/messages.cpp:101 ../../Firmware/ultralcd.cpp:1167 +#: ../../Firmware/ultralcd.cpp:1300 msgid "Total" msgstr "" #. MSG_TOTAL_FAILURES c=20 -#: ../../Firmware/messages.c:103 ../../Firmware/ultralcd.cpp:1504 -#: ../../Firmware/ultralcd.cpp:1530 ../../Firmware/ultralcd.cpp:1640 +#: ../../Firmware/messages.cpp:102 ../../Firmware/ultralcd.cpp:1214 +#: ../../Firmware/ultralcd.cpp:1244 ../../Firmware/ultralcd.cpp:1330 msgid "Total failures" msgstr "Totala misslyckanden" #. MSG_TOTAL_FILAMENT c=19 -#: ../../Firmware/ultralcd.cpp:2725 +#: ../../Firmware/ultralcd.cpp:2385 msgid "Total filament" msgstr "Totalt filament" #. MSG_TOTAL_PRINT_TIME c=19 -#: ../../Firmware/ultralcd.cpp:2726 +#: ../../Firmware/ultralcd.cpp:2386 msgid "Total print time" msgstr "Total utskriftstid" #. MSG_TUNE c=18 -#: ../../Firmware/ultralcd.cpp:6558 +#: ../../Firmware/ultralcd.cpp:5509 msgid "Tune" msgstr "Ställ in" -#. MSG_UNLOAD_ALL c=17 -#: ../../Firmware/ultralcd.cpp:6244 -msgid "Unload all" +#. MSG_TITLE_UNLOAD_MANUALLY c=20 +#: ../../Firmware/mmu2/errors_list.h:153 ../../Firmware/mmu2/errors_list.h:191 +msgid "UNLOAD MANUALLY" msgstr "" -#. MSG_UNLOAD_FILAMENT c=18 -#: ../../Firmware/messages.c:116 ../../Firmware/ultralcd.cpp:5910 -#: ../../Firmware/ultralcd.cpp:6625 ../../Firmware/ultralcd.cpp:6632 -#: ../../Firmware/ultralcd.cpp:6645 +#. MSG_DESC_UNLOAD_MANUALLY c=20 r=8 +#: ../../Firmware/mmu2/errors_list.h:233 ../../Firmware/mmu2/errors_list.h:271 +msgid "" +"Unexpected FINDA reading. Ensure no filament is under FINDA and the selector " +"is free. Check FINDA connection." +msgstr "" + +#. MSG_BTN_UNLOAD c=6 +#: ../../Firmware/mmu2/errors_list.h:284 ../../Firmware/mmu2/errors_list.h:294 +msgid "Unload" +msgstr "" + +#. MSG_UNLOAD_FILAMENT c=16 +#: ../../Firmware/messages.cpp:115 ../../Firmware/ultralcd.cpp:5574 +#: ../../Firmware/ultralcd.cpp:5591 msgid "Unload filament" msgstr "Ta bort filament" -#. MSG_UNLOAD_FILAMENT_1 c=17 -#: ../../Firmware/ultralcd.cpp:6245 -msgid "Unload filament 1" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_2 c=17 -#: ../../Firmware/ultralcd.cpp:6246 -msgid "Unload filament 2" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_3 c=17 -#: ../../Firmware/ultralcd.cpp:6247 -msgid "Unload filament 3" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_4 c=17 -#: ../../Firmware/ultralcd.cpp:6248 -msgid "Unload filament 4" -msgstr "" - -#. MSG_UNLOAD_FILAMENT_5 c=17 -#: ../../Firmware/ultralcd.cpp:6251 -msgid "Unload filament 5" -msgstr "" - #. MSG_UNLOADING_FILAMENT c=20 -#: ../../Firmware/messages.c:117 ../../Firmware/mmu.cpp:1085 -#: ../../Firmware/mmu.cpp:1118 ../../Firmware/ultralcd.cpp:6274 +#: ../../Firmware/Marlin_main.cpp:3502 ../../Firmware/messages.cpp:116 +#: ../../Firmware/mmu2_progress_converter.cpp:50 +#: ../../Firmware/ultralcd.cpp:5193 msgid "Unloading filament" msgstr "Tar bort filament" -#. MSG_USED c=19 -#: ../../Firmware/ultralcd.cpp:5912 -msgid "Used during print" +#. MSG_PROGRESS_UNLOAD_FINDA c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:11 +#: ../../Firmware/mmu2_progress_converter.cpp:37 +msgid "Unloading to FINDA" +msgstr "" + +#. MSG_PROGRESS_UNLOAD_PULLEY c=20 +#: ../../Firmware/mmu2_progress_converter.cpp:12 +#: ../../Firmware/mmu2_progress_converter.cpp:38 +msgid "Unloading to pulley" msgstr "" #. MSG_FIL_FAILED c=20 r=5 -#: ../../Firmware/ultralcd.cpp:7320 +#: ../../Firmware/ultralcd.cpp:6265 msgid "Verification failed, remove the filament and try again." msgstr "Verifieringen misslyckades, ta bort filamentet och försök igen." #. MSG_MENU_VOLTAGES c=18 -#: ../../Firmware/ultralcd.cpp:2040 +#: ../../Firmware/ultralcd.cpp:1732 msgid "Voltages" msgstr "Spänning" +#. MSG_TITLE_TMC_WARNING_TMC_TOO_HOT c=20 +#: ../../Firmware/mmu2/errors_list.h:128 ../../Firmware/mmu2/errors_list.h:166 +#: ../../Firmware/mmu2/errors_list.h:167 ../../Firmware/mmu2/errors_list.h:168 +msgid "WARNING TMC TOO HOT" +msgstr "" + #. MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 -#: ../../Firmware/ultralcd.cpp:4294 +#: ../../Firmware/ultralcd.cpp:3551 msgid "" "WARNING:\n" "Crash detection\n" @@ -2110,98 +2271,98 @@ msgstr "" "tyst-läge" #. MSG_USERWAIT c=20 -#: ../../Firmware/Marlin_main.cpp:4311 +#: ../../Firmware/Marlin_main.cpp:4115 msgid "Wait for user..." msgstr "Väntar på användare." #. MSG_WAITING_TEMP_PINDA c=20 r=3 -#: ../../Firmware/ultralcd.cpp:3234 +#: ../../Firmware/ultralcd.cpp:2879 msgid "Waiting for PINDA probe cooling" msgstr "Väntar på PINDA-sondens kylning" #. MSG_WAITING_TEMP c=20 r=4 -#: ../../Firmware/ultralcd.cpp:3273 +#: ../../Firmware/ultralcd.cpp:2911 msgid "Waiting for nozzle and bed cooling" msgstr "Väntar på munstycks- och bäddkylning" #. MSG_WARN c=8 -#: ../../Firmware/messages.c:132 ../../Firmware/ultralcd.cpp:5356 -#: ../../Firmware/ultralcd.cpp:5438 ../../Firmware/ultralcd.cpp:5477 -#: ../../Firmware/ultralcd.cpp:5518 +#: ../../Firmware/messages.cpp:131 ../../Firmware/ultralcd.cpp:4494 +#: ../../Firmware/ultralcd.cpp:4576 ../../Firmware/ultralcd.cpp:4615 +#: ../../Firmware/ultralcd.cpp:4656 msgid "Warn" msgstr "Varna" #. MSG_CHANGED_BOTH c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1554 +#: ../../Firmware/Marlin_main.cpp:1505 msgid "Warning: both printer type and motherboard type changed." msgstr "Varning: både skrivartyp och moderkortstyp har ändrats." #. MSG_CHANGED_MOTHERBOARD c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1546 +#: ../../Firmware/Marlin_main.cpp:1497 msgid "Warning: motherboard type changed." msgstr "Varning: moderkortstyp ändrad." #. MSG_CHANGED_PRINTER c=20 r=4 -#: ../../Firmware/Marlin_main.cpp:1550 +#: ../../Firmware/Marlin_main.cpp:1501 msgid "Warning: printer type changed." msgstr "Varning: skrivartyp har ändrats." #. MSG_UNLOAD_SUCCESSFUL c=20 r=2 -#: ../../Firmware/Marlin_main.cpp:3747 +#: ../../Firmware/Marlin_main.cpp:3574 msgid "Was filament unload successful?" msgstr "Lyckades filamentutmatningen?" #. MSG_SELFTEST_WIRINGERROR c=18 -#: ../../Firmware/messages.c:100 ../../Firmware/ultralcd.cpp:8037 -#: ../../Firmware/ultralcd.cpp:8041 ../../Firmware/ultralcd.cpp:8061 -#: ../../Firmware/ultralcd.cpp:8067 ../../Firmware/ultralcd.cpp:8091 +#: ../../Firmware/messages.cpp:97 ../../Firmware/ultralcd.cpp:6972 +#: ../../Firmware/ultralcd.cpp:6976 ../../Firmware/ultralcd.cpp:6996 +#: ../../Firmware/ultralcd.cpp:7002 ../../Firmware/ultralcd.cpp:7026 msgid "Wiring error" msgstr "Kabelfel" #. MSG_WIZARD c=17 -#: ../../Firmware/ultralcd.cpp:5755 +#: ../../Firmware/ultralcd.cpp:4866 msgid "Wizard" msgstr "Guide" #. MSG_X_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5070 +#: ../../Firmware/ultralcd.cpp:4172 msgid "X-correct:" msgstr "X-korrektion:" -#. MSG_XFLASH -#: ../../Firmware/ultralcd.cpp:6663 +#. MSG_XFLASH c=18 +#: ../../Firmware/ultralcd.cpp:5609 msgid "XFLASH init" msgstr "" #. MSG_XYZ_DETAILS c=18 -#: ../../Firmware/ultralcd.cpp:2029 +#: ../../Firmware/ultralcd.cpp:1721 msgid "XYZ cal. details" msgstr "XYZ kal. detaljer" #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3735 +#: ../../Firmware/ultralcd.cpp:3356 msgid "XYZ calibration all right. Skew will be corrected automatically." msgstr "XYZ-kalibrering är ok. Skevhet kommer att korrigeras automatiskt." #. MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3732 +#: ../../Firmware/ultralcd.cpp:3353 msgid "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" msgstr "XYZ-kalibrering ok. X/Y-axlarna är mycket lite skeva. Bra jobbat!" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3713 +#: ../../Firmware/ultralcd.cpp:3334 msgid "XYZ calibration compromised. Front calibration points not reachable." msgstr "" "XYZ-kalibrering komprometterad. Främre kalibreringspunkter kan inte nås." #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3719 +#: ../../Firmware/ultralcd.cpp:3340 msgid "" "XYZ calibration compromised. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3716 +#: ../../Firmware/ultralcd.cpp:3337 msgid "" "XYZ calibration compromised. Right front calibration point not reachable." msgstr "" @@ -2209,124 +2370,179 @@ msgstr "" "nås." #. MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3695 +#: ../../Firmware/ultralcd.cpp:3316 msgid "XYZ calibration failed. Bed calibration point was not found." msgstr "XYZ-kalibrering misslyckades. Bäddkalibreringspunkterna hittades inte." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3701 +#: ../../Firmware/ultralcd.cpp:3322 msgid "XYZ calibration failed. Front calibration points not reachable." msgstr "XYZ-kalibrering misslyckades. Främre kalibreringspunkter kan inte nås." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3707 +#: ../../Firmware/ultralcd.cpp:3328 msgid "XYZ calibration failed. Left front calibration point not reachable." msgstr "" #. MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 -#: ../../Firmware/messages.c:18 ../../Firmware/ultralcd.cpp:3698 -#: ../../Firmware/ultralcd.cpp:3726 +#: ../../Firmware/messages.cpp:16 ../../Firmware/ultralcd.cpp:3319 +#: ../../Firmware/ultralcd.cpp:3347 msgid "XYZ calibration failed. Please consult the manual." msgstr "XYZ-kalibrering misslyckades. Se bruksanvisningen." #. MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6 -#: ../../Firmware/ultralcd.cpp:3704 +#: ../../Firmware/ultralcd.cpp:3325 msgid "XYZ calibration failed. Right front calibration point not reachable." msgstr "" "XYZ-kalibrering misslyckades. Höger främre kalibreringspunkt kan inte nås." #. MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 -#: ../../Firmware/ultralcd.cpp:3729 +#: ../../Firmware/ultralcd.cpp:3350 msgid "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" msgstr "XYZ-kalibrering ok. X/Y-axlarna ar vinkelräta. Grattis!" #. MSG_Y_DIST_FROM_MIN c=20 -#: ../../Firmware/ultralcd.cpp:2832 +#: ../../Firmware/ultralcd.cpp:2492 msgid "Y distance from min" msgstr "Y avstånd från min" #. MSG_Y_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5071 +#: ../../Firmware/ultralcd.cpp:4173 msgid "Y-correct:" msgstr "Y-korrektion:" #. MSG_YES c=4 -#: ../../Firmware/messages.c:125 ../../Firmware/ultralcd.cpp:2553 -#: ../../Firmware/ultralcd.cpp:3152 ../../Firmware/ultralcd.cpp:3547 -#: ../../Firmware/ultralcd.cpp:3641 ../../Firmware/ultralcd.cpp:3645 -#: ../../Firmware/ultralcd.cpp:5645 ../../Firmware/ultralcd.cpp:7048 +#: ../../Firmware/messages.cpp:124 ../../Firmware/ultralcd.cpp:2228 +#: ../../Firmware/ultralcd.cpp:2798 ../../Firmware/ultralcd.cpp:3170 +#: ../../Firmware/ultralcd.cpp:4747 ../../Firmware/ultralcd.cpp:5998 msgid "Yes" msgstr "Ja" #. MSG_FW_VERSION_ALPHA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:850 +#: ../../Firmware/Marlin_main.cpp:835 msgid "" "You are using firmware alpha version. This is development version. Using " "this version is not recommended and may cause printer damage." msgstr "" #. MSG_FW_VERSION_BETA c=20 r=8 -#: ../../Firmware/Marlin_main.cpp:851 +#: ../../Firmware/Marlin_main.cpp:836 msgid "" "You are using firmware beta version. This is development version. Using this " "version is not recommended and may cause printer damage." msgstr "" #. MSG_WIZARD_QUIT c=20 r=8 -#: ../../Firmware/messages.c:122 ../../Firmware/ultralcd.cpp:5047 +#: ../../Firmware/messages.cpp:121 ../../Firmware/ultralcd.cpp:4149 msgid "You can always resume the Wizard from Calibration -> Wizard." msgstr "Du kan alltid återuppta guiden från Kalibrering -> Guide." #. MSG_Z_CORRECTION c=13 -#: ../../Firmware/ultralcd.cpp:5072 +#: ../../Firmware/ultralcd.cpp:4174 msgid "Z-correct:" msgstr "Z-korrekt:" #. MSG_Z_PROBE_NR c=14 -#: ../../Firmware/messages.c:151 ../../Firmware/ultralcd.cpp:6902 +#: ../../Firmware/messages.cpp:150 ../../Firmware/ultralcd.cpp:5833 msgid "Z-probe nr." msgstr "Z-sond nr." #. MSG_MEASURED_OFFSET c=20 -#: ../../Firmware/ultralcd.cpp:2903 +#: ../../Firmware/ultralcd.cpp:2563 msgid "[0;0] point offset" msgstr "[0;0] punktförskjutn" #. MSG_PRESS c=20 r=2 -#: ../../Firmware/ultralcd.cpp:2475 +#: ../../Firmware/ultralcd.cpp:2170 msgid "and press the knob" msgstr "och tryck på knappen" -#: ../../Firmware/ultralcd.cpp:8620 -msgid "monitoring or hold" -msgstr "" - -#: ../../Firmware/ultralcd.cpp:8621 -msgid "the knob to continue" -msgstr "" - #. MSG_TO_LOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2127 +#: ../../Firmware/ultralcd.cpp:1817 msgid "to load filament" msgstr "att ladda filament" #. MSG_TO_UNLOAD_FIL c=20 -#: ../../Firmware/ultralcd.cpp:2131 +#: ../../Firmware/ultralcd.cpp:1821 msgid "to unload filament" msgstr "att ta bort filament" #. MSG_UNKNOWN c=13 -#: ../../Firmware/ultralcd.cpp:1995 +#: ../../Firmware/ultralcd.cpp:1688 msgid "unknown" msgstr "okänd" #. MSG_IR_UNKNOWN c=18 -#: ../../Firmware/fsensor.cpp:182 ../../Firmware/messages.c:167 +#: ../../Firmware/Filament_sensor.cpp:291 ../../Firmware/messages.cpp:166 msgid "unknown state" msgstr "okänt tillstånd" #. MSG_REFRESH c=18 -#: ../../Firmware/messages.c:85 ../../Firmware/ultralcd.cpp:7133 -#: ../../Firmware/ultralcd.cpp:7136 +#: ../../Firmware/messages.cpp:82 ../../Firmware/ultralcd.cpp:6086 +#: ../../Firmware/ultralcd.cpp:6089 msgid "🔃Refresh" msgstr "🔃Uppdatera" + +#~ msgid "" +#~ "Autoloading filament available only when filament sensor is turned on..." +#~ msgstr "Autoladdning av fil. är endast möjligt när fil. sensorn är aktiv..." + +#~ msgid "Crash detected. Resume print?" +#~ msgstr "Krock upptäckt. Återuppta utskrift?" + +#~ msgid "Cutting filament" +#~ msgstr "Skär filament" + +#~ msgid "ERROR: Filament sensor is not responding, please check connection." +#~ msgstr "FEL: Filamentsensorn svarar inte, kontrollera anslutningen." + +#~ msgid "FS v0.3 or older" +#~ msgstr "FS v0.3 el äldre" + +#~ msgid "FS v0.4 or newer" +#~ msgstr "FS v0.4 el nyare" + +#~ msgid "Fix the issue and then press button on MMU unit." +#~ msgstr "Åtgärda problemet och tryck sedan på knappen på MMU-enheten." + +#~ msgid "Load all" +#~ msgstr "Ladda alla" + +#~ msgid "M117 First layer cal." +#~ msgstr "M117 Först lager kalibr." + +#~ msgid "MK3 firmware detected on MK3S printer" +#~ msgstr "MK3-firmware upptäckt på MK3S-skrivare" + +#~ msgid "MK3S firmware detected on MK3 printer" +#~ msgstr "MK3S-firmware upptäckt på MK3-skrivare" + +#~ msgid "MMU OK. Resuming position..." +#~ msgstr "MMU OK. Återupptar position..." + +#~ msgid "MMU OK. Resuming temperature..." +#~ msgstr "MMU OK. Återupptar temperatur..." + +#~ msgid "MMU OK. Resuming..." +#~ msgstr "MMU OK. Återupptar..." + +#~ msgid "MMU load failed" +#~ msgstr "MMU-laddning felade" + +#~ msgid "MMU needs user attention." +#~ msgstr "MMU fordrar användarens uppmärksamhet.." + +#~ msgid "MMU power fails" +#~ msgstr "MMU strömavbr." + +#~ msgid "Please remove filament and then press the knob." +#~ msgstr "Ta bort filamentet och tryck sedan på knappen." + +#~ msgid "Please update firmware in your MMU2. Waiting for reset." +#~ msgstr "Uppdatera firmware i din MMU2. Väntar på återställning." + +#~ msgid "Press the knob to resume nozzle temperature." +#~ msgstr "Tryck på knappen för att återställa munstyckstemperaturen." + +#~ msgid "Runouts" +#~ msgstr "Avbrott" diff --git a/lang/update-pot.sh b/lang/update-pot.sh index ef7b1803e..45ae27c62 100755 --- a/lang/update-pot.sh +++ b/lang/update-pot.sh @@ -1,3 +1,4 @@ #!/bin/sh # Extract language data in the po subdir to keep the relative paths intact -cd po && ../lang-extract.py --no-missing -s -o Firmware.pot ../../Firmware/[a-zA-Z]*.[ch]* +cp -f po/Firmware.pot po/Firmware.pot.bak +cd po && ../lang-extract.py --no-missing -s -o Firmware.pot ../../Firmware/[a-zA-Z]*.[ch]* ../../Firmware/mmu2/[a-zA-Z]*.[ch]*