merge new changes from upstream

This commit is contained in:
PavelSindler 2019-02-15 17:05:39 +01:00
commit 9d76b6912c
17 changed files with 3437 additions and 2407 deletions

View File

@ -13,7 +13,7 @@
// The firmware should only be checked into github with this symbol.
#define FW_DEV_VERSION FW_VERSION_UNKNOWN
#define FW_REPOSITORY "Unknown"
#define FW_VERSION_FULL FW_VERSION // "-" STR(FW_COMMIT_NR)
#define FW_VERSION_FULL FW_VERSION "-" STR(FW_COMMIT_NR)
// Debug version has debugging enabled (the symbol DEBUG_BUILD is set).
// The debug build may be a bit slower than the non-debug build, therefore the debug build should

View File

@ -3037,7 +3037,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
lcd_set_cursor(0, 2);
lcd_puts_P(_T(MSG_PLEASE_WAIT));
mmu_command(MMU_CMD_R0);
mmu_command(MmuCmd::R0);
manage_response(false, false);
}
}
@ -6933,7 +6933,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
return; //dont execute the same T-code twice in a row
}
st_synchronize();
mmu_command(MMU_CMD_T0 + tmp_extruder);
mmu_command(MmuCmd::T0 + tmp_extruder);
manage_response(true, true, MMU_TCODE_MOVE);
}
}
@ -6974,7 +6974,7 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
printf_P(PSTR("Duplicit T-code ignored.\n"));
return; //dont execute the same T-code twice in a row
}
mmu_command(MMU_CMD_T0 + tmp_extruder);
mmu_command(MmuCmd::T0 + tmp_extruder);
manage_response(true, true, MMU_TCODE_MOVE);
mmu_continue_loading();

View File

