Vai al contenuto

G-Codes

Questo documento descrive i comandi che Klipper supporta. Questi sono i comandi che si possono inserire nella scheda del terminale OctoPrint.

Comandi G-Code

Klipper supporta i seguenti comandi G-Code standard:

  • Movimento (G0 or G1): G1 [X<pos>] [Y<pos>] [Z<pos>] [E<pos>] [F<speed>]
  • Sosta: G4 P<millisecondi>
  • Sposta all'origine: G28 [X] [Y] [Z]
  • Spegnere i motori: M18 o M84
  • Attendi che li movimenti correnti finiscano: M400
  • Utilizzare distanze assolute/relative per l'estrusione: M82, M83
  • Usa coordinate assolute/relative: G90, G91
  • Impostare la posizione: G92 [X<pos>] [Y<pos>] [Z<pos>] [E<pos>]
  • Impostare la percentuale di override del fattore di velocità: M220 S<percentuale>
  • Imposta la percentuale di sostituzione del fattore di estrusione: M221 S<percentuale>
  • Impostare l'accelerazione: M204 S<valore> OPPURE M204 P<valore> T<valore>
    • Nota: se S non viene specificato e vengono specificati sia P che T, l'accelerazione viene impostata al minimo di P e T. Se viene specificato solo uno di P o T, il comando non ha effetto.
  • Ottieni la temperatura dell'estrusore: M105
  • Imposta la temperatura dell'estrusore: M104 [T<index>] [S<temperatura>]
  • Imposta la temperatura dell'estrusore e attende: M109 [T<index>] S<temperatura>
    • Nota: M109 attende sempre che la temperatura si assesti al valore richiesto
  • Imposta la temperatura del piatto: M140 [S<temperatura>]
  • Imposta la temperatura del piatto e attende: M190 S<temperatura>
    • Nota: M190 attende sempre che la temperatura si assesti al valore richiesto
  • Imposta la velocità della ventola: M106 S<valore>
  • Spegnere la ventola: M107
  • Arresto di emergenza: M112
  • Ottieni la posizione attuale: M114
  • Ottieni la versione del firmware: M115

Per ulteriori dettagli sui comandi precedenti, vedere la documentazione RepRap G-Code.

L'obiettivo di Klipper è supportare i comandi G-Code prodotti da comuni software di terze parti (ad es. OctoPrint, Printrun, Slic3r, Cura, ecc.) nelle loro configurazioni standard. Non è un obiettivo supportare ogni possibile comando G-Code. Invece, Klipper preferisce comandi leggibili dall'uomo "comandi G-Code estesi". Allo stesso modo, l'output del terminale G-Code è inteso solo per essere leggibile dall'uomo - vedere il documento del server API se si controlla Klipper da un software esterno.

Se si necessita di un comando G-Code meno comune, potrebbe essere possibile implementarlo con una [sezione di configurazione gcode_macro] personalizzata (Config_Reference.md#gcode_macro). Ad esempio, si potrebbe usare questo per implementare: G12, G29, G30, G31, M42, M80, M81, T1, ecc.

Comandi aggiuntivi

Klipper utilizza comandi G-Code "estesi" per la configurazione e lo stato generale. Questi comandi estesi seguono tutti un formato simile: iniziano con un nome di comando e possono essere seguiti da uno o più parametri. Ad esempio: SET_SERVO SERVO=mioservo ANGLE=5.3. In questo documento, i comandi ed i parametri sono mostrati in maiuscolo, tuttavia non fanno distinzione tra maiuscole e minuscole. (Quindi, "SET_SERVO" e "set_servo" eseguono entrambi lo stesso comando.)

Questa sezione è organizzata in base al nome del modulo Klipper, che generalmente segue i nomi delle sezioni specificati nel file di configurazione della stampante. Si noti che alcuni moduli vengono caricati automaticamente.

[adxl345]

I seguenti comandi sono disponibili quando una sezione di configurazione adxl345 è abilitata.

ACCELEROMETER_MEASURE

ACCELEROMETER_MEASURE [CHIP=<config_name>] [NAME=<value>]: Avvia le misurazioni dell'accelerometro al numero richiesto di campioni al secondo. Se CHIP non è specificato, il valore predefinito è "adxl345". Il comando funziona in modalità start-stop: alla prima esecuzione avvia le misure, alla successiva esecuzione le interrompe. I risultati delle misurazioni vengono scritti in un file denominato /tmp/adxl345-<chip>-<name>.csv dove <chip> è il nome del chip dell'accelerometro (my_chip_name da [adxl345 my_chip_name] ) e <name> è il parametro NAME facoltativo. Se NAME non è specificato, il valore predefinito è l'ora corrente nel formato "AAAAMMGG_HHMMSS". Se l'accelerometro non ha un nome nella sua sezione di configurazione (semplicemente [adxl345]), allora la parte <chip> del nome non viene generata.

ACCELEROMETER_QUERY

ACCELEROMETER_QUERY [CHIP=<config_name>] [RATE=<value>]: interroga l'accelerometro per il valore corrente. Se CHIP non è specificato, il valore predefinito è "adxl345". Se RATE non è specificato, viene utilizzato il valore predefinito. Questo comando è utile per testare la connessione all'accelerometro ADXL345: uno dei valori restituiti dovrebbe essere un'accelerazione di caduta libera (+/- un po' di rumore del chip).

ACCELEROMETER_DEBUG_READ

ACCELEROMETER_DEBUG_READ [CHIP=<config_name>] REG=<register>: interroga l'ADXL345 register "register" (es. 44 o 0x2C). Può essere utile per scopi di debug.

ACCELEROMETER_DEBUG_WRITE

ACCELEROMETER_DEBUG_WRITE [CHIP=<nome_config>] REG=<register> VAL=<value>: Scrive il valore "value" grezzo in un registro "register". Sia "value" che "registrer" possono essere un numero intero decimale o esadecimale. Usare con cura e fare riferimento alla scheda tecnica ADXL345 per riferimento.

[angle]

I seguenti comandi sono disponibili quando una sezione di configurazione dell'angolo è abilitata.

ANGLE_CALIBRATE

ANGLE_CALIBRATE CHIP=<chip_name>: Esegue la calibrazione dell'angolo sul sensore dato (deve esserci una sezione di configurazione [angle chip_name] che ha specificato un parametro stepper). IMPORTANTE - questo strumento comanderà al motore passo-passo di muoversi senza controllare i normali limiti della cinematica. Idealmente, il motore dovrebbe essere scollegato da qualsiasi carrello della stampante prima di eseguire la calibrazione. Se non è possibile scollegare lo stepper dalla stampante, assicurarsi che il carrello sia vicino al centro della sua guida prima di iniziare la calibrazione. (Il motore passo-passo può spostarsi avanti o indietro di due rotazioni complete durante questo test.) Dopo aver completato questo test, utilizzare il comando SAVE_CONFIG per salvare i dati di calibrazione nel file di configurazione. Per utilizzare questo strumento è necessario installare il pacchetto Python "numpy" (consultare il measuring resonance document per ulteriori informazioni).

ANGLE_DEBUG_READ

ANGLE_DEBUG_READ CHIP=<config_name> REG=<register>: Interroga il registro del sensore "register" (ad es. 44 o 0x2C). Può essere utile per scopi di debug. Questo è disponibile solo per i chip tle5012b.

ANGLE_DEBUG_WRITE

ANGLE_DEBUG_WRITE CHIP=<config_name> REG=<register> VAL=<value>: scrive il valore "value" grezzo nel registro "register". Sia "value" che "register" possono essere un numero intero decimale o esadecimale. Usare con cautela e fare riferimento alla scheda tecnica del sensore per riferimento. Questo è disponibile solo per i chip tle5012b.

[bed_mesh]

I seguenti comandi sono disponibili quando la sezione di configurazione bed_mesh è abilitata (consultare anche la guida della mesh del letto).

BED_MESH_CALIBRATE

BED_MESH_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>] [<mesh_parameter>=<value>]: questo comando sonda il piatto utilizzando i punti generati specificati dai parametri nella configurazione. Dopo il sondaggio, viene generata una mesh e il movimento z viene regolato in base alla mesh. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Se viene specificato METHOD=manual, viene attivato lo strumento di rilevamento manuale: vedere il comando MANUAL_PROBE sopra per dettagli sui comandi aggiuntivi disponibili mentre questo strumento è attivo. Il valore opzionale "HORIZONTAL_MOVE_Z" sovrascrive l'opzione "horizontal_move_z" specificata nel file di configurazione.

BED_MESH_OUTPUT

BED_MESH_OUTPUT PGP=[<0:1>]: questo comando restituisce i valori z sondati e i valori mesh correnti al terminale. Se viene specificato PGP=1, le coordinate X, Y generate da bed_mesh, insieme ai relativi indici associati, verranno inviate al terminale.

