我想在每次打印之前添加自动床调平。当我在 中启用自动床位时configuration.h
,它只在菜单中显示自动床。我在cardreader.cpp
void CardReader::openAndPrintFile(const char *name) {
char cmd[4 + strlen(name) + 1]; // Room for "M23 ", filename, and null
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::openAndPrintFile(const char *name) {
char cmd[4 + strlen(name) + 1]; // Room for "M23 ", filename, and null
sprintf_P(cmd, PSTR("M23 %s"), name);
for (char *c = &cmd[4]; *c; c++) *c = tolower(*c);
enqueue_and_echo_command("G28");
enqueue_and_echo_command("G29");
enqueue_and_echo_command(cmd);
enqueue_and_echo_commands_P(PSTR("M24"));
}
现在在每次打印之前,打印机会执行两次自动打印,但是当打印开始时,自动打印被忽略,打印机的行为就像在执行自动打印之前一样。
请帮我解决这个问题。
我使用的是 Marlin 固件 1.1.0。