Use a separate serial line buffer
This commit is contained in:
@ -243,6 +243,14 @@ void CardReader::release() {
|
||||
cardOK = false;
|
||||
}
|
||||
|
||||
void CardReader::openAndPrintFile(const char *name) {
|
||||
char cmd[4 + (FILENAME_LENGTH + 1) * MAX_DIR_DEPTH + 2]; // Room for "M23 ", names with slashes, a null, and one extra
|
||||
sprintf_P(cmd, PSTR("M23 %s"), name);
|
||||
for (char *c = &cmd[4]; *c; c++) *c = tolower(*c);
|
||||
enqueue_and_echo_command(cmd);
|
||||
enqueue_and_echo_commands_P(PSTR("M24"));
|
||||
}
|
||||
|
||||
void CardReader::startFileprint() {
|
||||
if (cardOK)
|
||||
sdprinting = true;
|
||||
@ -500,10 +508,7 @@ void CardReader::checkautostart(bool force) {
|
||||
while (root.readDir(p, NULL) > 0) {
|
||||
for (int8_t i = 0; i < (int8_t)strlen((char*)p.name); i++) p.name[i] = tolower(p.name[i]);
|
||||
if (p.name[9] != '~' && strncmp((char*)p.name, autoname, 5) == 0) {
|
||||
char cmd[4 + (FILENAME_LENGTH + 1) * (MAX_DIR_DEPTH) + 2];
|
||||
sprintf_P(cmd, PSTR("M23 %s"), autoname);
|
||||
enqueuecommand(cmd);
|
||||
enqueuecommands_P(PSTR("M24"));
|
||||
openAndPrintFile(autoname);
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
@ -589,7 +594,7 @@ void CardReader::printingHasFinished() {
|
||||
sdprinting = false;
|
||||
if (SD_FINISHED_STEPPERRELEASE) {
|
||||
//finishAndDisableSteppers();
|
||||
enqueuecommands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
|
||||
enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
|
||||
}
|
||||
autotempShutdown();
|
||||
}
|
||||
|
Reference in New Issue
Block a user