Merge branch 'MK3' into MK3_NEW_SD_COMPILATION
This commit is contained in:
commit
7faffa539a
@ -328,6 +328,11 @@ const unsigned int dropsegments=5; //everything with less than this number of st
|
||||
// Control heater 0 and heater 1 in parallel.
|
||||
//#define HEATERS_PARALLEL
|
||||
|
||||
//LCD status clock interval timer to switch between
|
||||
// remaining print time
|
||||
// and time to change/pause/interaction
|
||||
#define CLOCK_INTERVAL_TIME 5
|
||||
|
||||
//===========================================================================
|
||||
//=============================Buffers ============================
|
||||
//===========================================================================
|
||||
|
@ -366,6 +366,8 @@ extern uint8_t print_percent_done_normal;
|
||||
extern uint16_t print_time_remaining_normal;
|
||||
extern uint8_t print_percent_done_silent;
|
||||
extern uint16_t print_time_remaining_silent;
|
||||
extern uint16_t print_time_to_change_normal;
|
||||
extern uint16_t print_time_to_change_silent;
|
||||
|
||||
#define PRINT_TIME_REMAINING_INIT 0xffff
|
||||
|
||||
@ -437,7 +439,6 @@ extern void cancel_saved_printing();
|
||||
|
||||
|
||||
//estimated time to end of the print
|
||||
extern uint16_t print_time_remaining();
|
||||
extern uint8_t calc_percent_done();
|
||||
|
||||
|
||||
|
@ -316,6 +316,8 @@ uint8_t print_percent_done_normal = PRINT_PERCENT_DONE_INIT;
|
||||
uint16_t print_time_remaining_normal = PRINT_TIME_REMAINING_INIT; //estimated remaining print time in minutes
|
||||
uint8_t print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
||||
uint16_t print_time_remaining_silent = PRINT_TIME_REMAINING_INIT; //estimated remaining print time in minutes
|
||||
uint16_t print_time_to_change_normal = PRINT_TIME_REMAINING_INIT; //estimated remaining time to next change in minutes
|
||||
uint16_t print_time_to_change_silent = PRINT_TIME_REMAINING_INIT; //estimated remaining time to next change in minutes
|
||||
|
||||
uint32_t IP_address = 0;
|
||||
|
||||
@ -707,110 +709,82 @@ void softReset()
|
||||
#endif
|
||||
|
||||
|
||||
static void factory_reset_stats(){
|
||||
eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0);
|
||||
eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0);
|
||||
|
||||
eeprom_update_byte((uint8_t *)EEPROM_CRASH_COUNT_X, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_CRASH_COUNT_Y, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_FERROR_COUNT, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0);
|
||||
|
||||
eeprom_update_word((uint16_t *)EEPROM_CRASH_COUNT_X_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_CRASH_COUNT_Y_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_FERROR_COUNT_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_POWER_COUNT_TOT, 0);
|
||||
|
||||
eeprom_update_word((uint16_t *)EEPROM_MMU_FAIL_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_MMU_LOAD_FAIL_TOT, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_MMU_FAIL, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_MMU_LOAD_FAIL, 0);
|
||||
}
|
||||
|
||||
// Factory reset function
|
||||
// This function is used to erase parts or whole EEPROM memory which is used for storing calibration and and so on.
|
||||
// Level input parameter sets depth of reset
|
||||
static void factory_reset(char level)
|
||||
{
|
||||
{
|
||||
lcd_clear();
|
||||
switch (level) {
|
||||
|
||||
// Level 0: Language reset
|
||||
case 0:
|
||||
Sound_MakeCustom(100,0,false);
|
||||
lang_reset();
|
||||
break;
|
||||
|
||||
//Level 1: Reset statistics
|
||||
case 1:
|
||||
Sound_MakeCustom(100,0,false);
|
||||
eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0);
|
||||
eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0);
|
||||
Sound_MakeCustom(100,0,false);
|
||||
switch (level) {
|
||||
|
||||
eeprom_update_byte((uint8_t *)EEPROM_CRASH_COUNT_X, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_CRASH_COUNT_Y, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_FERROR_COUNT, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0);
|
||||
case 0: // Level 0: Language reset
|
||||
lang_reset();
|
||||
break;
|
||||
|
||||
eeprom_update_word((uint16_t *)EEPROM_CRASH_COUNT_X_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_CRASH_COUNT_Y_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_FERROR_COUNT_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_POWER_COUNT_TOT, 0);
|
||||
case 1: //Level 1: Reset statistics
|
||||
factory_reset_stats();
|
||||
lcd_menu_statistics();
|
||||
break;
|
||||
|
||||
eeprom_update_word((uint16_t *)EEPROM_MMU_FAIL_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_MMU_LOAD_FAIL_TOT, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_MMU_FAIL, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_MMU_LOAD_FAIL, 0);
|
||||
|
||||
|
||||
lcd_menu_statistics();
|
||||
|
||||
break;
|
||||
|
||||
// Level 2: Prepare for shipping
|
||||
case 2:
|
||||
//lcd_puts_P(PSTR("Factory RESET"));
|
||||
//lcd_puts_at_P(1,2,PSTR("Shipping prep"));
|
||||
|
||||
// Force language selection at the next boot up.
|
||||
lang_reset();
|
||||
// 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, 1); //run wizard
|
||||
farm_mode = false;
|
||||
eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode);
|
||||
|
||||
eeprom_update_dword((uint32_t *)EEPROM_TOTALTIME, 0);
|
||||
eeprom_update_dword((uint32_t *)EEPROM_FILAMENTUSED, 0);
|
||||
|
||||
eeprom_update_byte((uint8_t *)EEPROM_CRASH_COUNT_X, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_CRASH_COUNT_Y, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_FERROR_COUNT, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_POWER_COUNT, 0);
|
||||
|
||||
eeprom_update_word((uint16_t *)EEPROM_CRASH_COUNT_X_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_CRASH_COUNT_Y_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_FERROR_COUNT_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_POWER_COUNT_TOT, 0);
|
||||
|
||||
eeprom_update_word((uint16_t *)EEPROM_MMU_FAIL_TOT, 0);
|
||||
eeprom_update_word((uint16_t *)EEPROM_MMU_LOAD_FAIL_TOT, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_MMU_FAIL, 0);
|
||||
eeprom_update_byte((uint8_t *)EEPROM_MMU_LOAD_FAIL, 0);
|
||||
case 2: // Level 2: Prepare for shipping
|
||||
factory_reset_stats();
|
||||
// [[fallthrough]] // there is no break intentionally
|
||||
case 4: // Level 4: Preparation after being serviced
|
||||
// Force language selection at the next boot up.
|
||||
lang_reset();
|
||||
// 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);
|
||||
|
||||
#ifdef FILAMENT_SENSOR
|
||||
fsensor_enable();
|
||||
fsensor_autoload_set(true);
|
||||
fsensor_enable();
|
||||
fsensor_autoload_set(true);
|
||||
#endif //FILAMENT_SENSOR
|
||||
Sound_MakeCustom(100,0,false);
|
||||
//_delay_ms(2000);
|
||||
break;
|
||||
|
||||
// Level 3: erase everything, whole EEPROM will be set to 0xFF
|
||||
|
||||
case 3:
|
||||
menu_progressbar_init(EEPROM_TOP, PSTR("ERASING all data"));
|
||||
Sound_MakeCustom(100,0,false);
|
||||
|
||||
// Erase EEPROM
|
||||
for (uint16_t i = 0; i < EEPROM_TOP; i++) {
|
||||
eeprom_update_byte((uint8_t*)i, 0xFF);
|
||||
menu_progressbar_update(i);
|
||||
}
|
||||
menu_progressbar_finish();
|
||||
softReset();
|
||||
|
||||
|
||||
break;
|
||||
case 4:
|
||||
bowden_menu();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case 3:
|
||||
menu_progressbar_init(EEPROM_TOP, PSTR("ERASING all data"));
|
||||
Sound_MakeCustom(100,0,false);
|
||||
|
||||
// Erase EEPROM
|
||||
for (uint16_t i = 0; i < EEPROM_TOP; i++) {
|
||||
eeprom_update_byte((uint8_t*)i, 0xFF);
|
||||
menu_progressbar_update(i);
|
||||
}
|
||||
menu_progressbar_finish();
|
||||
softReset();
|
||||
break;
|
||||
|
||||
#ifdef SNMM
|
||||
case 5:
|
||||
bowden_menu();
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
@ -841,30 +815,27 @@ void factory_reset()
|
||||
{
|
||||
lcd_clear();
|
||||
|
||||
|
||||
lcd_puts_P(PSTR("Factory RESET"));
|
||||
|
||||
|
||||
SET_OUTPUT(BEEPER);
|
||||
if(eSoundMode!=e_SOUND_MODE_SILENT)
|
||||
WRITE(BEEPER, HIGH);
|
||||
if(eSoundMode!=e_SOUND_MODE_SILENT)
|
||||
WRITE(BEEPER, HIGH);
|
||||
|
||||
while (!READ(BTN_ENC));
|
||||
|
||||
WRITE(BEEPER, LOW);
|
||||
|
||||
|
||||
|
||||
_delay_ms(2000);
|
||||
|
||||
char level = reset_menu();
|
||||
factory_reset(level);
|
||||
|
||||
switch (level) {
|
||||
case 0: _delay_ms(0); break;
|
||||
case 1: _delay_ms(0); break;
|
||||
case 2: _delay_ms(0); break;
|
||||
case 3: _delay_ms(0); break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4: _delay_ms(0); break;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1577,7 +1548,7 @@ void setup()
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Old settings found. Default PID, Esteps etc. will be set.")); //if EEPROM version or printer type was changed, inform user that default setting were loaded////MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
|
||||
Config_StoreSettings();
|
||||
}
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 1) {
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) >= 1) {
|
||||
lcd_wizard(WizState::Run);
|
||||
}
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) == 0) { //dont show calibration status messages if wizard is currently active
|
||||
@ -1839,8 +1810,7 @@ void loop()
|
||||
}
|
||||
|
||||
#ifdef FANCHECK
|
||||
if (fan_check_error && isPrintPaused)
|
||||
{
|
||||
if (fan_check_error && isPrintPaused && !IS_SD_PRINTING) {
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
host_keepalive(); //prevent timeouts since usb processing is disabled until print is resumed. This is for a crude way of pausing a print on all hosts.
|
||||
}
|
||||
@ -3747,12 +3717,13 @@ 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;
|
||||
// SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED);
|
||||
lcd_pause_print();
|
||||
cmdqueue_serial_disabled = true;
|
||||
}
|
||||
if(fan_check_error == EFCE_DETECTED) {
|
||||
fan_check_error = EFCE_REPORTED;
|
||||
if (is_usb_printing)
|
||||
lcd_pause_usb_print();
|
||||
else
|
||||
lcd_pause_print();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!buflen) return; //empty command
|
||||
@ -3783,31 +3754,90 @@ void process_commands()
|
||||
float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD;
|
||||
int8_t SilentMode;
|
||||
#endif
|
||||
/*!
|
||||
/*!
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
### M117 - Display Message <a href="https://reprap.org/wiki/G-code#M117:_Display_Message">M117: Display Message</a>
|
||||
This causes the given message to be shown in the status line on an attached LCD.
|
||||
It is processed early as to allow printing messages that contain G, M, N or T.
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
### Special internal commands
|
||||
These are used by internal functions to process certain actions in the right order. Some of these are also usable by the user.
|
||||
They are processed early as the commands are complex (strings).
|
||||
These are only available on the MK3(S) as these require TMC2130 drivers:
|
||||
- CRASH DETECTED
|
||||
- CRASH RECOVER
|
||||
- CRASH_CANCEL
|
||||
- TMC_SET_WAVE
|
||||
- TMC_SET_STEP
|
||||
- TMC_SET_CHOP
|
||||
*/
|
||||
if (code_seen_P(PSTR("M117"))) //moved to highest priority place to be able to to print strings which includes "G", "PRUSA" and "^"
|
||||
{
|
||||
starpos = (strchr(strchr_pointer + 5, '*'));
|
||||
if (starpos != NULL)
|
||||
*(starpos) = '\0';
|
||||
lcd_setstatus(strchr_pointer + 5);
|
||||
custom_message_type = CustomMsg::MsgUpdate;
|
||||
}
|
||||
|
||||
/*!
|
||||
### M0, M1 - Stop the printer <a href="https://reprap.org/wiki/G-code#M0:_Stop_or_Unconditional_stop">M0: Stop or Unconditional stop</a>
|
||||
#### Usage
|
||||
|
||||
M0 [P<ms<] [S<sec>] [string]
|
||||
M1 [P<ms>] [S<sec>] [string]
|
||||
|
||||
#### Parameters
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
### M117 - Display Message <a href="https://reprap.org/wiki/G-code#M117:_Display_Message">M117: Display Message</a>
|
||||
This causes the given message to be shown in the status line on an attached LCD.
|
||||
It is processed early as to allow printing messages that contain G, M, N or T.
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
### Special internal commands
|
||||
These are used by internal functions to process certain actions in the right order. Some of these are also usable by the user.
|
||||
They are processed early as the commands are complex (strings).
|
||||
These are only available on the MK3(S) as these require TMC2130 drivers:
|
||||
- CRASH DETECTED
|
||||
- CRASH RECOVER
|
||||
- CRASH_CANCEL
|
||||
- TMC_SET_WAVE
|
||||
- TMC_SET_STEP
|
||||
- TMC_SET_CHOP
|
||||
*/
|
||||
if (code_seen_P(PSTR("M117"))) { //moved to highest priority place to be able to to print strings which includes "G", "PRUSA" and "^"
|
||||
starpos = (strchr(strchr_pointer + 5, '*'));
|
||||
if (starpos != NULL)
|
||||
*(starpos) = '\0';
|
||||
lcd_setstatus(strchr_pointer + 5);
|
||||
}
|
||||
- `P<ms>` - Expire time, in milliseconds
|
||||
- `S<sec>` - Expire time, in seconds
|
||||
- `string` - Must for M1 and optional for M0 message to display on the LCD
|
||||
*/
|
||||
|
||||
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;
|
||||
codenum = 0;
|
||||
bool hasP = false, hasS = false;
|
||||
if (code_seen('P')) {
|
||||
codenum = code_value(); // milliseconds to wait
|
||||
hasP = codenum > 0;
|
||||
}
|
||||
if (code_seen('S')) {
|
||||
codenum = code_value() * 1000; // seconds to wait
|
||||
hasS = codenum > 0;
|
||||
}
|
||||
starpos = strchr(src, '*');
|
||||
if (starpos != NULL) *(starpos) = '\0';
|
||||
while (*src == ' ') ++src;
|
||||
custom_message_type = CustomMsg::M0Wait;
|
||||
if (!hasP && !hasS && *src != '\0') {
|
||||
lcd_setstatus(src);
|
||||
} else {
|
||||
LCD_MESSAGERPGM(_i("Wait for user..."));////MSG_USERWAIT
|
||||
}
|
||||
lcd_ignore_click(); //call lcd_ignore_click aslo for else ???
|
||||
st_synchronize();
|
||||
previous_millis_cmd = _millis();
|
||||
if (codenum > 0) {
|
||||
codenum += _millis(); // keep track of when we started waiting
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
while(_millis() < codenum && !lcd_clicked()) {
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
lcd_update(0);
|
||||
}
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
lcd_ignore_click(false);
|
||||
} else {
|
||||
marlin_wait_for_click();
|
||||
}
|
||||
if (IS_SD_PRINTING)
|
||||
custom_message_type = CustomMsg::Status;
|
||||
else
|
||||
LCD_MESSAGERPGM(_T(WELCOME_MSG));
|
||||
}
|
||||
|
||||
#ifdef TMC2130
|
||||
else if (strncmp_P(CMDBUFFER_CURRENT_STRING, PSTR("CRASH_"), 6) == 0)
|
||||
@ -5666,60 +5696,10 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
||||
switch(mcode_in_progress)
|
||||
{
|
||||
|
||||
/*!
|
||||
### M0, M1 - Stop the printer <a href="https://reprap.org/wiki/G-code#M0:_Stop_or_Unconditional_stop">M0: Stop or Unconditional stop</a>
|
||||
*/
|
||||
case 0: // M0 - Unconditional stop - Wait for user button press on LCD
|
||||
case 1: // M1 - Conditional stop - Wait for user button press on LCD
|
||||
{
|
||||
char *src = strchr_pointer + 2;
|
||||
|
||||
codenum = 0;
|
||||
|
||||
bool hasP = false, hasS = false;
|
||||
if (code_seen('P')) {
|
||||
codenum = code_value(); // milliseconds to wait
|
||||
hasP = codenum > 0;
|
||||
}
|
||||
if (code_seen('S')) {
|
||||
codenum = code_value() * 1000; // seconds to wait
|
||||
hasS = codenum > 0;
|
||||
}
|
||||
starpos = strchr(src, '*');
|
||||
if (starpos != NULL) *(starpos) = '\0';
|
||||
while (*src == ' ') ++src;
|
||||
if (!hasP && !hasS && *src != '\0') {
|
||||
lcd_setstatus(src);
|
||||
} else {
|
||||
LCD_MESSAGERPGM(_i("Wait for user..."));////MSG_USERWAIT
|
||||
}
|
||||
|
||||
lcd_ignore_click(); //call lcd_ignore_click aslo for else ???
|
||||
st_synchronize();
|
||||
previous_millis_cmd = _millis();
|
||||
if (codenum > 0){
|
||||
codenum += _millis(); // keep track of when we started waiting
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
while(_millis() < codenum && !lcd_clicked()){
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
lcd_update(0);
|
||||
}
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
lcd_ignore_click(false);
|
||||
}else{
|
||||
marlin_wait_for_click();
|
||||
}
|
||||
if (IS_SD_PRINTING)
|
||||
LCD_MESSAGERPGM(_T(MSG_RESUMING_PRINT));
|
||||
else
|
||||
LCD_MESSAGERPGM(_T(WELCOME_MSG));
|
||||
}
|
||||
break;
|
||||
|
||||
/*!
|
||||
### M17 - Enable all axes <a href="https://reprap.org/wiki/G-code#M17:_Enable.2FPower_all_stepper_motors">M17: Enable/Power all stepper motors</a>
|
||||
*/
|
||||
|
||||
case 17:
|
||||
LCD_MESSAGERPGM(_i("No move."));////MSG_NO_MOVE
|
||||
enable_x();
|
||||
@ -6377,31 +6357,37 @@ Sigma_Exit:
|
||||
#endif // Z_PROBE_REPEATABILITY_TEST
|
||||
#endif // ENABLE_AUTO_BED_LEVELING
|
||||
|
||||
/*!
|
||||
### M73 - Set/get print progress <a href="https://reprap.org/wiki/G-code#M73:_Set.2FGet_build_percentage">M73: Set/Get build percentage</a>
|
||||
#### Usage
|
||||
/*!
|
||||
### M73 - Set/get print progress <a href="https://reprap.org/wiki/G-code#M73:_Set.2FGet_build_percentage">M73: Set/Get build percentage</a>
|
||||
#### Usage
|
||||
|
||||
M73 [ P | R | Q | S ]
|
||||
|
||||
#### Parameters
|
||||
- `P` - Percent in normal mode
|
||||
- `R` - Time remaining in normal mode
|
||||
- `Q` - Percent in silent mode
|
||||
- `S` - Time in silent mode
|
||||
*/
|
||||
case 73: //M73 show percent done and time remaining
|
||||
if(code_seen('P')) print_percent_done_normal = code_value();
|
||||
if(code_seen('R')) print_time_remaining_normal = code_value();
|
||||
if(code_seen('Q')) print_percent_done_silent = code_value();
|
||||
if(code_seen('S')) print_time_remaining_silent = code_value();
|
||||
M73 [ P | R | Q | S | C | D ]
|
||||
|
||||
{
|
||||
const char* _msg_mode_done_remain = _N("%S MODE: Percent done: %d; print time remaining in mins: %d\n");
|
||||
printf_P(_msg_mode_done_remain, _N("NORMAL"), int(print_percent_done_normal), print_time_remaining_normal);
|
||||
printf_P(_msg_mode_done_remain, _N("SILENT"), int(print_percent_done_silent), print_time_remaining_silent);
|
||||
}
|
||||
break;
|
||||
#### Parameters
|
||||
- `P` - Percent in normal mode
|
||||
- `R` - Time remaining in normal mode
|
||||
- `Q` - Percent in silent mode
|
||||
- `S` - Time in silent mode
|
||||
- `C` - Time to change/pause/user interaction in normal mode
|
||||
- `D` - Time to change/pause/user interaction in silent mode
|
||||
*/
|
||||
//!@todo update RepRap Gcode wiki
|
||||
case 73: //M73 show percent done, time remaining and time to change/pause
|
||||
{
|
||||
if(code_seen('P')) print_percent_done_normal = code_value();
|
||||
if(code_seen('R')) print_time_remaining_normal = code_value();
|
||||
if(code_seen('Q')) print_percent_done_silent = code_value();
|
||||
if(code_seen('S')) print_time_remaining_silent = code_value();
|
||||
if(code_seen('C')) print_time_to_change_normal = code_value();
|
||||
if(code_seen('D')) print_time_to_change_silent = code_value();
|
||||
|
||||
{
|
||||
const char* _msg_mode_done_remain = _N("%S MODE: Percent done: %d; print time remaining in mins: %d; Change in mins: %d\n");
|
||||
printf_P(_msg_mode_done_remain, _N("NORMAL"), int(print_percent_done_normal), print_time_remaining_normal, print_time_to_change_normal);
|
||||
printf_P(_msg_mode_done_remain, _N("SILENT"), int(print_percent_done_silent), print_time_remaining_silent, print_time_to_change_silent);
|
||||
}
|
||||
break;
|
||||
}
|
||||
/*!
|
||||
### M104 - Set hotend temperature <a href="https://reprap.org/wiki/G-code#M104:_Set_Extruder_Temperature">M104: Set Extruder Temperature</a>
|
||||
#### Usage
|
||||
@ -8117,35 +8103,34 @@ Sigma_Exit:
|
||||
/*!
|
||||
### M25 - Pause SD print <a href="https://reprap.org/wiki/G-code#M25:_Pause_SD_print">M25: Pause SD print</a>
|
||||
*/
|
||||
case 25:
|
||||
case 601:
|
||||
{
|
||||
if (!isPrintPaused)
|
||||
{
|
||||
case 25:
|
||||
case 601:
|
||||
{
|
||||
if (!isPrintPaused) {
|
||||
st_synchronize();
|
||||
ClearToSend(); //send OK even before the command finishes executing because we want to make sure it is not skipped because of cmdqueue_pop_front();
|
||||
cmdqueue_pop_front(); //trick because we want skip this command (M601) after restore
|
||||
lcd_pause_print();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
/*!
|
||||
### M602 - Resume print <a href="https://reprap.org/wiki/G-code#M602:_Resume_print">M602: Resume print</a>
|
||||
### M602 - Resume print <a href="https://reprap.org/wiki/G-code#M602:_Resume_print">M602: Resume print</a>
|
||||
*/
|
||||
case 602: {
|
||||
if (isPrintPaused)
|
||||
lcd_resume_print();
|
||||
}
|
||||
break;
|
||||
case 602:
|
||||
{
|
||||
if (isPrintPaused) lcd_resume_print();
|
||||
}
|
||||
break;
|
||||
|
||||
/*!
|
||||
### M603 - Stop print <a href="https://reprap.org/wiki/G-code#M603:_Stop_print">M603: Stop print</a>
|
||||
*/
|
||||
case 603: {
|
||||
lcd_print_stop();
|
||||
}
|
||||
break;
|
||||
case 603: {
|
||||
lcd_print_stop();
|
||||
}
|
||||
break;
|
||||
|
||||
#ifdef PINDA_THERMISTOR
|
||||
/*!
|
||||
@ -9689,7 +9674,7 @@ void manage_inactivity_IR_ANALOG_Check(uint16_t &nFSCheckCount, ClFsensorPCB isV
|
||||
void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument set in Marlin.h
|
||||
{
|
||||
#ifdef FILAMENT_SENSOR
|
||||
bool bInhibitFlag;
|
||||
bool bInhibitFlag = false;
|
||||
#ifdef IR_SENSOR_ANALOG
|
||||
static uint16_t nFSCheckCount=0;
|
||||
#endif // IR_SENSOR_ANALOG
|
||||
@ -9697,16 +9682,11 @@ static uint16_t nFSCheckCount=0;
|
||||
if (mmu_enabled == false)
|
||||
{
|
||||
//-// if (mcode_in_progress != 600) //M600 not in progress
|
||||
#ifdef PAT9125
|
||||
bInhibitFlag=(menu_menu==lcd_menu_extruder_info); // Support::ExtruderInfo menu active
|
||||
#endif // PAT9125
|
||||
#ifdef IR_SENSOR
|
||||
bInhibitFlag=(menu_menu==lcd_menu_show_sensors_state); // Support::SensorInfo menu active
|
||||
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; // Settings::HWsetup::FSdetect menu active
|
||||
bInhibitFlag=bInhibitFlag||bMenuFSDetect; // Block Filament sensor actions if Settings::HWsetup::FSdetect menu active
|
||||
#endif // IR_SENSOR_ANALOG
|
||||
#endif // IR_SENSOR
|
||||
if ((mcode_in_progress != 600) && (eFilamentAction != FilamentAction::AutoLoad) && (!bInhibitFlag) && (menu_menu != lcd_move_e)) //M600 not in progress, preHeat @ autoLoad menu not active, Support::ExtruderInfo/SensorInfo menu not active
|
||||
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 && !is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal) && ! eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE))
|
||||
{
|
||||
@ -11639,46 +11619,40 @@ void print_mesh_bed_leveling_table()
|
||||
SERIAL_ECHOLN();
|
||||
}
|
||||
|
||||
uint16_t print_time_remaining() {
|
||||
uint16_t print_t = PRINT_TIME_REMAINING_INIT;
|
||||
#ifdef TMC2130
|
||||
if (SilentModeMenu == SILENT_MODE_OFF) print_t = print_time_remaining_normal;
|
||||
else print_t = print_time_remaining_silent;
|
||||
#else
|
||||
print_t = print_time_remaining_normal;
|
||||
#endif //TMC2130
|
||||
if ((print_t != PRINT_TIME_REMAINING_INIT) && (feedmultiply != 0)) print_t = 100ul * print_t / feedmultiply;
|
||||
return print_t;
|
||||
}
|
||||
|
||||
uint8_t calc_percent_done()
|
||||
{
|
||||
//in case that we have information from M73 gcode return percentage counted by slicer, else return percentage counted as byte_printed/filesize
|
||||
uint8_t percent_done = 0;
|
||||
//in case that we have information from M73 gcode return percentage counted by slicer, else return percentage counted as byte_printed/filesize
|
||||
uint8_t percent_done = 0;
|
||||
#ifdef TMC2130
|
||||
if (SilentModeMenu == SILENT_MODE_OFF && print_percent_done_normal <= 100) {
|
||||
percent_done = print_percent_done_normal;
|
||||
}
|
||||
else if (print_percent_done_silent <= 100) {
|
||||
percent_done = print_percent_done_silent;
|
||||
}
|
||||
if (SilentModeMenu == SILENT_MODE_OFF && print_percent_done_normal <= 100)
|
||||
{
|
||||
percent_done = print_percent_done_normal;
|
||||
}
|
||||
else if (print_percent_done_silent <= 100)
|
||||
{
|
||||
percent_done = print_percent_done_silent;
|
||||
}
|
||||
#else
|
||||
if (print_percent_done_normal <= 100) {
|
||||
percent_done = print_percent_done_normal;
|
||||
}
|
||||
if (print_percent_done_normal <= 100)
|
||||
{
|
||||
percent_done = print_percent_done_normal;
|
||||
}
|
||||
#endif //TMC2130
|
||||
else {
|
||||
percent_done = card.percentDone();
|
||||
}
|
||||
return percent_done;
|
||||
else
|
||||
{
|
||||
percent_done = card.percentDone();
|
||||
}
|
||||
return percent_done;
|
||||
}
|
||||
|
||||
static void print_time_remaining_init()
|
||||
{
|
||||
print_time_remaining_normal = PRINT_TIME_REMAINING_INIT;
|
||||
print_time_remaining_silent = PRINT_TIME_REMAINING_INIT;
|
||||
print_percent_done_normal = PRINT_PERCENT_DONE_INIT;
|
||||
print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
||||
print_time_remaining_normal = PRINT_TIME_REMAINING_INIT;
|
||||
print_percent_done_normal = PRINT_PERCENT_DONE_INIT;
|
||||
print_time_remaining_silent = PRINT_TIME_REMAINING_INIT;
|
||||
print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
||||
print_time_to_change_normal = PRINT_TIME_REMAINING_INIT;
|
||||
print_time_to_change_silent = PRINT_TIME_REMAINING_INIT;
|
||||
}
|
||||
|
||||
void load_filament_final_feed()
|
||||
|
@ -408,7 +408,7 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP
|
||||
#define EEPROM_POWER_COUNT (EEPROM_FERROR_COUNT - 1) // uint8 (orig EEPROM_UVLO_MESH_BED_LEVELING-17)
|
||||
|
||||
#define EEPROM_XYZ_CAL_SKEW (EEPROM_POWER_COUNT - 4) // float for skew backup
|
||||
#define EEPROM_WIZARD_ACTIVE (EEPROM_XYZ_CAL_SKEW - 1)
|
||||
#define EEPROM_WIZARD_ACTIVE (EEPROM_XYZ_CAL_SKEW - 1) // 0: wizard not active, 1: wizard active, 2: wizard active without yes/no = forced calibrate Z after shipping/service prep.
|
||||
#define EEPROM_BELTSTATUS_X (EEPROM_WIZARD_ACTIVE - 2) // uint16
|
||||
#define EEPROM_BELTSTATUS_Y (EEPROM_BELTSTATUS_X - 2) // uint16
|
||||
|
||||
|
@ -16,7 +16,7 @@ const char MSG_BED_DONE[] PROGMEM_I1 = ISTR("Bed done"); ////
|
||||
const char MSG_BED_HEATING[] PROGMEM_I1 = ISTR("Bed Heating"); ////
|
||||
const char MSG_BED_LEVELING_FAILED_POINT_LOW[] PROGMEM_I1 = ISTR("Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."); ////c=20 r=5
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED[] PROGMEM_I1 = ISTR("XYZ calibration failed. Please consult the manual."); ////c=20 r=8
|
||||
const char MSG_BELT_STATUS[] PROGMEM_I1 = ISTR("Belt Status");////c=18
|
||||
const char MSG_BELT_STATUS[] PROGMEM_I1 = ISTR("Belt status");////c=18
|
||||
const char MSG_CALIBRATE_Z_AUTO[] PROGMEM_I1 = ISTR("Calibrating Z"); ////c=20 r=2
|
||||
const char MSG_CARD_MENU[] PROGMEM_I1 = ISTR("Print from SD"); ////
|
||||
const char MSG_CHECKING_X[] PROGMEM_I1 = ISTR("Checking X axis"); ////c=20
|
||||
@ -29,7 +29,7 @@ const char MSG_CRASHDETECT[] PROGMEM_I1 = ISTR("Crash det."); ////c=13
|
||||
const char MSG_ERROR[] PROGMEM_I1 = ISTR("ERROR:"); ////
|
||||
const char MSG_EXTRUDER[] PROGMEM_I1 = ISTR("Extruder"); ////c=17
|
||||
const char MSG_FANS_CHECK[] PROGMEM_I1 = ISTR("Fans check"); ////c=13
|
||||
const char MSG_FIL_RUNOUTS[] PROGMEM_I1 = ISTR("Fil. runouts"); ////c=14
|
||||
const char MSG_FIL_RUNOUTS[] PROGMEM_I1 = ISTR("Fil. runouts"); ////c=15
|
||||
const char MSG_FILAMENT[] PROGMEM_I1 = ISTR("Filament"); ////c=17 r=1
|
||||
const char MSG_FAN_SPEED[] PROGMEM_I1 = ISTR("Fan speed"); ////c=14
|
||||
const char MSG_FILAMENT_CLEAN[] PROGMEM_I1 = ISTR("Filament extruding & with correct color?"); ////c=20 r=2
|
||||
@ -65,14 +65,15 @@ const char MSG_STEEL_SHEETS[] PROGMEM_I1 = ISTR("Steel sheets"); ////c=18
|
||||
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1[] PROGMEM_I1 = ISTR("Measuring reference height of calibration point"); ////c=60
|
||||
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2[] PROGMEM_I1 = ISTR(" of 9"); ////c=14
|
||||
const char MSG_MENU_CALIBRATION[] PROGMEM_I1 = ISTR("Calibration"); ////
|
||||
const char MSG_MMU_FAILS[] PROGMEM_I1 = ISTR("MMU fails"); ////c=14
|
||||
const char MSG_MMU_LOAD_FAILS[] PROGMEM_I1 = ISTR("MMU load fails"); ////c=14
|
||||
const char MSG_MMU_FAILS[] PROGMEM_I1 = ISTR("MMU fails"); ////c=15
|
||||
const char MSG_MMU_LOAD_FAILS[] PROGMEM_I1 = ISTR("MMU load fails"); ////c=15
|
||||
const char MSG_NO[] PROGMEM_I1 = ISTR("No"); ////
|
||||
const char MSG_NOZZLE[] PROGMEM_I1 = ISTR("Nozzle"); ////
|
||||
const char MSG_PAPER[] PROGMEM_I1 = ISTR("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."); ////c=20 r=10
|
||||
const char MSG_PAUSE_PRINT[] PROGMEM_I1 = ISTR("Pause print");////c=18
|
||||
const char MSG_PLACE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please place steel sheet on heatbed."); ////c=20 r=4
|
||||
const char MSG_PLEASE_WAIT[] PROGMEM_I1 = ISTR("Please wait"); ////c=20
|
||||
const char MSG_POWER_FAILURES[] PROGMEM_I1 = ISTR("Power failures"); ////c=14
|
||||
const char MSG_POWER_FAILURES[] PROGMEM_I1 = ISTR("Power failures"); ////c=15
|
||||
const char MSG_PREHEAT_NOZZLE[] PROGMEM_I1 = ISTR("Preheat the nozzle!"); ////c=20
|
||||
const char MSG_PRESS_TO_UNLOAD[] PROGMEM_I1 = ISTR("Please press the knob to unload filament"); ////c=20 r=4
|
||||
const char MSG_PRINT_ABORTED[] PROGMEM_I1 = ISTR("Print aborted"); ////c=20
|
||||
@ -116,6 +117,8 @@ const char MSG_WIZARD_CALIBRATION_FAILED[] PROGMEM_I1 = ISTR("Please check our h
|
||||
const char MSG_WIZARD_DONE[] PROGMEM_I1 = ISTR("All is done. Happy printing!"); ////c=20 r=8
|
||||
const char MSG_WIZARD_HEATING[] PROGMEM_I1 = ISTR("Preheating nozzle. Please wait."); ////c=20 r=3
|
||||
const char MSG_WIZARD_QUIT[] PROGMEM_I1 = ISTR("You can always resume the Wizard from Calibration -> Wizard."); ////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?"); //// 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."); ////c=20 r=16
|
||||
const char MSG_YES[] PROGMEM_I1 = ISTR("Yes"); ////
|
||||
const char MSG_V2_CALIBRATION[] PROGMEM_I1 = ISTR("First layer cal."); ////c=18
|
||||
const char WELCOME_MSG[] PROGMEM_I1 = ISTR(CUSTOM_MENDEL_NAME " OK."); ////c=20
|
||||
@ -131,7 +134,7 @@ const char MSG_MODEL[] PROGMEM_I1 = ISTR("Model"); ////
|
||||
const char MSG_FIRMWARE[] PROGMEM_I1 = ISTR("Firmware"); ////
|
||||
const char MSG_GCODE[] PROGMEM_I1 = ISTR("Gcode"); ////
|
||||
const char MSG_GCODE_DIFF_PRINTER_CONTINUE[] PROGMEM_I1 = ISTR("G-code sliced for a different printer type. Continue?"); ////c=20 r=5
|
||||
const char MSG_GCODE_DIFF_PRINTER_CANCELLED[] PROGMEM_I1 =ISTR("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."); ////c=20 r=6
|
||||
const char MSG_GCODE_DIFF_PRINTER_CANCELLED[] PROGMEM_I1 =ISTR("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."); ////c=20 r=7
|
||||
const char MSG_NOZZLE_DIAMETER[] PROGMEM_I1 = ISTR("Nozzle d."); ////
|
||||
const char MSG_MMU_MODE[] PROGMEM_I1 = ISTR("MMU Mode"); ////
|
||||
const char MSG_SD_CARD[] PROGMEM_I1 = ISTR("SD card"); ////
|
||||
@ -188,7 +191,9 @@ 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_ENDSTOP_HIT[] PROGMEM_N1 = "TRIGGERED"; ////
|
||||
const char MSG_OCTOPRINT_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_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
|
||||
|
@ -69,6 +69,7 @@ extern const char MSG_MMU_LOAD_FAILS[];
|
||||
extern const char MSG_NO[];
|
||||
extern const char MSG_NOZZLE[];
|
||||
extern const char MSG_PAPER[];
|
||||
extern const char MSG_PAUSE_PRINT[];
|
||||
extern const char MSG_PLACE_STEEL_SHEET[];
|
||||
extern const char MSG_PLEASE_WAIT[];
|
||||
extern const char MSG_POWER_FAILURES[];
|
||||
@ -116,6 +117,8 @@ extern const char MSG_WIZARD_CALIBRATION_FAILED[];
|
||||
extern const char MSG_WIZARD_DONE[];
|
||||
extern const char MSG_WIZARD_HEATING[];
|
||||
extern const char MSG_WIZARD_QUIT[];
|
||||
extern const char MSG_WIZARD_WELCOME[];
|
||||
extern const char MSG_WIZARD_WELCOME_SHIPPING[];
|
||||
extern const char MSG_YES[];
|
||||
extern const char MSG_V2_CALIBRATION[];
|
||||
extern const char WELCOME_MSG[];
|
||||
@ -188,7 +191,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_PAUSED[];
|
||||
extern const char MSG_OCTOPRINT_RESUME[];
|
||||
extern const char MSG_OCTOPRINT_RESUMED[];
|
||||
extern const char MSG_OCTOPRINT_CANCEL[];
|
||||
extern const char MSG_FANCHECK_EXTRUDER[];
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "w25x20cl.h"
|
||||
#include "stk500.h"
|
||||
#include "bootapp.h"
|
||||
#include <avr/wdt.h>
|
||||
|
||||
#define OPTIBOOT_MAJVER 6
|
||||
#define OPTIBOOT_CUSTOMVER 0
|
||||
@ -39,14 +40,10 @@ static unsigned const int __attribute__((section(".version")))
|
||||
#endif
|
||||
|
||||
static void watchdogConfig(uint8_t x) {
|
||||
CRITICAL_SECTION_START
|
||||
WDTCSR = _BV(WDCE) | _BV(WDE);
|
||||
WDTCSR = x;
|
||||
}
|
||||
|
||||
static void watchdogReset() {
|
||||
__asm__ __volatile__ (
|
||||
"wdr\n"
|
||||
);
|
||||
CRITICAL_SECTION_END
|
||||
}
|
||||
|
||||
#define RECV_READY ((UCSR0A & _BV(RXC0)) != 0)
|
||||
@ -63,7 +60,7 @@ static uint8_t getch(void) {
|
||||
* the application "soon", if it keeps happening. (Note that we
|
||||
* don't care that an invalid char is returned...)
|
||||
*/
|
||||
watchdogReset();
|
||||
wdt_reset();
|
||||
}
|
||||
ch = UDR0;
|
||||
return ch;
|
||||
@ -117,7 +114,7 @@ uint8_t optiboot_w25x20cl_enter()
|
||||
// Handshake sequence: Initialize the serial line, flush serial line, send magic, receive magic.
|
||||
// If the magic is not received on time, or it is not received correctly, continue to the application.
|
||||
{
|
||||
watchdogReset();
|
||||
wdt_reset();
|
||||
unsigned long boot_timeout = 2000000;
|
||||
unsigned long boot_timer = 0;
|
||||
const char *ptr = entry_magic_send;
|
||||
@ -125,7 +122,7 @@ uint8_t optiboot_w25x20cl_enter()
|
||||
const uint8_t selectedSerialPort_bak = selectedSerialPort;
|
||||
// Flush the serial line.
|
||||
while (RECV_READY) {
|
||||
watchdogReset();
|
||||
wdt_reset();
|
||||
// Dummy register read (discard)
|
||||
(void)(*(char *)UDR0);
|
||||
}
|
||||
@ -135,14 +132,14 @@ uint8_t optiboot_w25x20cl_enter()
|
||||
// Send the initial magic string.
|
||||
while (ptr != end)
|
||||
putch(pgm_read_byte(ptr ++));
|
||||
watchdogReset();
|
||||
wdt_reset();
|
||||
// Wait for two seconds until a magic string (constant entry_magic) is received
|
||||
// from the serial line.
|
||||
ptr = entry_magic_receive;
|
||||
end = strlen_P(entry_magic_receive) + ptr;
|
||||
while (ptr != end) {
|
||||
while (rx_buffer.head == SerialHead) {
|
||||
watchdogReset();
|
||||
wdt_reset();
|
||||
delayMicroseconds(1);
|
||||
if (++ boot_timer > boot_timeout)
|
||||
{
|
||||
@ -159,7 +156,7 @@ uint8_t optiboot_w25x20cl_enter()
|
||||
selectedSerialPort = selectedSerialPort_bak; //revert Serial setting
|
||||
return 0;
|
||||
}
|
||||
watchdogReset();
|
||||
wdt_reset();
|
||||
}
|
||||
cbi(UCSR0B, RXCIE0); //disable the MarlinSerial0 interrupt
|
||||
// Send the cfm magic string.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -44,6 +44,7 @@ void lcd_change_success();
|
||||
void lcd_loading_color();
|
||||
void lcd_sdcard_stop();
|
||||
void lcd_pause_print();
|
||||
void lcd_pause_usb_print();
|
||||
void lcd_resume_print();
|
||||
void lcd_print_stop();
|
||||
void prusa_statistics(int _message, uint8_t _col_nr = 0);
|
||||
@ -114,12 +115,15 @@ extern int8_t FSensorStateMenu;
|
||||
|
||||
enum class CustomMsg : uint_least8_t
|
||||
{
|
||||
Status, //!< status message from lcd_status_message variable
|
||||
MeshBedLeveling, //!< Mesh bed leveling in progress
|
||||
FilamentLoading, //!< Loading filament in progress
|
||||
PidCal, //!< PID tuning in progress
|
||||
TempCal, //!< PINDA temperature calibration
|
||||
TempCompPreheat, //!< Temperature compensation preheat
|
||||
Status, //!< status message from lcd_status_message variable
|
||||
MeshBedLeveling, //!< Mesh bed leveling in progress
|
||||
FilamentLoading, //!< Loading filament in progress
|
||||
PidCal, //!< PID tuning in progress
|
||||
TempCal, //!< PINDA temperature calibration
|
||||
TempCompPreheat, //!< Temperature compensation preheat
|
||||
M0Wait, //!< M0/M1 Wait command working even from SD
|
||||
MsgUpdate, //!< Short message even while printing from SD
|
||||
Resuming, //!< Resuming message
|
||||
};
|
||||
|
||||
extern CustomMsg custom_message_type;
|
||||
|
@ -142,6 +142,9 @@
|
||||
#MSG_SD_REMOVED
|
||||
"Card removed"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
|
||||
@ -253,8 +256,8 @@
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
@ -382,6 +385,9 @@
|
||||
#MSG_LAST_PRINT_FAILURES c=20
|
||||
"Last print failures"
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
|
||||
@ -448,13 +454,13 @@
|
||||
#
|
||||
"Measured skew"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
|
||||
#
|
||||
"MMU load failed "
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
|
||||
#MSG_MMU_OK_RESUMING c=20 r=4
|
||||
@ -544,7 +550,7 @@
|
||||
#
|
||||
"Nozzle FAN"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
|
||||
#MSG_PID_RUNNING c=20 r=1
|
||||
@ -625,7 +631,7 @@
|
||||
#MSG_FS_PAUSE c=5
|
||||
"Pause"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
|
||||
#MSG_PRINT_ABORTED c=20
|
||||
@ -1048,7 +1054,7 @@
|
||||
#MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
|
||||
#
|
||||
|
@ -190,6 +190,10 @@
|
||||
"Card removed"
|
||||
"Karta vyjmuta"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
"\x00"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
"Barva neni cista"
|
||||
@ -338,8 +342,8 @@
|
||||
"Fil. sensor"
|
||||
"Fil. senzor"
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
"Vypadky filam."
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
@ -510,6 +514,10 @@
|
||||
"Last print failures"
|
||||
"Selhani posl. tisku"
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
"Ahoj, jsem vase tiskarna Original Prusa i3. Provedu vas kratkym procesem nastaveni, ve kterem zkalibrujeme osu Z. Pak budete moct zacit tisknout."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy"
|
||||
@ -598,7 +606,7 @@
|
||||
"Measured skew"
|
||||
"Merene zkoseni"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
"Selhani MMU"
|
||||
|
||||
@ -606,7 +614,7 @@
|
||||
"MMU load failed "
|
||||
"Zavedeni MMU selhalo"
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
"MMU selhani zavadeni"
|
||||
|
||||
@ -726,7 +734,7 @@
|
||||
"Nozzle FAN"
|
||||
"Vent. trysky"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
"Pozastavit tisk"
|
||||
|
||||
@ -834,7 +842,7 @@
|
||||
"Pause"
|
||||
"\x00"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
"Vypadky proudu"
|
||||
|
||||
@ -1398,7 +1406,7 @@
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
"G-code je pripraven pro jiny typ tiskarny. Pokracovat?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
"G-code je pripraven pro jiny typ tiskarny. Prosim preslicujte model znovu. Tisk zrusen."
|
||||
|
||||
|
@ -190,6 +190,10 @@
|
||||
"Card removed"
|
||||
"SD Karte entfernt"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
"\x00"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
"Falsche Farbe"
|
||||
@ -338,9 +342,9 @@
|
||||
"Fil. sensor"
|
||||
"Fil. Sensor"
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
"Fil. Maengel "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
"Fil. Maengel"
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
@ -510,6 +514,10 @@
|
||||
"Last print failures"
|
||||
"Letzte Druckfehler"
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
"Hallo, ich bin Ihr Original Prusa i3 Drucker. Ich werde Sie durch einen kurzen Einrichtungsprozess fuehren, bei dem die Z-Achse kalibriert wird. Danach sind Sie bereit fuer den Druck."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Wenn Sie zusaetzliche Stahlbleche haben, kalibrieren Sie deren Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche."
|
||||
@ -598,7 +606,7 @@
|
||||
"Measured skew"
|
||||
"Schraeglauf"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
"MMU Fehler"
|
||||
|
||||
@ -606,7 +614,7 @@
|
||||
"MMU load failed "
|
||||
"MMU Ladefehler"
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
"MMU Ladefehler"
|
||||
|
||||
@ -726,7 +734,7 @@
|
||||
"Nozzle FAN"
|
||||
"Duesevent."
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
"Druck pausieren"
|
||||
|
||||
@ -834,7 +842,7 @@
|
||||
"Pause"
|
||||
"\x00"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
"Netzfehler"
|
||||
|
||||
@ -1398,7 +1406,7 @@
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
"G-Code ist fuer einen anderen Drucker geslict. Fortfahren?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
"G-Code ist fuer einen anderen Drucker geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen."
|
||||
|
||||
|
@ -190,6 +190,10 @@
|
||||
"Card removed"
|
||||
"Tarjeta retirada"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
"\x00"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
"Color no homogeneo"
|
||||
@ -338,9 +342,9 @@
|
||||
"Fil. sensor"
|
||||
"Sensor Fil."
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
"Fil. acabado "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
"Fil. acabado"
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
@ -510,6 +514,10 @@
|
||||
"Last print failures"
|
||||
"Ultimos imp. fallos"
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
"Hola, soy tu impresora Original Prusa i3. Te guiare a traves de un breve proceso de configuracion, en el que se calibrara el eje Z. Despues, estaras listo para imprimir."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - Ajustes HW - Planchas acero."
|
||||
@ -598,7 +606,7 @@
|
||||
"Measured skew"
|
||||
"Desviacion med:"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
"Fallos MMU"
|
||||
|
||||
@ -606,7 +614,7 @@
|
||||
"MMU load failed "
|
||||
"Carga MMU fallida"
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
"Carga MMU falla"
|
||||
|
||||
@ -726,7 +734,7 @@
|
||||
"Nozzle FAN"
|
||||
"Vent. capa"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
"Pausar impresion"
|
||||
|
||||
@ -834,9 +842,9 @@
|
||||
"Pause"
|
||||
"Pausa"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
"Cortes de energia"
|
||||
"Fallas energia"
|
||||
|
||||
#MSG_PRINT_ABORTED c=20
|
||||
"Print aborted"
|
||||
@ -1398,7 +1406,7 @@
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
"Codigo G laminado para un tipo de impresora diferente. ?Continuar?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
"Codigo G laminado para una impresora diferente. Por favor relamina el modelo de nuevo. Impresion cancelada."
|
||||
|
||||
|
@ -190,6 +190,10 @@
|
||||
"Card removed"
|
||||
"Carte retiree"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
"\x00"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
"Couleur incorrecte"
|
||||
@ -338,9 +342,9 @@
|
||||
"Fil. sensor"
|
||||
"Capteur Fil."
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
"Fins filament "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
"Fins filament"
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
@ -510,6 +514,10 @@
|
||||
"Last print failures"
|
||||
"Echecs derniere imp."
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
"Bonjour, je suis votre imprimante Original Prusa i3. Je vais vous accompagner au cours d'un bref processus de reglage, qui permettra de calibrer le Z-axis. Apres cela, tout sera pret pour imprimer."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Si vous avez d'autres feuilles d'acier, calibrez leurs pre-reglages dans Reglages - Config HW - Plaque en acier."
|
||||
@ -598,7 +606,7 @@
|
||||
"Measured skew"
|
||||
"Deviat.mesuree"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
"Echecs MMU"
|
||||
|
||||
@ -606,7 +614,7 @@
|
||||
"MMU load failed "
|
||||
"Echec chargement MMU"
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
"Echecs charg. MMU"
|
||||
|
||||
@ -726,7 +734,7 @@
|
||||
"Nozzle FAN"
|
||||
"Vent. buse"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
"Pause de l'impr."
|
||||
|
||||
@ -834,7 +842,7 @@
|
||||
"Pause"
|
||||
"\x00"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
"Coup.de courant"
|
||||
|
||||
@ -1398,7 +1406,7 @@
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
"Le G-code a ete prepare pour une autre version de l'imprimante. Continuer?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
"Le G-code a ete prepare pour une autre version de l'imprimante. Veuillez decouper le modele a nouveau. L'impression a ete annulee."
|
||||
|
||||
|
@ -190,6 +190,10 @@
|
||||
"Card removed"
|
||||
"SD rimossa"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
"\x00"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
"Colore non puro"
|
||||
@ -338,9 +342,9 @@
|
||||
"Fil. sensor"
|
||||
"Sensore fil."
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
"Fil. esauriti "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
"Fil. esauriti"
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
@ -510,6 +514,10 @@
|
||||
"Last print failures"
|
||||
"Errori ultima stampa"
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
"Ciao, sono la tua stampante Original Prusa i3. Ti guidero attraverso un rapido processo in cui verra calibrato l'asse Z. Poi, sarai pronto a stampare."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - Setup HW - Piastre in Acciaio."
|
||||
@ -598,7 +606,7 @@
|
||||
"Measured skew"
|
||||
"Deviazione mis"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
"Fallimenti MMU"
|
||||
|
||||
@ -606,7 +614,7 @@
|
||||
"MMU load failed "
|
||||
"Caricamento MMU fallito"
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
"Caricamenti MMU falliti"
|
||||
|
||||
@ -726,7 +734,7 @@
|
||||
"Nozzle FAN"
|
||||
"Ventola estrusore"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
"Metti in pausa"
|
||||
|
||||
@ -834,7 +842,7 @@
|
||||
"Pause"
|
||||
"Pausa"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
"Mancanza corrente"
|
||||
|
||||
@ -1398,7 +1406,7 @@
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
"G-code processato per una stampante diversa. Continuare?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
"G-code processato per una stampante diversa. Per favore esegui nuovamente lo slice del modello. Stampa annullata."
|
||||
|
||||
|
@ -190,6 +190,10 @@
|
||||
"Card removed"
|
||||
"Karta wyjeta"
|
||||
|
||||
#
|
||||
"Checking file"
|
||||
"\x00"
|
||||
|
||||
#MSG_NOT_COLOR
|
||||
"Color not correct"
|
||||
"Kolor zanieczysz."
|
||||
@ -338,8 +342,8 @@
|
||||
"Fil. sensor"
|
||||
"Czuj. filam."
|
||||
|
||||
#MSG_FIL_RUNOUTS c=14
|
||||
"Fil. runouts "
|
||||
#MSG_FIL_RUNOUTS c=15
|
||||
"Fil. runouts"
|
||||
"Konc.filamentu"
|
||||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
@ -510,6 +514,10 @@
|
||||
"Last print failures"
|
||||
"Ostatnie bledy druku"
|
||||
|
||||
#MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
|
||||
"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."
|
||||
"Czesc, jestem Twoja drukarka Original Prusa i3. Przeprowadze Cie przez krotka kalibracje osi Z, po ktorej mozesz rozpoczac drukowanie."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu Ustawienia - Ustawienia HW - Plyty stalowe."
|
||||
@ -598,7 +606,7 @@
|
||||
"Measured skew"
|
||||
"Zmierzony skos"
|
||||
|
||||
#MSG_MMU_FAILS c=14
|
||||
#MSG_MMU_FAILS c=15
|
||||
"MMU fails"
|
||||
"Bledy MMU"
|
||||
|
||||
@ -606,7 +614,7 @@
|
||||
"MMU load failed "
|
||||
"Blad ladowania MMU"
|
||||
|
||||
#MSG_MMU_LOAD_FAILS c=14
|
||||
#MSG_MMU_LOAD_FAILS c=15
|
||||
"MMU load fails"
|
||||
"Bledy ladow. MMU"
|
||||
|
||||
@ -726,7 +734,7 @@
|
||||
"Nozzle FAN"
|
||||
"WentHotend"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
#MSG_PAUSE_PRINT c=18
|
||||
"Pause print"
|
||||
"Wstrzymanie wydruku"
|
||||
|
||||
@ -834,7 +842,7 @@
|
||||
"Pause"
|
||||
"Pauza"
|
||||
|
||||
#MSG_POWER_FAILURES c=14
|
||||
#MSG_POWER_FAILURES c=15
|
||||
"Power failures"
|
||||
"Zaniki zasilania"
|
||||
|
||||
@ -1398,7 +1406,7 @@
|
||||
"G-code sliced for a different printer type. Continue?"
|
||||
"G-code pociety dla innej drukarki. Kontynuowac?"
|
||||
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=6
|
||||
#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
|
||||
"G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
|
||||
"G-code pociety dla drukarki innego typu. Potnij model ponownie. Druk anulowany."
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user