Add an SD Card stop function, use in ultralcd

This commit is contained in:
Scott Lahteine 2016-06-17 18:27:14 -07:00
parent 3a150f07c2
commit bbf5b486c3
3 changed files with 13 additions and 6 deletions

View file

@ -282,6 +282,13 @@ void CardReader::pauseSDPrint() {
if (sdprinting) sdprinting = false;
}
void CardReader::stopSDPrint() {
if (sdprinting) {
sdprinting = false;
file.close();
}
}
void CardReader::openLogFile(char* name) {
logging = true;
openFile(name, false);

View file

@ -48,6 +48,7 @@ public:
void openAndPrintFile(const char *name);
void startFileprint();
void pauseSDPrint();
void stopSDPrint();
void getStatus();
void printingHasFinished();

View file

@ -496,17 +496,16 @@ static void lcd_status_screen() {
}
static void lcd_sdcard_stop() {
stepper.quick_stop();
#if DISABLED(DELTA) && DISABLED(SCARA)
set_current_position_from_planner();
#endif // !DELTA && !SCARA
card.stopSDPrint();
clear_command_queue();
card.sdprinting = false;
card.closefile();
stepper.quick_stop();
print_job_timer.stop();
thermalManager.autotempShutdown();
cancel_heatup = true;
lcd_setstatus(MSG_PRINT_ABORTED, true);
#if DISABLED(DELTA) && DISABLED(SCARA)
set_current_position_from_planner();
#endif // !DELTA && !SCARA
}
#endif //SDSUPPORT