|
@@ -534,7 +534,7 @@ void get_command()
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef SDSUPPORT
|
|
#ifdef SDSUPPORT
|
|
- if(!card.sdprinting || serial_count!=0){
|
|
|
|
|
|
+ if(!card.sdprinting || !card.isFileOpen() || serial_count!=0){
|
|
// If there is a half filled buffer from serial line, wait until return before
|
|
// If there is a half filled buffer from serial line, wait until return before
|
|
// continuing with the serial line.
|
|
// continuing with the serial line.
|
|
return;
|
|
return;
|
|
@@ -631,6 +631,10 @@ void get_command()
|
|
// cleared by printingHasFinished after peforming all remaining moves.
|
|
// cleared by printingHasFinished after peforming all remaining moves.
|
|
if(!cmdqueue_calc_sd_length())
|
|
if(!cmdqueue_calc_sd_length())
|
|
{
|
|
{
|
|
|
|
+ // queue is complete, but before we process EOF commands prevent
|
|
|
|
+ // re-entry by disabling SD processing from any st_synchronize call
|
|
|
|
+ card.closefile();
|
|
|
|
+
|
|
SERIAL_PROTOCOLLNRPGM(_n("Done printing file"));////MSG_FILE_PRINTED
|
|
SERIAL_PROTOCOLLNRPGM(_n("Done printing file"));////MSG_FILE_PRINTED
|
|
stoptime=_millis();
|
|
stoptime=_millis();
|
|
char time[30];
|
|
char time[30];
|