@ -30,13 +30,31 @@
#define MMU_RST_PIN 76
#endif //MMU_HWRESET
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
};
}
bool mmu_enabled = false;
bool mmu_ready = false;
bool mmu_fil_loaded = false; //if true: blocks execution of duplicit T-codes
static int8_t mmu_state = 0;
static S mmu_state = S::Disabled;
uint8_t mmu_cmd = 0;
MmuCmd mmu_cmd = MmuCmd::None;
//idler ir sensor
uint8_t mmu_idl_sens = 0;
@ -57,10 +75,27 @@ int16_t mmu_buildnr = -1;
uint32_t mmu_last_request = 0;
uint32_t mmu_last_response = 0;
uint8_t mmu_last_cmd = 0;
MmuCmd mmu_last_cmd = MmuCmd::None;
uint16_t mmu_power_failures = 0;
#ifdef MMU_DEBUG
static const auto DEBUG_PUTS_P = puts_P;
static const auto DEBUG_PRINTF_P = printf_P;
#else //MMU_DEBUG
#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)
{
@ -114,12 +149,11 @@ void mmu_init(void)
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 = -1;
mmu_state = S::Init;
PIN_INP(IR_SENSOR_PIN); //input mode
PIN_SET(IR_SENSOR_PIN); //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()
@ -151,175 +185,150 @@ bool check_for_ir_sensor()
void mmu_loop(void)
{
static uint8_t mmu_attempt_nr = 0;
int filament = 0;
// printf_P(PSTR("MMU loop, state=%d\n"), mmu_state);
switch (mmu_state)
{
case 0:
case S::Disabled:
return;
case -1:
case S::Init:
if (mmu_rx_start() > 0)
{
#ifdef MMU_DEBUG
puts_P(PSTR("MMU => 'start'"));
puts_P(PSTR("MMU <= 'S1'"));
#endif //MMU_DEBUG
DEBUG_PUTS_P(PSTR("MMU => 'start'"));
DEBUG_PUTS_P(PSTR("MMU <= 'S1'"));
mmu_puts_P(PSTR("S1\n")); //send 'read version' request
mmu_state = -2;
mmu_state = S::GetVersion;
}
else if (_millis() > 30000) //30sec after reset disable mmu
{
puts_P(PSTR("MMU not responding - DISABLED"));
mmu_state = 0;
mmu_state = S::Disabled;
}
return;
case -2:
case S::GetVersion:
if (mmu_rx_ok() > 0)
{
fscanf_P(uart2io, PSTR("%u"), &mmu_version); //scan version from buffer
#ifdef MMU_DEBUG
printf_P(PSTR("MMU => '%dok'\n"), mmu_version);
puts_P(PSTR("MMU <= 'S2'"));
#endif //MMU_DEBUG
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 = -3;
mmu_state = S::GetBuildNr;
}
return;
case -3:
case S::GetBuildNr:
if (mmu_rx_ok() > 0)
{
fscanf_P(uart2io, PSTR("%u"), &mmu_buildnr); //scan buildnr from buffer
#ifdef MMU_DEBUG
printf_P(PSTR("MMU => '%dok'\n"), mmu_buildnr);
#endif //MMU_DEBUG
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 ((PRINTER_TYPE == PRINTER_MK3) || (PRINTER_TYPE == PRINTER_MK3_SNMM))
{
#if defined MMU_DEBUG && defined MMU_FINDA_DEBUG
puts_P(PSTR("MMU <= 'P0'"));
#endif //MMU_DEBUG && MMU_FINDA_DEBUG
FDEBUG_PUTS_P(PSTR("MMU <= 'P0'"));
mmu_puts_P(PSTR("P0\n")); //send 'read finda' request
mmu_state = -4;
mmu_state = S::GetFindaInit;
}
else
{
#ifdef MMU_DEBUG
puts_P(PSTR("MMU <= 'M1'"));
#endif //MMU_DEBUG
DEBUG_PUTS_P(PSTR("MMU <= 'M1'"));
mmu_puts_P(PSTR("M1\n")); //set mmu mode to stealth
mmu_state = -5;
mmu_state = S::WaitStealthMode;
}
}
return;
case -5:
case S::WaitStealthMode:
if (mmu_rx_ok() > 0)
{
#if defined MMU_DEBUG && defined MMU_FINDA_DEBUG
puts_P(PSTR("MMU <= 'P0'"));
#endif //MMU_DEBUG && MMU_FINDA_DEBUG
FDEBUG_PUTS_P(PSTR("MMU <= 'P0'"));
mmu_puts_P(PSTR("P0\n")); //send 'read finda' request
mmu_state = -4;
mmu_state = S::GetFindaInit;
}
return;
case -4:
case S::GetFindaInit:
if (mmu_rx_ok() > 0)
{
fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer
#if defined MMU_DEBUG && defined MMU_FINDA_DEBUG
printf_P(PSTR("MMU => '%dok'\n"), mmu_finda);
#endif //MMU_DEBUG && MMU_FINDA_DEBUG
FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda);
puts_P(PSTR("MMU - ENABLED"));
mmu_enabled = true;
mmu_state = 1;
mmu_state = S::Idle;
}
return;
case 1:
if (mmu_cmd) //command request ?
case S::Idle:
if (mmu_cmd != MmuCmd::None) //command request ?
{
if ((mmu_cmd >= MMU_CMD_T0) && (mmu_cmd <= MMU_CMD_T4))
if ((mmu_cmd >= MmuCmd::T0) && (mmu_cmd <= MmuCmd::T4))
{
filament = mmu_cmd - MMU_CMD_T0;
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'T%d'\n"), filament);
#endif //MMU_DEBUG
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 = 3; // wait for response
mmu_state = S::WaitCmd; // wait for response
mmu_fil_loaded = true;
mmu_idl_sens = 1;
}
else if ((mmu_cmd >= MMU_CMD_L0) && (mmu_cmd <= MMU_CMD_L4))
else if ((mmu_cmd >= MmuCmd::L0) && (mmu_cmd <= MmuCmd::L4))
{
filament = mmu_cmd - MMU_CMD_L0;
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'L%d'\n"), filament);
#endif //MMU_DEBUG
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 = 3; // wait for response
mmu_state = S::WaitCmd; // wait for response
}
else if (mmu_cmd == MMU_CMD_C0)
else if (mmu_cmd == MmuCmd::C0)
{
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'C0'\n"));
#endif //MMU_DEBUG
DEBUG_PRINTF_P(PSTR("MMU <= 'C0'\n"));
mmu_puts_P(PSTR("C0\n")); //send 'continue loading'
mmu_state = 3;
mmu_state = S::WaitCmd;
mmu_idl_sens = 1;
}
else if (mmu_cmd == MMU_CMD_U0)
else if (mmu_cmd == MmuCmd::U0)
{
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'U0'\n"));
#endif //MMU_DEBUG
DEBUG_PRINTF_P(PSTR("MMU <= 'U0'\n"));
mmu_puts_P(PSTR("U0\n")); //send 'unload current filament'
mmu_fil_loaded = false;
mmu_state = 3;
mmu_state = S::WaitCmd;
}
else if ((mmu_cmd >= MMU_CMD_E0) && (mmu_cmd <= MMU_CMD_E4))
else if ((mmu_cmd >= MmuCmd::E0) && (mmu_cmd <= MmuCmd::E4))
{
int filament = mmu_cmd - MMU_CMD_E0;
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'E%d'\n"), filament);
#endif //MMU_DEBUG
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 = 3; // wait for response
mmu_state = S::WaitCmd;
}
else if (mmu_cmd == MMU_CMD_R0)
else if (mmu_cmd == MmuCmd::R0)
{
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'R0'\n"));
#endif //MMU_DEBUG
DEBUG_PRINTF_P(PSTR("MMU <= 'R0'\n"));
mmu_puts_P(PSTR("R0\n")); //send recover after eject
mmu_state = 3; // wait for response
mmu_state = S::WaitCmd;
}
else if (mmu_cmd == MMU_CMD_S3)
else if (mmu_cmd == MmuCmd::S3)
{
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'S3'\n"));
#endif //MMU_DEBUG
DEBUG_PRINTF_P(PSTR("MMU <= 'S3'\n"));
mmu_puts_P(PSTR("S3\n")); //send power failures request
mmu_state = 4; // power failures response
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 = 0;
mmu_cmd = MmuCmd::None;
}
else if ((mmu_last_response + 300) < _millis()) //request every 300ms
{
#ifndef IR_SENSOR
if(check_for_ir_sensor()) ir_sensor_detected = true;
#endif //IR_SENSOR not defined
#if defined MMU_DEBUG && defined MMU_FINDA_DEBUG
puts_P(PSTR("MMU <= 'P0'"));
#endif //MMU_DEBUG && MMU_FINDA_DEBUG
FDEBUG_PUTS_P(PSTR("MMU <= 'P0'"));
mmu_puts_P(PSTR("P0\n")); //send 'read finda' request
mmu_state = 2;
mmu_state = S::GetFinda;
}
return;
case 2: //response to command P0
case S::GetFinda: //response to command P0
if (mmu_idl_sens)
{
if (PIN_GET(IR_SENSOR_PIN) == 0 && mmu_loading_flag)
@ -337,9 +346,7 @@ void mmu_loop(void)
if (mmu_rx_ok() > 0)
{
fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer
#if defined MMU_DEBUG && MMU_FINDA_DEBUG
printf_P(PSTR("MMU => '%dok'\n"), mmu_finda);
#endif //MMU_DEBUG && MMU_FINDA_DEBUG
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_stop_and_save_print();
@ -354,23 +361,21 @@ void mmu_loop(void)
enquecommand_front_P(PSTR("M600")); //save print and run M600 command
}
}
mmu_state = 1;
if (mmu_cmd == 0)
mmu_state = S::Idle;
if (mmu_cmd == MmuCmd::None)
mmu_ready = true;
}
else if ((mmu_last_request + MMU_P0_TIMEOUT) < _millis())
{ //resend request after timeout (30s)
mmu_state = 1;
mmu_state = S::Idle;
}
return;
case 3: //response to mmu commands
case S::WaitCmd: //response to mmu commands
if (mmu_idl_sens)
{
if (PIN_GET(IR_SENSOR_PIN) == 0 && mmu_loading_flag)
{
#ifdef MMU_DEBUG
printf_P(PSTR("MMU <= 'A'\n"));
#endif //MMU_DEBUG
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"));
@ -380,47 +385,56 @@ void mmu_loop(void)
}
if (mmu_rx_ok() > 0)
{
#ifdef MMU_DEBUG
printf_P(PSTR("MMU => 'ok'\n"));
#endif //MMU_DEBUG
DEBUG_PRINTF_P(PSTR("MMU => 'ok'\n"));
mmu_attempt_nr = 0;
mmu_last_cmd = 0;
mmu_last_cmd = MmuCmd::None;
mmu_ready = true;
mmu_state = 1;
mmu_state = S::Idle;
}
else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis())
{ //resend request after timeout (5 min)
if (mmu_last_cmd)
if (mmu_last_cmd >= MmuCmd::T0 && mmu_last_cmd <= MmuCmd::T4)
{
if (mmu_attempt_nr++ < MMU_MAX_RESEND_ATTEMPTS) {
#ifdef MMU_DEBUG
printf_P(PSTR("MMU retry attempt nr. %d\n"), mmu_attempt_nr - 1);
#endif //MMU_DEBUG
DEBUG_PRINTF_P(PSTR("MMU retry attempt nr. %d\n"), mmu_attempt_nr - 1);
mmu_cmd = mmu_last_cmd;
}
else {
mmu_cmd = 0;
mmu_last_cmd = 0; //check
mmu_cmd = MmuCmd::None;
mmu_last_cmd = MmuCmd::None; //check
mmu_attempt_nr = 0;
}
}
mmu_state = 1;
mmu_state = S::Idle;
}
return;
case 4:
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
#ifdef MMU_DEBUG
printf_P(PSTR("MMU => 'ok'\n"));
#endif //MMU_DEBUG
mmu_last_cmd = 0;
DEBUG_PRINTF_P(PSTR("MMU => 'ok'\n"));
mmu_last_cmd = MmuCmd::None;
mmu_ready = true;
mmu_state = 1;
mmu_state = S::Idle;
}
else if ((mmu_last_request + MMU_CMD_TIMEOUT) < _millis())
{ //resend request after timeout (5 min)
mmu_state = 1;
mmu_state = S::Idle;
}
}
}
@ -451,20 +465,20 @@ int8_t mmu_set_filament_type(uint8_t extruder, uint8_t filament)
//! 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(uint8_t cmd)
void mmu_command(MmuCmd cmd)
{
if ((cmd >= MMU_CMD_T0) && (cmd <= MMU_CMD_T4))
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 - MMU_CMD_T0);
ad_markLoaded(cmd - MmuCmd::T0);
}
if ((cmd >= MMU_CMD_L0) && (cmd <= MMU_CMD_L4))
if ((cmd >= MmuCmd::L0) && (cmd <= MmuCmd::L4))
{
ad_markLoaded(cmd - MMU_CMD_L0);
ad_markLoaded(cmd - MmuCmd::L0);
}
mmu_cmd = cmd;
@ -519,14 +533,14 @@ bool mmu_get_response(uint8_t move)
get_response_print_info(move);
KEEPALIVE_STATE(IN_PROCESS);
while (mmu_cmd != 0)
while (mmu_cmd != MmuCmd::None)
{
delay_keep_alive(100);
}
while (!mmu_ready)
{
if ((mmu_state != 3) && (mmu_last_cmd == 0))
if ((mmu_state != S::WaitCmd) && (mmu_last_cmd == MmuCmd::None))
break;
switch (move) {
@ -819,7 +833,7 @@ void mmu_M600_load_filament(bool automatic)
// printf_P(PSTR("T code: %d \n"), tmp_extruder);
// mmu_printf_P(PSTR("T%d\n"), tmp_extruder);
mmu_command(MMU_CMD_T0 + tmp_extruder);
mmu_command(MmuCmd::T0 + tmp_extruder);
manage_response(false, true, MMU_LOAD_MOVE);
mmu_continue_loading();
@ -910,8 +924,8 @@ void display_loading()
void extr_adj(int extruder) //loading filament for SNMM
{
#ifndef SNMM
uint8_t cmd = MMU_CMD_L0 + extruder;
if (cmd > MMU_CMD_L4)
MmuCmd cmd = MmuCmd::L0 + extruder;
if (cmd > MmuCmd::L4)
{
printf_P(PSTR("Filament out of range %d \n"),extruder);
return;
@ -1031,7 +1045,7 @@ void extr_unload()
mmu_filament_ramming();
mmu_command(MMU_CMD_U0);
mmu_command(MmuCmd::U0);
// get response
manage_response(false, true, MMU_UNLOAD_MOVE);
@ -1328,7 +1342,7 @@ void lcd_mmu_load_to_nozzle(uint8_t filament_nr)
lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_LOADING_FILAMENT));
lcd_print(" ");
lcd_print(tmp_extruder + 1);
mmu_command(MMU_CMD_T0 + tmp_extruder);
mmu_command(MmuCmd::T0 + tmp_extruder);
manage_response(true, true, MMU_TCODE_MOVE);
mmu_continue_loading();
mmu_extruder = tmp_extruder; //filament change is finished
@ -1365,12 +1379,12 @@ void mmu_eject_filament(uint8_t filament, bool recover)
current_position[E_AXIS] -= 80;
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 2500 / 60, active_extruder);
st_synchronize();
mmu_command(MMU_CMD_E0 + filament);
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."));
mmu_command(MMU_CMD_R0);
mmu_command(MmuCmd::R0);
manage_response(false, false);
}
@ -1387,46 +1401,62 @@ void mmu_eject_filament(uint8_t filament, bool recover)
}
}
static void load_more()
{
for (uint8_t i = 0; i < MMU_IDLER_SENSOR_ATTEMPTS_NR; i++)
{
if (PIN_GET(IR_SENSOR_PIN) == 0) return;
DEBUG_PRINTF_P(PSTR("Additional load attempt nr. %d\n"), i);
mmu_command(MmuCmd::C0);
manage_response(true, true, MMU_LOAD_MOVE);
}
}
void mmu_continue_loading()
{
if (ir_sensor_detected)
{
load_more();
if (ir_sensor_detected) {
for (uint8_t i = 0; i < MMU_IDLER_SENSOR_ATTEMPTS_NR; i++) {
if (PIN_GET(IR_SENSOR_PIN) == 0) return;
#ifdef MMU_DEBUG
printf_P(PSTR("Additional load attempt nr. %d\n"), i);
#endif // MMU_DEBUG
mmu_command(MMU_CMD_C0);
manage_response(true, true, MMU_LOAD_MOVE);
}
if (PIN_GET(IR_SENSOR_PIN) != 0) {
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);
char cmd[3];
//pause print, show error message and then repeat last T-code
stop_and_save_print_to_ram(0, 0);
//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(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 15, active_extruder);
st_synchronize();
mmu_command(MmuCmd::T0 + tmp_extruder);
manage_response(true, true, MMU_TCODE_MOVE);
load_more();
//Move XY to side
current_position[X_AXIS] = X_PAUSE_POS;
current_position[Y_AXIS] = Y_PAUSE_POS;
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 50, active_extruder);
st_synchronize();
//set nozzle target temperature to 0
setAllTargetHotends(0);
lcd_setstatuspgm(_i("MMU load failed "));////MSG_RECOVERING_PRINT c=20 r=1
mmu_fil_loaded = false; //so we can retry same T-code again
isPrintPaused = true;
if (PIN_GET(IR_SENSOR_PIN) != 0)
{
//pause print, show error message and then repeat last T-code
stop_and_save_print_to_ram(0, 0);
//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(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 15, active_extruder);
st_synchronize();
//Move XY to side
current_position[X_AXIS] = X_PAUSE_POS;
current_position[Y_AXIS] = Y_PAUSE_POS;
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 50, active_extruder);
st_synchronize();
mmu_command(MmuCmd::U0);
manage_response(false, true, MMU_UNLOAD_MOVE);
setAllTargetHotends(0);
lcd_setstatuspgm(_i("MMU load failed "));////MSG_RECOVERING_PRINT c=20 r=1
mmu_fil_loaded = false; //so we can retry same T-code again
isPrintPaused = true;
mmu_command(MmuCmd::W0);
}
}
}
else { //mmu_ir_sensor_detected == false
mmu_command(MMU_CMD_C0);
mmu_command(MmuCmd::C0);
}
}

