Un RepRap Gcode è un elenco di campi separati da spazi bianchi o interruzioni di riga. Un campo può essere interpretato come un comando, un parametro o per qualsiasi altro scopo speciale. Si compone di una lettera direttamente seguita da un numero o può essere solo una lettera stand-alone (Flag). La lettera fornisce informazioni sul significato del campo. I numeri, a seconda del contesto, possono assumere i seguenti valori:

  • <bool> : 0 o 1
  • <byte> : da 0 a 255
  • <int> : da -32'768 a 32'767
  • <u_int> : da 0 a 65'535
  • <float> : da -3.4028235*10^38 a 3.4028235*10^38

MK4duo riconosce una lunga serie di differenti comandi in formato GCode. Esiste anche una documentazione dei comandi che costituiscono lo standard RepRap (a cui MK4duo cerca di aderire il più possibile). Esistono due tipi di comandi: i Gcode e gli Mcode, in funzione della lettera da cui sono contraddistinti.

Ogni comando è composto di più parti:

N<num. riga>   (G/M)<num. comando>   <parametri>   *<checksum>    ;<commento>
[opzionale]    [-----------obbligatorio-----------]   [opzionale]    [opzionale]

Il numero di riga ed il checksum vengono usati dai software host per permettere una connessione affidabile tra PC e macchina, non è necessario utilizzarli nell'uso comune di MK4duo; sono stati citati solo per completezza.

Per una lista costantemente aggiornata (in inglese) dei Gcode e degli Mcode, clicca qui!

In aggiunta a tale lista, presentiamo di seguito la documentazione di alcuni comandi realizzata da vari utenti di MK4duo:

Gcode

ComandoDescrizione breve
G0Spostamento coordinato degli assi
G1Spostamento coordinato degli assi
G2Spostamento ad arco in senso orario
G3Spostamento ad arco in senso antiorario
G4Pausa
G5Spostamento: curva di Bezier
G7 75% Laser raster in codifica base64
G10Ritrazione filamento (secondo le impostazioni inserite tramite comando M207)
G11Recupero di ritrazione del filamento (secondo le impostazioni inserite tramite comando M208)
G12Pulizia del nozzle
G17Selezione del piano di lavoro XY
G18Selezione del piano di lavoro ZX
G19Selezione del piano di lavoro YZ
G20Unità di misura in input interpretate come pollici
G21Unità di misura in input interpretate come millimetri
G26 75% Validazione mesh con UBL
G27Parcheggio del nozzle
G28Homing degli assi
G29 0% Z probe dettagliato, effettuato su 3 o più punti del piatto
G30 0% Z Probe singolo, effettuato sulla posizione attuale
G31Aggancio della slitta per lo Z Probe
G32Sgancio della slitta per lo Z Probe
G33 0% Autocalibrazione della geometria Delta
G38 0% Probe di un punto target - simile a G28 eccetto il fatto che usa l'endstop di Z_MIN per tutti gli assi
G42 0% Spostamento coordinato verso un punto della mesh del piatto
G60Salvataggio in memoria della posizione attuale dell'estrusore attivo
G61Applicazione/ripristino delle coordinate salvate in memoria all'estrusore attivo
G90Attivazione modalità coordinate assolute
G91Attivazione modalità coordinate relative
G92Sostituzione in memoria della posizione attuale con coordinate a piacere

Mcode

ComandoDescrizione breve
M106Impostazioni/Accensione ventole
M107Spegnimento ventole
M109Riscaldamento hotend con attesa (comando sincrono)