BED_MESH_MAP

BED_MESH_MAP: Come per BED_MESH_OUTPUT, questo comando stampa lo stato corrente della mesh sul terminale. Invece di stampare i valori in un formato leggibile, lo stato viene serializzato in formato json. Ciò consente ai plug-in di Octoprint di acquisire facilmente i dati e generare mappe di altezza che si approssimano la superficie del piatto.

BED_MESH_CLEAR

BED_MESH_CLEAR: questo comando cancella la mesh e rimuove tutte le regolazioni z. Si consiglia di inserirlo nella parte finale del gcode.

BED_MESH_PROFILE

BED_MESH_PROFILE LOAD=<name> SAVE=<name> REMOVE=<name>: questo comando fornisce la gestione del profilo per lo stato della mesh. LOAD ripristinerà lo stato della mesh dal profilo corrispondente al nome fornito. SAVE salverà lo stato della mesh corrente in un profilo che corrisponde al nome fornito. Rimuovi eliminerà il profilo corrispondente al nome fornito dalla memoria persistente. Si noti che dopo aver eseguito le operazioni SAVE o REMOVE è necessario eseguire il gcode SAVE_CONFIG per rendere permanenti le modifiche alla memoria persistente.

BED_MESH_OFFSET

BED_MESH_OFFSET [X=<value>] [Y=<value>]: applica gli offset X e/o Y alla ricerca della mesh. Ciò è utile per le stampanti con estrusori indipendenti, poiché è necessario un offset per produrre la corretta regolazione Z dopo un cambio utensile.

[bed_screws]

I seguenti comandi sono disponibili quando la sezione di configurazione bed_screws è abilitata (consultare anche la manual level guide).

BED_SCREWS_ADJUST

BED_SCREWS_ADJUST: questo comando richiamerà lo strumento di regolazione delle viti del piatto. Comanderà l'ugello in posizioni diverse (come definito nel file di configurazione) e consentirà di effettuare regolazioni alle viti del piatto in modo che il piatto sia a una distanza costante dall'ugello.

[bed_tilt]

I seguenti comandi sono disponibili quando la sezione di configurazione inclinazione_piatto è abilitata.

BED_TILT_CALIBRATE

BED_TILT_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]: questo comando sonda i punti specificati nella configurazione e quindi consiglia le regolazioni aggiornate dell'inclinazione x e y. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Se viene specificato METHOD=manual, viene attivato lo strumento di rilevamento manuale: vedere il comando MANUAL_PROBE sopra per dettagli sui comandi aggiuntivi disponibili mentre questo strumento è attivo. Il valore opzionale HORIZONTAL_MOVE_Z sovrascrive l'opzione horizontal_move_z specificata nel file di configurazione.

[bltouch]

Il comando seguente è disponibile quando è abilitata una sezione di configurazione bltouch (vedere anche la Guida BL-Touch).

BLTOUCH_DEBUG

BLTOUCH_DEBUG COMMAND=<command>: Invia un comando al BLTouch. Può essere utile per il debug. I comandi disponibili sono: pin_down, touch_mode, pin_up, self_test, reset. Un BL-Touch V3.0 o V3.1 può anche supportare i comandi set_5V_output_mode, set_OD_output_mode, output_mode_store.

BLTOUCH_STORE

BLTOUCH_STORE MODE=<output_mode>: memorizza una modalità di output nella EEPROM di un BLTouch V3.1 Le modalità di output disponibili sono: 5V, OD

[configfile]

Il modulo configfile viene caricato automaticamente.

SAVE_CONFIG

SAVE_CONFIG: questo comando sovrascriverà il file di configurazione della stampante principale e riavvierà il software host. Questo comando viene utilizzato insieme ad altri comandi di calibrazione per memorizzare i risultati dei test di calibrazione.

[delayed_gcode]

Il comando seguente è abilitato se è stata abilitata una sezione di configurazione di gcode ritardata (consultare anche la guida ai modelli).

UPDATE_DELAYED_GCODE

UPDATE_DELAYED_GCODE [ID=<nome>] [DURATION=<secondi>]: aggiorna la durata del ritardo per il [gcode_ritardato] identificato e avvia il timer per l'esecuzione di gcode. Un valore di 0 annullerà l'esecuzione di un gcode ritardato in sospeso.

[delta_calibrate]

I seguenti comandi sono disponibili quando la sezione di configurazione delta_calibrate è abilitata (consultare anche la guida alla calibrazione delta).

DELTA_CALIBRATE

DELTA_CALIBRATE [METHOD=manual] [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]: questo comando sonda sette punti sul piatto e consiglia le posizioni aggiornate dei finecorsa, gli angoli della torre e il raggio. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Se viene specificato METHOD=manual, viene attivato lo strumento di rilevamento manuale: vedere il comando MANUAL_PROBE sopra per dettagli sui comandi aggiuntivi disponibili mentre questo strumento è attivo. Il valore opzionale HORIZONTAL_MOVE_Z sovrascrive l'opzione horizontal_move_z specificata nel file di configurazione.

DELTA_ANALYZE

DELTA_ANALYZE: questo comando viene utilizzato durante la calibrazione avanzata delle stampanti delta. Vedere Delta Calibrate per i dettagli.

[display]

Il comando seguente è disponibile quando è abilitata una sezione di configurazione display.

SET_DISPLAY_GROUP

SET_DISPLAY_GROUP [DISPLAY=<display>] GROUP=<group>: Imposta il gruppo di visualizzazione attivo di un display LCD. Ciò consente di definire più gruppi di dati di visualizzazione nella configurazione, ad es. [display_data <group> <elementname>] e passare da uno all'altro usando questo comando gcode esteso. Se DISPLAY non è specificato, l'impostazione predefinita è "display" (il display principale).

[display_status]

Il modulo display_status viene caricato automaticamente se una sezione di configurazione display è abilitata. Fornisce i seguenti comandi G-Code standard:

  • Messaggio visualizzato: M117 <messaggio>
  • Imposta la percentuale di costruzione: M73 P<percentuale>

Viene inoltre fornito il seguente comando G-Code esteso:

  • SET_DISPLAY_TEXT MSG=<messaggio>: esegue l'equivalente di M117, impostando il MSG fornito come messaggio visualizzato. Se MSG viene omesso, il display verrà cancellato.

[dual_carriage]

Il comando seguente è disponibile quando la sezione di configurazione dual_carriage è abilitata.

SET_DUAL_CARRIAGE

SET_DUAL_CARRIAGE CARRIAGE=[0|1] [MODE=[PRIMARY|COPY|MIRROR]]: This command will change the mode of the specified carriage. If no MODE is provided it defaults to PRIMARY. Setting the mode to PRIMARY deactivates the other carriage and makes the specified carriage execute subsequent G-Code commands as-is. COPY and MIRROR modes are supported only for CARRIAGE=1. When set to either of these modes, carriage 1 will then track the subsequent moves of the carriage 0 and either copy relative movements of it (in COPY mode) or execute them in the opposite (mirror) direction (in MIRROR mode).

SAVE_DUAL_CARRIAGE_STATE

SAVE_DUAL_CARRIAGE_STATE [NAME=<state_name>]: Save the current positions of the dual carriages and their modes. Saving and restoring DUAL_CARRIAGE state can be useful in scripts and macros, as well as in homing routine overrides. If NAME is provided it allows one to name the saved state to the given string. If NAME is not provided it defaults to "default".

RESTORE_DUAL_CARRIAGE_STATE

RESTORE_DUAL_CARRIAGE_STATE [NAME=<state_name>] [MOVE=[0|1] [MOVE_SPEED=<speed>]]: Restore the previously saved positions of the dual carriages and their modes, unless "MOVE=0" is specified, in which case only the saved modes will be restored, but not the positions of the carriages. If positions are being restored and "MOVE_SPEED" is specified, then the toolhead moves will be performed with the given speed (in mm/s); otherwise the toolhead move will use the rail homing speed. Note that the carriages restore their positions only over their own axis, which may be necessary to correctly restore COPY and MIRROR mode of the dual carraige.

[endstop_phase]

I seguenti comandi sono disponibili quando una sezione di configurazione endstop_phase è abilitata (consultare anche la guida alla fase endstop).

ENDSTOP_PHASE_CALIBRATE

ENDSTOP_PHASE_CALIBRATE [STEPPER=<config_name>]: Se non viene fornito alcun parametro STEPPER, questo comando riporterà le statistiche sulle fasi stepper dell'arresto durante le precedenti operazioni di homing. Quando viene fornito un parametro STEPPER, fa in modo che l'impostazione della fase di fine corsa fornita sia scritta nel file di configurazione (insieme al comando SAVE_CONFIG).

