diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index bbb0fbd14..cc3582dc3 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2042,7 +2042,7 @@ void process_commands() return; } else if (code_seen("SERIAL HIGH")) { MYSERIAL.println("SERIAL HIGH"); - MYSERIAL.begin(1152000); + MYSERIAL.begin(2500000); return; } else if(code_seen("Beat")) { // Kick farm link timer @@ -2828,11 +2828,12 @@ void process_commands() 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 (abs(degBed() - PINDA_MIN_T) > 1 ) delay_keep_alive(1000); //enquecommand_P(PSTR("M190 S50")); for (int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000); + calibration_status_store(CALIBRATION_STATUS_PINDA); //invalidate temp. calibration in case that in will be aborted during the calibration process current_position[Z_AXIS] = 5; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); @@ -6321,6 +6322,7 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_ #endif void temp_compensation_start() { + custom_message = true; custom_message_type = 5; custom_message_state = PINDA_HEAT_T + 1; @@ -6335,11 +6337,12 @@ 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); + } custom_message_type = 0; custom_message_state = 0; custom_message = false; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 290848ad5..5f6c8a5f7 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3131,6 +3131,13 @@ static void extr_change_3() { } //wrapper functions for unloading filament +static void extr_unload_all() { + for (int i = 0; i < 4; i++) { + change_extr(i); + extr_unload(); + } +} + static void extr_unload_0() { change_extr(0); extr_unload(); @@ -3166,6 +3173,7 @@ static void fil_unload_menu() { START_MENU(); MENU_ITEM(back, MSG_MAIN, lcd_main_menu); + MENU_ITEM(function, PSTR("Unload all"), extr_unload_all); MENU_ITEM(function, PSTR("Unload filament 1"), extr_unload_0); MENU_ITEM(function, PSTR("Unload filament 2"), extr_unload_1); MENU_ITEM(function, PSTR("Unload filament 3"), extr_unload_2); diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 366d76d7d..aa40f46d4 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/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 + } }