diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 96e60577a..bb9984233 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1523,7 +1523,8 @@ void get_command() SERIAL_PROTOCOLLNRPGM(MSG_FILE_PRINTED); stoptime=millis(); char time[30]; - unsigned long t=(stoptime-starttime)/1000; + unsigned long t=(stoptime-starttime-pause_time)/1000; + pause_time = 0; int hours, minutes; minutes=(t/60)%60; hours=t/60/60; @@ -3962,7 +3963,7 @@ Sigma_Exit: heating_status = 2; if (farm_mode) { prusa_statistics(2); }; - starttime=millis(); + //starttime=millis(); previous_millis_cmd = millis(); } break; diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 746051272..82c87e521 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -545,7 +545,6 @@ void lcd_commands() enquecommand(cmd1); isPrintPaused = false; card.startFileprint(); - //starttime = pause_time; lcd_commands_step = 0; lcd_commands_type = 0; } @@ -3591,7 +3590,8 @@ void lcd_sdcard_stop() card.closefile(); stoptime = millis(); - unsigned long t = (stoptime - starttime) / 1000; //time in s + unsigned long t = (stoptime - starttime - pause_time) / 1000; //time in s + pause_time = 0; save_statistics(total_filament_used, t); lcd_return_to_status(); diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index fd8397c60..619b8185d 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -792,7 +792,7 @@ static void lcd_implementation_status_screen() lcd.print(LCD_STR_CLOCK[0]); if(starttime != 0) { - uint16_t time = (isPrintPaused || (!heating_status))? pause_time/60000 : (millis() + pause_time /*- start_time*/)/60000; //is print is paused, pause also print time + uint16_t time = millis() / 60000 - starttime / 60000; lcd.print(itostr2(time/60)); lcd.print(':'); lcd.print(itostr2(time%60));