Я переконфигурирую простой металл Printrbot, который был модернизирован с помощью RAMPS + Arduino Mega под управлением Marlin, с довольно медленной подачей из-за механических и качественных ограничений.
Я обнаружил, что после отмены печати, когда что-то идет не так, у меня есть длительный период времени, в течение которого принтер продолжает печатать из G-кода и буфера перемещения, хотя программное обеспечение хоста (Octoprint) давно перестало отправлять G- код.
Есть ли способ, которым я могу либо: а) настроить Marlin, чтобы иметь меньший буфер печати (поскольку Octoprint без проблем справляется с принтером в стоячем состоянии), либо б) отправить определенный сигнал или G-код на принтер, который останавливает его без продолжаете читать содержимое буфера?
Ответы:
Marlin делает позволяет изменить размер буферов, в
Configuration_adv.h
. В текущей версии есть ifdef, который переключается между двумя случаями, один с поддержкой SD, а другой без. Оба имеют планировщик движения размером 16, который можно регулировать.Кроме того, в том же файле
BUFSIZE
можно изменить размер буфера, в котором хранятся неразобранные команды, до того, как они будут проанализированы, и войти в буфер планировщика движения.Кроме того, для некоторых прошивок
M112
принтер будет немедленно выключен, независимо от того, что находится в буфере, но нужно будет использовать кнопку сброса, и после этого оси не будут размещены. В Марлине звонить жесткоkill()
.источник