View File

@ -32,26 +32,40 @@ extern uint16_t mmu_power_failures;
#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
#define MMU_CMD_NONE 0
#define MMU_CMD_T0 0x10
#define MMU_CMD_T1 0x11
#define MMU_CMD_T2 0x12
#define MMU_CMD_T3 0x13
#define MMU_CMD_T4 0x14
#define MMU_CMD_L0 0x20
#define MMU_CMD_L1 0x21
#define MMU_CMD_L2 0x22
#define MMU_CMD_L3 0x23
#define MMU_CMD_L4 0x24
#define MMU_CMD_C0 0x30
#define MMU_CMD_U0 0x40
#define MMU_CMD_E0 0x50
#define MMU_CMD_E1 0x51
#define MMU_CMD_E2 0x52
#define MMU_CMD_E3 0x53
#define MMU_CMD_E4 0x54
#define MMU_CMD_R0 0x60
#define MMU_CMD_S3 0x73
enum class MmuCmd : uint_least8_t
{
None,
T0,
T1,
T2,
T3,
T4,
L0,
L1,
L2,
L3,
L4,
C0,
U0,
E0,
E1,
E2,
E3,
E4,
R0,
S3,
W0,
};
inline MmuCmd operator+ (MmuCmd cmd, uint8_t filament)
{
return static_cast<MmuCmd>(static_cast<uint8_t>(cmd) + filament );
}
inline uint8_t operator- (MmuCmd cmda, MmuCmd cmdb)
{
return (static_cast<uint8_t>(cmda) - static_cast<uint8_t>(cmdb));
}
extern int mmu_puts_P(const char* str);
@ -70,7 +84,7 @@ extern void mmu_reset(void);
extern int8_t mmu_set_filament_type(uint8_t extruder, uint8_t filament);
extern void mmu_command(uint8_t cmd);
extern void mmu_command(MmuCmd cmd);
extern bool mmu_get_response(uint8_t move = 0);

View File

@ -1986,7 +1986,7 @@ static void lcd_menu_fails_stats_mmu_total()
// MMU load fails 000
//
//////////////////////
mmu_command(MMU_CMD_S3);
mmu_command(MmuCmd::S3);
lcd_timeoutToStatus.stop(); //infinite timeout
uint8_t fails = eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL_TOT);
uint16_t load_fails = eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL_TOT);
@ -7208,7 +7208,7 @@ static bool selftest_irsensor()
mmu_filament_ramming();
}
progress = lcd_selftest_screen(testScreen::fsensor, progress, 1, true, 0);
mmu_command(MMU_CMD_U0);
mmu_command(MmuCmd::U0);
manage_response(false, false);
for(uint_least8_t i = 0; i < 200; ++i)

View File

@ -20,7 +20,7 @@
#
">Cancel"
"\x00"
">Zrusit"
#MSG_BABYSTEPPING_Z c=20 r=0
"Adjusting Z"
@ -36,7 +36,7 @@
#
"Ambient"
"\x00"
"Okoli"
#MSG_PRESS c=20 r=0
"and press the knob"
@ -52,7 +52,7 @@
#
"SpoolJoin [N/A]"
"SpoolJoin [N/A]"
"\x00"
# MSG_AUTO_DEPLETE_OFF c=17 r=1
"SpoolJoin [off]"
@ -124,7 +124,7 @@
#
"Calibrating home"
"\x00"
"Kalibruji vychozi poz."
#MSG_CALIBRATE_BED c=0 r=0
"Calibrate XYZ"
@ -188,7 +188,7 @@
#MSG_CRASHDETECT_NA c=0 r=0
"Crash det. [N/A]"
"Crash det. [N/A]"
"\x00"
#MSG_CRASHDETECT_OFF c=0 r=0
"Crash det. [off]"
@ -204,7 +204,7 @@
#
"Crash"
"\x00"
"Naraz"
#MSG_CURRENT c=19 r=1
"Current"
@ -320,7 +320,7 @@
#
"Fail stats MMU"
"\x00"
"Selhani MMU"
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
"F. autoload [on]"
@ -336,7 +336,7 @@
#
"Fail stats"
"\x00"
"Selhani"
#MSG_FAN_SPEED c=14 r=0
"Fan speed"
@ -372,7 +372,7 @@
#
"Filam. runouts"
"\x00"
"Vypadky filamentu"
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -584,11 +584,11 @@
#
"Last print failures"
"\x00"
"Selhani posl. tisku"
#
"Last print"
"\x00"
"Posledni tisk"
#MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
"Left hotend fan?"
@ -660,15 +660,15 @@
#
"MMU fails"
"\x00"
"Selhani MMU"
#
"MMU load failed "
"\x00"
"Zavedeni MMU selhalo"
#
"MMU load fails"
"\x00"
"MMU selhani zavadeni"
#MSG_MMU_OK_RESUMING c=20 r=4
"MMU OK. Resuming..."
@ -688,7 +688,7 @@
#
"MMU power fails"
"\x00"
"MMU vypadky proudu"
#MSG_STEALTH_MODE_ON c=0 r=0
"Mode [Stealth]"
@ -704,7 +704,7 @@
#
"MMU2 connected"
"\x00"
"MMU2 pripojeno"
#MSG_SELFTEST_MOTOR c=0 r=0
"Motor"
@ -780,7 +780,7 @@
#
"Nozzle FAN"
"\x00"
"Trysk. vent."
#MSG_PAUSE_PRINT c=0 r=0
"Pause print"
@ -896,7 +896,7 @@
#
"Power failures"
"\x00"
"Vypadky proudu"
#MSG_PRINT_ABORTED c=20 r=0
"Print aborted"
@ -904,11 +904,11 @@
#
"Preheating to load"
"\x00"
"Predehrivam k zavedeni"
#
"Preheating to unload"
"\x00"
"Predehrivam k vyjmuti"
#MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
"Print fan:"
@ -920,7 +920,7 @@
#
"Press the knob"
"\x00"
"Stisknete hl. tlacitko"
#MSG_PRINT_PAUSED c=20 r=1
"Print paused"
@ -936,7 +936,7 @@
#
"Print FAN"
"\x00"
"Tiskovy vent."
#WELCOME_MSG c=20 r=0
"Prusa i3 MK2.5 ready."
@ -1004,7 +1004,7 @@
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
"SD card [normal]"
"SD card [normal]"
"\x00"
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
"SD card [flshAir]"
@ -1068,11 +1068,11 @@
#
"Sensor state"
"\x00"
"Stav senzoru"
#
"Sensors info"
"\x00"
"Senzor info"
#
"Show pinda state"
@ -1216,15 +1216,15 @@
#
"Total failures"
"\x00"
"Celkem selhani"
#
"to load filament"
"\x00"
"k zavedeni filamentu"
#
"to unload filament"
"\x00"
"k vyjmuti filamentu"
#MSG_UNLOAD_FILAMENT c=17 r=0
"Unload filament"
@ -1236,7 +1236,7 @@
#
"Total"
"\x00"
"Celkem"
#MSG_USED c=19 r=1
"Used during print"
@ -1248,7 +1248,7 @@
#
"unknown"
"\x00"
"neznamy"
#MSG_USERWAIT c=0 r=0
"Wait for user..."
@ -1384,4 +1384,4 @@
#MSG_OFF c=0 r=0
" [off]"
" [vyp]"
"\x00"