[exclude_object]

I seguenti comandi sono disponibili quando è abilitata una exclude_object config section (consultare anche la exclude object guide):

EXCLUDE_OBJECT

EXCLUDE_OBJECT [NAME=object_name] [CURRENT=1] [RESET=1]: Senza parametri, questo restituirà un elenco di tutti gli oggetti attualmente esclusi.

Quando viene fornito il parametro NAME, l'oggetto denominato verrà escluso dalla stampa.

Quando viene fornito il parametro CURRENT, l'oggetto corrente verrà escluso dalla stampa.

Quando viene fornito il parametro RESET l'elenco degli oggetti esclusi verrà cancellato. Inoltre l'inclusione di NAME ripristinerà solo l'oggetto denominato. Questo può causare errori di stampa, se i livelli sono già stati saltati.

EXCLUDE_OBJECT_DEFINE

EXCLUDE_OBJECT_DEFINE [NAME=object_name [CENTER=X,Y] [POLYGON=[[x,y],...]] [RESET=1] [JSON=1]: fornisce un riepilogo di un oggetto nel file.

Senza parametri forniti, questo elencherà gli oggetti definiti noti a Klipper. Restituisce un elenco di stringhe, a meno che non venga fornito il parametro JSON, quando restituirà i dettagli dell'oggetto in formato json.

Quando il parametro NAME è incluso, definisce un oggetto da escludere.

  • NAME: questo parametro è obbligatorio. È l'identificatore utilizzato da altri comandi in questo modulo.
  • CENTER: una coordinata X,Y per l'oggetto.
  • POLYGON: Un array di coordinate X,Y che fornisce un contorno per l'oggetto.

Quando viene fornito il parametro RESET, tutti gli oggetti definiti verranno cancellati e il modulo [exclude_object] verrà ripristinato.

EXCLUDE_OBJECT_START

EXCLUDE_OBJECT_START NAME=object_name: questo comando prende un parametro NAME e marca l'inizio del gcode per un oggetto sul livello corrente.

EXCLUDE_OBJECT_END

EXCLUDE_OBJECT_END [NAME=object_name]: Denota la fine del gcode dell'oggetto per il livello. È accoppiato con EXCLUDE_OBJECT_START. Un parametro NAME è facoltativo e avviserà solo quando il nome fornito non corrisponde all'oggetto corrente.

[extruder]

I seguenti comandi sono disponibili se una sezione di configurazione dell'estrusore è abilitata:

ACTIVATE_EXTRUDER

ACTIVATE_EXTRUDER EXTRUDER=<config_name>: in una stampante con più sezioni di configurazione extruder, questo comando cambia l'hotend attivo.

SET_PRESSURE_ADVANCE

SET_PRESSURE_ADVANCE [EXTRUDER=<config_name>] [ADVANCE=<pressure_advance>] [SMOOTH_TIME=<pressure_advance_smooth_time>]: Imposta i parametri di pressure advance delleo stepper di un estrusore (come definito in un estrusore o [ extruder_stepper] (sezione di configurazione Config_Reference.md#extruder_stepper). Se EXTRUDER non è specificato, per impostazione predefinita viene utilizzato lo stepper definito nell'hotend attivo.

SET_EXTRUDER_ROTATION_DISTANCE

SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=<config_name> [DISTANCE=<distance>]: Imposta un nuovo valore per la "distanza di rotazione" dello stepper dell'estrusore fornito (come definito in un extruder o extruder_stepper sezione di configurazione). Se la distanza di rotazione è un numero negativo, il movimento passo-passo verrà invertito (rispetto alla direzione passo-passo specificata nel file di configurazione). Le impostazioni modificate non vengono mantenute al ripristino di Klipper. Usare con cautela poiché piccole modifiche possono causare una pressione eccessiva tra l'estrusore e l'hotend. Eseguire una corretta calibrazione con il filamento prima dell'uso. Se il valore 'DISTANZA' non viene fornito, questo comando restituirà la distanza di rotazione corrente.

SYNC_EXTRUDER_MOTION

SYNC_EXTRUDER_MOTION EXTRUDER=<nome> MOTION_QUEUE=<nome>: questo comando attiverà lo stepper specificato da EXTRUDER (come definito in un extruder o extruder_stepper config sezione) per sincronizzarsi con il movimento di un estrusore specificato da MOTION_QUEUE (come definito in una sezione di configurazione estrusore). Se MOTION_QUEUE è una stringa vuota, lo stepper verrà desincronizzato da tutti i movimenti dell'estrusore.

SET_EXTRUDER_STEP_DISTANCE

Questo comando è deprecato e verrà rimosso nel prossimo futuro.

SYNC_STEPPER_TO_EXTRUDER

Questo comando è deprecato e verrà rimosso nel prossimo futuro.

[fan_generic]

Il comando seguente è disponibile quando una sezione di configurazione fan_generic è abilitata.

SET_FAN_SPEED

SET_FAN_SPEED FAN=config_name SPEED=<velocità> Questo comando imposta la velocità di una ventola. "velocità" deve essere compresa tra 0.0 e 1.0.

[filament_switch_sensor]

Il comando seguente è disponibile quando è abilitata una sezione di configurazione filament_switch_sensor o filament_motion_sensor.

QUERY_FILAMENT_SENSOR

QUERY_FILAMENT_SENSOR SENSOR=<sensor_name>: Interroga lo stato del sensore di filamento. I dati visualizzati sul terminale dipenderanno dal tipo di sensore definito nella configurazione.

SET_FILAMENT_SENSOR

SET_FILAMENT_SENSOR SENSOR=<nome_sensore> ENABLE=[0|1]: Attiva/disattiva il sensore di filamento. Se ENABLE è impostato su 0, il sensore di filamento sarà disabilitato, se impostato su 1 sarà abilitato.

[firmware_retraction]

I seguenti comandi G-Code standard sono disponibili quando la sezione di configurazione firmware_retraction è abilitata. Questi comandi consentono di utilizzare la funzione di retraction del firmware disponibile in molti slicer, per ridurre lo stringing durante gli spostamenti di non estrusione da una parte all'altra della stampa. Configurando opportunamente la pressure advance si riduce la lunghezza della retrazione richiesta.

  • G10: Ritrae l'estrusore utilizzando i parametri attualmente configurati.
  • G11: Ritira l'estrusore utilizzando i parametri attualmente configurati.

Sono inoltre disponibili i seguenti comandi aggiuntivi.

SET_RETRACTION

SET_RETRACTION [RETRACT_LENGTH=<mm>] [RETRACT_SPEED=<mm/s>] [UNRETRACT_EXTRA_LENGTH=<mm>] [UNRETRACT_SPEED=<mm/s>]: regola i parametri utilizzati dalla retrazione. RETRACT_LENGTH determina la lunghezza del filamento da ritrarre e estrudere. La velocità di retrazione viene regolata tramite RETRACT_SPEED, ed è generalmente impostata su un valore relativamente alto. La velocità di annullamento viene regolata tramite UNRETRACT_SPEED e non è particolarmente critica, sebbene spesso inferiore a RETRACT_SPEED. In alcuni casi è utile aggiungere una piccola quantità di lunghezza aggiuntiva all'annullamento della retrazione, e questa viene impostata tramite UNRETRACT_EXTRA_LENGTH. SET_RETRACTION è comunemente impostato come parte della configurazione dello slicer per filamento, poiché filamenti diversi richiedono impostazioni dei parametri diverse.

GET_RETRACTION

GET_RETRACTION: interroga i parametri correnti utilizzati dal firmware per retrazione e li visualizza sul terminale.

[force_move]

Il modulo force_move viene caricato automaticamente, tuttavia alcuni comandi richiedono l'impostazione di enable_force_move in printer config.

STEPPER_BUZZ

STEPPER_BUZZ STEPPER=<nome_config>: sposta lo stepper dato in avanti di 1 mm e poi indietro di 1 mm, ripetuto 10 volte. Questo è uno strumento diagnostico per aiutare a verificare la connettività stepper.

FORCE_MOVE

FORCE_MOVE STEPPER=<nome_config> DISTANCE=<value> VELOCITY=<value> [ACCEL=<value>]: Questo comando sposterà forzatamente lo stepper dato della distanza data (in mm) alla velocità costante data (in mm/ S). Se viene specificato ACCEL ed è maggiore di zero, verrà utilizzata l'accelerazione data (in mm/s^2); altrimenti non viene eseguita alcuna accelerazione. Non vengono effettuati controlli sui limiti; non vengono effettuati aggiornamenti cinematici; altri stepper paralleli su un asse non verranno spostati. Prestare attenzione poiché un comando errato potrebbe causare danni! L'uso di questo comando metterà quasi sicuramente la cinematica di basso livello in uno stato errato; emettere un G28 in seguito per ripristinare la cinematica. Questo comando è destinato alla diagnostica e al debug di basso livello.

SET_KINEMATIC_POSITION

SET_KINEMATIC_POSITION [X=<valore>] [Y=<valore>] [Z=<valore>]: forza il codice cinematico di basso livello a credere che la testa di stampa si trovi nella posizione cartesiana data. Questo è un comando diagnostico e di debug; utilizzare SET_GCODE_OFFSET e/o G92 per le normali trasformazioni degli assi. Se un asse non è specificato, verrà impostato automaticamente sulla posizione in cui la testa è stata comandata l'ultima volta. L'impostazione di una posizione errata o non valida può causare errori software interni. Questo comando potrebbe invalidare futuri controlli sui confini; emettere un G28 in seguito per ripristinare la cinematica.

[gcode]

Il modulo gcode viene caricato automaticamente.

RESTART

RESTART: Ciò farà sì che il software host ricarichi la sua configurazione ed esegua un ripristino interno. Questo comando non cancellerà lo stato di errore dal microcontrollore (vedi FIRMWARE_RESTART) né caricherà nuovo software (vedi FAQ) .

FIRMWARE_RESTART

FIRMWARE_RESTART: Questo è simile a un comando RESTART, ma cancella anche qualsiasi stato di errore dal microcontrollore.

STATUS

STATUS: segnala lo stato del software host di Klipper.

HELP

HELP: riporta l'elenco dei comandi G-Code estesi disponibili.

[gcode_arcs]

I seguenti comandi G-Code standard sono disponibili se una sezione di configurazione gcode_arcs è abilitata:

  • Movimento dell'arco in senso orario (G2), Movimento dell'arco in senso antiorario (G3): G2|G3 [X<pos>] [Y<pos>] [Z<pos>] [E<pos>] [F<velocità>] I<valore> J<valore>|I<valore> K<valore>|J<valore> K<valore>
  • Selezione del piano dell'arco: G17 (piano XY), G18 (piano XZ), G19 (piano YZ)

[gcode_macro]

Il comando seguente è disponibile quando è abilitata una sezione di configurazione gcode_macro (consultare anche la guida ai modelli di comando).

SET_GCODE_VARIABLE

SET_GCODE_VARIABLE MACRO=<nome_macro> VARIABLE=<nome> VALUE=<valore>: questo comando consente di modificare il valore di una variabile gcode_macro in fase di esecuzione. Il VALUE fornito viene analizzato come un valore literal in Python.

[gcode_move]

Il modulo gcode_move viene caricato automaticamente.

GET_POSITION

GET_POSITION`: Restituisce informazioni sulla posizione corrente della testa di stampa. Per ulteriori informazioni, vedere la documentazione per gli sviluppatori di GET_POSITION output.

SET_GCODE_OFFSET

SET_GCODE_OFFSET [X=<pos>|X_ADJUST=<regola>] [Y=<pos>|Y_ADJUST=<regola>] [Z=<pos>|Z_ADJUST=<regola>] [MOVE=1 [MOVE_SPEED=<velocità >]]: imposta un offset di posizione da applicare ai futuri comandi G-Code. Questo è comunemente usato per cambiare virtualmente l'offset del letto Z o per impostare gli offset XY degli ugelli quando si cambia estrusore. Ad esempio, se viene inviato "SET_GCODE_OFFSET Z=0.2", i futuri movimenti G-Code avranno 0.2 mm aggiunti alla loro altezza Z. Se vengono utilizzati i parametri di stile X_ADJUST, la regolazione verrà aggiunta a qualsiasi offset esistente (ad esempio, "SET_GCODE_OFFSET Z=-0.2" seguito da "SET_GCODE_OFFSET Z_ADJUST=0.3" risulterà in un offset Z totale di 0.1). Se viene specificato "MOVE=1", verrà emesso un movimento della testa di stampa per applicare l'offset specificato (altrimenti l'offset avrà effetto sul successivo movimento assoluto del codice G che specifica l'asse dato). Se viene specificato "MOVE_SPEED", lo spostamento della testa utensile verrà eseguito con la velocità data (in mm/s); in caso contrario, il movimento della testa utensile utilizzerà l'ultima velocità del G-code specificata.

SAVE_GCODE_STATE

SAVE_GCODE_STATE [NAME=<nome_stato>]: salva lo stato di analisi delle coordinate del G-code corrente. Il salvataggio e il ripristino dello stato del G-code è utile negli script e nelle macro. Questo comando salva la modalità di coordinate assolute del G-code corrente (G90/G91), la modalità di estrusione assoluta (M82/M83), l'origine (G92), l'offset (SET_GCODE_OFFSET), l'override della velocità (M220), l'override dell'estrusore (M221), la velocità di spostamento , la posizione XYZ corrente e la posizione relativa dell'estrusore "E". Se viene fornito NAME, consente di assegnare un nome allo stato salvato alla stringa data. Se NAME non viene fornito, il valore predefinito è "predefinito".

RESTORE_GCODE_STATE

RESTORE_GCODE_STATE [NAME=<nome_stato>] [MOVE=1 [MOVE_SPEED=<velocità>]]: ripristina uno stato precedentemente salvato tramite SAVE_GCODE_STATE. Se viene specificato "MOVE=1", verrà emesso un movimento della testa utensile per tornare alla posizione XYZ precedente. Se viene specificato "MOVE_SPEED", lo spostamento della testa utensile verrà eseguito con la velocità data (in mm/s); in caso contrario, lo spostamento della testa utensile utilizzerà la velocità del codice g ripristinata.

[hall_filament_width_sensor]

I seguenti comandi sono disponibili quando la sezione di configurazione del sensore di larghezza del filamento tsl1401cl o sezione di configurazione del sensore di larghezza del filamento hall è abilitata (consultare anche Sensore di larghezza del filamento TSLl401CL e Hall Filament Width Sensor):

QUERY_FILAMENT_WIDTH

QUERY_FILAMENT_WIDTH: Restituisce lo spessore del filamento misurato.

RESET_FILAMENT_WIDTH_SENSOR

RESET_FILAMENT_WIDTH_SENSOR: Cancella tutte le letture del sensore. Utile dopo il cambio del filamento.

DISABLE_FILAMENT_WIDTH_SENSOR

DISABLE_FILAMENT_WIDTH_SENSOR: Spegnere il sensore di larghezza del filamento e smettere di usarlo per il controllo del flusso.

ENABLE_FILAMENT_WIDTH_SENSOR

ENABLE_FILAMENT_WIDTH_SENSOR: attiva il sensore di larghezza del filamento e inizia a usarlo per il controllo del flusso.

QUERY_RAW_FILAMENT_WIDTH

QUERY_RAW_FILAMENT_WIDTH: Restituisce le letture del canale ADC corrente e il valore grezzo (raw) del sensore per i punti di calibrazione.

ENABLE_FILAMENT_WIDTH_LOG

ENABLE_FILAMENT_WIDTH_LOG: attiva la registrazione del diametro del filamento.

DISABLE_FILAMENT_WIDTH_LOG

DISABLE_FILAMENT_WIDTH_LOG: Disattiva la registrazione del diametro del filamento.

[heaters]

Il modulo heaters viene caricato automaticamente se un riscaldatore è definito nel file di configurazione.

TURN_OFF_HEATERS

TURN_OFF_HEATERS: Spegni tutti i riscaldatori.

TEMPERATURE_WAIT

TEMPERATURE_WAIT SENSOR=<config_name> [MINIMUM=<target>] [MAXIMUM=<target>]: Attendere fino a quando il sensore di temperatura specificato è pari o superiore al MINIMO fornito e/o pari o inferiore al MASSIMO fornito.

SET_HEATER_TEMPERATURE

SET_HEATER_TEMPERATURE HEATER=<nome_riscaldatore> [TARGET=<temperatura_destinata>]: Imposta la temperatura target per un riscaldatore. Se non viene fornita una temperatura target, il target è 0.

[idle_timeout]

Il modulo idle_timeout viene caricato automaticamente.

SET_IDLE_TIMEOUT

SET_IDLE_TIMEOUT [TIMEOUT=<timeout>]: consente all'utente di impostare il timeout di inattività (in secondi).

[input_shaper]

Il comando seguente è abilitato se è stata abilitata una sezione di configurazione di input_shaper (consultare anche la guida alla compensazione della risonanza).

SET_INPUT_SHAPER

SET_INPUT_SHAPER [SHAPER_FREQ_X=<shaper_freq_x>] [SHAPER_FREQ_Y=<shaper_freq_y>] [DAMPING_RATIO_X=<damping_ratio_x>] [DAMPING_RATIO_Y=<damping_ratio_y>] [SHAPER_TYPE=<shaper>] [SHAPER_TYPE_X=<shaper_type_x>] [SHAPER_TYPE=<shaper_TYPE_X=<shaper_type_x>] [SHAPER_TYPE=<shaper_type_y=<shaper_type_x> ]: Modifica i parametri dell'input shaper. Si noti che il parametro SHAPER_TYPE reimposta l'input shaper per entrambi gli assi X e Y anche se sono stati configurati tipi di shaper diversi nella sezione [input_shaper]. SHAPER_TYPE non può essere utilizzato insieme a uno dei parametri SHAPER_TYPE_X e SHAPER_TYPE_Y. Vedere config reference per maggiori dettagli su ciascuno di questi parametri.

[manual_probe]

Il modulo manual_probe viene caricato automaticamente.

MANUAL_PROBE

MANUAL_PROBE [SPEED=<speed>]: esegue uno script di supporto utile per misurare l'altezza dell'ugello in una determinata posizione. Se viene specificato SPEED, imposta la velocità dei comandi TESTZ (il valore predefinito è 5mm/s). Durante una sonda manuale, sono disponibili i seguenti comandi aggiuntivi:

  • ACCEPT: questo comando accetta la posizione Z corrente e conclude il probing manuale.
  • ABORT: questo comando termina lo strumento di probing manuale.
  • TESTZ Z=<valore>: questo comando sposta l'ugello verso l'alto o verso il basso della quantità specificata in "valore". Ad esempio, TESTZ Z=-.1 sposterebbe l'ugello verso il basso di .1 mm mentre TESTZ Z=.1 sposterebbe l'ugello verso l'alto di .1 mm. Il valore può anche essere +, -, ++ o -- per spostare l'ugello verso l'alto o verso il basso di un importo rispetto ai tentativi precedenti.

Z_ENDSTOP_CALIBRATE

Z_ENDSTOP_CALIBRATE [SPEED=<speed>]: esegue uno script di supporto utile per calibrare un'impostazione di configurazione Z position_endstop. Vedere il comando MANUAL_PROBE per i dettagli sui parametri e sui comandi aggiuntivi disponibili mentre lo strumento è attivo.

Z_OFFSET_APPLY_ENDSTOP

Z_OFFSET_APPLY_ENDSTOP: prende l'offset Z Gcode corrente (noto anche come babystepping) e lo sottrae da stepper_z endstop_position. Questa azione per prendere un valore di babystep utilizzato di frequente e "renderlo permanente". Richiede un SAVE_CONFIG per avere effetto.

[Stepper manuali]

Il comando seguente è disponibile quando una sezione di configurazione stepper_manuale è abilitata.

MANUAL_STEPPER

MANUAL_STEPPER STEPPER=nome_config [ENABLE=[0|1]] [SET_POSITION=<pos>] [SPEED=<velocità>] [ACCEL=<accelerazione>] [MOVE=<pos> [STOP_ON_ENDSTOP=[1|2|- 1|-2]] [SYNC=0]]: Questo comando altererà lo stato dello stepper. Utilizzare il parametro ENABLE per abilitare/disabilitare lo stepper. Utilizzare il parametro SET_POSITION per forzare lo stepper a pensare di trovarsi nella posizione data. Utilizzare il parametro MOVE per richiedere un movimento alla posizione data. Se viene specificato SPEED e/o ACCEL, verranno utilizzati i valori forniti al posto dei valori predefiniti specificati nel file di configurazione. Se viene specificato un ACCEL pari a zero, non verrà eseguita alcuna accelerazione. Se viene specificato STOP_ON_ENDSTOP=1, lo spostamento terminerà in anticipo se l'endstop segnala come attivato (usa STOP_ON_ENDSTOP=2 per completare lo spostamento senza errori anche se l'endstop non si attiva, usa -1 o -2 per interrompere quando l'endstop segnala non innescato). Normalmente i futuri comandi G-Code verranno programmati per essere eseguiti dopo il completamento del movimento passo-passo, tuttavia se un movimento passo-passo manuale utilizza SYNC=0, i futuri comandi di movimento G-Code potrebbero essere eseguiti in parallelo con il movimento passo-passo.

[mcp4018]

Il comando seguente è disponibile quando una sezione di configurazione mcp4018 è abilitata.

SET_DIGIPOT

SET_DIGIPOT DIGIPOT=config_name WIPER=<value>: Questo comando cambierà il valore corrente del digipot. Questo valore dovrebbe essere in genere compreso tra 0.0 e 1.0, a meno che non sia definita una 'scale' nella configurazione. Quando viene definita 'scale', questo valore dovrebbe essere compreso tra 0,0 e 'scale'.

[led]

Il comando seguente è disponibile quando una qualsiasi delle sezioni di configurazione led è abilitata.

SET_LED

SET_LED LED=<nome_config> ROSSO=<valore> VERDE=<valore> BLU=<valore> BIANCO=<valore> [INDEX=<indice>] [TRANSMIT=0] [SYNC=1]: Imposta il LED in output. Ogni colore <valore> deve essere compreso tra 0,0 e 1,0. L'opzione BIANCO è valida solo su LED RGBW. Se il LED supporta più chip in una catena daisy-chain, è possibile specificare INDEX per modificare il colore del solo chip specificato (1 per il primo chip, 2 per il secondo, ecc.). Se INDEX non viene fornito, tutti i LED nella catena verranno impostati sul colore fornito. Se viene specificato TRANSMIT=0, il cambio colore verrà effettuato solo sul successivo comando SET_LED che non specifica TRANSMIT=0; questo può essere utile in combinazione con il parametro INDEX per raggruppare più aggiornamenti in una catena. Per impostazione predefinita, il comando SET_LED sincronizzerà le modifiche con altri comandi gcode in corso. Ciò può comportare un comportamento indesiderato se i LED vengono impostati mentre la stampante non sta stampando in quanto reimposta il timeout di inattività. Se non è necessaria una tempistica attenta, è possibile specificare il parametro SYNC=0 opzionale per applicare le modifiche senza ripristinare il timeout di inattività.

SET_LED_TEMPLATE

SET_LED_TEMPLATE LED=<nome_led> TEMPLATE=<nome_modello> [<param_x>=<letterale>] [INDEX=<indice>]: Assegna un modello_visualizzazione a un dato LED. Ad esempio, se si definisce una sezione di configurazione [display_template my_led_template] allora si potrebbe assegnare TEMPLATE=my_led_template qui. Il display_template dovrebbe produrre una stringa separata da virgole contenente quattro numeri in virgola mobile corrispondenti alle impostazioni dei colori rosso, verde, blu e bianco. Il modello verrà continuamente valutato e il LED verrà impostato automaticamente sui colori risultanti. È possibile impostare i parametri display_template da utilizzare durante la valutazione del modello (i parametri verranno analizzati come valori letterali Python). Se INDEX non è specificato, tutti i chip nella catena dei LED verranno impostati sul modello, altrimenti verrà aggiornato solo il chip con l'indice specificato. Se TEMPLATE è una stringa vuota, questo comando cancellerà qualsiasi modello precedente assegnato al LED (è quindi possibile utilizzare i comandi SET_LED per gestire le impostazioni del colore del LED).

[output_pin]

Il comando seguente è disponibile quando una sezione di configurazione pin_output è abilitata.

SET_PIN

SET_PIN PIN=config_name VALUE=<value> [CYCLE_TIME=<cycle_time>]: Imposta il pin sull'output VALUE. VALUE dovrebbe essere 0 o 1 per i pin di uscita "digital". Per i pin PWM, impostare su un valore compreso tra 0.0 e 1.0 o tra 0.0 e scale se è configurata una scala nella sezione di configurazione output_pin.

Alcuni pin (attualmente solo pin "soft PWM") supportano l'impostazione di un tempo di ciclo esplicito utilizzando il parametro CYCLE_TIME (specificato in secondi). Si noti che il parametro CYCLE_TIME non è memorizzato tra i comandi SET_PIN (qualsiasi comando SET_PIN senza un parametro CYCLE_TIME esplicito utilizzerà il cycle_time specificato nella sezione di configurazione output_pin).

[palette2]

I seguenti comandi sono disponibili quando la sezione di configurazione della palette2 è abilitata.

Le stampe di Palette funzionano incorporando speciali OCodes (Codici Omega) nel file GCode:

  • O1...O32: Questi codici vengono letti dal flusso GCode ed elaborati da questo modulo e passati al dispositivo Palette 2.

Sono inoltre disponibili i seguenti comandi aggiuntivi.

PALETTE_CONNECT

PALETTE_CONNECT: questo comando inizializza la connessione con la Palette 2.

PALETTE_DISCONNECT

PALETTE_DISCONNECT: questo comando si disconnette dalla Palette 2.

PALETTE_CLEAR

PALETTE_CLEAR: questo comando indica alla Palette 2 di cancellare tutti i percorsi di input e output del filamento.

PALETTE_CUT

PALETTE_CUT: Questo comando indica alla Palette 2 di tagliare il filamento attualmente caricato nello splice core.

PALETTE_SMART_LOAD

PALETTE_SMART_LOAD: Questo comando avvia la sequenza di caricamento intelligente sulla Palette 2. Il filamento viene caricato automaticamente estrudendolo alla distanza calibrata sul dispositivo per la stampante e istruisce la Palette 2 una volta completato il caricamento. Questo comando equivale a premere Smart Load direttamente sullo schermo della Palette 2 dopo che il caricamento del filamento è stato completato.

[pid_calibrate]

Il modulo pid_calibrate viene caricato automaticamente se nel file di configurazione è definito un riscaldatore.

PID_CALIBRATE

PID_CALIBRATE HEATER=<nome_config> TARGET=<temperatura> [WRITE_FILE=1]: esegue un test di calibrazione PID. Il riscaldatore specificato verrà abilitato fino al raggiungimento della temperatura target specificata, quindi il riscaldatore verrà spento e acceso per diversi cicli. Se il parametro WRITE_FILE è abilitato, verrà creato il file /tmp/heattest.txt con un log di tutti i campioni di temperatura prelevati durante il test.

[pause_resume]

I seguenti comandi sono disponibili quando la pause_resume config section è abilitata:

PAUSE

PAUSE: mette in pausa la stampa corrente. La posizione attuale viene acquisita per la ripresa al ripristino.

RESUME

RESUME [VELOCITY=<value>]: riprende la stampa da una pausa, ripristinando prima la posizione precedentemente acquisita. Il parametro VELOCITY determina la velocità alla quale l'utensile deve tornare alla posizione originale acquisita.

CLEAR_PAUSE

CLEAR_PAUSE: cancella lo stato di pausa corrente senza riprendere la stampa. Questo è utile se si decide di annullare una stampa dopo un PAUSE. Si consiglia di aggiungerlo al gcode iniziale per assicurarsi che lo stato in pausa sia aggiornato per ogni stampa.

CANCEL_PRINT

CANCEL_PRINT: Annulla la stampa corrente.

Il modulo print_stats viene caricato automaticamente.

SET_PRINT_STATS_INFO

SET_PRINT_STATS_INFO [TOTAL_LAYER=<total_layer_count>] [CURRENT_LAYER= <current_layer>]: passa le informazioni sulo slicer come il layer attivo ed il totale a Klipper. Aggiungi SET_PRINT_STATS_INFO [TOTAL_LAYER=<total_layer_count>] alla sezione gcode di inizio del tuo slicer e SET_PRINT_STATS_INFO [CURRENT_LAYER= <current_layer>] alla sezione gcode di cambio livello per passare le informazioni sul livello dal tuo slicer a Klipper.

[probe]

I seguenti comandi sono disponibili quando è abilitata una sezione di configurazione della sonda o una sezione di configurazione di bltouch (consultare anche la guida alla calibrazione della sonda).

sonda

PROBE [PROBE_SPEED=<mm/s>] [LIFT_SPEED=<mm/s>] [SAMPLES=<count>] [SAMPLE_RETRACT_DIST=<mm>] [SAMPLES_TOLERANCE=<mm>] [SAMPLES_TOLERANCE_RETRIES=<count>] [SAMPLES_RESULT=median|average]: Sposta il nozzle verso il basso finché la sonda non scatta. Se viene fornito uno qualsiasi dei parametri opzionali, sovrascrive l'impostazione equivalente nella sezione probe config section.

QUERY_PROBE

QUERY_PROBE: Riporta lo stato corrente della sonda ("triggered" o "open").

PROBE_ACCURACY

PROBE_ACCURACY [PROBE_SPEED=<mm/s>] [SAMPLES=<count>] [SAMPLE_RETRACT_DIST=<mm>]: Calcola la deviazione massima, minima, media, mediana e standard di più campionamentidella sonda. Per impostazione predefinita, vengono presi 10 CAMPIONI. In caso contrario, i parametri opzionali sono impostati per default sulla loro impostazione equivalente nella sezione di configurazione della sonda.

PROBE_CALIBRATE

PROBE_CALIBRATE [SPEED=<speed>] [<probe_parameter>=<value>]: Eseguire uno script di aiuto utile per calibrare l'offset z della sonda. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Vedere il comando MANUAL_PROBE per i dettagli del parametro SPEED e sui comandi aggiuntivi disponibili mentre lo strumento è attivo. Nota che il comando PROBE_CALIBRATE utilizza la variabile di velocità per spostarsi in direzione XY e Z.

Z_OFFSET_APPLY_PROBE

Z_OFFSET_APPLY_PROBE: prende l'offset Z Gcode corrente (aka, babystepping) e lo sottrae dallo z_offset della sonda. Questo per prendere un valore di babystep utilizzato di frequente e "renderlo permanente". Richiede un SAVE_CONFIG per avere effetto.

[query_adc]

Il modulo query_adc viene caricato automaticamente.

QUERY_ADC

QUERY_ADC [NAME=<config_name>] [PULLUP=<value>]: Riporta l'ultimo valore analogico ricevuto per un pin analogico configurato. Se NAME non viene fornito, viene riportato l'elenco dei nomi dei convertitori adc disponibili. Se viene fornito PULLUP (come valore in Ohm), viene riportato il valore analogico grezzo insieme alla resistenza equivalente dato quel pullup specificato.

[query_endstops]

Il modulo query_endstops viene caricato automaticamente. I seguenti comandi G-Code standard sono attualmente disponibili, ma non è consigliabile utilizzarli:

  • Ottieni lo stato del finecorsa: M119 (usa invece QUERY_ENDSTOPS.)

QUERY_ENDSTOPS

QUERY_ENDSTOPS: Rilevare i finecorsa degli assi e segnala se sono "attivate" o in uno stato "aperto". Questo comando viene in genere utilizzato per verificare che un finecorsa funzioni correttamente.

[resonance_tester]

I seguenti comandi sono disponibili quando una sezione di configurazione di tester_risonanza è abilitata (consultare anche la guida alle risonanze di misurazione).

MEASURE_AXES_NOISE

MEASURE_AXES_NOISE: misura ed riporta il rumore per tutti gli assi di tutti i chip dell'accelerometro abilitati.

TEST_RESONANCES

TEST_RESONANCES AXIS=<asse> OUTPUT=<risonanze,dati_grezzi> [NAME=<nome>] [FREQ_START=<freq_min>] [FREQ_END=<freq_max>] [HZ_PER_SEC=<hz_per_sec>] [CHIPS=<adxl345_chip_name>] [ POINT=x,y,z] [INPUT_SHAPING=[<0:1>]]: esegue il test di risonanza in tutti i punti sonda configurati per l'"asse" richiesto e misura l'accelerazione utilizzando i chip dell'accelerometro configurati per il rispettivo asse. "asse" può essere X o Y, oppure specificare una direzione arbitraria come AXIS=dx,dy, dove dx e dy sono numeri in virgola mobile che definiscono un vettore di direzione (es. AXIS=X, AXIS=Y, o AXIS=1,-1 per definire una direzione diagonale). Nota che AXIS=dx,dy e AXIS=-dx,-dy sono equivalenti. adxl345_chip_name può essere uno o più chip adxl345 configurati, delimitati da virgole, ad esempio CHIPS="adxl345, adxl345 rpi". Nota che adxl345 può essere omesso dai chip adxl345 denominati. Se POINT è specificato, sovrascriverà i punti configurati in [resonance_tester]. Se INPUT_SHAPING=0 o non impostato (predefinito), disabilita l'input shaping per il test di risonanza, perché non è valido eseguire il test di risonanza con input shaper abilitato. Il parametro OUTPUT è un elenco separato da virgole di cui verranno scritti gli output. Se viene richiesto raw_data, i dati grezzi dell'accelerometro vengono scritti in un file o in una serie di file /tmp/raw_data_<asse>_[<nome_chip>_][<punto>_]<nome>.csv con (<punto>_ parte del nome generata solo se è configurato più di 1 punto sonda o è specificato PUNTO). Se viene specificato resonances, la risposta in frequenza viene calcolata (su tutti i punti sonda) e scritta nel file /tmp/resonances_<asse>_<nome>.csv. Se non è impostato, OUTPUT è impostato su risonanze e NAME è impostato sull'ora corrente nel formato "AAAAMMGG_HHMMSS".

SHAPER_CALIBRATE

SHAPER_CALIBRATE [AXIS=<axis>] [NAME=<name>] [FREQ_START=<min_freq>] [FREQ_END=<max_freq>] [HZ_PER_SEC=<hz_per_sec>] [CHIPS=<adxl345_chip_name>] [MAX_SMOOTHING=<max_smoothing>]: Similarly to TEST_RESONANCES, runs the resonance test as configured, and tries to find the optimal parameters for the input shaper for the requested axis (or both X and Y axes if AXIS parameter is unset). If MAX_SMOOTHING is unset, its value is taken from [resonance_tester] section, with the default being unset. See the Max smoothing of the measuring resonances guide for more information on the use of this feature. The results of the tuning are printed to the console, and the frequency responses and the different input shapers values are written to a CSV file(s) /tmp/calibration_data_<axis>_<name>.csv. Unless specified, NAME defaults to the current time in "YYYYMMDD_HHMMSS" format. Note that the suggested input shaper parameters can be persisted in the config by issuing SAVE_CONFIG command, and if [input_shaper] was already enabled previously, these parameters take effect immediately.

[respond]

I seguenti comandi G-Code standard sono disponibili quando la sezione di configurazione di risposta è abilitata:

  • M118 <messaggio>: fa eco al messaggio preceduto dal prefisso predefinito configurato (o echo: se non è configurato alcun prefisso).

Sono inoltre disponibili i seguenti comandi aggiuntivi.

RESPOND

  • RESPOND MSG="<message>": echo il messaggio preceduto dal prefisso predefinito configurato (o echo: se non è configurato alcun prefisso).
  • RESPOND TYPE=echo MSG="<message>": echo del messaggio preceduto da echo:.
  • RESPOND TYPE=echo_no_space MSG="<messaggio>": fa eco al messaggio preceduto da echo: senza uno spazio tra prefisso e messaggio, utile per la compatibilità con alcuni plugin di octoprint che prevedono una formattazione molto specifica.
  • RESPOND TYPE=command MSG="<message>": echo il messaggio preceduto da //. OctoPrint può essere configurato per rispondere a questi messaggi (ad es. RESPOND TYPE=command MSG=action:pause).
  • RESPOND TYPE=error MSG="<messaggio>": fa eco al messaggio preceduto da !!.
  • RESPOND PREFIX=<prefix> MSG="<message>": echo il messaggio preceduto da <prefix>. (Il parametro PREFIX avrà la priorità sul parametro TYPE)

[save_variables]

Il comando seguente è abilitato se è stata abilitata una sezione di configurazione save_variables.

SAVE_VARIABLE

SAVE_VARIABLE VARIABLE=<nome> VALUE=<valore>: salva la variabile su disco in modo che possa essere utilizzata tra i riavvii. Tutte le variabili memorizzate vengono caricate nel dict printer.save_variables.variables all'avvio e possono essere utilizzate nelle macro gcode. Il VALUE fornito viene analizzato come un valore letterale Python.

[screws_tilt_adjust]

I seguenti comandi sono disponibili quando la sezione di configurazione viti_tilt_adjust è abilitata (consultare anche la manual level guide).

SCREWS_TILT_CALCULATE

SCREWS_TILT_CALCULATE [DIRECTION=CW|CCW] [MAX_DEVIATION=<valore>] [HORIZONTAL_MOVE_Z=<valore>] [<probe_parameter>=<valore>]: questo comando richiamerà lo strumento di regolazione delle viti del piatto. Comanderà l'ugello in posizioni diverse (come definito nel file di configurazione) sondando l'altezza z e calcolerà il numero di giri della manopola per regolare il livello del piatto. Se è specificata DIREZIONE, i giri della manopola saranno tutti nella stessa direzione, in senso orario (CW) o antiorario (CCW). Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. IMPORTANTE: DEVI sempre eseguire un G28 prima di utilizzare questo comando. Se viene specificato MAX_DEVIATION, il comando genererà un errore gcode se qualsiasi differenza nell'altezza della vite rispetto all'altezza della vite di base è maggiore del valore fornito. Il valore opzionale HORIZONTAL_MOVE_Z sovrascrive l'opzione horizontal_move_z specificata nel file di configurazione.

[sdcard_loop]

Quando la sezione di configurazione sdcard_loop è abilitata, sono disponibili i seguenti comandi estesi.

SDCARD_LOOP_BEGIN

SDCARD_LOOP_BEGIN COUNT=<count>: inizia una sezione in loop nella stampa SD. Un conteggio pari a 0 indica che la sezione deve essere ripetuta indefinitamente.

SDCARD_LOOP_END

SDCARD_LOOP_END: termina una sezione in loop nella stampa SD.

SDCARD_LOOP_DESIST

SDCARD_LOOP_DESIST: completa i loop esistenti senza ulteriori iterazioni.

[servo]

I seguenti comandi sono disponibili quando una sezione di configurazione servo è abilitata.

SET_SERVO

SET_SERVO SERVO=nome_config [ANGLE=<gradi> | WIDTH=<secondi>]: Imposta la posizione del servo sull'angolo dato (in gradi) o sulla larghezza dell'impulso (in secondi). Usa WIDTH=0 per disabilitare l'uscita servo.

[skew_correction]

I seguenti comandi sono disponibili quando è abilitata la sezione config_correzione_asimmetria (consultare anche la guida Correzione_asimmetria).

SET_SKEW

SET_SKEW [XY=<ac_length,bd_length,ad_length>] [XZ=<ac,bd,ad>] [YZ=<ac,bd,ad>] [CLEAR=<0|1>]: Configura il modulo [correzione_inclinazione ] con misure (in mm) tratte da una stampa di calibrazione. Si possono inserire misure per qualsiasi combinazione di piani, i piani non inseriti manterranno il loro valore attuale. Se viene immesso CLEAR=1, tutta la correzione dell'inclinazione sarà disabilitata.

GET_CURRENT_SKEW

GET_CURRENT_SKEW: Riporta l'inclinazione corrente della stampante per ciascun piano sia in radianti che in gradi. L'inclinazione viene calcolata in base ai parametri forniti tramite il gcode SET_SKEW.

CALC_MEASURED_SKEW

CALC_MEASURED_SKEW [AC=<ac_length>] [BD=<bd_length>] [AD=<ad_length>]: calcola e riporta l'inclinazione (in radianti e gradi) in base a una stampa di test misurata. Questo può essere utile per determinare l'inclinazione corrente della stampante dopo che è stata applicata la correzione. Può anche essere utile prima di applicare la correzione per determinare se è necessaria la correzione dell'inclinazione. Vedere Correzione inclinazione per i dettagli su oggetti e misurazioni di calibrazione inclinazione.

SKEW_PROFILE

SKEW_PROFILE [LOAD=<nome>] [SAVE=<nome>] [REMOVE=<nome>]: Gestione del profilo per correzione_inclinazione. LOAD ripristinerà lo stato di inclinazione dal profilo corrispondente al nome fornito. SAVE salverà lo stato di inclinazione corrente in un profilo che corrisponde al nome fornito. REMOVE eliminerà il profilo corrispondente al nome fornito dalla memoria persistente. Si noti che dopo aver eseguito le operazioni SAVE o REMOVE è necessario eseguire il gcode SAVE_CONFIG per rendere permanenti le modifiche alla memoria persistente.

[smart_effector]

Sono disponibili diversi comandi quando una sezione di configurazione smart_effector è abilitata. Assicurati di controllare la documentazione ufficiale per Smart Effector su Duet3D Wiki prima di modificare i parametri di Smart Effector. Controllare anche la guida alla calibrazione della sonda.

SET_SMART_EFFECTOR

SET_SMART_EFFECTOR [SENSITIVITY=<sensibilità>] [ACCEL=<accel>] [RECOVERY_TIME=<tempo>]: imposta i parametri di Smart Effector. Quando viene specificato SENSITIVITY, il rispettivo valore viene scritto nella EEPROM dello SmartEffector (richiede che sia fornito control_pin). I valori di <sensibilità> accettabili sono 0..255, il valore predefinito è 50. Valori inferiori richiedono una minore forza di contatto dell'ugello per attivarsi (ma esiste un rischio maggiore di falso trigger a causa delle vibrazioni durante la tastatura) e valori più alti riducono il falso trigger (ma richiede una maggiore forza di contatto per attivarsi). Poiché la sensibilità viene scritta nella EEPROM, viene conservata dopo lo spegnimento e quindi non è necessario configurarla ad ogni avvio della stampante. ACCEL e RECOVERY_TIME consentono di sovrascrivere i parametri corrispondenti in fase di esecuzione, vedere la sezione di configurazione di Smart Effector per maggiori informazioni su quei parametri.

RESET_SMART_EFFECTOR

RESET_SMART_EFFECTOR: Ripristina la sensibilità di Smart Effector alle impostazioni di fabbrica. Richiede che il relativo control_pin sia fornito nella sezione di configurazione.

[stepper_enable]

Il modulo stepper_enable viene caricato automaticamente.

SET_STEPPER_ENABLE

SET_STEPPER_ENABLE STEPPER=<nome_config> ENABLE=[0|1]: Abilita o disabilita solo lo stepper dato. Questo è uno strumento diagnostico e di debug e deve essere utilizzato con cautela. La disabilitazione di un motore dell'asse non ripristina le informazioni di homing. Lo spostamento manuale di uno stepper disabilitato può causare l'azionamento del motore della macchina al di fuori dei limiti di sicurezza. Ciò può causare danni ai componenti dell'asse, al hotend e alla superficie di stampa.

[temperature_fan]

Il comando seguente è disponibile quando una sezione di configurazione della ventola_temperatura è abilitata.

SET_TEMPERATURE_FAN_TARGET

SET_TEMPERATURE_FAN_TARGET temperature_fan=<temperature_fan_name> [target=<target_temperature>] [min_speed=<min_speed>] [max_speed=<max_speed>]: Imposta la temperatura target per una temperature_fan. Se non viene fornito un target, viene impostato sulla temperatura specificata nel file di configurazione. Se le velocità non vengono fornite, non viene applicata alcuna modifica.

[tmcXXXX]

I seguenti comandi sono disponibili quando una qualsiasi delle tmcXXXX config section è abilitata.

DUMP_TMC

DUMP_TMC STEPPER=<nome> [REGISTER=<nome>]: questo comando leggerà tutti i registri del driver TMC e riporterà i loro valori. Se viene fornito un REGISTER, verrà eseguito il dump solo del registro specificato.

INIT_TMC

INIT_TMC STEPPER=<nome>: questo comando inizializzerà i registri TMC. Necessario per riattivare il driver se l'alimentazione al chip viene spenta e poi riaccesa.

SET_TMC_CURRENT

SET_TMC_CURRENT STEPPER=<nome> CURRENT=<amp> HOLDCURRENT=<amp>: regola le correnti di funzionamento e mantenimento del driver TMC. HOLDCURRENT non è applicabile ai driver tmc2660. Quando utilizzato su un driver che dispone del campo globalscaler (tmc5160 e tmc2240), se si utilizza StealthChop2, lo stepper deve essere tenuto fermo per >130 ms in modo che il driver esegua la calibrazione AT#1.

SET_TMC_FIELD

SET_TMC_FIELD STEPPER=<nome> FIELD=<campo> VALUE=<valore> VELOCITY=<valore>: Ciò modificherà il valore del campo di registro specificato del driver TMC. Questo comando è destinato solo alla diagnostica e al debug di basso livello poiché la modifica dei campi durante l'esecuzione può portare a comportamenti indesiderati e potenzialmente pericolosi della stampante. Le modifiche permanenti dovrebbero invece essere apportate utilizzando il file di configurazione della stampante. Non vengono eseguiti controlli di integrità per i valori specificati. È anche possibile specificare una VELOCITÀ invece di un VALORE. Questa velocità viene convertita nella rappresentazione del valore basata su TSTEP a 20 bit. Utilizzare l'argomento VELOCITÀ solo per i campi che rappresentano velocità.

[toolhead]

Il modulo toolhead viene caricato automaticamente.

SET_VELOCITY_LIMIT

SET_VELOCITY_LIMIT [VELOCITY=<valore>] [ACCEL=<valore>] [ACCEL_TO_DECEL=<valore>] [SQUARE_CORNER_VELOCITY=<valore>]: Modifica i limiti di velocità della stampante.

[tuning_tower]

Il modulo tuning_tower viene caricato automaticamente.

TUNING_TOWER

TUNING_TOWER COMMAND=<comando> PARAMETER=<nome> START=<valore> [SKIP=<valore>] [FACTOR=<valore> [BAND=<valore>]] | [STEP_DELTA=<valore> STEP_HEIGHT=<valore>]: Uno strumento per regolare un parametro su ciascuna altezza Z durante una stampa. Lo strumento eseguirà il dato COMMAND con il dato PARAMETER assegnato a un valore che varia con Z secondo una formula. Usa FACTOR se utilizzerai un righello o calibri per misurare l'altezza Z del valore ottimale, o STEP_DELTA e STEP_HEIGHT se il modello della torre di regolazione ha bande di valori discreti come è comune con le torri della temperatura. Se viene specificato SKIP=<valore>, il processo di ottimizzazione non inizia finché non viene raggiunta l'altezza Z <valore>, e al di sotto di essa il valore sarà impostato su START; in questo caso, la z_height usata nelle formule seguenti è in realtà max(z - skip, 0). Ci sono tre possibili combinazioni di opzioni:

  • FACTOR: Il valore cambia a una velocità di factor per millimetro. La formula utilizzata è: valore = inizio + fattore * z_altezza. È possibile inserire l'altezza Z ottimale direttamente nella formula per determinare il valore del parametro ottimale.
  • FACTOR e BAND: il valore cambia a una velocità media di factor per millimetro, ma in bande discrete in cui la regolazione verrà effettuata solo ogni BAND millimetri di altezza Z. La formula utilizzata è: value = start + factor * ((floor(z_height / band) + .5) * band).
  • STEP_DELTA e STEP_HEIGHT: il valore cambia di STEP_DELTA ogni STEP_HEIGHT millimetri. La formula utilizzata è: value = start + step_delta * floor(z_height / step_height). Puoi semplicemente contare le bande o leggere le etichette della torre di tuning per determinare il valore ottimale.

[virtual_sdcard]

Klipper supporta i seguenti comandi G-Code standard se la sezione di configurazione di virtual_sdcard è abilitata:

  • Elenco scheda SD: M20
  • Inizializza scheda SD: M21
  • Selezionare il file SD: M23 <nomefile>
  • Avvia/riprendi la stampa SD: M24
  • Sospendi la stampa SD: M25
  • Impostare la posizione SD: M26 S<offset>
  • Riporta lo stato di stampa SD: M27

Inoltre, quando la sezione di configurazione "virtual_sdcard" è abilitata, sono disponibili i seguenti comandi estesi.

SDCARD_PRINT_FILE

SDCARD_PRINT_FILE FILENAME=<nomefile>: carica un file e avvia la stampa SD.

SDCARD_RESET_FILE

SDCARD_RESET_FILE: Scarica il file e cancella lo stato SD.

[axis_twist_compensation]

The following commands are available when the axis_twist_compensation config section is enabled.

AXIS_TWIST_COMPENSATION_CALIBRATE

AXIS_TWIST_COMPENSATION_CALIBRATE [SAMPLE_COUNT=<value>]: Initiates the X twist calibration wizard. SAMPLE_COUNT specifies the number of points along the X axis to calibrate at and defaults to 3.

[z_thermal_adjust]

I seguenti comandi sono disponibili quando la sezione z_thermal_adjust config è abilitata.

SET_Z_THERMAL_ADJUST

SET_Z_THERMAL_ADJUST [ENABLE=<0:1>] [TEMP_COEFF=<valore>] [REF_TEMP=<valore>]: Abilita o disabilita la regolazione termica Z con ENABLE. La disabilitazione non rimuove alcuna regolazione già applicata, ma congela il valore di regolazione corrente - questo impedisce il movimento Z verso il basso potenzialmente pericoloso. La riattivazione può potenzialmente causare il movimento dell'utensile verso l'alto quando la regolazione viene aggiornata e applicata. TEMP_COEFF consente la regolazione in tempo reale del coefficiente di temperatura di regolazione (cioè il parametro di configurazione TEMP_COEFF). I valori TEMP_COEFF non vengono salvati nella configurazione. REF_TEMP sovrascrive manualmente la temperatura di riferimento tipicamente impostata durante l'homing (per l'uso, ad esempio, in routine di homing non standard) - verrà ripristinata automaticamente durante l'homing.

[z_tilt]

I seguenti comandi sono disponibili quando la sezione z_tilt config è abilitata.

Z_TILT_ADJUST

Z_TILT_ADJUST [HORIZONTAL_MOVE_Z=<value>] [<probe_parameter>=<value>]: questo comando sonda i punti specificati nella configurazione e quindi apporta regolazioni indipendenti a ciascun stepper Z per compensare l'inclinazione. Vedere il comando PROBE per i dettagli sui parametri opzionali della sonda. Il valore opzionale HORIZONTAL_MOVE_Z sovrascrive l'opzione horizontal_move_z specificata nel file di configurazione.

Torna su