Use a separate serial line buffer
This commit is contained in:
parent
7d25c107a8
commit
8fe7420310
6 changed files with 119 additions and 105 deletions
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue