Как установить размер буфера G-кода на Marlin?

Я перенастраиваю принтер Printrbot Simple Metal, который был модернизирован с помощью RAMPS + Arduino Mega, работающего под управлением Marlin, с довольно низкой скоростью подачи из-за механических и качественных ограничений.

Я обнаружил, что после отмены печати, когда что-то идет не так, у меня есть длительный период времени, в течение которого принтер продолжает печатать из G-кода и буфера перемещения, хотя программное обеспечение хоста (Octoprint) давно перестало отправлять G-код.

Есть ли способ, которым я могу либо а) настроить Marlin на меньший буфер печати (поскольку Octoprint без проблем поддерживает работу принтера в его нынешнем виде), либо б) отправить определенный сигнал или G-код на принтер, который останавливает его, не продолжая считывать содержимое буфера?

, 👍9

Обсуждение

Мэтт: Спасибо за предложение по редактированию. Я отклонил его на данный момент, так как этот вопрос не является специфичным для Printrbot. Это применимо практически к любому принтеру на базе Marlin, который в данном случае оказался принтроботом. Если вы все еще считаете, что это необходимый тег, пожалуйста, повторно отправьте правку, и я ее одобрю, или дайте мне знать в комментарии., @nanofarad


1 ответ


Лучший ответ:

8

Marlin позволяет изменять размер буферов в Configuration_adv.h. В текущей версии есть ifdef, который переключается между двумя случаями, один с поддержкой SD, а другой без. Оба имеют планировщик движений 16-го размера, который можно регулировать.

Кроме того, в том же файле BUFSIZE можно изменить, чтобы изменить размер буфера, в котором хранятся нерассмотренные команды перед их анализом и вводом в буфер планировщика перемещений.

Кроме того, для некоторых прошивок M112 немедленно выключает принтер, независимо от того, что находится в буфере, но необходимо будет использовать кнопку сброса, и после этого оси не будут возвращены на место. В Marlin жестко запрограммирован вызов функции kill().


,