فهرست منبع

english version of xyz: place/remove steel sheet; wait for cooling down removed,

PavelSindler 7 سال پیش
والد
کامیت
eda0c6bd39
6فایلهای تغییر یافته به همراه31 افزوده شده و 17 حذف شده
  1. 7 4
      Firmware/Marlin_main.cpp
  2. 6 1
      Firmware/language_all.cpp
  3. 2 0
      Firmware/language_all.h
  4. 3 2
      Firmware/language_en.h
  5. 12 9
      Firmware/ultralcd.cpp
  6. 1 1
      Firmware/ultralcd.h

+ 7 - 4
Firmware/Marlin_main.cpp

@@ -1783,14 +1783,17 @@ bool gcode_M45(bool onlyZ) {
 	if (lcd_calibrate_z_end_stop_manual(onlyZ)) {
 #endif //TMC2130
 		refresh_cmd_timeout();
-		if (((degHotend(0) > MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) && (!onlyZ)) {
-			lcd_wait_for_cool_down();
-			lcd_show_fullscreen_message_and_wait_P(MSG_PAPER);
+		//if (((degHotend(0) > MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) && (!onlyZ)) {
+		//	lcd_wait_for_cool_down();
+		//}
+		if(!onlyZ){
+			bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_STEEL_SHEET_CHECK, false, false);
+			if(result) lcd_show_fullscreen_message_and_wait_P(MSG_REMOVE_STEEL_SHEET);
+		    lcd_show_fullscreen_message_and_wait_P(MSG_PAPER);
 			lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1);
 			lcd_implementation_print_at(0, 2, 1);
 			lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2);
 		}
-
 		// Move the print head close to the bed.
 		current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
 		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS] / 40, active_extruder);

+ 6 - 1
Firmware/language_all.cpp

@@ -2293,7 +2293,7 @@ const char * const MSG_REFRESH_LANG_TABLE[1] PROGMEM = {
 	MSG_REFRESH_EN
 };
 
-const char MSG_REMOVE_STEEL_SHEET_EN[] PROGMEM = "Please remove steel sheet.";
+const char MSG_REMOVE_STEEL_SHEET_EN[] PROGMEM = "Please remove steel sheet from heatbed.";
 const char * const MSG_REMOVE_STEEL_SHEET_LANG_TABLE[1] PROGMEM = {
 	MSG_REMOVE_STEEL_SHEET_EN
 };
@@ -3028,6 +3028,11 @@ const char * const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM] PROGMEM = {
 	MSG_STATS_TOTALPRINTTIME_DE
 };
 
+const char MSG_STEEL_SHEET_CHECK_EN[] PROGMEM = "Is steel sheet on heatbed?";
+const char * const MSG_STEEL_SHEET_CHECK_LANG_TABLE[1] PROGMEM = {
+	MSG_STEEL_SHEET_CHECK_EN
+};
+
 const char MSG_STEPPER_TOO_HIGH_EN[] PROGMEM = "Steprate too high: ";
 const char * const MSG_STEPPER_TOO_HIGH_LANG_TABLE[1] PROGMEM = {
 	MSG_STEPPER_TOO_HIGH_EN

+ 2 - 0
Firmware/language_all.h

@@ -586,6 +586,8 @@ extern const char* const MSG_STATS_TOTALFILAMENT_LANG_TABLE[LANG_NUM];
 #define MSG_STATS_TOTALFILAMENT LANG_TABLE_SELECT(MSG_STATS_TOTALFILAMENT_LANG_TABLE)
 extern const char* const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM];
 #define MSG_STATS_TOTALPRINTTIME LANG_TABLE_SELECT(MSG_STATS_TOTALPRINTTIME_LANG_TABLE)
+extern const char* const MSG_STEEL_SHEET_CHECK_LANG_TABLE[1];
+#define MSG_STEEL_SHEET_CHECK LANG_TABLE_SELECT_EXPLICIT(MSG_STEEL_SHEET_CHECK_LANG_TABLE, 0)
 extern const char* const MSG_STEPPER_TOO_HIGH_LANG_TABLE[1];
 #define MSG_STEPPER_TOO_HIGH LANG_TABLE_SELECT_EXPLICIT(MSG_STEPPER_TOO_HIGH_LANG_TABLE, 0)
 extern const char* const MSG_STOPPED_LANG_TABLE[LANG_NUM];

+ 3 - 2
Firmware/language_en.h

