-
Notifications
You must be signed in to change notification settings - Fork 3
/
start.cfg.example
273 lines (211 loc) · 6.71 KB
/
start.cfg.example
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
[delayed_gcode _START_PRINTER]
# description: The macros when start the printer
initial_duration: 2.0
gcode:
{% if printer.save_variables.variables.z_timeout %}
M118 Timeout in pending...
TIMER_ON
{% endif %}
WEBCAM_ON
BACKUP_MOVE
LOGS_KLIPPER_CLEAN
LOG_CPU_CLEAN
BRUSH_CLEAN_OFF
KLIPPERSCREEN_STOP
OCTOEVERYWHERE_STOP
OBICO_STOP
{% if printer.bed_mesh.profiles.default %}
BED_MESH_PROFILE LOAD=default
{% else %}
M118 Bed Mesh "default" not present
{% endif %}
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=6000
SET_VELOCITY_LIMIT ACCEL=12000
SET_VELOCITY_LIMIT VELOCITY=300
# BL_TEST # BL TOUCH PIN TEST
# STRIPS
SET_PIN PIN=LED_Strip VALUE=5 # Set Led Strip 5%
TIMER_ON # Enable Timeout
SET_BED_TEMP_TO_SENSOR # set the bed temperature as the temp measured at boot
[gcode_macro START_PRINT] # Recall as "FIRST" START PRINT MACRO in the Slicer
description: The macros when start a print
gcode:
{% set macro = printer['gcode_macro _MACRO_VARIABLE']|default({}) %}
CLEAR_PAUSE
# EXHAUST_FAN_OFF
SAVE_VARIABLE VARIABLE=z_timeout VALUE=False
TIMER_OFF
SAVE_VARIABLE VARIABLE=power_resume_z VALUE=0
FILAMENT_SENSORS_DISABLE # Disable Filament Sensor and Encoder for purge line
LOG_CPU_CLEAN
LOGS_KLIPPER_CLEAN
RUN_SHELL_COMMAND CMD=LOG_CPU_START
SAVE_LAST_FILE # Recall as last MACRO in slicer: needed to generate PLR gcode without purge column in the Start Gcode of slicer
DISABLE_EXTRUDER
HOMING_IF_NOT
#######
# PRECISE_HOMING
# G1 Z20 F5000
# ORCA SLICER
{% set BED_TEMP = params.BED_TEMP|default(70)|int %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(225)|int %}
# Heat nozzle for probing
M104 S{EXTRUDER_TEMP}
# Heat bed for probing
M140 S{BED_TEMP}
# IDM need Bed heater off if it is AC >500w
M140 S0
M190 S0
Z_TILT_ADJUST
MESH_PRINT # KAMP MESH
# PARK FOR HEATING
_TOOLHEAD_PARK_PAUSE_CANCEL
SET_FAN_SPEED FAN=fan0 SPEED=1 # to detach the petg from the nozzle
# G1 X0 Y0 Z5 F{macro.speed_move*60}
Z_SAFE Z=50 # Height "brush in your hand"
# Restore Temps after IDM Mesh
# Heat nozzle for probing
M104 S{EXTRUDER_TEMP}
# Heat bed for probing
M140 S{BED_TEMP}
# Heat nozzle for probing
M109 S{EXTRUDER_TEMP}
# Heat bed for probing
M190 S{BED_TEMP}
{% if printer.save_variables.variables.z_filament_out %}
LINE_PURGE # KAMP PURGE
{% else %}
# LINE_PURGE PURGE_AMOUNT=10 # PURGE_HEIGHT=0.8 TIP_DISTANCE=10 PURGE_MARGIN=5
{% endif %}
# PURGE_LOAD_FILAMENT
# PURGE_LINE
SAVE_VARIABLE VARIABLE=z_filament_out VALUE=False # filament inside Hotend
SET_FAN_SPEED FAN=fan0 SPEED=0
LAST_START_PRINT ; Enable PLR, Encoder etc
[gcode_macro LAST_START_PRINT] # Recall as the "LAST" START PRINT MACRO in the Slicer
description: The last macros when start a print
gcode:
{% set macro = printer['gcode_macro _MACRO_VARIABLE']|default({}) %}
FILAMENT_SENSORS_RESTORE # RESTORE FILAMENT SWITCH ENCODER AFTER PURGE
[gcode_macro PURGE_LOAD_FILAMENT]
gcode:
{% set macro = printer['gcode_macro _MACRO_VARIABLE']|default({}) %}
M118 Purging...
M117 Purging...
# LOAD FILAMENT
G90
G92 E0
G1 X{macro.purge_park_x} Y{macro.purge_park_x}
G1 E{macro.start_purge_long_lenght} F{macro.start_purge_long_speed*60}
G92 E0
G4 P4000
G1 E{macro.start_purge_short_lenght} F{macro.start_purge_short_speed*60}
G92 E0
G11
G11
G1 E-3 F{macro.start_purge_long_speed*60}
G92 E0
[gcode_macro PURGE_LINE]
gcode:
{% set macro = printer['gcode_macro _MACRO_VARIABLE']|default({}) %}
M118 Purging...
M117 Purging...
# PURGE LINE
G1 Z1 F5000
SET_VELOCITY_LIMIT ACCEL=500 ACCEL_TO_DECEL=250
G90
G1 Z1
G92 E0
M83
G1 X0 Y0 F12000
G1 Z.32
G1 F2400
G1 X275 Y0 E15
G92 E0
G1 Z.64
G1 X1 Y0 E12 F12000
G1 Z0
G92 E0
G11
G1 Z3 F3000
G92 E0
[gcode_macro MESH_PRINT]
gcode:
# Mesh for print
# Set Accel for Bed Mesh
SET_VELOCITY_LIMIT ACCEL=3000
SET_VELOCITY_LIMIT ACCEL_TO_DECEL=3000
M118 MESH Temporanea
{% if not printer.bed_mesh.profiles.print %}
BED_MESH_CALIBRATE PROFILE="print"
{% else %}
M118 Bed Mesh "print" present
{% endif %}
[gcode_macro END_PRINT] # Recall as END PRINT MACRO in the Slicer
description: The macros when end a print
gcode:
{% set macro = printer['gcode_macro _MACRO_VARIABLE']|default({}) %}
{% set x_min = printer.toolhead.axis_minimum.x %}
{% set y_min = printer.toolhead.axis_minimum.y %}
{% set x_med = printer.toolhead.axis_maximum.x / 2 %}
{% set y_med = printer.toolhead.axis_maximum.y / 2 %}
{% set x_max = printer.toolhead.axis_maximum.x %}
{% set y_max = printer.toolhead.axis_maximum.y %}
G0 X{x_max} Y{y_max} F18000 # Avoid last blob
M118 Z SAFE
Z_SAFE ; Raise Z more
_TOOLHEAD_PARK_PAUSE_CANCEL
# Short Retract
M118 Short retract
G91 ; Relative positioning
# Retract short
G1 E-{macro.start_purge_short_lenght} F{macro.start_purge_short_speed*60}
DISABLE_EXTRUDER
# G10 ; Firmware Retraction
G92 E0
## Go to center
M118 Go to center
G90
G1 X{x_med} Y{y_med} F{macro.speed_move*6}
# G1 X{macro.cooling_park_x} Y{macro.cooling_park_x} F{macro.speed_move}
## Steppers OFF
M118 Steppers OFF
M18 ; Klipper disables All Motors
M84 ; Klipper disables All Motors
# Cooldown 20%
# M118 Cooling at center
# M106 S26 ; Fan 10%
G4 P1000 ; pause between retractions
M118 Long retract
# Retract long
G1 E-{macro.start_purge_long_lenght} F{macro.start_purge_long_speed*60}
# FILAMENT OUT
SAVE_VARIABLE VARIABLE=z_filament_out VALUE=True # Filament out of hotend
DISABLE_EXTRUDER
# Cooldown
M118 Turn Off Heaters
TURN_OFF_HEATERS
M106 S51 ; Fan 20%
# Z_SAFE Z=100 # Avoid for warping
M106 S102 ; Fan 40%
## TIMELAPSE
TIMELAPSE_CLEAN
G4 P5000
TIMELAPSE_RENDER ; Webcam
G4 P10000 ; pause cooldown
M107 ; Turn-off fan
# SET_FAN_SPEED FAN=RSCS SPEED=0
# end_tune ; Beeper
# Remove Mesh "print"
# BED_MESH_PROFILE REMOVE="print"
clear_last_file # PLR
# STOP SERVICES
RUN_SHELL_COMMAND CMD=LOG_CPU_STOP
# WEBCAM_OFF
# M118 Clean Air
# EXHAUST_FAN_ON
# EXHAUST_FAN_ON EXHAUST_TIME=120
M118 Printing finished
TIMER_ON
SAVE_VARIABLE VARIABLE=z_timeout VALUE=True # Timeout persists after SAVE PENDING (FIRMWARE RESTART)
SAVE_PENDING