View File

@ -20,7 +20,7 @@
#
">Cancel"
"\x00"
">Abbruch"
#MSG_BABYSTEPPING_Z c=20 r=0
"Adjusting Z"
@ -36,7 +36,7 @@
#
"Ambient"
"\x00"
"Raumtemp."
#MSG_PRESS c=20 r=0
"and press the knob"
@ -124,7 +124,7 @@
#
"Calibrating home"
"\x00"
"Kalibriere Start"
#MSG_CALIBRATE_BED c=0 r=0
"Calibrate XYZ"
@ -320,7 +320,7 @@
#
"Fail stats MMU"
"\x00"
"MMU-Fehler"
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
"F. autoload [on]"
@ -336,7 +336,7 @@
#
"Fail stats"
"\x00"
"Fehlerstatistik"
#MSG_FAN_SPEED c=14 r=0
"Fan speed"
@ -372,7 +372,7 @@
#
"Filam. runouts"
"\x00"
"Filam. Maengel"
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -584,11 +584,11 @@
#
"Last print failures"
"\x00"
"Letzte Druckfehler"
#
"Last print"
"\x00"
"Letzter Druck"
#MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
"Left hotend fan?"
@ -660,15 +660,15 @@
#
"MMU fails"
"\x00"
"MMU Fehler"
#
"MMU load failed "
"\x00"
"MMU Ladefehler"
#
"MMU load fails"
"\x00"
"MMU Ladefehler"
#MSG_MMU_OK_RESUMING c=20 r=4
"MMU OK. Resuming..."
@ -688,7 +688,7 @@
#
"MMU power fails"
"\x00"
"MMU Netzfehler"
#MSG_STEALTH_MODE_ON c=0 r=0
"Mode [Stealth]"
@ -704,7 +704,7 @@
#
"MMU2 connected"
"\x00"
"MMU2 verbunden"
#MSG_SELFTEST_MOTOR c=0 r=0
"Motor"
@ -736,7 +736,7 @@
#
"N/A"
"\x00"
"N.V."
#MSG_NO c=0 r=0
"No"
@ -780,7 +780,7 @@
#
"Nozzle FAN"
"\x00"
"Duesen Luefter"
#MSG_PAUSE_PRINT c=0 r=0
"Pause print"
@ -896,7 +896,7 @@
#
"Power failures"
"\x00"
"Netzfehler"
#MSG_PRINT_ABORTED c=20 r=0
"Print aborted"
@ -904,11 +904,11 @@
#
"Preheating to load"
"\x00"
"Heizen zum Laden"
#
"Preheating to unload"
"\x00"
"Heizen zum Entladen"
#MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
"Print fan:"
@ -920,7 +920,7 @@
#
"Press the knob"
"\x00"
"Knopf druecken"
#MSG_PRINT_PAUSED c=20 r=1
"Print paused"
@ -936,7 +936,7 @@
#
"Print FAN"
"\x00"
"Druckluefter"
#WELCOME_MSG c=20 r=0
"Prusa i3 MK2.5 ready."
@ -1068,11 +1068,11 @@
#
"Sensor state"
"\x00"
"Sensorstatus"
#
"Sensors info"
"\x00"
"Sensoren Info"
#
"Show pinda state"
@ -1216,15 +1216,15 @@
#
"Total failures"
"\x00"
"Gesamte Fehler"
#
"to load filament"
"\x00"
"zum Filament laden"
#
"to unload filament"
"\x00"
"zum Filament entladen"
#MSG_UNLOAD_FILAMENT c=17 r=0
"Unload filament"
@ -1236,7 +1236,7 @@
#
"Total"
"\x00"
"Gesamt"
#MSG_USED c=19 r=1
"Used during print"
@ -1248,7 +1248,7 @@
#
"unknown"
"\x00"
"unbekannt"
#MSG_USERWAIT c=0 r=0
"Wait for user..."
@ -1384,4 +1384,4 @@
#MSG_OFF c=0 r=0
" [off]"
" [AUS]"
"\x00"

View File

@ -20,7 +20,7 @@
#
">Cancel"
"\x00"
">Cancelar"
#MSG_BABYSTEPPING_Z c=20 r=0
"Adjusting Z"
@ -36,7 +36,7 @@
#
"Ambient"
"\x00"
"Ambiente"
#MSG_PRESS c=20 r=0
"and press the knob"
@ -48,15 +48,15 @@
#MSG_AUTO_DEPLETE_ON c=17 r=1
"SpoolJoin [on]"
"SpoolJoin [on]"
"\x00"
#
"SpoolJoin [N/A]"
"SpoolJoin [N/A]"
"\x00"
# MSG_AUTO_DEPLETE_OFF c=17 r=1
"SpoolJoin [off]"
"SpoolJoin [off]"
"\x00"
#MSG_AUTO_HOME c=0 r=0
"Auto home"
@ -124,7 +124,7 @@
#
"Calibrating home"
"\x00"
"Calibrando posicion inicial"
#MSG_CALIBRATE_BED c=0 r=0
"Calibrate XYZ"
@ -204,7 +204,7 @@
#
"Crash"
"\x00"
"Choque"
#MSG_CURRENT c=19 r=1
"Current"
@ -320,7 +320,7 @@
#
"Fail stats MMU"
"\x00"
"Estadistica de fallos MMU"
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
"F. autoload [on]"
@ -336,7 +336,7 @@
#
"Fail stats"
"\x00"
"Estadistica de fallos"
#MSG_FAN_SPEED c=14 r=0
"Fan speed"
@ -372,7 +372,7 @@
#
"Filam. runouts"
"\x00"
"Filam. acabado"
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -584,11 +584,11 @@
#
"Last print failures"
"\x00"
"Ultimas impresiones fallidas"
#
"Last print"
"\x00"
"Ultima impresion"
#MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
"Left hotend fan?"
@ -660,15 +660,15 @@
#
"MMU fails"
"\x00"
"Fallos MMU"
#
"MMU load failed "
"\x00"
"Carga MMU fallida"
#
"MMU load fails"
"\x00"
"Carga MMU falla"
#MSG_MMU_OK_RESUMING c=20 r=4
"MMU OK. Resuming..."
@ -688,7 +688,7 @@
#
"MMU power fails"
"\x00"
"Fallo de energia en MMU"
#MSG_STEALTH_MODE_ON c=0 r=0
"Mode [Stealth]"
@ -704,7 +704,7 @@
#
"MMU2 connected"
"\x00"
"MMU2 conectado"
#MSG_SELFTEST_MOTOR c=0 r=0
"Motor"
@ -736,7 +736,7 @@
#
"N/A"
"\x00"
"No disponible"
#MSG_NO c=0 r=0
"No"
@ -780,7 +780,7 @@
#
"Nozzle FAN"
"\x00"
"Ventilador de capa"
#MSG_PAUSE_PRINT c=0 r=0
"Pause print"
@ -896,7 +896,7 @@
#
"Power failures"
"\x00"
"Cortes de energia"
#MSG_PRINT_ABORTED c=20 r=0
"Print aborted"
@ -904,11 +904,11 @@
#
"Preheating to load"
"\x00"
"Precalentar para cargar"
#
"Preheating to unload"
"\x00"
"Precalentar para descargar"
#MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
"Print fan:"
@ -920,7 +920,7 @@
#
"Press the knob"
"\x00"
"Pulsa el dial"
#MSG_PRINT_PAUSED c=20 r=1
"Print paused"
@ -936,7 +936,7 @@
#
"Print FAN"
"\x00"
"Ventilador del extrusor"
#WELCOME_MSG c=20 r=0
"Prusa i3 MK2.5 ready."
@ -1068,11 +1068,11 @@
#
"Sensor state"
"\x00"
"Estado del sensor"
#
"Sensors info"
"\x00"
"Informacion sensores"
#
"Show pinda state"
@ -1216,15 +1216,15 @@
#
"Total failures"
"\x00"
"Fallos totales"
#
"to load filament"
"\x00"
"para cargar el filamento"
#
"to unload filament"
"\x00"
"para descargar el filamento"
#MSG_UNLOAD_FILAMENT c=17 r=0
"Unload filament"
@ -1248,7 +1248,7 @@
#
"unknown"
"\x00"
"desconocido"
#MSG_USERWAIT c=0 r=0
"Wait for user..."
@ -1384,4 +1384,4 @@
#MSG_OFF c=0 r=0
" [off]"
" [OFF]"
"\x00"

