Browse Source

Return buffer in duration.toString

Scott Lahteine 4 years ago
parent
commit
d683f98019

+ 2
- 2
Marlin/src/gcode/stats/M31.cpp View File

@@ -31,8 +31,8 @@
31 31
  */
32 32
 void GcodeSuite::M31() {
33 33
   char buffer[21];
34
-  duration_t elapsed = print_job_timer.duration();
35
-  elapsed.toString(buffer);
34
+  duration_t(print_job_timer.duration()).toString(buffer);
35
+
36 36
   ui.set_status(buffer);
37 37
 
38 38
   SERIAL_ECHO_START();

+ 2
- 2
Marlin/src/lcd/extensible_ui/ui_api.cpp View File

@@ -842,8 +842,8 @@ namespace ExtUI {
842 842
   #if ENABLED(PRINTCOUNTER)
843 843
     char* getTotalPrints_str(char buffer[21])    { strcpy(buffer,i16tostr3left(print_job_timer.getStats().totalPrints));    return buffer; }
844 844
     char* getFinishedPrints_str(char buffer[21]) { strcpy(buffer,i16tostr3left(print_job_timer.getStats().finishedPrints)); return buffer; }
845
-    char* getTotalPrintTime_str(char buffer[21]) { duration_t(print_job_timer.getStats().printTime).toString(buffer);       return buffer; }
846
-    char* getLongestPrint_str(char buffer[21])   { duration_t(print_job_timer.getStats().longestPrint).toString(buffer);    return buffer; }
845
+    char* getTotalPrintTime_str(char buffer[21]) { return duration_t(print_job_timer.getStats().printTime).toString(buffer); }
846
+    char* getLongestPrint_str(char buffer[21])   { return duration_t(print_job_timer.getStats().longestPrint).toString(buffer); }
847 847
     char* getFilamentUsed_str(char buffer[21])   {
848 848
       printStatistics stats = print_job_timer.getStats();
849 849
       sprintf_P(buffer, PSTR("%ld.%im"), long(stats.filamentUsed / 1000), int16_t(stats.filamentUsed / 100) % 10);

+ 5
- 16
Marlin/src/lcd/menu/menu_info.cpp View File

@@ -59,40 +59,29 @@
59 59
     STATIC_PAIR(MSG_INFO_PRINT_COUNT, i16tostr3left(stats.totalPrints), false);                    // Print Count: 999
60 60
     STATIC_PAIR(MSG_INFO_COMPLETED_PRINTS, i16tostr3left(stats.finishedPrints), false);            // Completed  : 666
61 61
 
62
-    duration_t elapsed = stats.printTime;
63
-    elapsed.toString(buffer);
64
-
65 62
     STATIC_PAIR_P(MSG_INFO_PRINT_TIME, "", false);                                                 // Total print Time:
66
-    STATIC_ITEM("> ", false, false, buffer);                                                       // > 99y 364d 23h 59m 59s
63
+    STATIC_ITEM("> ", false, false, duration_t(stats.printTime).toString(buffer));                 // > 99y 364d 23h 59m 59s
67 64
 
68 65
     STATIC_PAIR_P(MSG_INFO_PRINT_LONGEST, "", false);                                              // Longest job time:
69
-    elapsed = stats.longestPrint;
70
-    elapsed.toString(buffer);
71
-    STATIC_ITEM("> ", false, false, buffer);                                                       // > 99y 364d 23h 59m 59s
66
+    STATIC_ITEM("> ", false, false, duration_t(stats.longestPrint).toString(buffer));              // > 99y 364d 23h 59m 59s
72 67
 
73 68
     STATIC_PAIR_P(MSG_INFO_PRINT_FILAMENT, "", false);                                             // Extruded total:
74 69
     sprintf_P(buffer, PSTR("%ld.%im"), long(stats.filamentUsed / 1000), int16_t(stats.filamentUsed / 100) % 10);
75 70
     STATIC_ITEM("> ", false, false, buffer);                                                       // > 125m
76 71
 
77 72
     #if SERVICE_INTERVAL_1 > 0
78
-      elapsed = stats.nextService1;
79
-      elapsed.toString(buffer);
80 73
       STATIC_ITEM(SERVICE_NAME_1 MSG_SERVICE_IN, false, false);                                    // Service X in:
81
-      STATIC_ITEM("> ", false, false, buffer);                                                     // > 7d 12h 11m 10s
74
+      STATIC_ITEM("> ", false, false, duration_t(stats.nextService1).toString(buffer));            // > 7d 12h 11m 10s
82 75
     #endif
83 76
 
84 77
     #if SERVICE_INTERVAL_2 > 0
85
-      elapsed = stats.nextService2;
86
-      elapsed.toString(buffer);
87 78
       STATIC_ITEM(SERVICE_NAME_2 MSG_SERVICE_IN, false, false);
88
-      STATIC_ITEM("> ", false, false, buffer);
79
+      STATIC_ITEM("> ", false, false, duration_t(stats.nextService2).toString(buffer));
89 80
     #endif
90 81
 
91 82
     #if SERVICE_INTERVAL_3 > 0
92
-      elapsed = stats.nextService3;
93
-      elapsed.toString(buffer);
94 83
       STATIC_ITEM(SERVICE_NAME_3 MSG_SERVICE_IN, false, false);
95
-      STATIC_ITEM("> ", false, false, buffer);
84
+      STATIC_ITEM("> ", false, false, duration_t(stats.nextService3).toString(buffer));
96 85
     #endif
97 86
 
98 87
     END_SCREEN();

+ 2
- 1
Marlin/src/libs/duration_t.h View File

@@ -120,7 +120,7 @@ struct duration_t {
120 120
    *  59m 59s
121 121
    *  59s
122 122
    */
123
-  void toString(char *buffer) const {
123
+  char* toString(char * const buffer) const {
124 124
     int y = this->year(),
125 125
         d = this->day() % 365,
126 126
         h = this->hour() % 24,
@@ -132,6 +132,7 @@ struct duration_t {
132 132
     else if (h) sprintf_P(buffer, PSTR("%ih %im %is"), h, m, s);
133 133
     else if (m) sprintf_P(buffer, PSTR("%im %is"), m, s);
134 134
     else sprintf_P(buffer, PSTR("%is"), s);
135
+    return buffer;
135 136
   }
136 137
 
137 138
   /**

+ 1
- 3
Marlin/src/module/printcounter.cpp View File

@@ -183,11 +183,9 @@ void PrintCounter::saveStats() {
183 183
 
184 184
 #if HAS_SERVICE_INTERVALS
185 185
   inline void _service_when(char buffer[], const char * const msg, const uint32_t when) {
186
-    duration_t elapsed = when;
187
-    elapsed.toString(buffer);
188 186
     SERIAL_ECHOPGM(MSG_STATS);
189 187
     serialprintPGM(msg);
190
-    SERIAL_ECHOLNPAIR(" in ", buffer);
188
+    SERIAL_ECHOLNPAIR(" in ", duration_t(when).toString(buffer));
191 189
   }
192 190
 #endif
193 191
 

Loading…
Cancel
Save