Bladeren bron

Save/restore Relative modes in Power-Loss Recovery (#13501)

Msq001 6 jaren geleden
bovenliggende
commit
f0d14b83bc
2 gewijzigde bestanden met toevoegingen van 11 en 0 verwijderingen
  1. 8
    0
      Marlin/src/feature/power_loss_recovery.cpp
  2. 3
    0
      Marlin/src/feature/power_loss_recovery.h

+ 8
- 0
Marlin/src/feature/power_loss_recovery.cpp Bestand weergeven

185
       info.retract_hop = fwretract.current_hop;
185
       info.retract_hop = fwretract.current_hop;
186
     #endif
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
     // Commands in the queue
192
     // Commands in the queue
189
     info.commands_in_queue = save_queue ? commands_in_queue : 0;
193
     info.commands_in_queue = save_queue ? commands_in_queue : 0;
190
     info.cmd_queue_index_r = cmd_queue_index_r;
194
     info.cmd_queue_index_r = cmd_queue_index_r;
339
   sprintf_P(cmd, PSTR("G1 F%d"), info.feedrate);
343
   sprintf_P(cmd, PSTR("G1 F%d"), info.feedrate);
340
   gcode.process_subcommands_now(cmd);
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
   // Process commands from the old pending queue
350
   // Process commands from the old pending queue
343
   uint8_t c = info.commands_in_queue, r = info.cmd_queue_index_r;
351
   uint8_t c = info.commands_in_queue, r = info.cmd_queue_index_r;
344
   for (; c--; r = (r + 1) % BUFSIZE)
352
   for (; c--; r = (r + 1) % BUFSIZE)

+ 3
- 0
Marlin/src/feature/power_loss_recovery.h Bestand weergeven

76
     #endif
76
     #endif
77
   #endif
77
   #endif
78
 
78
 
79
+  // Relative mode
80
+  bool relative_mode, relative_modes_e;
81
+
79
   // Command queue
82
   // Command queue
80
   uint8_t commands_in_queue, cmd_queue_index_r;
83
   uint8_t commands_in_queue, cmd_queue_index_r;
81
   char command_queue[BUFSIZE][MAX_CMD_SIZE];
84
   char command_queue[BUFSIZE][MAX_CMD_SIZE];

Laden…
Annuleren
Opslaan