View File

@ -12,15 +12,15 @@
#MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4
"\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
"\x1b[2JLa detection de crash\x1b[1;0Hpeut etre active\x1b[2;0Hqu'en mode Normal"
"\x1b[2JLa detection de crash peut etre\x1b[1;0Hactive seulement\x1b[2;0Hen mode Normal"
#MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4
"\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
"\x1b[2JATTENTION :\x1b[1;0H Detection de crash\x1b[2;0H desactivee en mode\x1b[3;0H Furtif"
"\x1b[2JATTENTION :\x1b[1;0HDetection de crash\x1b[2;0H desactivee en\x1b[3;0Hmode Furtif"
#
">Cancel"
"\x00"
">Annuler"
#MSG_BABYSTEPPING_Z c=20 r=0
"Adjusting Z"
@ -32,7 +32,7 @@
#MSG_WIZARD_DONE c=20 r=8
"All is done. Happy printing!"
"Tout est termine. Bonne impression !"
"Tout est pret. Bonne impression !"
#
"Ambient"
@ -44,19 +44,19 @@
#MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2
"Are left and right Z~carriages all up?"
"Chariots Z gauche et droite tout en haut?"
"Z~carriages gauche + droite tout en haut?"
#MSG_AUTO_DEPLETE_ON c=17 r=1
"SpoolJoin [on]"
"SpoolJoin [on]"
"\x00"
#
"SpoolJoin [N/A]"
"SpoolJoin [N/A]"
"\x00"
# MSG_AUTO_DEPLETE_OFF c=17 r=1
"SpoolJoin [off]"
"SpoolJoin [off]"
"\x00"
#MSG_AUTO_HOME c=0 r=0
"Auto home"
@ -68,11 +68,11 @@
#MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
"Autoloading filament available only when filament sensor is turned on..."
"AutoCharge du filament uniquement si le capteur de filament est active."
"Chargement auto du filament uniquement si le capteur de filament est active."
#MSG_AUTOLOADING_ENABLED c=20 r=4
"Autoloading filament is active, just press the knob and insert filament..."
"AutoCharge actif, appuyez sur le bouton et inserez le filament."
"Chargement auto du filament actif, appuyez sur le btn et inserez le fil."
#MSG_SELFTEST_AXIS_LENGTH c=0 r=0
"Axis length"
@ -88,7 +88,7 @@
#MSG_BED_DONE c=0 r=0
"Bed done"
"Lit termine"
"Plateau termine"
#MSG_BED_HEATING c=0 r=0
"Bed Heating"
@ -96,19 +96,19 @@
#MSG_BED_CORRECTION_MENU c=0 r=0
"Bed level correct"
"Cor courbure du lit"
"Corr. niveau plateau"
#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=4
"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
"Echec du nivellement. Capt. non declenche. Debris sur buse ? En attente d'un reset."
"Echec bed leveling. Capt. non declenche. Debris sur buse ? En attente d'un reset."
#MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED c=20 r=4
"Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
"Echec du nivellement. Capteur deconnecte ou cable casse. En attente d'un reset."
"Echec du nivellement Capteur deconnecte ou cable casse. En attente d'un reset."
#MSG_BED_LEVELING_FAILED_POINT_HIGH c=20 r=4
"Bed leveling failed. Sensor triggered too high. Waiting for reset."
"Echec du nivellement. Capt. declenche trop trop haut. En attente d'un reset."
"Echec bed leveling. Capt. declenche trop trop haut. En attente d'un reset."
#MSG_BED c=0 r=0
"Bed"
@ -124,7 +124,7 @@
#
"Calibrating home"
"\x00"
"Calib. mise a 0"
#MSG_CALIBRATE_BED c=0 r=0
"Calibrate XYZ"
@ -156,7 +156,7 @@
#MSG_MENU_CALIBRATION c=0 r=0
"Calibration"
"Calibration"
"\x00"
#
"Cancel"
@ -180,7 +180,7 @@
#
"Copy selected language?"
"Copier la langue selectionne?"
"Copier la langue selectionne ?"
#MSG_CRASHDETECT_ON c=0 r=0
"Crash det. [on]"
@ -188,11 +188,11 @@
#MSG_CRASHDETECT_NA c=0 r=0
"Crash det. [N/A]"
"Detect.crash[N/A]"
"Detect. crash [N/A]"
#MSG_CRASHDETECT_OFF c=0 r=0
"Crash det. [off]"
"Detect.crash[off]"
"Detect. crash[off]"
#MSG_CRASH_DETECTED c=20 r=1
"Crash detected."
@ -204,7 +204,7 @@
#
"Crash"
"Colision"
"\x00"
#MSG_CURRENT c=19 r=1
"Current"
@ -220,11 +220,11 @@
#MSG_BABYSTEP_Z_NOT_SET c=20 r=12
"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."
"La distance entre la pointe de la buse et la surface du lit n'a pas encore ete reglee. Suivez le manuel, chapitre Premiers pas, section Calibration de la premiere couche."
"La distance entre la pointe de la buse et la surface du plateau n'a pas encore ete reglee. Suivez le manuel, chapitre Premiers pas, section Calibration de la premiere couche."
#MSG_WIZARD_REPEAT_V2_CAL c=20 r=7
"Do you want to repeat last step to readjust distance between nozzle and heatbed?"
"Voulez-vous repeter la derniere etape pour reajuster la distance entre la buse et le lit chauffant ?"
"Voulez-vous repeter la derniere etape pour reajuster la distance entre la buse et le plateau chauffant ?"
#MSG_EXTRUDER_CORRECTION c=9 r=0
"E-correct"
@ -232,7 +232,7 @@
#MSG_EJECT_FILAMENT c=17 r=1
"Eject filament"
"Ejecter le fil"
"Ejecter le fil."
#MSG_EJECT_FILAMENT1 c=17 r=1
"Eject filament 1"
@ -260,7 +260,7 @@
#MSG_EJECTING_FILAMENT c=20 r=1
"Ejecting filament"
"Filament en cours d'ejection"
"Ejection filament"
#MSG_SELFTEST_ENDSTOP_NOTHIT c=20 r=1
"Endstop not hit"
@ -280,7 +280,7 @@
#MSG_FSENS_NOT_RESPONDING c=20 r=4
"ERROR: Filament sensor is not responding, please check connection."
"ERREUR : Le capteur de filament ne repond pas, verifiez la connexion."
"ERREUR : Le capteur de filament ne repond pas, verifiez le branchement."
#MSG_ERROR c=0 r=0
"ERROR:"
@ -320,11 +320,11 @@
#
"Fail stats MMU"
"\x00"
"Stat. echecs MMU"
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
"F. autoload [on]"
"AutoCharg F [on]"
"ChargAuto f. [on]"
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
"F. autoload [N/A]"
@ -348,7 +348,7 @@
#MSG_FANS_CHECK_ON c=17 r=1
"Fans check [on]"
"Verif venti [on]"
"Verif ventilo[on]"
#MSG_FANS_CHECK_OFF c=17 r=1
"Fans check [off]"
@ -360,11 +360,11 @@
#MSG_RESPONSE_POOR c=20 r=2
"Fil. sensor response is poor, disable it?"
"La reponse du capteur de fil. est pauvre, le desactiver ?"
"Capteur de fil. non precis, desactiver ?"
#MSG_FSENSOR_NA c=0 r=0
"Fil. sensor [N/A]"
"Capteur Fil.[N/A]"
"Capteur Fil. [N/A]"
#MSG_FSENSOR_OFF c=0 r=0
"Fil. sensor [off]"
@ -372,7 +372,7 @@
#
"Filam. runouts"
"Manque de flm"
"Fins de filament"
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -412,7 +412,7 @@
#MSG_WIZARD_SELFTEST c=20 r=8
"First, I will run the selftest to check most common assembly problems."
"D'abord, je vais lancer l'autotest pour verifier les problemes d'assemblage les plus communs."
"D'abord, je vais lancer le Selftest pour verifier les problemes d'assemblage les plus communs."
#
"Fix the issue and then press button on MMU unit."
@ -528,7 +528,7 @@
#MSG_WIZARD_V2_CAL_2 c=20 r=12
"I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
"Je vais commencer a imprimer une ligne et vous baisserez au fur et a mesure la buse en tournant le bouton jusqu'a atteindre la hauteur optimale. Regardez les photos dans notre manuel au chapitre Calibration."
"Je vais commencer a imprimer une ligne et vous baisserez au fur et a mesure la buse en tournant le bouton jusqu'a atteindre la hauteur optimale. Regardez les photos dans notre manuel au chapitre Calibration"
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0
"Improving bed calibration point"
@ -540,19 +540,19 @@
#MSG_FILAMENT_LOADING_T0 c=20 r=4
"Insert filament into extruder 1. Click when done."
"Inserez le filament dans l'extrudeur 1. Cliquez une fois fait."
"Inserez le filament dans l'extrudeur 1. Cliquez une fois pret."
#MSG_FILAMENT_LOADING_T1 c=20 r=4
"Insert filament into extruder 2. Click when done."
"Inserez le filament dans l'extrudeur 2. Cliquez une fois fait."
"Inserez le filament dans l'extrudeur 2. Cliquez une fois pret."
#MSG_FILAMENT_LOADING_T2 c=20 r=4
"Insert filament into extruder 3. Click when done."
"Inserez le filament dans l'extrudeur 3. Cliquez une fois fait."
"Inserez le filament dans l'extrudeur 3. Cliquez une fois pret."
#MSG_FILAMENT_LOADING_T3 c=20 r=4
"Insert filament into extruder 4. Click when done."
"Inserez le filament dans l'extrudeur 4. Cliquez une fois fait."
"Inserez le filament dans l'extrudeur 4. Cliquez une fois pret."
#
"Is filament 1 loaded?"
@ -576,7 +576,7 @@
#MSG_STEEL_SHEET_CHECK c=20 r=2
"Is steel sheet on heatbed?"
"Feuille d'acier sur le lit chauffant ?"
"Feuille d'acier sur plateau chauffant ?"
#MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION c=20 r=0
"Iteration "
@ -584,11 +584,11 @@
#
"Last print failures"
"Echecs d'impr. dern."
"Echecs derniere impr"
#
"Last print"
"Derniere impress."
"Derniere impression"
#MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
"Left hotend fan?"
@ -608,7 +608,7 @@
#MSG_BABYSTEP_Z c=0 r=0
"Live adjust Z"
"Ajuster Z en dir"
"Ajuster Z en direct"
#MSG_LOAD_FILAMENT c=17 r=0
"Load filament"
@ -628,7 +628,7 @@
#
"Load to nozzle"
"Charger le fil"
"Charger dans la buse"
#MSG_M117_V2_CALIBRATION c=25 r=1
"M117 First layer cal."
@ -644,7 +644,7 @@
#MSG_MESH_BED_LEVELING c=0 r=0
"Mesh Bed Leveling"
"Nivelage du lit"
"\x00"
#MSG_MMU_OK_RESUMING_POSITION c=20 r=4
"MMU OK. Resuming position..."
@ -652,7 +652,7 @@
#MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4
"MMU OK. Resuming temperature..."
"MMU OK. Reprise de la temperature ..."
"MMU OK. Remontee en temperature..."
#
"Measured skew"
@ -660,15 +660,15 @@
#
"MMU fails"
"\x00"
"Echec MMU"
#
"MMU load failed "
"\x00"
"Echec chargement MMU"
#
"MMU load fails"
"\x00"
"Echecs charg. MMU"
#MSG_MMU_OK_RESUMING c=20 r=4
"MMU OK. Resuming..."
@ -676,7 +676,7 @@
#MSG_STEALTH_MODE_OFF c=0 r=0
"Mode [Normal]"
"Mode [Normal]"
"\x00"
#MSG_SILENT_MODE_ON c=0 r=0
"Mode [silent]"
@ -688,23 +688,23 @@
#
"MMU power fails"
"\x00"
"Echecs alim. MMU"
#MSG_STEALTH_MODE_ON c=0 r=0
"Mode [Stealth]"
"Mode [Furtif]"
"Mode [Furtif]"
#MSG_AUTO_MODE_ON c=0 r=0
"Mode [auto power]"
"Mode[puissan.aut]"
"Mode [puiss.auto]"
#MSG_SILENT_MODE_OFF c=0 r=0
"Mode [high power]"
"Mode[haute puiss]"
"Mode [haute puiss]"
#
"MMU2 connected"
"MMU2 connectée"
"MMU2 connecte"
#MSG_SELFTEST_MOTOR c=0 r=0
"Motor"
@ -748,7 +748,7 @@
#
"New firmware version available:"
"Nouvelle version de firmware disponible :"
"Nouvelle version de firmware disponible:"
#
"No "
@ -760,7 +760,7 @@
#MSG_WIZARD_V2_CAL c=20 r=8
"Now I will calibrate distance between tip of the nozzle and heatbed surface."
"Maintenant je vais calibrer la distance entre la pointe de la buse et le surface du lit chauffant."
"Maintenant je vais calibrer la distance entre la pointe de la buse et la surface du plateau chauffant."
#MSG_WIZARD_WILL_PREHEAT c=20 r=4
"Now I will preheat nozzle for PLA."
@ -772,7 +772,7 @@
#MSG_DEFAULT_SETTINGS_LOADED c=20 r=4
"Old settings found. Default PID, Esteps etc. will be set."
"Anciens reglages trouves. Le PID, les Esteps etc. par defaut seront pris."
"Anciens reglages trouves. Le PID, les Esteps etc. par defaut seront regles"
#
"Now remove the test print from steel sheet."
@ -780,11 +780,11 @@
#
"Nozzle FAN"
"Vent buse"
"Ventilateur buse"
#MSG_PAUSE_PRINT c=0 r=0
"Pause print"
"Pause de l'impres"
"Pause de l'impr."
#MSG_PID_RUNNING c=20 r=1
"PID cal. "
@ -804,11 +804,11 @@
#MSG_PAPER c=20 r=8
"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."
"Placez une feuille de papier sous la buse pendant la calibration des 4 premiers points. Si la buse accroche le papier, eteignez de suite l'imprimante."
"Placez une feuille de papier sous la buse pendant la calibration des 4 premiers points. Si la buse accroche le papier, eteignez vite l'imprimante."
#MSG_WIZARD_CLEAN_HEATBED c=20 r=8
"Please clean heatbed and then press the knob."
"Nettoyez le lit chauffant et appuyez sur le bouton."
"Nettoyez le plateau chauffant et appuyez sur le bouton."
#MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8
"Please clean the nozzle for calibration. Click when done."
@ -824,7 +824,7 @@
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
"Please insert PLA filament to the extruder, then press knob to load it."
"Inserez du filament PLA dans l'extrudeur, puis appuyez sur le bouton pour le charger."
"Inserez du filament PLA dans l'extrudeur puis appuyez sur le bouton pour le charger."
#MSG_PLEASE_LOAD_PLA c=20 r=4
"Please load PLA filament first."
@ -832,11 +832,11 @@
#MSG_CHECK_IDLER c=20 r=4
"Please open idler and remove filament manually."
"Ouvrez le support de poulie et retirez le filament manuellement."
"Ouvrez l'idler et retirez le filament manuellement."
#MSG_PLACE_STEEL_SHEET c=20 r=4
"Please place steel sheet on heatbed."
"Placez la feuille d'acier sur le lit chauffant."
"Placez la feuille d'acier sur le plateau chauffant."
#MSG_PRESS_TO_UNLOAD c=20 r=4
"Please press the knob to unload filament"
@ -856,7 +856,7 @@
#MSG_REMOVE_STEEL_SHEET c=20 r=4
"Please remove steel sheet from heatbed."
"Retirez la feuille d'acier du lit chauffant"
"Retirez la feuille d'acier du plateau chauffant."
#MSG_RUN_XYZ c=20 r=4
"Please run XYZ calibration first."
@ -896,7 +896,7 @@
#
"Power failures"
"Coupures"
"Coupures de courant"
#MSG_PRINT_ABORTED c=20 r=0
"Print aborted"
@ -904,11 +904,11 @@
#
"Preheating to load"
"\x00"
"Chauffe pour charger"
#
"Preheating to unload"
"\x00"
"Chauffe pr decharger"
#MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
"Print fan:"
@ -920,7 +920,7 @@
#
"Press the knob"
"\x00"
"App. sur sur bouton"
#MSG_PRINT_PAUSED c=20 r=1
"Print paused"
@ -932,11 +932,11 @@
#MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8
"Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
"L'imprimante n'a pas encore ete calibree. Suivez le manuel, chapitre Premiers pas, section Processus de calibration"
"L'imprimante n'a pas encore ete calibree. Suivez le manuel, chapitre Premiers pas, section Processus de calibration."
#
"Print FAN"
"Vent extru"
"Ventilo impression"
#WELCOME_MSG c=20 r=0
"Prusa i3 MK2.5 ready."
@ -992,11 +992,11 @@
#MSG_SECOND_SERIAL_ON c=17 r=1
"RPi port [on]"
"Port RPi [on]"
"Port RPi [on]"
#MSG_SECOND_SERIAL_OFF c=17 r=1
"RPi port [off]"
"Port RPi [off]"
"Port RPi [off]"
#MSG_WIZARD_RERUN c=20 r=7
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
@ -1008,7 +1008,7 @@
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
"SD card [flshAir]"
"Carte SD[flshAir]"
"Carte SD [flashAir]"
#
"Right"
@ -1044,7 +1044,7 @@
#MSG_FORCE_SELFTEST c=20 r=8
"Selftest will be run to calibrate accurate sensorless rehoming."
"L'auto-test sera lance pour calibrer la remise a zero precise sans capteur."
"Le Selftest sera lance pour calibrer la remise a zero precise sans capteur"
#
"Select nozzle preheat temperature which matches your material."
@ -1068,11 +1068,11 @@
#
"Sensor state"
"\x00"
"Etat capteur"
#
"Sensors info"
"\x00"
"Infos capteurs"
#
"Show pinda state"
@ -1096,7 +1096,7 @@
#MSG_SORT_ALPHA c=17 r=1
"Sort: [alphabet]"
"Tri : [alphabet]"
"Tri : [alphabet]"
#MSG_SORTING c=20 r=1
"Sorting files"
@ -1104,7 +1104,7 @@
#MSG_SOUND_LOUD c=17 r=1
"Sound [loud]"
"Son [fort]"
"Son [fort]"
#
"Slight skew"
@ -1112,7 +1112,7 @@
#MSG_SOUND_MUTE c=17 r=1
"Sound [mute]"
"Son [muet]"
"Son [muet]"
#
"Some problem encountered, Z-leveling enforced ..."
@ -1120,11 +1120,11 @@
#MSG_SOUND_ONCE c=17 r=1
"Sound [once]"
"Son [une fois]"
"Son [une fois]"
#MSG_SOUND_SILENT c=17 r=1
"Sound [silent]"
"Son [silencieux]"
"Son [silencieux]"
#MSG_SPEED c=0 r=0
"Speed"
@ -1136,7 +1136,7 @@
#MSG_TEMP_CAL_WARNING c=20 r=4
"Stable ambient temperature 21-26C is needed a rigid stand is required."
"Une temperature ambiante stable de 21-26C et une base stable sont requis."
"Une temperature ambiante stable de 21-26C et un support stable sont requis."
#MSG_STATISTICS c=0 r=0
"Statistics "
@ -1176,11 +1176,11 @@
#MSG_TEMP_CAL_FAILED c=20 r=8
"Temperature calibration failed"
"Echec calibration en temperature"
"Echec de la calibration en temperature"
#MSG_TEMP_CALIBRATION_DONE c=20 r=12
"Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
"La calibration en temperature est terminee et active. La calibration en temperature peut etre desactivee dans le menu Reglages->Cal. Temp."
"La calibration en temperature est terminee et activee. La calibration en temperature peut etre desactivee dans le menu Reglages-> Cal. Temp."
#MSG_TEMPERATURE c=0 r=0
"Temperature"
@ -1200,7 +1200,7 @@
#
"Total print time"
"Temps total"
"Temps total impr."
#MSG_TUNE c=0 r=0
"Tune"
@ -1216,15 +1216,15 @@
#
"Total failures"
"Echecs au total"
"Total des echecs"
#
"to load filament"
"\x00"
"pour charger le fil."
#
"to unload filament"
"\x00"
"pour decharger fil."
#MSG_UNLOAD_FILAMENT c=17 r=0
"Unload filament"
@ -1236,7 +1236,7 @@
#
"Total"
"Total"
"\x00"
#MSG_USED c=19 r=1
"Used during print"
@ -1248,7 +1248,7 @@
#
"unknown"
"\x00"
"inconnu"
#MSG_USERWAIT c=0 r=0
"Wait for user..."
@ -1256,7 +1256,7 @@
#MSG_WAITING_TEMP c=20 r=3
"Waiting for nozzle and bed cooling"
"Attente du refroidissement de la buse et du lit"
"Attente du refroidissement des buse et plateau"
#MSG_WAITING_TEMP_PINDA c=20 r=3
"Waiting for PINDA probe cooling"
@ -1304,7 +1304,7 @@
#MSG_WIZARD_QUIT c=20 r=8
"You can always resume the Wizard from Calibration -> Wizard."
"Vous pouvez toujours poursuivre l'assistant dans Calibration-> Assistant."
"Vous pouvez toujours relancer l'assistant dans Calibration-> Assistant."
#MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8
"XYZ calibration all right. Skew will be corrected automatically."
@ -1328,11 +1328,11 @@
#MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8
"XYZ calibration compromised. Right front calibration point not reachable."
"Calibration XYZ compromise. Le point de calibration avant droite n'est pas atteignable."
"Calibration XYZ compromise. Le point de calibration avant droit n'est pas atteignable."
#MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8
"XYZ calibration compromised. Left front calibration point not reachable."
"Calibration XYZ compromise. Le point de calibration avant gauche n'est pas atteignable."
"Calibration XYZ compromise. Le point de calibration avant gauche n'est pas atteignable."
#MSG_LOAD_ALL c=17 r=0
"Load all"
@ -1344,7 +1344,7 @@
#
"XYZ calibration failed. Bed calibration point was not found."
"Echec calibration XYZ. Le point de calibration du lit n'a pas ete trouve."
"Echec calibration XYZ. Le point de calibration du plateau n'a pas ete trouve."
#
"XYZ calibration failed. Front calibration points not reachable."
@ -1360,7 +1360,7 @@
#
"XYZ calibration failed. Right front calibration point not reachable."
"Echec calibration XYZ. Le point de calibration avant droite n'est pas atteignable."
"Echec calibration XYZ. Le point de calibration avant droit n'est pas atteignable."
#MSG_LOAD_FILAMENT_3 c=17 r=0
"Load filament 3"

