Fix bug in CardReader::stopSDPrint

If the SD print is paused, it cannot be stopped
This commit is contained in:
Scott Lahteine
2016-08-12 03:21:10 -07:00
parent 11027a56b6
commit 61932b859e
2 changed files with 7 additions and 15 deletions

View File

@ -276,19 +276,12 @@ void CardReader::openAndPrintFile(const char *name) {
}
void CardReader::startFileprint() {
if (cardOK)
sdprinting = true;
}
void CardReader::pauseSDPrint() {
if (sdprinting) sdprinting = false;
if (cardOK) sdprinting = true;
}
void CardReader::stopSDPrint() {
if (sdprinting) {
sdprinting = false;
file.close();
}
sdprinting = false;
if (isFileOpen()) file.close();
}
void CardReader::openLogFile(char* name) {
@ -340,7 +333,6 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
SERIAL_ECHOPGM("Now doing file: ");
SERIAL_ECHOLN(name);
}
file.close();
}
else { //opening fresh file
file_subcall_ctr = 0; //resetting procedure depth in case user cancels print while in procedure
@ -348,7 +340,8 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
SERIAL_ECHOPGM("Now fresh file: ");
SERIAL_ECHOLN(name);
}
sdprinting = false;
stopSDPrint();
SdFile myDir;
curDir = &root;
@ -425,8 +418,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
void CardReader::removeFile(char* name) {
if (!cardOK) return;
file.close();
sdprinting = false;
stopSDPrint();
SdFile myDir;
curDir = &root;