|
@@ -903,18 +903,22 @@ FORCE_INLINE void process_commands()
|
903
|
903
|
}
|
904
|
904
|
else
|
905
|
905
|
{
|
906
|
|
- #if ((E_ENABLE_PIN != X_ENABLE_PIN) && (E_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS
|
907
|
|
- if(code_seen('E')) {
|
908
|
|
- st_synchronize();
|
909
|
|
- LCD_MESSAGEPGM("Free Move");
|
910
|
|
- disable_e();
|
911
|
|
- }
|
912
|
|
- else {
|
|
906
|
+ bool all_axis = !((code_seen(axis_codes[0])) || (code_seen(axis_codes[1])) || (code_seen(axis_codes[2]))|| (code_seen(axis_codes[3])));
|
|
907
|
+ if(all_axis)
|
|
908
|
+ {
|
913
|
909
|
finishAndDisableSteppers();
|
914
|
910
|
}
|
915
|
|
- #else
|
916
|
|
- finishAndDisableSteppers();
|
917
|
|
- #endif
|
|
911
|
+ else
|
|
912
|
+ {
|
|
913
|
+ st_synchronize();
|
|
914
|
+ if(code_seen('X')) disable_x();
|
|
915
|
+ if(code_seen('Y')) disable_y();
|
|
916
|
+ if(code_seen('Z')) disable_z();
|
|
917
|
+ #if ((E_ENABLE_PIN != X_ENABLE_PIN) && (E_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS
|
|
918
|
+ if(code_seen('E')) disable_e();
|
|
919
|
+ #endif
|
|
920
|
+ LCD_MESSAGEPGM("Partial Release");
|
|
921
|
+ }
|
918
|
922
|
}
|
919
|
923
|
break;
|
920
|
924
|
case 85: // M85
|