Domanda:
Come imposto la dimensione del buffer G-code su Marlin?
nanofarad
2016-01-14 05:34:04 UTC
view on stackexchange narkive permalink

Sto riconfigurando un Printrbot Simple Metal che è stato retrofittato con RAMPS + Arduino Mega con Marlin, con un avanzamento piuttosto lento a causa di limitazioni meccaniche e di qualità.

Lo trovo dopo aver annullato una stampa dove qualcosa va storto, ho un lungo periodo di tempo in cui la stampante continua a stampare dal codice G e dal buffer di movimento, sebbene il software host (Octoprint) abbia smesso da tempo di inviare il codice G.

C'è un modo per a) configurare Marlin in modo che abbia un buffer di stampa più piccolo (dato che Octoprint non ha problemi a tenere il passo con la stampante così com'è) oppure b) inviare un particolare segnale o codice G alla stampante che lo ferma senza continuare a leggere il contenuto del buffer?

Matt: Grazie per il suggerimento di modifica. Per ora l'ho rifiutata poiché questa domanda non è specifica di Printrbot. È applicabile a quasi tutte le stampanti basate su Marlin, che in questo caso erano un Printrbot. Se ritieni ancora che sia un tag necessario, invia nuovamente la modifica e la approverò, oppure fammelo sapere tramite commento.
Una risposta:
#1
+7
nanofarad
2016-01-14 05:39:51 UTC
view on stackexchange narkive permalink

Marlin permette di cambiare la dimensione dei buffer, in Configuration_adv.h . Nella versione attuale c'è un ifdef che passa da due casi, uno con supporto SD e l'altro senza. Entrambi hanno un pianificatore di movimento di dimensione 16, che può essere regolato.

Inoltre, nello stesso file, BUFSIZE può essere modificato per modificare la dimensione del buffer di archiviazione comandi non analizzati prima che vengano analizzati e che entrino nel buffer del pianificatore di movimento.

Inoltre, per alcuni firmware, M112 spegnerà immediatamente la stampante, indipendentemente da cosa si trovi il buffer, ma sarà necessario utilizzare il pulsante di ripristino e gli assi non verranno più spostati. In Marlin, è hardcoded per chiamare kill () .



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...