瀏覽代碼

PINDA Preheating countdown updated

PavelSindler 8 年之前
父節點
當前提交
397039270a

+ 7 - 4
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;

+ 2 - 2
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,

+ 1 - 1
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]"

+ 1 - 1
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]"

+ 1 - 0
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

+ 4 - 2
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
+				}
 			}