Update the stats menu to include longest job and extruded filament

This commit is contained in:
João Brázio 2016-07-23 02:48:21 +01:00
parent 86d9311495
commit 9e5dbf67e8
2 changed files with 35 additions and 13 deletions

View file

@ -561,22 +561,35 @@
#define MSG_INFO_PRINT_COUNT "Print Count" #define MSG_INFO_PRINT_COUNT "Print Count"
#endif #endif
#ifndef MSG_INFO_COMPLETED_PRINTS #ifndef MSG_INFO_COMPLETED_PRINTS
#define MSG_INFO_COMPLETED_PRINTS "Completed " #define MSG_INFO_COMPLETED_PRINTS "Completed"
#endif #endif
#ifndef MSG_INFO_PRINT_TIME #ifndef MSG_INFO_PRINT_TIME
#define MSG_INFO_PRINT_TIME "Total Time " #define MSG_INFO_PRINT_TIME "Total print time"
#endif
#ifndef MSG_INFO_PRINT_LONGEST
#define MSG_INFO_PRINT_LONGEST "Longest job time"
#endif
#ifndef MSG_INFO_PRINT_FILAMENT
#define MSG_INFO_PRINT_FILAMENT "Extruded total"
#endif #endif
#else #else
#ifndef MSG_INFO_PRINT_COUNT #ifndef MSG_INFO_PRINT_COUNT
#define MSG_INFO_PRINT_COUNT "Prints " #define MSG_INFO_PRINT_COUNT "Prints"
#endif #endif
#ifndef MSG_INFO_COMPLETED_PRINTS #ifndef MSG_INFO_COMPLETED_PRINTS
#define MSG_INFO_COMPLETED_PRINTS "Completed" #define MSG_INFO_COMPLETED_PRINTS "Completed"
#endif #endif
#ifndef MSG_INFO_PRINT_TIME #ifndef MSG_INFO_PRINT_TIME
#define MSG_INFO_PRINT_TIME "Duration " #define MSG_INFO_PRINT_TIME "Total"
#endif
#ifndef MSG_INFO_PRINT_LONGEST
#define MSG_INFO_PRINT_LONGEST "Longest"
#endif
#ifndef MSG_INFO_PRINT_FILAMENT
#define MSG_INFO_PRINT_FILAMENT "Extruded"
#endif #endif
#endif #endif
#ifndef MSG_INFO_MIN_TEMP #ifndef MSG_INFO_MIN_TEMP
#define MSG_INFO_MIN_TEMP "Min Temp" #define MSG_INFO_MIN_TEMP "Min Temp"
#endif #endif

View file

@ -1972,17 +1972,26 @@ void kill_screen(const char* lcd_msg) {
static void lcd_info_stats_menu() { static void lcd_info_stats_menu() {
if (LCD_CLICKED) { lcd_goto_previous_menu(true); return; } if (LCD_CLICKED) { lcd_goto_previous_menu(true); return; }
printStatistics stats = print_job_timer.getStats();
timestamp_t time(stats.printTime);
char buffer[21]; char buffer[21];
time.toString(buffer); printStatistics stats = print_job_timer.getStats();
START_SCREEN(); // 12345678901234567890 START_SCREEN(); // 12345678901234567890
STATIC_ITEM(MSG_INFO_PRINT_COUNT ": ", false, false, itostr3left(stats.totalPrints)); // Print Count: 999 STATIC_ITEM(MSG_INFO_PRINT_COUNT ": ", false, false, itostr3left(stats.totalPrints)); // Print Count: 999
STATIC_ITEM(MSG_INFO_COMPLETED_PRINTS": ", false, false, itostr3left(stats.finishedPrints)); // Completed : 666 STATIC_ITEM(MSG_INFO_COMPLETED_PRINTS" : ", false, false, itostr3left(stats.finishedPrints)); // Completed : 666
STATIC_ITEM(MSG_INFO_PRINT_TIME ": ", false, false); // Total Time :
STATIC_ITEM(" ", false, false, buffer); // 12345d 12h 34m timestamp_t time(stats.printTime);
time.toString(buffer);
STATIC_ITEM(MSG_INFO_PRINT_TIME ": ", false, false); // Total print Time:
STATIC_ITEM("", false, false, buffer); // 99y 364d 23h 59m 59s
time.timestamp = stats.longestPrint;
time.toString(buffer);
STATIC_ITEM(MSG_INFO_PRINT_LONGEST ": ", false, false); // Longest job time:
STATIC_ITEM("", false, false, buffer); // 99y 364d 23h 59m 59s
sprintf_P(buffer, PSTR("%im"), stats.filamentUsed / 1000);
STATIC_ITEM(MSG_INFO_PRINT_FILAMENT ": ", false, false); // Extruded total:
STATIC_ITEM("", false, false, buffer); // 125m
END_SCREEN(); END_SCREEN();
} }
#endif // PRINTCOUNTER #endif // PRINTCOUNTER