From 6d6f323535c8523341359ff3747516c86906969c Mon Sep 17 00:00:00 2001 From: Bernhard Date: Sat, 26 Nov 2011 11:51:38 +0100 Subject: [PATCH] make an option if sd-card stop should release the steppers. --- Marlin/Configuration.h | 1 + Marlin/cardreader.h | 3 ++- Marlin/cardreader.pde | 11 +++++++++++ Marlin/ultralcd.pde | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 4dea777..17a8854 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -281,6 +281,7 @@ const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of th //LCD and SD support //#define ULTRA_LCD //general lcd support, also 16x2 //#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 ULTIPANEL #ifdef ULTIPANEL diff --git a/Marlin/cardreader.h b/Marlin/cardreader.h index 18086e5..4530e4e 100644 --- a/Marlin/cardreader.h +++ b/Marlin/cardreader.h @@ -2,7 +2,7 @@ #define __CARDREADERH #ifdef SDSUPPORT - + #include "SdFile.h" enum LsAction {LS_SerialPrint,LS_Count,LS_GetFilename}; class CardReader @@ -22,6 +22,7 @@ public: void startFileprint(); void pauseSDPrint(); void getStatus(); + void printingHasFinished(); void getfilename(const uint8_t nr); uint16_t getnrfilenames(); diff --git a/Marlin/cardreader.pde b/Marlin/cardreader.pde index eec10f1..03f3f46 100644 --- a/Marlin/cardreader.pde +++ b/Marlin/cardreader.pde @@ -2,6 +2,8 @@ //#include #ifdef SDSUPPORT +#include "Configuration.h" + CardReader::CardReader() { filesize = 0; @@ -426,4 +428,13 @@ void CardReader::updir() } } + +void CardReader::printingHasFinished() +{ + sdprinting = false; + if(SD_FINISHED_STEPPERRELEASE) + { + finishAndDisableSteppers(); + } +} #endif //SDSUPPORT \ No newline at end of file diff --git a/Marlin/ultralcd.pde b/Marlin/ultralcd.pde index 91bb43d..a90a6c6 100644 --- a/Marlin/ultralcd.pde +++ b/Marlin/ultralcd.pde @@ -1471,7 +1471,7 @@ void MainMenu::showMainMenu() #endif if((activeline==line)&&CLICKED) { - card.sdprinting = false; + card.printingHasFinished(); BLOCK; status=Main_SD; beepshort();