Files
grotti/docs/internal/Treiber.md
T
Dominic Gundel db6a85a703 Grotti 3.7.0: Treiber für Kobra 4 und Marlin, smartere Dateien-Auswahl und einstellbare Etiketten.
Senden und Abbruch laufen über den Treiber, Orca-Doppelzeilen und tote Ideen-API fallen weg, Drucker folgen der Datei, Etikettenformat liegt in den Einstellungen.
2026-11-02 14:03:57 +01:00

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 auf ok. Fortschritt ist die Dateiposition. Bricht die Leitung ab, stirbt der Druck.
  • sd — Datei per M28/M29 auf die Karte (Name 8.3, TEIL.GCO), dann M23/M24. Der Drucker druckt allein, der Dienst fragt M27 und M105.

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.