View File

@ -20,7 +20,7 @@
#
">Cancel"
"\x00"
">Annulla"
#MSG_BABYSTEPPING_Z c=20 r=0
"Adjusting Z"
@ -36,7 +36,7 @@
#
"Ambient"
"\x00"
"Ambiente"
#MSG_PRESS c=20 r=0
"and press the knob"
@ -48,15 +48,15 @@
#MSG_AUTO_DEPLETE_ON c=17 r=1
"SpoolJoin [on]"
"SpoolJoin [on]"
"\x00"
#
"SpoolJoin [N/A]"
"SpoolJoin [N/A]"
"\x00"
# MSG_AUTO_DEPLETE_OFF c=17 r=1
"SpoolJoin [off]"
"SpoolJoin [off]"
"\x00"
#MSG_AUTO_HOME c=0 r=0
"Auto home"
@ -124,7 +124,7 @@
#
"Calibrating home"
"\x00"
"Calibrazione Home"
#MSG_CALIBRATE_BED c=0 r=0
"Calibrate XYZ"
@ -204,7 +204,7 @@
#
"Crash"
"\x00"
"Impatto"
#MSG_CURRENT c=19 r=1
"Current"
@ -320,7 +320,7 @@
#
"Fail stats MMU"
"\x00"
"Statistiche fallimenti MMU"
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
"F. autoload [on]"
@ -336,7 +336,7 @@
#
"Fail stats"
"\x00"
"Statistiche fallimenti"
#MSG_FAN_SPEED c=14 r=0
"Fan speed"
@ -372,7 +372,7 @@
#
"Filam. runouts"
"\x00"
"Filam. esauriti"
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -584,11 +584,11 @@
#
"Last print failures"
"\x00"
"Fallimenti ultima stampa"
#
"Last print"
"\x00"
"Ultima stampa"
#MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
"Left hotend fan?"
@ -660,15 +660,15 @@
#
"MMU fails"
"\x00"
"Fallimenti MMU"
#
"MMU load failed "
"\x00"
"Caricamento MMU fallito"
#
"MMU load fails"
"\x00"
"Caricamenti MMU falliti"
#MSG_MMU_OK_RESUMING c=20 r=4
"MMU OK. Resuming..."
@ -688,7 +688,7 @@
#
"MMU power fails"
"\x00"
"Mancanza corrente MMU"
#MSG_STEALTH_MODE_ON c=0 r=0
"Mode [Stealth]"
@ -704,7 +704,7 @@
#
"MMU2 connected"
"\x00"
"MMU2 connessa"
#MSG_SELFTEST_MOTOR c=0 r=0
"Motor"
@ -780,7 +780,7 @@
#
"Nozzle FAN"
"\x00"
"Ventola estrusore"
#MSG_PAUSE_PRINT c=0 r=0
"Pause print"
@ -896,7 +896,7 @@
#
"Power failures"
"\x00"
"Mancanza corrente"
#MSG_PRINT_ABORTED c=20 r=0
"Print aborted"
@ -904,11 +904,11 @@
#
"Preheating to load"
"\x00"
"Preriscaldamento per caricare"
#
"Preheating to unload"
"\x00"
"Preriscaldamento per scaricare"
#MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
"Print fan:"
@ -920,7 +920,7 @@
#
"Press the knob"
"\x00"
"Premere la manopola"
#MSG_PRINT_PAUSED c=20 r=1
"Print paused"
@ -936,7 +936,7 @@
#
"Print FAN"
"\x00"
"Ventola di stampa"
#WELCOME_MSG c=20 r=0
"Prusa i3 MK2.5 ready."
@ -1068,11 +1068,11 @@
#
"Sensor state"
"\x00"
"Stato sensore"
#
"Sensors info"
"\x00"
"Info Sensori"
#
"Show pinda state"
@ -1216,15 +1216,15 @@
#
"Total failures"
"\x00"
"Totale fallimenti"
#
"to load filament"
"\x00"
"per caricare il filamento"
#
"to unload filament"
"\x00"
"per scaricare il filamento"
#MSG_UNLOAD_FILAMENT c=17 r=0
"Unload filament"
@ -1236,7 +1236,7 @@
#
"Total"
"\x00"
"Totale"
#MSG_USED c=19 r=1
"Used during print"
@ -1248,7 +1248,7 @@
#
"unknown"
"\x00"
"sconosciuto"
#MSG_USERWAIT c=0 r=0
"Wait for user..."
@ -1384,4 +1384,4 @@
#MSG_OFF c=0 r=0
" [off]"
" [OFF]"
"\x00"

