Makros und G-code: Kobra S1 und Kobra 3
Stand 19.10.2026. Interne Referenz — nicht unter /doku. Messwerte und Bettnetz-Story: D:\Projekte\3DP\FDM\Wissen\Drucker\ (Kobra S1.md, Kobra 3.md). Stack: Anycubic-Stack.
Quellen: printer/gcode/help (11.10. auf den Maschinen), GoKlipper/extras_ace.go, Rinkhals-RE GOKLIPPER_ACE_GCODE_COMMANDS.md, Grotti-Policy.
Nicht tun
| Nicht |
Warum |
Stattdessen |
FIRMWARE_RESTART / RESTART |
gklib Deadlock bis Power-Cycle (Rinkhals #32) |
Display-Reboot oder Strom; hängenden Job: Fehler löschen (SDCARD_RESET_FILE) |
LEVIQ / LEVIQ2 aus Mainsail |
Heizung + volle Nivellierfolge, fährt unerwartet |
Am Display Auto-Level; Einzelschritte nur bewusst |
SAVE_CONFIG aus Mainsail |
schreibt u. a. Z-Offset mit |
Dauerhaft nur gezielt / nach Display-Nivellieren |
| Nur Moonraker-Cancel |
Anycubic-Task bleibt → Start-Code 10101 |
Cancel + MQTT-stop (Grotti abbrechen) |
Community-ACE_SET_SLOT / manuelles G9111 als Grotti-Pfad |
Grotti mappt über .acm + MQTT |
Map in der App; Slice-G9111 im Start-G-code belassen |
minimum_cruise_ratio auf 0 (S1) |
Moonraker hängt auf dieser Firmware |
bei 0,05 belassen |
G28 Y mit Teilen auf dem Bett (K3) |
Sensorless-Home nach vorn über die Teile |
Bett leeren; Abräumen ohne G28 Z |
Blind FEED / FEED_FILAMENT ohne Unwind |
Blockade bis Neustart (RE-Doku) |
Unload/Unwind-Sequenz einhalten |
SET_KINEMATIC_POSITION mit erfundener Z nach Stepper-aus |
Portal sackt → Null daneben, Probe „No trigger“ oder Crash |
echte letzte XYZ; oder Bett leer + G28 |
| Freie G-code-Konsole in Grotti für Experimente |
Policy |
nur bekannte, bestätigte Scripts |
Abräumen-Makro in printer.cfg pflegen |
Rinkhals schreibt Config neu |
Grotti schickt Scripts per Moonraker |
Vanilla-Klipper-Alltag (beide Typen)
Befehl → was er macht. Anycubic-Hinweis nur wo nötig.
Homes und Bewegung
| Befehl |
Funktion |
G28 |
Homed die genannten Achsen (ohne Argument: alle). K3: Y-Home fährt nach vorn — Bett muss leer sein. |
G0 / G1 |
Lineare Bewegung / Extrusion. Absolute/relative Modi wie üblich (G90/G91, M82/M83). |
M400 |
Wartet, bis alle Moves fertig sind. |
SET_VELOCITY_LIMIT |
Limits für Speed/Accel zur Laufzeit. |
SET_KINEMATIC_POSITION |
Setzt die interne Position ohne zu fahren. Nach M84/Leerlauf riskant — siehe „Nicht tun“. |
SET_IDLE_TIMEOUT |
Idle-Zeit bis Stepper aus. Abräumen hält Idle bewusst länger. |
M84 / M18 |
Stepper aus → Achsen unhomed. Slice-Ende K3 macht das oft; Abräumen entfernt es beim Upload. |
Heizen
| Befehl |
Funktion |
M104 / M109 |
Düse Soll / warten bis erreicht. |
M140 / M190 |
Bett Soll / warten. |
TURN_OFF_HEATERS |
Düse und Bett aus. |
PID_CALIBRATE |
PID für Extruder oder Bett kalibrieren. Danach oft SAVE_CONFIG — auf diesen Maschinen vorsichtig. |
M106 / M107 |
Teilkühlung an / aus. |
Drucklauf
| Befehl |
Funktion |
PAUSE / RESUME / CANCEL_PRINT |
Rinkhals-Makros um Pause/Weiter/Abbruch. Moonraker-Cancel allein räumt den Anycubic-Task nicht. |
SDCARD_RESET_FILE |
Löscht hängenden virtual-sdcard-/Druckstatus („Fehler löschen“ in Grotti). |
PRINT_STATS |
Status des laufenden/letzten Jobs (Objekt auch über Moonraker). |
Bettnetz und Probe
| Befehl |
Funktion |
BED_MESH_CALIBRATE |
Tastet das Netz und schaltet es aktiv. |
BED_MESH_OUTPUT |
Gibt die Punkte aus, ohne zu fahren. |
BED_MESH_MAP |
Schreibt das interpolierte Netz in die Konsole. |
BED_MESH_CLEAR |
Schaltet die Korrektur aus. |
BED_MESH_OFFSET |
Verschiebt das Netz in X/Y. |
BED_MESH_PROFILE |
LOAD / SAVE / REMOVE für Profile. Dauerhaft erst mit SAVE_CONFIG. |
PROBE |
Ein Tastpunkt an der aktuellen Position. |
PROBE_ACCURACY |
Mehrfach tasten, Streuung ausgeben. |
PROBE_CALIBRATE |
Sensor kalibrieren (nicht der Z-Regler am Display). |
Z_OFFSET_APPLY_PROBE |
Laufenden G-code-Offset in probe.z_offset schreiben. |
SET_GCODE_OFFSET |
Offset nur für den aktuellen Auftrag. |
SAVE_CONFIG |
Schreibt Config dauerhaft — nicht blind aus Mainsail. |
Diagnose
| Befehl |
Funktion |
QUERY_ENDSTOPS / M119 |
Endstop-Zustände. |
GET_POSITION / M114 |
Toolhead-/Stepper-Position. |
QUERY_ADC |
ADC-Werte (z. B. Thermistoren). |
DUMP_TMC |
TMC-Register (Stepper nennen). |
Slice-Start Anycubic
| Befehl |
Funktion |
G9111 |
Vorheizen aus dem Slicer: typisch bedTemp=… und extruderTemp=…. Steht im Maschinen-Start-G-code. Grotti ersetzt das nicht und startet auch nicht darüber. |
ACE (gemeinsam)
Zwei Namenswelten:
- Open-Source GoKlipper
extras_ace.go (BunnyACE-Stil): ACE_CHANGE_TOOL, ACE_FEED, ACE_RETRACT, ACE_SET_SLOT, ACE_QUERY_SLOTS, ACE_START_DRYING / ACE_STOP_DRYING, Feed-Assist, Endless Spool, …
- Ausgeliefertes Binary (Rinkhals-RE): u. a.
FEED_FILAMENT, UNWIND_FILAMENT, UNWIND_ALL_FILAMENT, SET_CURRENT_FILAMENT, ACE_INFO, ACE_STATUS, Cutter-/Pipe-Befehle.
Grotti nutzt keine Community-Makros ACE_SET_SLOT / manuelles Tool-Mapping per G-code. Zuordnung: Sidecar .acm + MQTT ams_settings (Senden-Queue, ACE-Live). Slots anzeigen: Moonraker-Objekt mmu (Rinkhals). Trocknen: Moonraker POST /server/filament_hub/start_drying (nicht zwingend der G-code).
| Befehl (Auswahl) |
Funktion |
ACE_CHANGE_TOOL / Tool-Macros T0… |
Werkzeugwechsel über ACE. |
ACE_FEED / FEED_FILAMENT |
Filament vom Gate zur Düse laden. Vorher unloaden. |
ACE_RETRACT / UNWIND_FILAMENT |
Zurückziehen / parkieren. |
ACE_SET_SLOT |
Inventar Slot setzen — Grotti meidet das. |
ACE_START_DRYING / ACE_STOP_DRYING |
Trockner; alternativ filament_hub-API. |
ACE_ENABLE_ENDLESS_SPOOL / …_DISABLE / …_STATUS |
Endless Spool. |
Details und Parameter: Rinkhals docs/GOKLIPPER_ACE_GCODE_COMMANDS.md (lokal unter D:\Projekte\_ref\Rinkhals\).
Kobra S1 — Anycubic-Makros
Config-Sektion heißt [leviQ3], die Befehle auf dem Gerät heißen LEVIQ2. Stecken in GoKlipper. Hilfe gelesen 11.10. über printer/gcode/help.
LeviQ2
| Befehl |
Funktion |
LEVIQ2 |
Ganze Nivellierfolge: heizen, wischen, antasten. Nicht aus Mainsail. SYNC=enable startet danach neu. |
LEVIQ2_PREHEATING |
Vorheizen: Bett 55 °C, Düse 170 °C, dann HOME_XY. S = Düsentemp, E = Temp nach dem Wischen. |
LEVIQ2_WIPING |
Wischen: Netz löschen, Düse auf 140 °C, intern G9112, dann G28 Z. |
LEVIQ2_PROBE |
Antasten: BED_MESH_CALIBRATE, Lüfter/Bett aus, Z auf 20 mm, HOME_XY, Düse aus. |
LEVIQ_SET_ZERO |
Z-Basis und Home-Position auf 0. |
LEVIQ2_AUTO_ZOFFSET |
Löscht laut Hilfe den Koeffizienten K. |
LEVIQ2_AUTO_ZOFFSET_ON_OFF |
Schaltet automatischen Z-Offset. |
LEVIQ2_TEMP_OFFSET |
Temperaturausgleich (expansion_factor / zoffset_base in der Config). Fehlt im veröffentlichten Quelltext. |
HOME_XY |
Nur X/Y homen (von LeviQ-Schritten genutzt). |
Netz: 5×5, X/Y 5–245 mm. Details: Wissen Kobra S1.md.
Wipe (Pad hinten)
| Befehl |
Funktion |
WIPE_ENTER |
Anfahrt Pad (Y 250 → X 81, Y 273). |
WIPE_NOZZLE |
Wischbahn; wiederholt die Strecke X 96↔81. |
WIPE_STOP |
Kurze Stopp-Bahnen, dann X 75. |
WIPE_EXIT |
Weg vom Pad (X 83, Y 250). |
TO_THROW_POSITION |
Position zum Abwerfen (~X 47, Y 276). |
MOVE_TO_SWEEP_POSITION |
Wisch-/Kehrposition (gleiche Gegend). |
MOVE_TO_IMPACT_POSITION |
Weg vom Pad nach vorn rechts (Y 25, X 261). |
PRINT_LINE |
Purge-Linie bei Y 251, Z 0,28 bis X 125. |
Kobra 3 — Anycubic-Makros
Befehle gelesen 11.10. auf da26 (92ee/6e41 gleiche printer.generated.cfg). Im veröffentlichten Quelltext heißen Teile noch LEVIQ3_* / LEVIQ2_PROBE — auf den drei Druckern gelten die Namen unten.
LeviQ
| Befehl |
Funktion |
LEVIQ |
Ganze Folge inkl. Z-Offset-Rechnung. Nicht aus Mainsail. SYNC=enable startet danach neu. |
LEVIQ_PREHEATING |
Z-Basis 0, Bett 60 °C, Düse 170 °C, HOME_XY, auf Düse warten. S / E wie bei S1. |
LEVIQ_WIPING |
Netz löschen, Düse 140 °C, G9112, G28 Z. |
LEVIQ_PROBE |
BED_MESH_CALIBRATE, Lüfter/Bett aus, Z auf 30 mm, HOME_XY, Düse aus. |
LEVIQ_SET_ZERO |
Z-Basis und Home auf 0. |
LEVIQ_AUTO_ZOFFSET |
Löscht Koeffizient K (Hilfe). |
LEVIQ_AUTO_ZOFFSET_ON_OFF |
Automatischen Z-Offset schalten (oft an). |
LEVIQ_TEMP_OFFSET |
Temperaturausgleich (Hilfezeile „LEVIQ3 TEMP OFFSET“). Fehlt im Open-Source-Code. |
HOME_XY |
Nur X/Y homen. |
Netz: 5×5, X 15–240, Y 15–235 mm. Details: Wissen Kobra 3.md.
Wipe
| Befehl |
Funktion |
WIPE_NOZZLE |
Dreimal SINGLE_WIPE_NOZZLE (Y 260/259, X 46–90, Z −0,8↔1, Lüfter an). |
SINGLE_WIPE_NOZZLE |
Eine einzelne Wischbahn. |
MOVE_HEAT_POS |
Z 15, dann X 278 (Heiz-/Parknahe Position). |
UNDERLINE |
Purge-Linie Z 0,28 bis X 180, ~40 mm Extrusion. |
MOVE_END_POS |
Ende/Park X 5, Y 242. |
Wägezelle
| Befehl |
Funktion |
CS1237_DUMP |
Debug-Ausgabe zum CS1237 (Z-Sensor / Kraft). Moonraker liefert keine laufende Gramm-Anzeige; probe.last_z_result fehlt. |
Siehe auch