ich habe mir mit einem kleinen Atmega8 + IR LED einen Fernauslöser für meine alte Nikkon D80 gebaut.
Ein kleines Perl Script schickt das Kommandp "snap" via UART an den Atmega und die Nikkon macht brav ein Foto.
In OctoPrint rufe ich mittels GCode System Commands (OCTO12) das Perl script.
Im Slicer nutze ich dann das LayerChange Script um den Druckkopf aus dem Weg zu fahren, Foto zu machen, und weiter zu drucken.
So weit so gut, nur das Timing stimmt nicht. Das Foto kommt zu früh.
Ich denke mal das liegt am Kommando Puffer in der Firmware.
Octoprint schickt gleich mal einige Kommandos an die Firmware. Wenn da OCTO12 dabei ist gibts ein Foto,
obwohl die Firmware noch gar nicht zu dem Befehl gekommen ist. Jetzt kann man sich mit Pausen wie "G4 S2" weiterhelfen,
das gefällt mir aber nicht. So eine Art Flush Kommando, dass erst OK returned, wenn es fertig ist, bevor OCTO12 ausgeführt wird, wäre gut.
Ich dachte erst M400 macht das, aber das funktioniert nicht wie erwartet. Vielleicht wartet hier die Firmware nur intern bis die Bewegung zu Ende ist?
Scheint aber keinen Einfluss auf den Befehlspuffer zu haben, zumindest was Octoprint betrifft.
Irgendwelche Ideen?
Vielleicht besser mit SD-Karte drucken?
Wäre schon schön wenn das mit Octoprint geht.
Community Firmware Version: 1.45.00
Layer Change Script:
Code: Alles auswählen
G1 X0 Y200 F20000 ; move out of the way
M400 ; wait until command is complete
OCTO12 ; trigger picture
G4 P200 ; Wait for 200ms
Gerhard.