@@ -346,5 +346,6 @@
 #define MSG_FSENSOR_ON											"Fil. sensor  [on]"
 
 #define(length=20, lines=4) MSG_PLACE_STEEL_SHEET				"Please place steel sheet on heatbed."
-#define MSG_REMOVE_STEEL_SHEET									"Please remove steel sheet."
-#define(length=20, lines=2) MSG_CALIBRATE_Z_AUTO				"Calibrating Z"
+#define(length=20, lines=4) MSG_REMOVE_STEEL_SHEET				"Please remove steel sheet from heatbed."
+#define(length=20, lines=2) MSG_CALIBRATE_Z_AUTO				"Calibrating Z"
+#define(length=20, lines=2) MSG_STEEL_SHEET_CHECK				"Is steel sheet on heatbed?"

+ 12 - 9
Firmware/ultralcd.cpp

@@ -2365,7 +2365,7 @@ void lcd_adjust_z() {
 
 }
 
-void lcd_wait_for_cool_down() {
+/*void lcd_wait_for_cool_down() {
 	lcd_set_custom_characters_degree();
 	while ((degHotend(0)>MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) {
 		lcd_display_message_fullscreen_P(MSG_WAITING_TEMP);
@@ -2385,7 +2385,7 @@ void lcd_wait_for_cool_down() {
 		delay_keep_alive(1000);
 	}
 	lcd_set_custom_characters_arrows();
-}
+}*/
 
 // Lets the user move the Z carriage up to the end stoppers.
 // When done, it sets the current Z to Z_MAX_POS and returns true.
@@ -5402,7 +5402,8 @@ static bool lcd_selfcheck_axis_sg(char axis) {
 	case 1: axis_length = Y_MAX_POS + 8; break;
 	default: axis_length = 210; break;
 	}
-
+	//tmc2130_sg_stop_on_crash = false;
+	crashdet_disable();
 #ifdef TMC2130
 	tmc2130_home_exit();
 	enable_endstops(true);
@@ -5426,7 +5427,6 @@ static bool lcd_selfcheck_axis_sg(char axis) {
 
 
 		current_position_init = st_get_position_mm(axis);
-
 		if (i < 1) {
 			current_position[axis] += 2 * margin;
 			plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
@@ -5450,8 +5450,8 @@ static bool lcd_selfcheck_axis_sg(char axis) {
 			st_synchronize();
 		}
 		measured_axis_length[i] = abs(current_position_final - current_position_init);
-		//SERIAL_ECHOPGM("Measured axis length:");
-		//MYSERIAL.println(measured_axis_length[i]);
+		SERIAL_ECHOPGM("Measured axis length:");
+		MYSERIAL.println(measured_axis_length[i]);
 		if (abs(measured_axis_length[i] - axis_length) > max_error_mm) {
 			//axis length
 #ifdef TMC2130
@@ -5466,12 +5466,14 @@ static bool lcd_selfcheck_axis_sg(char axis) {
 			if (axis == Z_AXIS) _error_1 = "Z";
 
 			lcd_selftest_error(9, _error_1, _error_2);
+			//crashdet_enable();
+			//uint8_t crashdet = eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET);
 			return false;
 		}
 	}
 
-	//SERIAL_ECHOPGM("Axis length difference:");
-	//MYSERIAL.println(abs(measured_axis_length[0] - measured_axis_length[1]));
+	SERIAL_ECHOPGM("Axis length difference:");
+	MYSERIAL.println(abs(measured_axis_length[0] - measured_axis_length[1]));
 	
 		if (abs(measured_axis_length[0] - measured_axis_length[1]) > 1) {
 			//loose pulleys
@@ -5483,9 +5485,10 @@ static bool lcd_selfcheck_axis_sg(char axis) {
 			if (axis == Z_AXIS) _error_1 = "Z";
 
 			lcd_selftest_error(8, _error_1, _error_2);
+			//crashdet_enable();
 			return false;
 		}
-
+		//crashdet_enable();
 		return true;
 }
 	

+ 1 - 1
Firmware/ultralcd.h

@@ -250,7 +250,7 @@ void lcd_farm_sdcard_menu();
 void lcd_farm_sdcard_menu_w();
 //void get_description();
 
-void lcd_wait_for_cool_down();
+//void lcd_wait_for_cool_down();
 void adjust_bed_reset();
 void lcd_extr_cal_reset();