|
@@ -185,6 +185,10 @@ void PrintJobRecovery::save(const bool force/*=false*/, const bool save_queue/*=
|
185
|
185
|
info.retract_hop = fwretract.current_hop;
|
186
|
186
|
#endif
|
187
|
187
|
|
|
188
|
+ //relative mode
|
|
189
|
+ info.relative_mode = relative_mode;
|
|
190
|
+ info.relative_modes_e = gcode.axis_relative_modes[E_AXIS];
|
|
191
|
+
|
188
|
192
|
// Commands in the queue
|
189
|
193
|
info.commands_in_queue = save_queue ? commands_in_queue : 0;
|
190
|
194
|
info.cmd_queue_index_r = cmd_queue_index_r;
|
|
@@ -339,6 +343,10 @@ void PrintJobRecovery::resume() {
|
339
|
343
|
sprintf_P(cmd, PSTR("G1 F%d"), info.feedrate);
|
340
|
344
|
gcode.process_subcommands_now(cmd);
|
341
|
345
|
|
|
346
|
+ //relative mode
|
|
347
|
+ if (info.relative_mode) relative_mode = true;
|
|
348
|
+ if (info.relative_modes_e) gcode.axis_relative_modes[E_AXIS] = true;
|
|
349
|
+
|
342
|
350
|
// Process commands from the old pending queue
|
343
|
351
|
uint8_t c = info.commands_in_queue, r = info.cmd_queue_index_r;
|
344
|
352
|
for (; c--; r = (r + 1) % BUFSIZE)
|