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

8

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

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

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

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

Ответы:

7

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

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

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

нФ
источник