-
-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathfilament_biqu.cfg
106 lines (100 loc) · 4.87 KB
/
filament_biqu.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[gcode_macro FILAMENT_CHANGE]
gcode:
SAVE_GCODE_STATE NAME=FILAMENT_CHANGE_STATE
{% set timer = params.T|default(300)|float %}
{% set unload = params.U|default(70)|float %}
{% set load = params.L|default(60)|float %}
{% if printer.pause_resume.is_paused %}
{ action_respond_info("Already paused") }
{% else %}
{% if printer.toolhead.homed_axes != "xyz" %}
{ action_respond_info("Homing") }
G28 # домой если не уже не дома)
{% else %}
{ action_respond_info("Pausing print") }
PAUSE
{% endif %}
{% endif %}
{ action_respond_info("Changing filament") }
SET_IDLE_TIMEOUT TIMEOUT=7200
UNLOAD_FILAMENT U={unload}
COUNTDOWN TIME={timer} MSG="Changing filament! : "
LOAD_FILAMENT L={load}
RESTORE_GCODE_STATE NAME=FILAMENT_CHANGE_STATE
{% if printer.pause_resume.is_paused %}
{ action_respond_info("continiue print") }
RESUME
{% endif %}
[gcode_macro LOAD_FILAMENT]
gcode:
{% set load = params.L|default(60)|float * 0.5 %}
{% set extruder_temp = params.T|default(230)|float %}
SAVE_GCODE_STATE NAME=FILAMENT_LOAD_STATE
LOW_TEMP_CHECK T={extruder_temp}
{ action_respond_info("Loading filament") }
M83 # относительное выдавливание
G1 E{load} F720 # быстрая часть загрузки
G4 P1000 # ждем секунду
G1 E{load} F200 # медленно вторую половину
BEEP
RESTORE_GCODE_STATE NAME=FILAMENT_LOAD_STATE
[gcode_macro UNLOAD_FILAMENT]
gcode:
{% set unload = params.U|default(70)|float %}
{% set extruder_temp = params.T|default(195)|float %} # температура по умолчанию 195.. правим если надо
SAVE_GCODE_STATE NAME=FILAMENT_UNLOAD_STATE
LOW_TEMP_CHECK T={extruder_temp}
{ action_respond_info("Unloading filament") }
M83 # относительное выдавливание
G1 E2 F200 # немного выдавливаем
G1 E-10 F200 # немного возвращаем
G1 E-{unload} F720 # вынимаем остаток
BEEP
RESTORE_GCODE_STATE NAME=FILAMENT_UNLOAD_STATE
[gcode_macro LOW_TEMP_CHECK]
gcode:
{% set extruder_temp = params.T|default(240)|float %}
{% if printer.extruder.target > extruder_temp %} # if there is a setpoint for extruder
{% set extruder_temp = printer.extruder.target %}
{% endif %}
{% if printer.extruder.temperature < extruder_temp %} # ногрев до целевой температуры
{ action_respond_info("Heating to %s" % extruder_temp) } # я криворукий и что то неправильно пишуюю исправьте если можете
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={extruder_temp}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={extruder_temp}
{% endif %}
[gcode_macro M600] # коды чтобы в слайсере не заморачиваться
gcode:
FILAMENT_CHANGE
[gcode_macro M701] # коды чтобы в слайсере не заморачиваться
gcode:
LOAD_FILAMENT
[gcode_macro M702] # коды чтобы в слайсере не заморачиваться
gcode:
UNLOAD_FILAMENT
[gcode_macro COUNTDOWN]
gcode:
{% set timer = params.TIME|default(10)|int %}
{% set message = params.MSG|default("Time: ") %}
# countdown
{% if timer > 60 %}
{% for s in range(timer, 60, -10) %}
M118 { "%s %s sec"%(message, s) }
G4 P10000 # пауза 10 секунд
{% endfor %}
{% set timer = 60 %}
{% endif %}
{% if timer > 10 %}
{% for s in range(timer, 10, -5) %}
M118 { "%s %s sec"%(message, s) }
G4 P5000 # пауза 5 секунд
{% endfor %}
{% set timer = 10 %}
{% endif %}
{% if timer > 0 %}
{% for s in range(timer, 0, -1) %}
M118 { "%s %s sec"%(message, s) }
G4 P1000 # пауза 1 секунда
{% endfor %}
{% endif %}
M118 { "%s finished"%(message) }
BEEP