浏览代码

pinda preheating messages changed

PavelSindler 8 年之前
父节点
当前提交
50b7f627cd
共有 4 个文件被更改,包括 13 次插入5 次删除
  1. 8 2
      Firmware/Marlin_main.cpp
  2. 2 2
      Firmware/language_all.cpp
  3. 1 1
      Firmware/language_en.h
  4. 2 0
      Firmware/ultralcd_implementation_hitachi_HD44780.h

+ 8 - 2
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;
 }
 

+ 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 = "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,

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

+ 2 - 0
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);
 			}