From eda0c6bd39703aac6785508b04b39e06602d6dd9 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Mon, 13 Nov 2017 17:09:26 +0100 Subject: [PATCH] english version of xyz: place/remove steel sheet; wait for cooling down removed, --- Firmware/Marlin_main.cpp | 11 +++++++---- Firmware/language_all.cpp | 7 ++++++- Firmware/language_all.h | 2 ++ Firmware/language_en.h | 5 +++-- Firmware/ultralcd.cpp | 21 ++++++++++++--------- Firmware/ultralcd.h | 2 +- 6 files changed, 31 insertions(+), 17 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f34cd755..b7a5d0cb 100644 --- a/Firmware/Marlin_main.cpp +++ b/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); diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index 5eecf893..0b2b277a 100644 --- a/Firmware/language_all.cpp +++ b/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 diff --git a/Firmware/language_all.h b/Firmware/language_all.h index 97b30cae..421e11e4 100644 --- a/Firmware/language_all.h +++ b/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]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 87a559c7..69df531a 100644 --- a/Firmware/language_en.h +++ b/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" \ No newline at end of file +#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?" diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 3ff20c6d..a22eca1d 100644 --- a/Firmware/ultralcd.cpp +++ b/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; } diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 681e1f21..59f551b3 100644 --- a/Firmware/ultralcd.h +++ b/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();