Fix G90, G91, M82, M83 rel/abs modes (#15218)

This commit is contained in:
Scott Lahteine
2019-09-11 01:29:33 -05:00
committed by GitHub
parent 41a3fbceac
commit 6091e6300a
6 changed files with 39 additions and 27 deletions

View File

@ -215,9 +215,8 @@ void PrintJobRecovery::save(const bool force/*=false*/, const bool save_queue/*=
info.retract_hop = fwretract.current_hop;
#endif
// Relative mode
info.relative_mode = relative_mode;
info.relative_modes_e = gcode.axis_relative_modes[E_AXIS];
// Relative axis modes
info.axis_relative = gcode.axis_relative;
// Elapsed print job time
info.print_job_elapsed = print_job_timer.duration();
@ -392,9 +391,8 @@ void PrintJobRecovery::resume() {
sprintf_P(cmd, PSTR("G92.9 E%s"), dtostrf(info.current_position[E_AXIS], 1, 3, str_1));
gcode.process_subcommands_now(cmd);
// Relative mode
relative_mode = info.relative_mode;
gcode.axis_relative_modes[E_AXIS] = info.relative_modes_e;
// Relative axis modes
gcode.axis_relative = info.axis_relative;
#if HAS_HOME_OFFSET || HAS_POSITION_SHIFT
LOOP_XYZ(i) {

View File

@ -89,8 +89,8 @@ typedef struct {
#endif
#endif
// Relative mode
bool relative_mode, relative_modes_e;
// Relative axis modes
uint8_t axis_relative;
// SD Filename and position
char sd_filename[MAXPATHNAMELENGTH];

View File

@ -698,8 +698,6 @@ void MMU2::filament_runout() {
}
LCD_MESSAGEPGM(MSG_MMU2_EJECTING_FILAMENT);
const bool saved_e_relative_mode = gcode.axis_relative_modes[E_AXIS];
gcode.axis_relative_modes[E_AXIS] = true;
enable_E0();
current_position[E_AXIS] -= MMU2_FILAMENTCHANGE_EJECT_FEED;
@ -735,8 +733,6 @@ void MMU2::filament_runout() {
BUZZ(200, 404);
gcode.axis_relative_modes[E_AXIS] = saved_e_relative_mode;
disable_E0();
return true;
@ -784,9 +780,6 @@ void MMU2::filament_runout() {
planner.synchronize();
enable_E0();
const bool saved_e_relative_mode = gcode.axis_relative_modes[E_AXIS];
gcode.axis_relative_modes[E_AXIS] = true;
const E_Step* step = sequence;
for (uint8_t i = 0; i < steps; i++) {
@ -804,8 +797,6 @@ void MMU2::filament_runout() {
step++;
}
gcode.axis_relative_modes[E_AXIS] = saved_e_relative_mode;
disable_E0();
}