Senden und Abbruch laufen über den Treiber, Orca-Doppelzeilen und tote Ideen-API fallen weg, Drucker folgen der Datei, Etikettenformat liegt in den Einstellungen.
3.1 KiB
Treiber
Stand 2.11.2026. Die Karte, die Moonraker heute liefert, ist der Vertrag. Ein Treiber füllt, was die Maschine hergibt.
| Treiber | Wer | Transport |
|---|---|---|
moonraker |
Kobra 3, Kobra S1 | Moonraker plus Rinkhals-Richtlinie: kein Firmware-Restart, ACE-Start über MQTT, Kamera unter /webcam/, Bettnetz |
anycubic_lan |
Kobra 4, Stock-Firmware | MQTTS :9883, Upload auf fileUploadurl, Plätze über multiColorBox. Kamera der Firmware (FLV) zeigt die Wand noch nicht |
marlin |
Anycubic i3, Tenlog | Dienst auf dem Rechner mit dem Kabel. Grotti spricht nur 127.0.0.1 |
Fähigkeiten
Wer eine Fähigkeit ändert, ändert diese Liste im selben Schritt wie das Changelog.
| Drucker | Status | Start | Pause / Abbruch | ACE | Bettnetz | Kamera | Mainsail | Heizen Wand | Ablauf |
|---|---|---|---|---|---|---|---|---|---|
| Kobra 3 | ja | ja | ja | ja | ja | MJPEG | ja | ja | ja |
| Kobra S1 | ja | ja | ja | ja | ja | MJPEG | ja | ja | nein |
| Kobra 4 | ja | ja (LAN) | ja | ja | nein | noch nicht (FLV) | nein | nein | nein |
| Anycubic i3 | ja | Strom oder SD | ja | nein | nein | nein | nein | nein (G-code) | nein |
| Tenlog | ja (2 Köpfe) | Strom oder SD | ja | nein (Köpfe) | nein | nein | nein | nein (G-code) | nein |
Die Instanz auf hoe bleibt auf master. Dieser Stand liegt auf dem Branch treiber und wird lokal geprüft.
Marlin-Dienst
Grotti startet ihn selbst, sobald ein i3 oder Tenlog in der Liste steht. Lauscht er schon, bleibt der Prozess: Neustart und Absturz von Grotti schicken keinen Abbruch und öffnen die Leitung nicht neu. Grotti beendet den Dienst nicht.
Lokal ist das ein eigener Prozess (python -m grotti.marlin_daemon, Log data/marlin-dienst.log). Auf dem Pi ist es die Unit grotti-marlin.service, außerhalb von grotti.service, damit ein systemctl restart grotti den Druck nicht mitnimmt.
Port GROTTI_MARLIN_PORT (8771). pyserial öffnet die Leitung. Der Host des Druckers ist die Schnittstelle, Baud optional dahinter: COM5, COM5@250000, /dev/ttyUSB0. In den Einstellungen eintragen, Familie Anycubic i3 oder Tenlog.
Beim ersten Öffnen setzt USB den Drucker zurück (DTR). Danach bleibt der Port im Dienst.
Start pro Auftrag, Feld marlin_mode am Senden:
stream— Zeile für Zeile, jede Zeile wartet aufok. Fortschritt ist die Dateiposition. Bricht die Leitung ab, stirbt der Druck.sd— Datei perM28/M29auf die Karte (Name 8.3,TEIL.GCO), dannM23/M24. Der Drucker druckt allein, der Dienst fragtM27undM105.
T0 und T1 gehen unverändert in den Strom. Tenlog (family: tenlog) meldet zwei Köpfe unter tools, die Wand zeigt beide Temperaturen. slots bleibt leer, ein Start verlangt keine ACE-Zuordnung. Pause, Weiter und Abbruch gehen über die Wand. Heizen, Speed und Plätze nicht: das steht im G-code. Pause im Strom hält die nächsten Zeilen an, auf der Karte ist es M25/M24. Abbruch schaltet die Heizungen aus; auf der Karte zusätzlich M524.
Die Warteschlange „wenn frei“ übergibt den Modus noch nicht, dort gilt Strom.