|
@@ -316,6 +316,8 @@ uint8_t print_percent_done_normal = PRINT_PERCENT_DONE_INIT;
|
|
|
uint16_t print_time_remaining_normal = PRINT_TIME_REMAINING_INIT; //estimated remaining print time in minutes
|
|
|
uint8_t print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
|
|
uint16_t print_time_remaining_silent = PRINT_TIME_REMAINING_INIT; //estimated remaining print time in minutes
|
|
|
+uint16_t print_time_to_change_normal = PRINT_TIME_REMAINING_INIT; //estimated remaining time to next change in minutes
|
|
|
+uint16_t print_time_to_change_silent = PRINT_TIME_REMAINING_INIT; //estimated remaining time to next change in minutes
|
|
|
|
|
|
uint32_t IP_address = 0;
|
|
|
|
|
@@ -6391,31 +6393,37 @@ Sigma_Exit:
|
|
|
#endif // Z_PROBE_REPEATABILITY_TEST
|
|
|
#endif // ENABLE_AUTO_BED_LEVELING
|
|
|
|
|
|
- /*!
|
|
|
- ### M73 - Set/get print progress <a href="https://reprap.org/wiki/G-code#M73:_Set.2FGet_build_percentage">M73: Set/Get build percentage</a>
|
|
|
- #### Usage
|
|
|
-
|
|
|
- M73 [ P | R | Q | S ]
|
|
|
+ /*!
|
|
|
+ ### M73 - Set/get print progress <a href="https://reprap.org/wiki/G-code#M73:_Set.2FGet_build_percentage">M73: Set/Get build percentage</a>
|
|
|
+ #### Usage
|
|
|
|
|
|
- #### Parameters
|
|
|
- - `P` - Percent in normal mode
|
|
|
- - `R` - Time remaining in normal mode
|
|
|
- - `Q` - Percent in silent mode
|
|
|
- - `S` - Time in silent mode
|
|
|
- */
|
|
|
- case 73: //M73 show percent done and time remaining
|
|
|
- if(code_seen('P')) print_percent_done_normal = code_value();
|
|
|
- if(code_seen('R')) print_time_remaining_normal = code_value();
|
|
|
- if(code_seen('Q')) print_percent_done_silent = code_value();
|
|
|
- if(code_seen('S')) print_time_remaining_silent = code_value();
|
|
|
+ M73 [ P | R | Q | S | C | D ]
|
|
|
|
|
|
- {
|
|
|
- const char* _msg_mode_done_remain = _N("%S MODE: Percent done: %d; print time remaining in mins: %d\n");
|
|
|
- printf_P(_msg_mode_done_remain, _N("NORMAL"), int(print_percent_done_normal), print_time_remaining_normal);
|
|
|
- printf_P(_msg_mode_done_remain, _N("SILENT"), int(print_percent_done_silent), print_time_remaining_silent);
|
|
|
- }
|
|
|
- break;
|
|
|
+ #### Parameters
|
|
|
+ - `P` - Percent in normal mode
|
|
|
+ - `R` - Time remaining in normal mode
|
|
|
+ - `Q` - Percent in silent mode
|
|
|
+ - `S` - Time in silent mode
|
|
|
+ - `C` - Time to change/pause/user interaction in normal mode
|
|
|
+ - `D` - Time to change/pause/user interaction in silent mode
|
|
|
+ */
|
|
|
+ //!@todo update RepRap Gcode wiki
|
|
|
+ case 73: //M73 show percent done, time remaining and time to change/pause
|
|
|
+ {
|
|
|
+ if(code_seen('P')) print_percent_done_normal = code_value();
|
|
|
+ if(code_seen('R')) print_time_remaining_normal = code_value();
|
|
|
+ if(code_seen('Q')) print_percent_done_silent = code_value();
|
|
|
+ if(code_seen('S')) print_time_remaining_silent = code_value();
|
|
|
+ if(code_seen('C')) print_time_to_change_normal = code_value();
|
|
|
+ if(code_seen('D')) print_time_to_change_silent = code_value();
|
|
|
|
|
|
+ {
|
|
|
+ const char* _msg_mode_done_remain = _N("%S MODE: Percent done: %d; print time remaining in mins: %d; Change in mins: %d\n");
|
|
|
+ printf_P(_msg_mode_done_remain, _N("NORMAL"), int(print_percent_done_normal), print_time_remaining_normal, print_time_to_change_normal);
|
|
|
+ printf_P(_msg_mode_done_remain, _N("SILENT"), int(print_percent_done_silent), print_time_remaining_silent, print_time_to_change_silent);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
/*!
|
|
|
### M104 - Set hotend temperature <a href="https://reprap.org/wiki/G-code#M104:_Set_Extruder_Temperature">M104: Set Extruder Temperature</a>
|
|
|
#### Usage
|
|
@@ -11653,46 +11661,40 @@ void print_mesh_bed_leveling_table()
|
|
|
SERIAL_ECHOLN();
|
|
|
}
|
|
|
|
|
|
-uint16_t print_time_remaining() {
|
|
|
- uint16_t print_t = PRINT_TIME_REMAINING_INIT;
|
|
|
-#ifdef TMC2130
|
|
|
- if (SilentModeMenu == SILENT_MODE_OFF) print_t = print_time_remaining_normal;
|
|
|
- else print_t = print_time_remaining_silent;
|
|
|
-#else
|
|
|
- print_t = print_time_remaining_normal;
|
|
|
-#endif //TMC2130
|
|
|
- if ((print_t != PRINT_TIME_REMAINING_INIT) && (feedmultiply != 0)) print_t = 100ul * print_t / feedmultiply;
|
|
|
- return print_t;
|
|
|
-}
|
|
|
-
|
|
|
uint8_t calc_percent_done()
|
|
|
{
|
|
|
- //in case that we have information from M73 gcode return percentage counted by slicer, else return percentage counted as byte_printed/filesize
|
|
|
- uint8_t percent_done = 0;
|
|
|
+ //in case that we have information from M73 gcode return percentage counted by slicer, else return percentage counted as byte_printed/filesize
|
|
|
+ uint8_t percent_done = 0;
|
|
|
#ifdef TMC2130
|
|
|
- if (SilentModeMenu == SILENT_MODE_OFF && print_percent_done_normal <= 100) {
|
|
|
- percent_done = print_percent_done_normal;
|
|
|
- }
|
|
|
- else if (print_percent_done_silent <= 100) {
|
|
|
- percent_done = print_percent_done_silent;
|
|
|
- }
|
|
|
+ if (SilentModeMenu == SILENT_MODE_OFF && print_percent_done_normal <= 100)
|
|
|
+ {
|
|
|
+ percent_done = print_percent_done_normal;
|
|
|
+ }
|
|
|
+ else if (print_percent_done_silent <= 100)
|
|
|
+ {
|
|
|
+ percent_done = print_percent_done_silent;
|
|
|
+ }
|
|
|
#else
|
|
|
- if (print_percent_done_normal <= 100) {
|
|
|
- percent_done = print_percent_done_normal;
|
|
|
- }
|
|
|
+ if (print_percent_done_normal <= 100)
|
|
|
+ {
|
|
|
+ percent_done = print_percent_done_normal;
|
|
|
+ }
|
|
|
#endif //TMC2130
|
|
|
- else {
|
|
|
- percent_done = card.percentDone();
|
|
|
- }
|
|
|
- return percent_done;
|
|
|
+ else
|
|
|
+ {
|
|
|
+ percent_done = card.percentDone();
|
|
|
+ }
|
|
|
+ return percent_done;
|
|
|
}
|
|
|
|
|
|
static void print_time_remaining_init()
|
|
|
{
|
|
|
- print_time_remaining_normal = PRINT_TIME_REMAINING_INIT;
|
|
|
- print_time_remaining_silent = PRINT_TIME_REMAINING_INIT;
|
|
|
- print_percent_done_normal = PRINT_PERCENT_DONE_INIT;
|
|
|
- print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
|
|
+ print_time_remaining_normal = PRINT_TIME_REMAINING_INIT;
|
|
|
+ print_percent_done_normal = PRINT_PERCENT_DONE_INIT;
|
|
|
+ print_time_remaining_silent = PRINT_TIME_REMAINING_INIT;
|
|
|
+ print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
|
|
+ print_time_to_change_normal = PRINT_TIME_REMAINING_INIT;
|
|
|
+ print_time_to_change_silent = PRINT_TIME_REMAINING_INIT;
|
|
|
}
|
|
|
|
|
|
void load_filament_final_feed()
|