From 7ec45271c2b07c38f84e676b4572a9efa3233669 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 21 Apr 2017 16:29:04 +0200 Subject: [PATCH 1/9] timeout to status, better print time counting when using pause print --- Firmware/Configuration.h | 2 +- Firmware/Marlin.h | 1 + Firmware/Marlin_main.cpp | 7 ++++--- Firmware/ultralcd.cpp | 8 ++++---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 15e85667f3..a24ec4cac6 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -5,7 +5,7 @@ #include "Configuration_prusa.h" // Firmware version -#define FW_version "3.0.11-alpha" +#define FW_version "3.0.10-10" #define FW_PRUSA3D_MAGIC "PRUSA3DFW" #define FW_PRUSA3D_MAGIC_LEN 10 diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c0cc98fb6d..c33ccb392b 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -317,6 +317,7 @@ extern float HotendTempBckp; extern int fanSpeedBckp; extern float pause_lastpos[4]; extern unsigned long pause_time; +extern unsigned long start_pause_print; extern bool mesh_bed_leveling_flag; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 296fc9d814..843ec4cc99 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -263,6 +263,7 @@ float HotendTempBckp = 0; int fanSpeedBckp = 0; float pause_lastpos[4]; unsigned long pause_time = 0; +unsigned long start_pause_print = millis(); bool mesh_bed_leveling_flag = false; @@ -6320,7 +6321,7 @@ void temp_compensation_start() { plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - while (fabs(degBed() - target_temperature_bed) > 3) delay_keep_alive(1000); + while (fabs(degBed() - target_temperature_bed) > 1) delay_keep_alive(1000); for(int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000); @@ -6428,8 +6429,8 @@ void long_pause() //long pause print saved_feedmultiply = feedmultiply; HotendTempBckp = degTargetHotend(active_extruder); fanSpeedBckp = fanSpeed; - pause_time += (millis() - starttime); - + start_pause_print = millis(); + //save position pause_lastpos[X_AXIS] = current_position[X_AXIS]; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 07c23c132d..cb998b6970 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -540,11 +540,12 @@ void lcd_commands() lcdDrawUpdate = 3; lcd_commands_step = 4; } - if (lcd_commands_step == 1 && !blocks_queued()) { //recover feedmultiply, current + if (lcd_commands_step == 1 && !blocks_queued()) { //recover feedmultiply sprintf_P(cmd1, PSTR("M220 S%d"), saved_feedmultiply); enquecommand(cmd1); isPrintPaused = false; + pause_time += (millis() - start_pause_print); //accumulate time when print is paused for correct statistics calculation card.startFileprint(); lcd_commands_step = 0; lcd_commands_type = 0; @@ -580,7 +581,7 @@ void lcd_commands() strcat(cmd1, " Y"); strcat(cmd1, ftostr32(pause_lastpos[Y_AXIS])); enquecommand(cmd1); - + lcd_setstatuspgm(MSG_RESUMING_PRINT); lcd_commands_step = 3; } @@ -2436,7 +2437,6 @@ void lcd_pinda_calibration_menu() START_MENU(); MENU_ITEM(back, MSG_MENU_CALIBRATION, lcd_calibration_menu); MENU_ITEM(submenu, MSG_CALIBRATE_PINDA, lcd_calibrate_pinda); - //MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); if (temp_cal_active == false) { MENU_ITEM(function, MSG_TEMP_CALIBRATION_OFF, lcd_temp_calibration_set); } @@ -4651,7 +4651,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; } - /*if (LCD_CLICKED)*/ lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + if (LCD_CLICKED) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; #endif//ULTIPANEL #ifdef DOGLCD // Changes due to different driver architecture of the DOGM display From 7e8780ba615acd94ff6d9922c4657c85df2d4c52 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 25 Apr 2017 11:36:34 +0200 Subject: [PATCH 2/9] long press compatible with timeout to status, temp compensation extrapolation, preheat Z coordinate added, G75 for showing interpolation table --- Firmware/Marlin_main.cpp | 33 ++++++++++++++++++++------------- Firmware/language_cz.h | 2 +- Firmware/language_en.h | 2 +- Firmware/ultralcd.cpp | 3 ++- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 843ec4cc99..68f7c4ff0c 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2793,6 +2793,16 @@ void process_commands() break; + case 75: + { + for (int i = 40; i <= 110; i++) { + MYSERIAL.print(i); + MYSERIAL.print(" "); + MYSERIAL.println(temp_comp_interpolation(i));// / axis_steps_per_unit[Z_AXIS]); + } + } + break; + case 76: //PINDA probe temperature calibration { setTargetBed(PINDA_MIN_T); @@ -2814,7 +2824,7 @@ void process_commands() custom_message = MSG_TEMP_CALIBRATION; current_position[X_AXIS] = PINDA_PREHEAT_X; current_position[Y_AXIS] = PINDA_PREHEAT_Y; - current_position[Z_AXIS] = 0; + current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); @@ -2847,7 +2857,7 @@ void process_commands() setTargetBed(t_c); current_position[X_AXIS] = PINDA_PREHEAT_X; current_position[Y_AXIS] = PINDA_PREHEAT_Y; - current_position[Z_AXIS] = 0; + current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); while (degBed() < t_c) delay_keep_alive(1000); @@ -6317,7 +6327,7 @@ void temp_compensation_start() { current_position[X_AXIS] = PINDA_PREHEAT_X; current_position[Y_AXIS] = PINDA_PREHEAT_Y; - current_position[Z_AXIS] = 0; + current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); @@ -6336,12 +6346,11 @@ void temp_compensation_apply() { float z_shift_mm; if (calibration_status() == CALIBRATION_STATUS_CALIBRATED) { - if (target_temperature_bed % 10 == 0 && target_temperature_bed >= 50 && target_temperature_bed <= 100) { + if (target_temperature_bed % 10 == 0 && target_temperature_bed >= 60 && target_temperature_bed <= 100) { i_add = (target_temperature_bed - 60) / 10; EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + i_add * 2, &z_shift); z_shift_mm = z_shift / axis_steps_per_unit[Z_AXIS]; - } - else { + }else { //interpolation z_shift_mm = temp_comp_interpolation(target_temperature_bed) / axis_steps_per_unit[Z_AXIS]; } @@ -6353,7 +6362,7 @@ void temp_compensation_apply() { plan_set_z_position(current_position[Z_AXIS]); } else { - //message that we have no temp compensation data ? + //we have no temp compensation data } } @@ -6362,23 +6371,21 @@ float temp_comp_interpolation(float inp_temperature) { //cubic spline interpolation int n, i, j, k; - float h[10], a, b, c, d, sum, s[10] = { 0 }, x[10], F[10], f[10], p, m[10][10] = { 0 }, temp; + float h[10], a, b, c, d, sum, s[10] = { 0 }, x[10], F[10], f[10], m[10][10] = { 0 }, temp; int shift[10]; int temp_C[10]; - p = inp_temperature; n = 6; //number of measured points shift[0] = 0; for (i = 0; i < n; i++) { - //scanf_s("%f%f", &x[i], &f[i]); if (i>0) EEPROM_read_B(EEPROM_PROBE_TEMP_SHIFT + (i-1) * 2, &shift[i]); //read shift in steps from EEPROM temp_C[i] = 50 + i * 10; //temperature in C x[i] = (float)temp_C[i]; f[i] = (float)shift[i]; } - + if (inp_temperature < x[0]) return 0; for (i = n - 1; i>0; i--) { @@ -6409,12 +6416,12 @@ float temp_comp_interpolation(float inp_temperature) { } for (i = 0; i x[i + 1])) { a = (s[i + 1] - s[i]) / (6 * h[i]); b = s[i] / 2; c = (f[i + 1] - f[i]) / h[i] - (2 * h[i] * s[i] + s[i + 1] * h[i]) / 6; d = f[i]; - sum = a*pow((p - x[i]), 3) + b*pow((p - x[i]), 2) + c*(p - x[i]) + d; + sum = a*pow((inp_temperature - x[i]), 3) + b*pow((inp_temperature - x[i]), 2) + c*(inp_temperature - x[i]) + d; } return sum; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index b2267ad8c0..66bb627bb8 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -277,7 +277,7 @@ #define MSG_CALIBRATE_PINDA "Zkalibrovat" #define MSG_CALIBRATION_PINDA_MENU "Teplotni kalibrace" #define MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana" -#define MSG_PINDA_PREHEAT "Predehrivani" +#define MSG_PINDA_PREHEAT "Predehrivani " #define MSG_TEMP_CALIBRATION "Tepl. kal. " #define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka." #define MSG_TEMP_CALIBRATION_ON "Tepl. kal. [ON]" diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 8c5e71d8a3..759ca27445 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -278,7 +278,7 @@ #define(length=17, lines=1) MSG_CALIBRATE_PINDA "Calibrate" #define(length=17, lines=1) MSG_CALIBRATION_PINDA_MENU "Temp. calibration" #define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "Temperature calibration has not been run yet" -#define(length=20, lines=1) MSG_PINDA_PREHEAT "Preheating" +#define(length=20, lines=1) MSG_PINDA_PREHEAT "Preheating " #define(length=20, lines=1) MSG_TEMP_CALIBRATION "Temp. cal. " #define(length=20, lines=4) MSG_TEMP_CALIBRATION_DONE "Temperature calibration is finished. Click to continue." #define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "Temp. cal. [ON]" diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index cb998b6970..422fe94573 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4651,7 +4651,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; } - if (LCD_CLICKED) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + if (lcd_clicked()) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; #endif//ULTIPANEL #ifdef DOGLCD // Changes due to different driver architecture of the DOGM display @@ -4788,6 +4788,7 @@ void lcd_buttons_update() #if BTN_ENC > 0 if (lcd_update_enabled == true) { //if we are in non-modal mode, long press can be used and short press triggers with button release if (READ(BTN_ENC) == 0) { //button is pressed + lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; if (millis() > button_blanking_time) { button_blanking_time = millis() + BUTTON_BLANKING_TIME; if (button_pressed == false && long_press_active == false) { From 2aa363f4600f329599280b986c78889cbd893cd0 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 25 Apr 2017 12:59:44 +0200 Subject: [PATCH 3/9] lcd_timeoutToStatus --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 422fe94573..efd94aa317 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4651,7 +4651,7 @@ void lcd_update(uint8_t lcdDrawUpdateOverride) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; } - if (lcd_clicked()) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; + if (LCD_CLICKED) lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; #endif//ULTIPANEL #ifdef DOGLCD // Changes due to different driver architecture of the DOGM display From d5aa1bdceb197fa39fc2d3d297c0a978fd540379 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 25 Apr 2017 13:38:13 +0200 Subject: [PATCH 4/9] updated pinda preheat coordinate and pause retraction --- Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h | 9 +++++---- Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h index 15a66337cb..3fafc96df2 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo10a-E3Dv6full.h @@ -370,8 +370,9 @@ THERMISTORS SETTINGS #define Z_BABYSTEP_MIN -3999 #define Z_BABYSTEP_MAX 0 -#define PINDA_PREHEAT_X 75 -#define PINDA_PREHEAT_Y 75 +#define PINDA_PREHEAT_X 70 +#define PINDA_PREHEAT_Y -3 +#define PINDA_PREHEAT_Z 1 #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 @@ -385,10 +386,10 @@ THERMISTORS SETTINGS #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release -#define PAUSE_RETRACT 2 +#define PAUSE_RETRACT 1 #define DEFAULT_PID_TEMP 210 -#define DEFAULT_RETRACTION 1 //used for PINDA temp compensation +#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h index c45c8ec748..29c6b005df 100644 --- a/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h +++ b/Firmware/variants/1_75mm_MK2-RAMBo13a-E3Dv6full.h @@ -373,8 +373,9 @@ THERMISTORS SETTINGS #define Z_BABYSTEP_MIN -3999 #define Z_BABYSTEP_MAX 0 -#define PINDA_PREHEAT_X 75 -#define PINDA_PREHEAT_Y 75 +#define PINDA_PREHEAT_X 70 +#define PINDA_PREHEAT_Y -3 +#define PINDA_PREHEAT_Z 1 #define PINDA_HEAT_T 120 //time in s #define PINDA_MIN_T 50 @@ -388,10 +389,10 @@ THERMISTORS SETTINGS #define LONG_PRESS_TIME 1000 //time in ms for button long press #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release -#define PAUSE_RETRACT 2 +#define PAUSE_RETRACT 1 #define DEFAULT_PID_TEMP 210 -#define DEFAULT_RETRACTION 1 //used for PINDA temp compensation +#define DEFAULT_RETRACTION 1 //used for PINDA temp calibration #endif //__CONFIGURATION_PRUSA_H From 50b7f627cd3fc20360f14aaad2612b7029b15261 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Tue, 25 Apr 2017 22:00:05 +0200 Subject: [PATCH 5/9] pinda preheating messages changed --- Firmware/Marlin_main.cpp | 10 ++++++++-- Firmware/language_all.cpp | 4 ++-- Firmware/language_en.h | 2 +- Firmware/ultralcd_implementation_hitachi_HD44780.h | 2 ++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 68f7c4ff0c..bbb0fbd140 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2818,6 +2818,7 @@ void process_commands() enquecommand_front_P((PSTR("G28 W0"))); break; } + custom_message = true; custom_message_type = 4; custom_message_state = 1; @@ -6322,6 +6323,8 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_ void temp_compensation_start() { custom_message = true; custom_message_type = 5; + custom_message_state = PINDA_HEAT_T + 1; + lcd_update(2); if (degHotend(active_extruder)>EXTRUDE_MINTEMP) current_position[E_AXIS] -= DEFAULT_RETRACTION; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder); @@ -6330,12 +6333,15 @@ void temp_compensation_start() { current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - while (fabs(degBed() - target_temperature_bed) > 1) delay_keep_alive(1000); - for(int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000); + for (int i = 0; i < PINDA_HEAT_T*2; i++) { + delay_keep_alive(500); + custom_message_state = PINDA_HEAT_T - i*0.5; + } custom_message_type = 0; + custom_message_state = 0; custom_message = false; } diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index a55b30e855..beb32a02db 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -1813,8 +1813,8 @@ const char * const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PINDA_NOT_CALIBRATED_EN }; -const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "Preheating"; -const char MSG_PINDA_PREHEAT_CZ[] PROGMEM = "Predehrivani"; +const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "PINDA Heating "; +const char MSG_PINDA_PREHEAT_CZ[] PROGMEM = "Predehrivani "; const char * const MSG_PINDA_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PINDA_PREHEAT_EN, MSG_PINDA_PREHEAT_CZ, diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 759ca27445..f1268bc23f 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -278,7 +278,7 @@ #define(length=17, lines=1) MSG_CALIBRATE_PINDA "Calibrate" #define(length=17, lines=1) MSG_CALIBRATION_PINDA_MENU "Temp. calibration" #define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "Temperature calibration has not been run yet" -#define(length=20, lines=1) MSG_PINDA_PREHEAT "Preheating " +#define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating " #define(length=20, lines=1) MSG_TEMP_CALIBRATION "Temp. cal. " #define(length=20, lines=4) MSG_TEMP_CALIBRATION_DONE "Temperature calibration is finished. Click to continue." #define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "Temp. cal. [ON]" diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index da393a66f4..bb8e0c47ec 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -972,6 +972,8 @@ static void lcd_implementation_status_screen() if (custom_message_type == 5) { lcd.setCursor(0, 3); lcd_printPGM(MSG_PINDA_PREHEAT); + lcd.setCursor(15, 3); + if(custom_message_state <= PINDA_HEAT_T) lcd.print(custom_message_state); } From 397039270a27c673c33fae4a1d2254ac4104b621 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Thu, 27 Apr 2017 14:16:12 +0200 Subject: [PATCH 6/9] PINDA Preheating countdown updated --- Firmware/Marlin_main.cpp | 11 +++++++---- Firmware/language_all.cpp | 4 ++-- Firmware/language_cz.h | 2 +- Firmware/language_en.h | 2 +- Firmware/ultralcd.h | 1 + Firmware/ultralcd_implementation_hitachi_HD44780.h | 6 ++++-- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index bbb0fbd140..d7bb7f5d56 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -6321,6 +6321,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_ #endif void temp_compensation_start() { + mesh_bed_leveling_flag = false; custom_message = true; custom_message_type = 5; custom_message_state = PINDA_HEAT_T + 1; @@ -6335,11 +6336,13 @@ void temp_compensation_start() { st_synchronize(); while (fabs(degBed() - target_temperature_bed) > 1) delay_keep_alive(1000); - for (int i = 0; i < PINDA_HEAT_T*2; i++) { - delay_keep_alive(500); - custom_message_state = PINDA_HEAT_T - i*0.5; + for (int i = 0; i < PINDA_HEAT_T; i++) { + delay_keep_alive(1000); + custom_message_state = PINDA_HEAT_T - i; + if (custom_message_state == 99 || custom_message_state == 9) lcd_update(2); //force whole display redraw if number of digits changed + else lcd_update(1); } - + mesh_bed_leveling_flag = true; custom_message_type = 0; custom_message_state = 0; custom_message = false; diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index beb32a02db..a878ace69a 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -1813,8 +1813,8 @@ const char * const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PINDA_NOT_CALIBRATED_EN }; -const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "PINDA Heating "; -const char MSG_PINDA_PREHEAT_CZ[] PROGMEM = "Predehrivani "; +const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "PINDA Heating"; +const char MSG_PINDA_PREHEAT_CZ[] PROGMEM = "Nahrivani PINDA"; const char * const MSG_PINDA_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PINDA_PREHEAT_EN, MSG_PINDA_PREHEAT_CZ, diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index 66bb627bb8..b5892df589 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -277,7 +277,7 @@ #define MSG_CALIBRATE_PINDA "Zkalibrovat" #define MSG_CALIBRATION_PINDA_MENU "Teplotni kalibrace" #define MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana" -#define MSG_PINDA_PREHEAT "Predehrivani " +#define MSG_PINDA_PREHEAT "Nahrivani PINDA" #define MSG_TEMP_CALIBRATION "Tepl. kal. " #define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka." #define MSG_TEMP_CALIBRATION_ON "Tepl. kal. [ON]" diff --git a/Firmware/language_en.h b/Firmware/language_en.h index f1268bc23f..79383f26f0 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -278,7 +278,7 @@ #define(length=17, lines=1) MSG_CALIBRATE_PINDA "Calibrate" #define(length=17, lines=1) MSG_CALIBRATION_PINDA_MENU "Temp. calibration" #define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "Temperature calibration has not been run yet" -#define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating " +#define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating" #define(length=20, lines=1) MSG_TEMP_CALIBRATION "Temp. cal. " #define(length=20, lines=4) MSG_TEMP_CALIBRATION_DONE "Temperature calibration is finished. Click to continue." #define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "Temp. cal. [ON]" diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 9ce724009b..cd7e18421a 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -242,4 +242,5 @@ char reset_menu(); void lcd_pinda_calibration_menu(); void lcd_calibrate_pinda(); void lcd_temp_calibration_set(); + #endif //ULTRALCD_H \ No newline at end of file diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index bb8e0c47ec..d82d023d12 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -972,8 +972,10 @@ static void lcd_implementation_status_screen() if (custom_message_type == 5) { lcd.setCursor(0, 3); lcd_printPGM(MSG_PINDA_PREHEAT); - lcd.setCursor(15, 3); - if(custom_message_state <= PINDA_HEAT_T) lcd.print(custom_message_state); + if (custom_message_state <= PINDA_HEAT_T) { + lcd_printPGM(PSTR(": ")); + lcd.print(custom_message_state); //seconds + } } From 32df4f68a1e7564d1fbd1acb0ac4286ab285ed9e Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 28 Apr 2017 11:09:32 +0200 Subject: [PATCH 7/9] messages translated, invalidate calibration status at the beginning of temp. calibration --- Firmware/Marlin_main.cpp | 8 +- Firmware/language_all.cpp | 221 ++++++++++++++++++++++---------------- Firmware/language_all.h | 8 +- Firmware/language_cz.h | 6 +- Firmware/language_en.h | 2 - Firmware/language_es.h | 23 +++- Firmware/language_it.h | 19 +++- Firmware/language_pl.h | 22 +++- 8 files changed, 194 insertions(+), 115 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index d7bb7f5d56..2c1a6bf09a 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2828,11 +2828,12 @@ void process_commands() current_position[Z_AXIS] = PINDA_PREHEAT_Z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); - + while (abs(degBed() - PINDA_MIN_T) > 1 ) delay_keep_alive(1000); //enquecommand_P(PSTR("M190 S50")); for (int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000); + calibration_status_store(CALIBRATION_STATUS_PINDA); //invalidate temp. calibration in case that in will be aborted during the calibration process current_position[Z_AXIS] = 5; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); @@ -6321,7 +6322,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_ #endif void temp_compensation_start() { - mesh_bed_leveling_flag = false; + custom_message = true; custom_message_type = 5; custom_message_state = PINDA_HEAT_T + 1; @@ -6341,8 +6342,7 @@ void temp_compensation_start() { custom_message_state = PINDA_HEAT_T - i; if (custom_message_state == 99 || custom_message_state == 9) lcd_update(2); //force whole display redraw if number of digits changed else lcd_update(1); - } - mesh_bed_leveling_flag = true; + } custom_message_type = 0; custom_message_state = 0; custom_message = false; diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index a878ace69a..9fc3afbfe2 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -496,24 +496,32 @@ const char * const MSG_CALIBRATE_E_LANG_TABLE[LANG_NUM] PROGMEM = { const char MSG_CALIBRATE_PINDA_EN[] PROGMEM = "Calibrate"; const char MSG_CALIBRATE_PINDA_CZ[] PROGMEM = "Zkalibrovat"; +const char MSG_CALIBRATE_PINDA_IT[] PROGMEM = "Calibrare"; +const char MSG_CALIBRATE_PINDA_ES[] PROGMEM = "Calibrar"; +const char MSG_CALIBRATE_PINDA_PL[] PROGMEM = "Skalibrowac"; +const char MSG_CALIBRATE_PINDA_DE[] PROGMEM = "Kalibrieren"; const char * const MSG_CALIBRATE_PINDA_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_CALIBRATE_PINDA_EN, MSG_CALIBRATE_PINDA_CZ, - MSG_CALIBRATE_PINDA_EN, - MSG_CALIBRATE_PINDA_EN, - MSG_CALIBRATE_PINDA_EN, - MSG_CALIBRATE_PINDA_EN + MSG_CALIBRATE_PINDA_IT, + MSG_CALIBRATE_PINDA_ES, + MSG_CALIBRATE_PINDA_PL, + MSG_CALIBRATE_PINDA_DE }; const char MSG_CALIBRATION_PINDA_MENU_EN[] PROGMEM = "Temp. calibration"; -const char MSG_CALIBRATION_PINDA_MENU_CZ[] PROGMEM = "Teplotni kalibrace"; +const char MSG_CALIBRATION_PINDA_MENU_CZ[] PROGMEM = "Teplot. kalibrace"; +const char MSG_CALIBRATION_PINDA_MENU_IT[] PROGMEM = "Taratura temp."; +const char MSG_CALIBRATION_PINDA_MENU_ES[] PROGMEM = "Calibracion temp."; +const char MSG_CALIBRATION_PINDA_MENU_PL[] PROGMEM = "Cieplna kalibr."; +const char MSG_CALIBRATION_PINDA_MENU_DE[] PROGMEM = "Temp. kalibrieren"; const char * const MSG_CALIBRATION_PINDA_MENU_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_CALIBRATION_PINDA_MENU_EN, MSG_CALIBRATION_PINDA_MENU_CZ, - MSG_CALIBRATION_PINDA_MENU_EN, - MSG_CALIBRATION_PINDA_MENU_EN, - MSG_CALIBRATION_PINDA_MENU_EN, - MSG_CALIBRATION_PINDA_MENU_EN + MSG_CALIBRATION_PINDA_MENU_IT, + MSG_CALIBRATION_PINDA_MENU_ES, + MSG_CALIBRATION_PINDA_MENU_PL, + MSG_CALIBRATION_PINDA_MENU_DE }; const char MSG_CARD_MENU_EN[] PROGMEM = "Print from SD"; @@ -958,38 +966,15 @@ const char * const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_FIL_ADJUSTING_DE }; -const char MSG_FIL_LOADED_CHECK_EN[] PROGMEM = "Is filament loaded?"; -const char MSG_FIL_LOADED_CHECK_CZ[] PROGMEM = "Je filament zaveden?"; -const char MSG_FIL_LOADED_CHECK_IT[] PROGMEM = "Filamento caricato?"; -const char MSG_FIL_LOADED_CHECK_ES[] PROGMEM = "Esta cargado el filamento?"; -const char MSG_FIL_LOADED_CHECK_PL[] PROGMEM = "Czy filament jest wprowadzony?"; -const char MSG_FIL_LOADED_CHECK_DE[] PROGMEM = "Filament eingelegt?"; -const char * const MSG_FIL_LOADED_CHECK_LANG_TABLE[LANG_NUM] PROGMEM = { - MSG_FIL_LOADED_CHECK_EN, - MSG_FIL_LOADED_CHECK_CZ, - MSG_FIL_LOADED_CHECK_IT, - MSG_FIL_LOADED_CHECK_ES, - MSG_FIL_LOADED_CHECK_PL, - MSG_FIL_LOADED_CHECK_DE -}; - -const char MSG_FIL_TUNING_EN[] PROGMEM = "Rotate the knob to adjust filament."; -const char MSG_FIL_TUNING_CZ[] PROGMEM = "Otacenim tlacitka doladte pozici filamentu."; -const char MSG_FIL_TUNING_IT[] PROGMEM = "Girare la manopola per regolare il filamento"; -const char MSG_FIL_TUNING_ES[] PROGMEM = "Rotar el mando para ajustar el filamento."; -const char MSG_FIL_TUNING_PL[] PROGMEM = "Obrotem przycisku dostroj pozycje filamentu."; -const char MSG_FIL_TUNING_DE[] PROGMEM = "Knopf drehen um Filam. einzustellen."; -const char * const MSG_FIL_TUNING_LANG_TABLE[LANG_NUM] PROGMEM = { - MSG_FIL_TUNING_EN, - MSG_FIL_TUNING_CZ, - MSG_FIL_TUNING_IT, - MSG_FIL_TUNING_ES, - MSG_FIL_TUNING_PL, - MSG_FIL_TUNING_DE -}; - const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN[] PROGMEM = "Iteration "; -const char * const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[1] PROGMEM = { +const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ[] PROGMEM = "Iterace "; +const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_ES[] PROGMEM = "Iteracion "; +const char * const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN, + MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ, + MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN, + MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_ES, + MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN, MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN }; @@ -1025,13 +1010,17 @@ const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGM const char MSG_FINISHING_MOVEMENTS_EN[] PROGMEM = "Finishing movements"; const char MSG_FINISHING_MOVEMENTS_CZ[] PROGMEM = "Dokoncovani pohybu"; +const char MSG_FINISHING_MOVEMENTS_IT[] PROGMEM = "Arresto in corso"; +const char MSG_FINISHING_MOVEMENTS_ES[] PROGMEM = "Term. movimientos"; +const char MSG_FINISHING_MOVEMENTS_PL[] PROGMEM = "Konczenie druku"; +const char MSG_FINISHING_MOVEMENTS_DE[] PROGMEM = "Bewegung beenden"; const char * const MSG_FINISHING_MOVEMENTS_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_FINISHING_MOVEMENTS_EN, MSG_FINISHING_MOVEMENTS_CZ, - MSG_FINISHING_MOVEMENTS_EN, - MSG_FINISHING_MOVEMENTS_EN, - MSG_FINISHING_MOVEMENTS_EN, - MSG_FINISHING_MOVEMENTS_EN + MSG_FINISHING_MOVEMENTS_IT, + MSG_FINISHING_MOVEMENTS_ES, + MSG_FINISHING_MOVEMENTS_PL, + MSG_FINISHING_MOVEMENTS_DE }; const char MSG_FLOW_EN[] PROGMEM = "Flow"; @@ -1771,57 +1760,77 @@ const char * const MSG_PICK_Z_LANG_TABLE[LANG_NUM] PROGMEM = { const char MSG_PID_EXTRUDER_EN[] PROGMEM = "PID calibration"; const char MSG_PID_EXTRUDER_CZ[] PROGMEM = "PID kalibrace"; +const char MSG_PID_EXTRUDER_IT[] PROGMEM = "Calibrazione PID"; +const char MSG_PID_EXTRUDER_ES[] PROGMEM = "Calibracion PID"; +const char MSG_PID_EXTRUDER_PL[] PROGMEM = "Kalibracja PID"; +const char MSG_PID_EXTRUDER_DE[] PROGMEM = "PID Kalibrierung"; const char * const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PID_EXTRUDER_EN, MSG_PID_EXTRUDER_CZ, - MSG_PID_EXTRUDER_EN, - MSG_PID_EXTRUDER_EN, - MSG_PID_EXTRUDER_EN, - MSG_PID_EXTRUDER_EN + MSG_PID_EXTRUDER_IT, + MSG_PID_EXTRUDER_ES, + MSG_PID_EXTRUDER_PL, + MSG_PID_EXTRUDER_DE }; const char MSG_PID_FINISHED_EN[] PROGMEM = "PID cal. finished"; const char MSG_PID_FINISHED_CZ[] PROGMEM = "PID kal. ukoncena"; +const char MSG_PID_FINISHED_IT[] PROGMEM = "Cal. PID completa"; +const char MSG_PID_FINISHED_ES[] PROGMEM = "Cal. PID terminada"; +const char MSG_PID_FINISHED_PL[] PROGMEM = "Kal. PID zakonczona"; +const char MSG_PID_FINISHED_DE[] PROGMEM = "PID Kalib. fertig"; const char * const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PID_FINISHED_EN, MSG_PID_FINISHED_CZ, - MSG_PID_FINISHED_EN, - MSG_PID_FINISHED_EN, - MSG_PID_FINISHED_EN, - MSG_PID_FINISHED_EN + MSG_PID_FINISHED_IT, + MSG_PID_FINISHED_ES, + MSG_PID_FINISHED_PL, + MSG_PID_FINISHED_DE }; const char MSG_PID_RUNNING_EN[] PROGMEM = "PID cal. "; const char MSG_PID_RUNNING_CZ[] PROGMEM = "PID kal. "; +const char MSG_PID_RUNNING_IT[] PROGMEM = "Cal. PID"; +const char MSG_PID_RUNNING_ES[] PROGMEM = "Cal. PID "; +const char MSG_PID_RUNNING_PL[] PROGMEM = "Kal. PID"; +const char MSG_PID_RUNNING_DE[] PROGMEM = "PID Kalib."; const char * const MSG_PID_RUNNING_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PID_RUNNING_EN, MSG_PID_RUNNING_CZ, - MSG_PID_RUNNING_EN, - MSG_PID_RUNNING_EN, - MSG_PID_RUNNING_EN, - MSG_PID_RUNNING_EN + MSG_PID_RUNNING_IT, + MSG_PID_RUNNING_ES, + MSG_PID_RUNNING_PL, + MSG_PID_RUNNING_DE }; const char MSG_PINDA_NOT_CALIBRATED_EN[] PROGMEM = "Temperature calibration has not been run yet"; const char MSG_PINDA_NOT_CALIBRATED_CZ[] PROGMEM = "Tiskarna nebyla teplotne zkalibrovana"; +const char MSG_PINDA_NOT_CALIBRATED_IT[] PROGMEM = "Taratura della temperatura non ancora eseguita"; +const char MSG_PINDA_NOT_CALIBRATED_ES[] PROGMEM = "La temperatura de calibracion no ha sido ajustada"; +const char MSG_PINDA_NOT_CALIBRATED_PL[] PROGMEM = "Cieplna kalibracja nie byla przeprowadzona"; +const char MSG_PINDA_NOT_CALIBRATED_DE[] PROGMEM = "Temperatur wurde nicht kalibriert"; const char * const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PINDA_NOT_CALIBRATED_EN, MSG_PINDA_NOT_CALIBRATED_CZ, - MSG_PINDA_NOT_CALIBRATED_EN, - MSG_PINDA_NOT_CALIBRATED_EN, - MSG_PINDA_NOT_CALIBRATED_EN, - MSG_PINDA_NOT_CALIBRATED_EN + MSG_PINDA_NOT_CALIBRATED_IT, + MSG_PINDA_NOT_CALIBRATED_ES, + MSG_PINDA_NOT_CALIBRATED_PL, + MSG_PINDA_NOT_CALIBRATED_DE }; const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "PINDA Heating"; const char MSG_PINDA_PREHEAT_CZ[] PROGMEM = "Nahrivani PINDA"; +const char MSG_PINDA_PREHEAT_IT[] PROGMEM = "Riscald. PINDA"; +const char MSG_PINDA_PREHEAT_ES[] PROGMEM = "Calentando PINDA"; +const char MSG_PINDA_PREHEAT_PL[] PROGMEM = "Grzanie PINDA"; +const char MSG_PINDA_PREHEAT_DE[] PROGMEM = "PINDA erwaermen"; const char * const MSG_PINDA_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PINDA_PREHEAT_EN, MSG_PINDA_PREHEAT_CZ, - MSG_PINDA_PREHEAT_EN, - MSG_PINDA_PREHEAT_EN, - MSG_PINDA_PREHEAT_EN, - MSG_PINDA_PREHEAT_EN + MSG_PINDA_PREHEAT_IT, + MSG_PINDA_PREHEAT_ES, + MSG_PINDA_PREHEAT_PL, + MSG_PINDA_PREHEAT_DE }; const char MSG_PLANNER_BUFFER_BYTES_EN[] PROGMEM = " PlannerBufferBytes: "; @@ -1921,13 +1930,17 @@ const char * const MSG_PRINT_ABORTED_LANG_TABLE[LANG_NUM] PROGMEM = { const char MSG_PRINT_PAUSED_EN[] PROGMEM = "Print paused"; const char MSG_PRINT_PAUSED_CZ[] PROGMEM = "Tisk pozastaven"; +const char MSG_PRINT_PAUSED_IT[] PROGMEM = "Stampa in pausa"; +const char MSG_PRINT_PAUSED_ES[] PROGMEM = "Impresion en pausa"; +const char MSG_PRINT_PAUSED_PL[] PROGMEM = "Druk zatrzymany"; +const char MSG_PRINT_PAUSED_DE[] PROGMEM = "Druck pausiert"; const char * const MSG_PRINT_PAUSED_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_PRINT_PAUSED_EN, MSG_PRINT_PAUSED_CZ, - MSG_PRINT_PAUSED_EN, - MSG_PRINT_PAUSED_EN, - MSG_PRINT_PAUSED_EN, - MSG_PRINT_PAUSED_EN + MSG_PRINT_PAUSED_IT, + MSG_PRINT_PAUSED_ES, + MSG_PRINT_PAUSED_PL, + MSG_PRINT_PAUSED_DE }; const char MSG_PRUSA3D_EN[] PROGMEM = "prusa3d.com"; @@ -2038,13 +2051,17 @@ const char * const MSG_RESUMING_LANG_TABLE[LANG_NUM] PROGMEM = { const char MSG_RESUMING_PRINT_EN[] PROGMEM = "Resuming print"; const char MSG_RESUMING_PRINT_CZ[] PROGMEM = "Obnovovani tisku"; +const char MSG_RESUMING_PRINT_IT[] PROGMEM = "Stampa in ripresa"; +const char MSG_RESUMING_PRINT_ES[] PROGMEM = "Reanudar impresion"; +const char MSG_RESUMING_PRINT_PL[] PROGMEM = "Wznawianie druku"; +const char MSG_RESUMING_PRINT_DE[] PROGMEM = "Druck weitergehen"; const char * const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_RESUMING_PRINT_EN, MSG_RESUMING_PRINT_CZ, - MSG_RESUMING_PRINT_EN, - MSG_RESUMING_PRINT_EN, - MSG_RESUMING_PRINT_EN, - MSG_RESUMING_PRINT_EN + MSG_RESUMING_PRINT_IT, + MSG_RESUMING_PRINT_ES, + MSG_RESUMING_PRINT_PL, + MSG_RESUMING_PRINT_DE }; const char MSG_SD_CANT_ENTER_SUBDIR_EN[] PROGMEM = "Cannot enter subdir: "; @@ -2548,13 +2565,17 @@ const char * const MSG_SET_ORIGIN_LANG_TABLE[1] PROGMEM = { const char MSG_SET_TEMPERATURE_EN[] PROGMEM = "Set temperature:"; const char MSG_SET_TEMPERATURE_CZ[] PROGMEM = "Nastavte teplotu:"; +const char MSG_SET_TEMPERATURE_IT[] PROGMEM = "Imposta temperatura"; +const char MSG_SET_TEMPERATURE_ES[] PROGMEM = "Establecer temp.:"; +const char MSG_SET_TEMPERATURE_PL[] PROGMEM = "Ustawic temperature"; +const char MSG_SET_TEMPERATURE_DE[] PROGMEM = "Temp. einsetzen"; const char * const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_SET_TEMPERATURE_EN, MSG_SET_TEMPERATURE_CZ, - MSG_SET_TEMPERATURE_EN, - MSG_SET_TEMPERATURE_EN, - MSG_SET_TEMPERATURE_EN, - MSG_SET_TEMPERATURE_EN + MSG_SET_TEMPERATURE_IT, + MSG_SET_TEMPERATURE_ES, + MSG_SET_TEMPERATURE_PL, + MSG_SET_TEMPERATURE_DE }; const char MSG_SHOW_END_STOPS_EN[] PROGMEM = "Show end stops"; @@ -2811,46 +2832,62 @@ const char * const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = { const char MSG_TEMP_CALIBRATION_EN[] PROGMEM = "Temp. cal. "; const char MSG_TEMP_CALIBRATION_CZ[] PROGMEM = "Tepl. kal. "; +const char MSG_TEMP_CALIBRATION_IT[] PROGMEM = "Cal. temp. "; +const char MSG_TEMP_CALIBRATION_ES[] PROGMEM = "Cal. temp. "; +const char MSG_TEMP_CALIBRATION_PL[] PROGMEM = "Ciepl. kal. "; +const char MSG_TEMP_CALIBRATION_DE[] PROGMEM = "Temp Kalib. "; const char * const MSG_TEMP_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_EN, MSG_TEMP_CALIBRATION_CZ, - MSG_TEMP_CALIBRATION_EN, - MSG_TEMP_CALIBRATION_EN, - MSG_TEMP_CALIBRATION_EN, - MSG_TEMP_CALIBRATION_EN + MSG_TEMP_CALIBRATION_IT, + MSG_TEMP_CALIBRATION_ES, + MSG_TEMP_CALIBRATION_PL, + MSG_TEMP_CALIBRATION_DE }; const char MSG_TEMP_CALIBRATION_DONE_EN[] PROGMEM = "Temperature calibration is finished. Click to continue."; const char MSG_TEMP_CALIBRATION_DONE_CZ[] PROGMEM = "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka."; +const char MSG_TEMP_CALIBRATION_DONE_IT[] PROGMEM = "Taratura temperatura terminata. Fare click per continuare."; +const char MSG_TEMP_CALIBRATION_DONE_ES[] PROGMEM = "Calibracon temperatura terminada. Presionar para continuar."; +const char MSG_TEMP_CALIBRATION_DONE_PL[] PROGMEM = "Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"; +const char MSG_TEMP_CALIBRATION_DONE_DE[] PROGMEM = "Temp. Kalibrierung fertig. Klicken um weiter zu gehen."; const char * const MSG_TEMP_CALIBRATION_DONE_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_DONE_EN, MSG_TEMP_CALIBRATION_DONE_CZ, - MSG_TEMP_CALIBRATION_DONE_EN, - MSG_TEMP_CALIBRATION_DONE_EN, - MSG_TEMP_CALIBRATION_DONE_EN, - MSG_TEMP_CALIBRATION_DONE_EN + MSG_TEMP_CALIBRATION_DONE_IT, + MSG_TEMP_CALIBRATION_DONE_ES, + MSG_TEMP_CALIBRATION_DONE_PL, + MSG_TEMP_CALIBRATION_DONE_DE }; const char MSG_TEMP_CALIBRATION_OFF_EN[] PROGMEM = "Temp. cal. [OFF]"; const char MSG_TEMP_CALIBRATION_OFF_CZ[] PROGMEM = "Tepl. kal. [OFF]"; +const char MSG_TEMP_CALIBRATION_OFF_IT[] PROGMEM = "Cal. temp. [OFF]"; +const char MSG_TEMP_CALIBRATION_OFF_ES[] PROGMEM = "Cal. temp. [OFF]"; +const char MSG_TEMP_CALIBRATION_OFF_PL[] PROGMEM = "Ciepl. kal. [OFF]"; +const char MSG_TEMP_CALIBRATION_OFF_DE[] PROGMEM = "Temp. Kal. [OFF]"; const char * const MSG_TEMP_CALIBRATION_OFF_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_OFF_EN, MSG_TEMP_CALIBRATION_OFF_CZ, - MSG_TEMP_CALIBRATION_OFF_EN, - MSG_TEMP_CALIBRATION_OFF_EN, - MSG_TEMP_CALIBRATION_OFF_EN, - MSG_TEMP_CALIBRATION_OFF_EN + MSG_TEMP_CALIBRATION_OFF_IT, + MSG_TEMP_CALIBRATION_OFF_ES, + MSG_TEMP_CALIBRATION_OFF_PL, + MSG_TEMP_CALIBRATION_OFF_DE }; const char MSG_TEMP_CALIBRATION_ON_EN[] PROGMEM = "Temp. cal. [ON]"; const char MSG_TEMP_CALIBRATION_ON_CZ[] PROGMEM = "Tepl. kal. [ON]"; +const char MSG_TEMP_CALIBRATION_ON_IT[] PROGMEM = "Cal. temp. [ON]"; +const char MSG_TEMP_CALIBRATION_ON_ES[] PROGMEM = "Cal. temp. [ON]"; +const char MSG_TEMP_CALIBRATION_ON_PL[] PROGMEM = "Ciepl. kal. [ON]"; +const char MSG_TEMP_CALIBRATION_ON_DE[] PROGMEM = "Temp. Kal. [ON]"; const char * const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM] PROGMEM = { MSG_TEMP_CALIBRATION_ON_EN, MSG_TEMP_CALIBRATION_ON_CZ, - MSG_TEMP_CALIBRATION_ON_EN, - MSG_TEMP_CALIBRATION_ON_EN, - MSG_TEMP_CALIBRATION_ON_EN, - MSG_TEMP_CALIBRATION_ON_EN + MSG_TEMP_CALIBRATION_ON_IT, + MSG_TEMP_CALIBRATION_ON_ES, + MSG_TEMP_CALIBRATION_ON_PL, + MSG_TEMP_CALIBRATION_ON_DE }; const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN[] PROGMEM = "SD card [normal]"; diff --git a/Firmware/language_all.h b/Firmware/language_all.h index 1844f09c1b..968a074f38 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -201,12 +201,8 @@ extern const char* const MSG_FILE_SAVED_LANG_TABLE[1]; #define MSG_FILE_SAVED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_SAVED_LANG_TABLE, 0) extern const char* const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM]; #define MSG_FIL_ADJUSTING LANG_TABLE_SELECT(MSG_FIL_ADJUSTING_LANG_TABLE) -extern const char* const MSG_FIL_LOADED_CHECK_LANG_TABLE[LANG_NUM]; -#define MSG_FIL_LOADED_CHECK LANG_TABLE_SELECT(MSG_FIL_LOADED_CHECK_LANG_TABLE) -extern const char* const MSG_FIL_TUNING_LANG_TABLE[LANG_NUM]; -#define MSG_FIL_TUNING LANG_TABLE_SELECT(MSG_FIL_TUNING_LANG_TABLE) -extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[1]; -#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION LANG_TABLE_SELECT_EXPLICIT(MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE, 0) +extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM]; +#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE) extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM]; #define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE) extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM]; diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h index b5892df589..f92e6d6eb8 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -212,6 +212,7 @@ #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 9" #define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Merim referencni vysku kalibracniho bodu" #define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9" +#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iterace " #define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen." #define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibrace XYZ selhala. Nahlednete do manualu." @@ -252,8 +253,7 @@ #define MSG_FILAMENT_LOADING_T2 "Vložte filament do extruderu 3. Potvrdte tlacitkem." #define MSG_FILAMENT_LOADING_T3 "Vložte filament do extruderu 4. Potvrdte tlacitkem." #define MSG_CHANGE_EXTR "Zmenit extruder" -#define MSG_FIL_LOADED_CHECK "Je filament zaveden?" -#define MSG_FIL_TUNING "Otacenim tlacitka doladte pozici filamentu." + #define MSG_FIL_ADJUSTING "Probiha srovnani filamentu. Prosim cekejte." #define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenty jsou srovnany. Pro uspesnou kalibraci prosim ocistete trysku. Po te potvrdte tlacitkem." #define MSG_CALIBRATE_E "Kalibrovat E" @@ -275,7 +275,7 @@ #define MSG_PID_RUNNING "PID kal. " #define MSG_CALIBRATE_PINDA "Zkalibrovat" -#define MSG_CALIBRATION_PINDA_MENU "Teplotni kalibrace" +#define MSG_CALIBRATION_PINDA_MENU "Teplot. kalibrace" #define MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana" #define MSG_PINDA_PREHEAT "Nahrivani PINDA" #define MSG_TEMP_CALIBRATION "Tepl. kal. " diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 79383f26f0..204cc70ca8 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -238,8 +238,6 @@ #define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Insert filament into extruder 4. Click when done." #define(length=20, lines=1) MSG_CHANGE_EXTR "Change extruder" -#define(length=20, lines=1) MSG_FIL_LOADED_CHECK "Is filament loaded?" -#define(length=20, lines=2) MSG_FIL_TUNING "Rotate the knob to adjust filament." #define(length=20, lines=4) MSG_FIL_ADJUSTING "Adjusting filaments. Please wait." #define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done." #define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten" diff --git a/Firmware/language_es.h b/Firmware/language_es.h index cb1e9563ec..7a43092f49 100644 --- a/Firmware/language_es.h +++ b/Firmware/language_es.h @@ -206,6 +206,7 @@ #define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Medir la altura del punto de la calibracion" #define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " de 9" +#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracion " #define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracion XYZ fallada. Puntos de calibracion en la cama no encontrados." #define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracion XYZ fallada. Consultar el manual por favor." #define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracion XYZ ok. Ejes X/Y perpendiculares. Felicitaciones!" @@ -242,8 +243,7 @@ #define MSG_FILAMENT_LOADING_T2 "Insertar filamento en el extrusor 3. Haga clic una vez terminado." #define MSG_FILAMENT_LOADING_T3 "Insertar filamento en el extrusor 4. Haga clic una vez terminado." #define MSG_CHANGE_EXTR "Cambiar extrusor." -#define MSG_FIL_LOADED_CHECK "Esta cargado el filamento?" -#define MSG_FIL_TUNING "Rotar el mando para ajustar el filamento." + #define MSG_FIL_ADJUSTING "Ajustando filamentos. Esperar por favor." #define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamentos ajustados. Limpie la boquilla para calibracion. Haga clic una vez terminado." #define MSG_CALIBRATE_E "Calibrar E" @@ -253,4 +253,21 @@ #define MSG_WAITING_TEMP "Esperando enfriamiento de la cama y del extrusor." #define MSG_FILAMENT_CLEAN "Es el nuevo color nitido?" #define MSG_UNLOADING_FILAMENT "Soltando filamento" -#define MSG_PAPER "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente." \ No newline at end of file +#define MSG_PAPER "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente." + +#define MSG_FINISHING_MOVEMENTS "Term. movimientos" +#define MSG_PRINT_PAUSED "Impresion en pausa" +#define MSG_RESUMING_PRINT "Reanudar impresion" +#define MSG_PID_EXTRUDER "Calibracion PID" +#define MSG_SET_TEMPERATURE "Establecer temp.:" +#define MSG_PID_FINISHED "Cal. PID terminada" +#define MSG_PID_RUNNING "Cal. PID " + +#define MSG_CALIBRATE_PINDA "Calibrar" +#define MSG_CALIBRATION_PINDA_MENU "Calibracion temp." +#define MSG_PINDA_NOT_CALIBRATED "La temperatura de calibracion no ha sido ajustada" +#define MSG_PINDA_PREHEAT "Calentando PINDA" +#define MSG_TEMP_CALIBRATION "Cal. temp. " +#define MSG_TEMP_CALIBRATION_DONE "Calibracon temperatura terminada. Presionar para continuar." +#define MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]" +#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]" \ No newline at end of file diff --git a/Firmware/language_it.h b/Firmware/language_it.h index fcb40120d3..26f5ae484a 100644 --- a/Firmware/language_it.h +++ b/Firmware/language_it.h @@ -237,8 +237,7 @@ #define MSG_FILAMENT_LOADING_T2 "Inserire filamento nell'estrusore 3. Click per continuare." #define MSG_FILAMENT_LOADING_T3 "Inserire filamento nell'estrusore 4. Click per continuare." #define MSG_CHANGE_EXTR "Cambio estrusore." -#define MSG_FIL_LOADED_CHECK "Filamento caricato?" -#define MSG_FIL_TUNING "Girare la manopola per regolare il filamento" + #define MSG_FIL_ADJUSTING "Filamento in fase di regolazione. Attendere prego." #define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "I filamenti sono regolati. Si prega di pulire l'ugello per la calibrazione. Click per continuare." #define MSG_CALIBRATE_E "Calibra E" @@ -250,3 +249,19 @@ #define MSG_UNLOADING_FILAMENT "Rilasc. filamento" #define MSG_PAPER "Porre un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere prontamente la stampante." +#define MSG_FINISHING_MOVEMENTS "Arresto in corso" +#define MSG_PRINT_PAUSED "Stampa in pausa" +#define MSG_RESUMING_PRINT "Stampa in ripresa" +#define MSG_PID_EXTRUDER "Calibrazione PID" +#define MSG_SET_TEMPERATURE "Imposta temperatura" +#define MSG_PID_FINISHED "Cal. PID completa" +#define MSG_PID_RUNNING "Cal. PID" + +#define MSG_CALIBRATE_PINDA "Calibrare" +#define MSG_CALIBRATION_PINDA_MENU "Taratura temp." +#define MSG_PINDA_NOT_CALIBRATED "Taratura della temperatura non ancora eseguita" +#define MSG_PINDA_PREHEAT "Riscald. PINDA" +#define MSG_TEMP_CALIBRATION "Cal. temp. " +#define MSG_TEMP_CALIBRATION_DONE "Taratura temperatura terminata. Fare click per continuare." +#define MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]" +#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]" \ No newline at end of file diff --git a/Firmware/language_pl.h b/Firmware/language_pl.h index 6df047c6cf..83fbfa8b97 100644 --- a/Firmware/language_pl.h +++ b/Firmware/language_pl.h @@ -248,8 +248,7 @@ #define MSG_FILAMENT_LOADING_T2 "Wloz filament do ekstrudera 3. Potwierdz przyciskiem." #define MSG_FILAMENT_LOADING_T3 "Wloz filament do ekstrudera 4. Potwierdz przyciskiem." #define MSG_CHANGE_EXTR "Zmienic ekstruder" -#define MSG_FIL_LOADED_CHECK "Czy filament jest wprowadzony?" -#define MSG_FIL_TUNING "Obrotem przycisku dostroj pozycje filamentu." + #define MSG_FIL_ADJUSTING "Przebiega wyrownanie filamentow. Prosze czekac." #define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Dla prawidlowej kalibracji prosze oczyscic dysze. Potem potwierdzic przyciskiem." #define MSG_CALIBRATE_E "Kalibruj E" @@ -259,4 +258,21 @@ #define MSG_WAITING_TEMP "Oczekiwanie na wychlodzenie dyszy i podkladki." #define MSG_FILAMENT_CLEAN "Czy kolor jest czysty?" #define MSG_UNLOADING_FILAMENT "Wysuwam filament" -#define MSG_PAPER "Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke." \ No newline at end of file +#define MSG_PAPER "Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke." + +#define MSG_FINISHING_MOVEMENTS "Konczenie druku" +#define MSG_PRINT_PAUSED "Druk zatrzymany" +#define MSG_RESUMING_PRINT "Wznawianie druku" +#define MSG_PID_EXTRUDER "Kalibracja PID" +#define MSG_SET_TEMPERATURE "Ustawic temperature" +#define MSG_PID_FINISHED "Kal. PID zakonczona" +#define MSG_PID_RUNNING "Kal. PID" + +#define MSG_CALIBRATE_PINDA "Skalibrowac" +#define MSG_CALIBRATION_PINDA_MENU "Cieplna kalibr." +#define MSG_PINDA_NOT_CALIBRATED "Cieplna kalibracja nie byla przeprowadzona" +#define MSG_PINDA_PREHEAT "Grzanie PINDA" +#define MSG_TEMP_CALIBRATION "Ciepl. kal. " +#define MSG_TEMP_CALIBRATION_DONE "Cieplna kalibracja zakonczona. Kontynuuj przyciskiem" +#define MSG_TEMP_CALIBRATION_ON "Ciepl. kal. [ON]" +#define MSG_TEMP_CALIBRATION_OFF "Ciepl. kal. [OFF]" \ No newline at end of file From 3dfe8d687546732f16e60643c196bb53167e215b Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 28 Apr 2017 11:44:42 +0200 Subject: [PATCH 8/9] unload all filament initial version --- Firmware/ultralcd.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3cab41c391..94c3ad7610 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3131,6 +3131,13 @@ static void extr_change_3() { } //wrapper functions for unloading filament +static void extr_unload_all() { + for (int i = 0; i < 4; i++) { + change_extr(i); + extr_unload(); + } +} + static void extr_unload_0() { change_extr(0); extr_unload(); @@ -3166,6 +3173,7 @@ static void fil_unload_menu() { START_MENU(); MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, PSTR("Unload all"), extr_unload_all); MENU_ITEM(function, PSTR("Unload filament 1"), extr_unload_0); MENU_ITEM(function, PSTR("Unload filament 2"), extr_unload_1); MENU_ITEM(function, PSTR("Unload filament 3"), extr_unload_2); From f28252f5639d24e840aadc01372b2c6d5c56b592 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Fri, 28 Apr 2017 11:45:32 +0200 Subject: [PATCH 9/9] changed version number --- Firmware/Configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index a24ec4cac6..c3459ebf15 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -5,7 +5,7 @@ #include "Configuration_prusa.h" // Firmware version -#define FW_version "3.0.10-10" +#define FW_version "3.0.10-11" #define FW_PRUSA3D_MAGIC "PRUSA3DFW" #define FW_PRUSA3D_MAGIC_LEN 10