View File

@ -20,7 +20,7 @@
#
">Cancel"
"\x00"
">Anuluj"
#MSG_BABYSTEPPING_Z c=20 r=0
"Adjusting Z"
@ -36,7 +36,7 @@
#
"Ambient"
"\x00"
"Otoczenie"
#MSG_PRESS c=20 r=0
"and press the knob"
@ -124,7 +124,7 @@
#
"Calibrating home"
"\x00"
"Zerowanie osi"
#MSG_CALIBRATE_BED c=0 r=0
"Calibrate XYZ"
@ -204,7 +204,7 @@
#
"Crash"
"\x00"
"Zderzenie"
#MSG_CURRENT c=19 r=1
"Current"
@ -320,7 +320,7 @@
#
"Fail stats MMU"
"\x00"
"Bledy MMU"
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
"F. autoload [on]"
@ -336,7 +336,7 @@
#
"Fail stats"
"\x00"
"Statystyki bledow"
#MSG_FAN_SPEED c=14 r=0
"Fan speed"
@ -372,7 +372,7 @@
#
"Filam. runouts"
"\x00"
"Konc. filamentu"
#MSG_FILAMENT_CLEAN c=20 r=2
"Filament extruding & with correct color?"
@ -584,11 +584,11 @@
#
"Last print failures"
"\x00"
"Ostatnie bledy druku"
#
"Last print"
"\x00"
"Ost. wydruk"
#MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
"Left hotend fan?"
@ -660,15 +660,15 @@
#
"MMU fails"
"\x00"
"Bledy MMU"
#
"MMU load failed "
"\x00"
"Blad ladowania MMU"
#
"MMU load fails"
"\x00"
"Bledy ladow. MMU"
#MSG_MMU_OK_RESUMING c=20 r=4
"MMU OK. Resuming..."
@ -688,7 +688,7 @@
#
"MMU power fails"
"\x00"
"Zaniki zasil. MMU"
#MSG_STEALTH_MODE_ON c=0 r=0
"Mode [Stealth]"
@ -704,7 +704,7 @@
#
"MMU2 connected"
"\x00"
"MMU podlaczone"
#MSG_SELFTEST_MOTOR c=0 r=0
"Motor"
@ -736,7 +736,7 @@
#
"N/A"
"\x00"
"N/D"
#MSG_NO c=0 r=0
"No"
@ -780,7 +780,7 @@
#
"Nozzle FAN"
"\x00"
"Went. hotendu"
#MSG_PAUSE_PRINT c=0 r=0
"Pause print"
@ -896,7 +896,7 @@
#
"Power failures"
"\x00"
"Zaniki zasilania"
#MSG_PRINT_ABORTED c=20 r=0
"Print aborted"
@ -904,11 +904,11 @@
#
"Preheating to load"
"\x00"
"Nagrzew. do ladowania"
#
"Preheating to unload"
"\x00"
"Nagrzew. do rozlad."
#MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
"Print fan:"
@ -920,7 +920,7 @@
#
"Press the knob"
"\x00"
"Wcisnij pokretlo"
#MSG_PRINT_PAUSED c=20 r=1
"Print paused"
@ -936,7 +936,7 @@
#
"Print FAN"
"\x00"
"Went. wydruku"
#WELCOME_MSG c=20 r=0
"Prusa i3 MK2.5 ready."
@ -964,7 +964,7 @@
#
"Prusa i3 MK3S OK."
"\x00"
"Prusa i3 MK3S OK"
#
"Prusa i3 MK2 ready."
@ -1068,11 +1068,11 @@
#
"Sensor state"
"\x00"
"Stan czujnikow"
#
"Sensors info"
"\x00"
"Info o czujnikach"
#
"Show pinda state"
@ -1216,15 +1216,15 @@
#
"Total failures"
"\x00"
"Suma bledow"
#
"to load filament"
"\x00"
"aby zaladow. fil."
#
"to unload filament"
"\x00"
"aby rozlad. filament"
#MSG_UNLOAD_FILAMENT c=17 r=0
"Unload filament"
@ -1236,7 +1236,7 @@
#
"Total"
"\x00"
"Suma"
#MSG_USED c=19 r=1
"Used during print"
@ -1248,7 +1248,7 @@
#
"unknown"
"\x00"
"nieznane"
#MSG_USERWAIT c=0 r=0
"Wait for user..."
@ -1384,4 +1384,4 @@
#MSG_OFF c=0 r=0
" [off]"
" [wyl]"
"\x00"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff