فهرست منبع

waiting for pinda probe cooling

PavelSindler 6 سال پیش
والد
کامیت
043c8c66be
7فایلهای تغییر یافته به همراه35 افزوده شده و 0 حذف شده
  1. 4 0
      Firmware/Marlin_main.cpp
  2. 7 0
      Firmware/language_all.cpp
  3. 2 0
      Firmware/language_all.h
  4. 1 0
      Firmware/language_cz.h
  5. 1 0
      Firmware/language_en.h
  6. 19 0
      Firmware/ultralcd.cpp
  7. 1 0
      Firmware/ultralcd.h

+ 4 - 0
Firmware/Marlin_main.cpp

@@ -3459,6 +3459,10 @@ void process_commands()
 				st_synchronize();
 				lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET);
 			}
+			if ((current_temperature_pinda > 35) && (farm_mode == false)) {
+				//waiting for PIDNA probe to cool down in case that we are not in farm mode
+				lcd_wait_for_pinda(35);
+			}
 			lcd_update_enable(true);
 			KEEPALIVE_STATE(NOT_BUSY); //no need to print busy messages as we print current temperatures periodicaly
 			SERIAL_ECHOLNPGM("PINDA probe calibration start");

+ 7 - 0
Firmware/language_all.cpp

@@ -2354,6 +2354,13 @@ const char * const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM] PROGMEM = {
 	MSG_WAITING_TEMP_CZ
 };
 
+const char MSG_WAITING_TEMP_PINDA_EN[] PROGMEM = "Waiting for PINDA probe cooling";
+const char MSG_WAITING_TEMP_PINDA_CZ[] PROGMEM = "Cekani na zchladnuti PINDA";
+const char * const MSG_WAITING_TEMP_PINDA_LANG_TABLE[LANG_NUM] PROGMEM = {
+	MSG_WAITING_TEMP_PINDA_EN,
+	MSG_WAITING_TEMP_PINDA_CZ
+};
+
 const char MSG_WATCH_EN[] PROGMEM = "Info screen";
 const char MSG_WATCH_CZ[] PROGMEM = "Informace";
 const char * const MSG_WATCH_LANG_TABLE[LANG_NUM] PROGMEM = {

+ 2 - 0
Firmware/language_all.h

@@ -770,6 +770,8 @@ extern const char* const MSG_VTRAV_MIN_LANG_TABLE[1];
 #define MSG_VTRAV_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_VTRAV_MIN_LANG_TABLE, 0)
 extern const char* const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM];
 #define MSG_WAITING_TEMP LANG_TABLE_SELECT(MSG_WAITING_TEMP_LANG_TABLE)
+extern const char* const MSG_WAITING_TEMP_PINDA_LANG_TABLE[LANG_NUM];
+#define MSG_WAITING_TEMP_PINDA LANG_TABLE_SELECT(MSG_WAITING_TEMP_PINDA_LANG_TABLE)
 extern const char* const MSG_WATCH_LANG_TABLE[LANG_NUM];
 #define MSG_WATCH LANG_TABLE_SELECT(MSG_WATCH_LANG_TABLE)
 extern const char* const MSG_WATCHDOG_RESET_LANG_TABLE[1];

+ 1 - 0
Firmware/language_cz.h

@@ -414,3 +414,4 @@
 #define MSG_CHANGED_MOTHERBOARD		 "Varovani: doslo ke zmene typu motherboardu."
 #define MSG_CHANGED_PRINTER			 "Varovani: doslo ke zmene typu tiskarny."
 #define MSG_CHANGED_BOTH			 "Varovani: doslo ke zmene typu tiskarny a motherboardu."
+#define MSG_WAITING_TEMP_PINDA		 "Cekani na zchladnuti PINDA"

+ 1 - 0
Firmware/language_en.h

@@ -422,3 +422,4 @@
 #define(length=20, lines=4) MSG_CHANGED_MOTHERBOARD		 "Warning: motherboard type changed."
 #define(length=20, lines=4) MSG_CHANGED_PRINTER			 "Warning: printer type changed."
 #define(length=20, lines=4) MSG_CHANGED_BOTH			 "Warning: both printer type and motherboard type changed."
+#define(length=20, lines=3) MSG_WAITING_TEMP_PINDA		 "Waiting for PINDA probe cooling"

+ 19 - 0
Firmware/ultralcd.cpp

@@ -2600,6 +2600,25 @@ void lcd_adjust_z() {
 
 }
 
+void lcd_wait_for_pinda(uint8_t temp) {
+	lcd_set_custom_characters_degree();
+	setTargetHotend(0, 0);
+	setTargetBed(0);
+	while (current_temperature_pinda > temp){
+		lcd_display_message_fullscreen_P(MSG_WAITING_TEMP_PINDA);
+
+		lcd.setCursor(0, 4);
+		lcd.print(LCD_STR_THERMOMETER[0]);
+		lcd.print(ftostr3(current_temperature_pinda));
+		lcd.print("/35");
+		lcd.print(LCD_STR_DEGREE);
+		delay_keep_alive(1000);
+		serialecho_temperatures();
+	}
+	lcd_set_custom_characters_arrows();
+	lcd_update_enable(true);
+}
+
 void lcd_wait_for_heater() {
 	lcd_display_message_fullscreen_P(MSG_WIZARD_HEATING);
 

+ 1 - 0
Firmware/ultralcd.h

@@ -267,6 +267,7 @@ void lcd_farm_sdcard_menu_w();
 
 void lcd_wait_for_heater();
 void lcd_wait_for_cool_down();
+void lcd_wait_for_pinda(uint8_t temp);
 void adjust_bed_reset();
 void lcd_extr_cal_reset();