nikibalboa hat geschrieben:Ich würde ja gerne beim beheben mithelfen nur leider sind meine programmier Kenntnisse zu wenig.
Falls das helfen sollte in der 1.38.x wo das soft laden und entladen eingebaut wurde hats noch funktioniert.
Lg nikibalboa
Ich habe genau einen GCode oder bessergesagt MCode eingebaut.
Dieser ersetzt das alte MCode Script.
Das Problem ist: Wird dieser neue MCode auf manchen Druckern über das Menü gestartet, schmiert der Drucker offensichtlich ab.
Ich glaube, dass der GCode ansich funktioniert, man ihn aber nicht über das Menü starten darf.
(Gibts Gegenstimmen?)
Hier sind alle Scripte:Code: Alles auswählen
// ##########################################################################################
// ## Script configuration
// ##########################################################################################
/** \brief Automatic filament change, unmounting of the filament - ensure that G1 does not attempt to extrude more than EXTRUDE_MAXLENGTH */
#define UNMOUNT_FILAMENT_SCRIPT_SOFT "M3914 P4500"
#define UNMOUNT_FILAMENT_SCRIPT_HARD "M109 S" xstr(UI_SET_PRESET_EXTRUDER_TEMP_PLA) "\nG21\nG92 E0\nG1 E-90 F500\nG92 E0\nM104 S0"
/** \brief Automatic filament mount, mounting of the filament with heating. Stop @ XXXX digits */
#define MOUNT_FILAMENT_SCRIPT_SOFT "M3913 P3500 F3"
#define MOUNT_FILAMENT_SCRIPT_HARD "M109 S" xstr(UI_SET_PRESET_EXTRUDER_TEMP_ABS) "\nG21\nG92 E0\nG1 E90 F100\nG92 E0\nM104 S0"
Und hier setze ich manuell die Temperaturen ein, die Voreingestellt sind:
Code: Alles auswählen
#define UNMOUNT_FILAMENT_SCRIPT_SOFT "M3914 P4500"
#define UNMOUNT_FILAMENT_SCRIPT_HARD "M109 S180\nG21\nG92 E0\nG1 E-90 F500\nG92 E0\nM104 S0"
#define MOUNT_FILAMENT_SCRIPT_SOFT "M3913 P3500 F3"
#define MOUNT_FILAMENT_SCRIPT_HARD "M109 S210\nG21\nG92 E0\nG1 E90 F100\nG92 E0\nM104 S0"
Hier steht natürlich ein \n immer für ein Enterzeichen.
Also ist z.B. bei MOUNT_FILAMENT_SCRIPT_HARD dieser GCode aktiv:
Code: Alles auswählen
M109 S210 ;heizen und auf Zieltemperatur warten
G21 ;Einheiten der Bewegungsbefehle (G0-G3) sind in Millimeter
G92 E0 ;reset filamentausgabe koordinate
G1 E90 F100 ;extrudiere
G92 E0 ;reset filamentausgabe koordinate
M104 S0 ;temperatur aus
Diese Liste sollte funktionieren, das ist die alte Variante, die man nun über
Load->"Push Through" oder
Unload->"Oldstyle" erreicht.
Nur diese Codes funktionieren übers Menü nicht immer:
Bei MOUNT_FILAMENT_SCRIPT_SOFT steht nur
als Script drin.
Der heute aktuelle Quellcode dazu steht hier:
https://github.com/Nibbels/Repetier-Fir ... cpp#L10629
Bei UNMOUNT_FILAMENT_SCRIPT_SOFT nur
Der heute aktuelle Quellcode dazu steht hier:
https://github.com/Nibbels/Repetier-Fir ... cpp#L10673
Und soweit ich informiert bin funktionieren die Befehle als GCode, aber nicht wenn man sie aus dem Menü heraus startet.
Meine Theorien:
- Irgendeine Funktion, die ich noch nicht gefunden habe, macht einen unendlichen rekursiven Loop.
- Der freie Speicher ist am Limit.
- Der Watchdog wird aus irgendeinem Grund zu spät getriggert, aber das ist vermutlich nur ein Symptom.
Es liegt wohl nicht an der Art des Mainboards (RF1000 vs. RF2000) aber manche Drucker haben das Problem und ich nicht.
LG