Estou reconfigurando um Printrbot Simple Metal que foi adaptado com um RAMPS + Arduino Mega executando o Marlin, com um avanço bastante lento devido a limitações mecânicas e de qualidade.
Estou descobrindo que, ao cancelar uma impressão em que algo dá errado, tenho um longo período de tempo em que a impressora continua imprimindo a partir do código G e do buffer de movimento, embora o software host (Octoprint) tenha parado de enviar G- código.
Existe uma maneira de: a) configurar o Marlin para ter um buffer de impressão menor (já que a Octoprint não tem problemas em acompanhar a impressora como está) ou b) enviar um sinal ou código G específico à impressora que a interrompe sem continua a ler o conteúdo do buffer?
Respostas:
O Marlin permite alterar o tamanho dos buffers, em
Configuration_adv.h
. Na versão atual, há um ifdef que alterna entre dois casos, um com suporte a SD e outro sem. Ambos têm um planejador de movimento do tamanho 16, que pode ser ajustado.Além disso, no mesmo arquivo,
BUFSIZE
pode ser alterado para modificar o tamanho do buffer armazenando comandos não analisados antes de serem analisados e inserir o buffer do planejador de movimento.Além disso, para alguns firmwares,
M112
a impressora será desligada imediatamente, independentemente do conteúdo do buffer, mas será necessário usar o botão de reinicialização e os eixos não serão direcionados posteriormente. Em Marlin, é codificado para ligarkill()
.fonte