Strona 1 z 1

Octoprint skrypty

: 20 maja 2018, 21:45
autor: Marcin.KnD
Czy któryś z kolegów zna się na tyle dobrze na octoprint żeby pomóc?
Naświetlem już temat dragonowi na PW ale może ktoś coś więcej. A zawsze jakiś ślad zostanie.



Jest coś takiego jak "snippet" w GCode po anulowaniu druku :

disable all heaters {% snippet 'disable_hotends' %} {% snippet 'disable_bed' %}

Ale nie ogarniam tej dokumentacji:

http://docs.octoprint.org/en/master/fea ... ripts.html


Chodzi mi o to żeby zrobić własny skrypt do pauzy i wznawiania wydruku.

Używam klipper który na tą chwilę nie obsługuje M600, ale przy wykorzystaniu pauzy i skryptów "pamiętających" pozycję XYZ i E jest to do ogarnięcia.

Ponadto chciałbym żeby pamiętał temperaturę z plików GCode, bo np przy pauzie chciałbym żeby wyłączył grzałki.

Jest to do ogarnięcia w ustawieniach GCode dla octoprint ale jeśli wpisze tam z palca że po pauzie ma wyłączyć grzałki a po wznowieniu ustawić 205 i 70 to dla PLA pójdzie ale dla Pet-g i ABS już nie. I dlatego dobrze żeby przywołał temperaturę z przed pauzy.

Czy ktoś potrafi to ogarnąć?

Klipper wspiera komendy do wywołania pozycji, tylko jak je zapisać?


Wysłane z mojego Redmi 4X przy użyciu Tapatalka

Re: Octoprint skrypty

: 20 maja 2018, 22:09
autor: dziobu
To wygląda dość prosto. Teoretycznie, bo octoprinta na oczy nie widziałem. Więc może nie działać.

Jest coś takiego jak "pause_temperature" które ponoć zachowywane jest jak pozycja i tak samo można to odtworzyć.
I można zrobić tak: (w skrypcie resume)

Kod: Zaznacz cały

{% if pause_temperature[0]['target'] is not none %}
    M109 S{{ pause_temperature[0]['target'] }}
{% endif %}
Dla '0' masz ekstruder 1, dla '1' drugi, itp. To da się jakoś w pętle wrzucić o ile trzeba.
A dla 'b' masz stół.

Re: Octoprint skrypty

: 20 maja 2018, 22:41
autor: dziobu
I jeszcze to:
(jeśli działa to nawet się nie pomyliłem :))
https://discourse.octoprint.org/t/writi ... rature/774

Re: Octoprint skrypty

: 21 maja 2018, 06:14
autor: Marcin.KnD
OK mam i działa:

pause:
{% if pause_position.x is not none %}
; relative XYZE
G91
M83

; retract filament, move Z slightly upwards
G1 Z+5 E-5 F4500

; absolute XYZE
M82
G90

; move to a safe rest position, adjust as necessary
G1 X0 Y0
{% endif %}
M104 S0
M140 S0
resume:
{% if pause_temperature[0] and pause_temperature[0]['target'] is not none %}
M109 S{{ pause_temperature[0]['target'] }}
{% else %}
M104 S0
{% endif %}

{% if pause_temperature['b'] and pause_temperature['b']['target'] is not none %}
M190 S{{ pause_temperature['b']['target'] }}
{% else %}
M140 S0
{% endif %}
{% if pause_position.x is not none %}
; relative extruder
M83

; prime nozzle
G1 E-5 F500
G1 E5 F500
G1 E5 F500

; absolute E
M82

; absolute XYZ
G90

; reset E
G92 E{{ pause_position.e }}

; move back to pause position XYZ
G1 X{{ pause_position.x }} Y{{ pause_position.y }} Z{{ pause_position.z }} F4500

; reset to feed rate before pause if available
{% if pause_position.f is not none %}G1 F{{ pause_position.f }}{% endif %}
{% endif %}
No to juz teraz jest lalala

Re: Octoprint skrypty

: 10 sty 2020, 10:46
autor: comandos21
Ktos wie może jaka komenda w octoprint po pauzie przesuwa głowice w róg? Obecnie głowica gdy dam pauzę zatrzymuje się nad drukiem i go topi

Re: Octoprint skrypty

: 10 sty 2020, 12:53
autor: guzio14
A jeśli zrobisz pauze na reprap owym wyświetlaczu to gdzie masz głowice?

Re: Octoprint skrypty

: 10 sty 2020, 13:12
autor: comandos21
guzio14 pisze:A jeśli zrobisz pauze na reprap owym wyświetlaczu to gdzie masz głowice?
Chodz o wyświetlacz wbudowany w drukarkę? Głowica idzie w lewy róg stołu-przód