added a partial release option to "m84" aka "stepper release". If you do tiny layers, you might want to keep the z-axis powered to not loose height positioning after homeing.

This commit is contained in:
Bernhard 2011-12-09 12:51:08 +01:00
parent cc4a9cdb69
commit 5b4625f79c
3 changed files with 16 additions and 11 deletions

View File

@ -292,6 +292,7 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th
//#define ULTRA_LCD //general lcd support, also 16x2 //#define ULTRA_LCD //general lcd support, also 16x2
//#define SDSUPPORT // Enable SD Card Support in Hardware Console //#define SDSUPPORT // Enable SD Card Support in Hardware Console
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? #define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
#define SD_FINISHED_RELEASECOMMAND "M84 X Y E" // no z because of layer shift.
//#define ULTIPANEL //#define ULTIPANEL
#ifdef ULTIPANEL #ifdef ULTIPANEL

View File

@ -903,18 +903,22 @@ FORCE_INLINE void process_commands()
} }
else else
{ {
#if ((E_ENABLE_PIN != X_ENABLE_PIN) && (E_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS bool all_axis = !((code_seen(axis_codes[0])) || (code_seen(axis_codes[1])) || (code_seen(axis_codes[2]))|| (code_seen(axis_codes[3])));
if(code_seen('E')) { if(all_axis)
{
finishAndDisableSteppers();
}
else
{
st_synchronize(); st_synchronize();
LCD_MESSAGEPGM("Free Move"); if(code_seen('X')) disable_x();
disable_e(); if(code_seen('Y')) disable_y();
} if(code_seen('Z')) disable_z();
else { #if ((E_ENABLE_PIN != X_ENABLE_PIN) && (E_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS
finishAndDisableSteppers(); if(code_seen('E')) disable_e();
}
#else
finishAndDisableSteppers();
#endif #endif
LCD_MESSAGEPGM("Partial Release");
}
} }
break; break;
case 85: // M85 case 85: // M85

View File

@ -436,7 +436,7 @@ void CardReader::printingHasFinished()
if(SD_FINISHED_STEPPERRELEASE) if(SD_FINISHED_STEPPERRELEASE)
{ {
//finishAndDisableSteppers(); //finishAndDisableSteppers();
enquecommand("M84"); enquecommand(SD_FINISHED_RELEASECOMMAND);
} }
autotempShutdown(); autotempShutdown();
} }