-
Notifications
You must be signed in to change notification settings - Fork 0
/
printer-20231218_133819.cfg
727 lines (643 loc) · 23.2 KB
/
printer-20231218_133819.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
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
## Voron Design VORON2 250/300/350mm Spider TMC2209 UART config
## *** THINGS TO CHANGE/CHECK: ***
## MCU paths [mcu] section
## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types
## Bed sensor_pin [heater_bed] section
## Fan pins [heater_fan hotend_fan] amd [fan] sections
## Z Endstop Switch location [safe_z_home] section
## Homing end position [gcode_macro G32] section
## Z Endstop Switch offset for Z0 [stepper_z] section
## Probe points [quad_gantry_level] section
## Min & Max gantry corner postions [quad_gantry_level] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section
[include stealthburner_leds.cfg]
[include clean_nozzle.cfg]
[include K-ShakeTune/*.cfg]
[mcu]
## Obtain definition by "ls -l /dev/serial/by-id/"
##--------------------------------------------------------------------
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_5C003B000251323438323636-if00
## Uncomment below if you're using the Raspberry uart0 to communicate with Spider
#restart_method: command
[printer]
kinematics: corexy
max_velocity: 300
max_accel: 5800 #base = 3000 but 5800 is the lowest value from input shaper tests
max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V
max_z_accel: 350
square_corner_velocity: 5.0
[input_shaper]
shaper_type_x = mzv
shaper_freq_x = 53.0
shaper_type_y = mzv
shaper_freq_y = 44.2
#####################################################################
# X/Y Stepper Settings
#####################################################################
## Connected to X-MOT (B Motor)
[stepper_x]
step_pin: PE11
dir_pin: !PE10
enable_pin: !PE9
rotation_distance: 40
microsteps: 16
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: ^PB14
position_min: 0
position_endstop: 300
position_max: 300
homing_speed: 25 #Max 100
homing_retract_dist: 5
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_x]
uart_pin: PE7
interpolate: True
run_current: 0.9
#hold_current: 0.4 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
## Connected to Y-MOT (A Motor)
[stepper_y]
step_pin: PD8
dir_pin: !PB12
enable_pin: !PD9
rotation_distance: 40
microsteps: 16
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: ^PB13
position_min: 0
position_endstop: 300
position_max: 301
homing_speed: 25 #Max 100
homing_retract_dist: 5
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_y]
uart_pin: PE15
interpolate: True
run_current: 0.9
#hold_current: 0.4 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
#####################################################################
# Z Stepper Settings
#####################################################################
## In Z-MOT Position
## Z0 Stepper - Front Left
[stepper_z]
step_pin: PD14
dir_pin: !PD13
enable_pin: !PD15
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## In Z- Position
endstop_pin: ^PA0
## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
## (+) value = endstop above Z0, (-) value = endstop below
## Increasing position_endstop brings nozzle closer to the bed
## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config
#position_endstop: 0.500
position_max: 280
## Uncomment below for 350mm build
#position_max: 310
##--------------------------------------------------------------------
position_min: -10
homing_speed: 8
second_homing_speed: 3
homing_retract_dist: 3
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z]
uart_pin: PD10
uart_address: 0
interpolate: True
run_current: 0.7
#hold_current: 0.4 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
## In E1-MOT Position
## Z1 Stepper - Rear Left
[stepper_z1]
step_pin: PE6
dir_pin: PC13
enable_pin: !PE5
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z1]
uart_pin: PC14
interpolate: True
run_current: 0.7
#hold_current: 0.4 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
## In E2-MOT Position
## Z2 Stepper - Rear Right
[stepper_z2]
step_pin: PE2
dir_pin: !PE4
enable_pin: !PE3
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z2]
uart_pin: PC15
interpolate: True
run_current: 0.7
#hold_current: 0.4 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
## In E3-MOT Position
## Z3 Stepper - Front Right
[stepper_z3]
step_pin: PD12
dir_pin: PC4
enable_pin: !PE8
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z3]
uart_pin: PA15
interpolate: True
run_current: 0.7
#hold_current: 0.4 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
#####################################################################
# Extruder
#####################################################################
## In E0-MOT Position
[extruder]
step_pin: PD5
dir_pin: !PD6
enable_pin: !PD4
## Update value below when you perform extruder calibration
## If you ask for 100mm of filament, but in reality it is 98mm:
## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100
## 22.6789511 is a good starting point
rotation_distance: 13.173 #Bondtech 5mm Drive Gears
## Update Gear Ratio depending on your Extruder Type
## Use 50:10 for Stealthburner/Clockwork 2
## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio)
## Use 80:20 for M4, M3.1
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
nozzle_diameter: 0.400
filament_diameter: 1.75
## In E0 OUT Position
heater_pin: PB15
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for NTC 100k 3950 thermistors
sensor_type:ATC Semitec 104GT-2
sensor_pin: PC0
min_temp: -70
max_temp: 320
max_power: 1.0
min_extrude_temp: 170
control = pid
pid_kp = 28.937
pid_ki = 2.074
pid_kd = 100.918
## Try to keep pressure_advance below 1.0
pressure_advance: 0.05
## Default is 0.040, leave stock
pressure_advance_smooth_time: 0.040
## In E0-MOT Position
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 extruder]
uart_pin: PD7
interpolate: false
run_current: 0.5
#hold_current: 0.2 #Commenting the hold_current as per siboor support recommendation
sense_resistor: 0.110
#stealthchop_threshold: 200 #Commenting the stealthchop_threshold as per siboor support recommendation
#####################################################################
# Bed Heater
#####################################################################
## SSR Pin - In BED OUT position
[heater_bed]
heater_pin: PB4
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for Keenovo heaters
sensor_type: Generic 3950
##--------------------------------------------------------------------
## Select the option that matches your board
#sensor_pin: PC3 # Spider 1.0 & 1.1
#sensor_pin: PB0 # Spider 2.2
##--------------------------------------------------------------------
sensor_pin: PB0
## Adjust Max Power so your heater doesn't warp your bed
max_power: 0.6
min_temp: -70
max_temp: 125
control: pid
pid_kp: 39.552
pid_ki: 1.063
pid_kd: 367.830
#####################################################################
# Probe
#####################################################################
## This probe is not used for Z height, only Quad Gantry Leveling
## In Z+ position
[probe]
## If your probe is NO instead of NC, change pin to ^!PA3
pin: PA3
#x_offset: 0
#y_offset: 25.0
#z_offset: 1.000
#speed: 10.0
#samples: 3
#samples_result: median
#sample_retract_dist: 3.0
#samples_tolerance: 0.006
#samples_tolerance_retries: 3
x_offset: 0
y_offset: 19.75
z_offset: 6.42
speed: 5
samples:3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.01
samples_tolerance_retries: 3
#####################################################################
# Fan Control
#####################################################################
## Hotend Fan - FAN0 Connector
[heater_fan hotend_fan]
## Select pin for your Spider board
##--------------------------------------------------------------------
# pin: PB0 # Spider 1.0 & 1.1
# pin: PA13 # Spider 2.2
##--------------------------------------------------------------------
pin: PA13
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
## If you are experiencing back flow, you can reduce fan_speed
fan_speed: 1.0
## Print Cooling Fan - FAN1 Connector
[fan]
##--------------------------------------------------------------------
#pin: PB1 # Spider 1.0 & 1.1
#pin: PA14 # Spider 2.2
##--------------------------------------------------------------------
pin: PA14
max_power: 0.4
kick_start_time: 0.5
## Depending on your fan, you may need to increase this value
## if your fan will not start. Can change cycle_time (increase)
## if your fan is not able to slow down effectively
off_below: 0.10
[temperature_fan controller_fan1]
pin: PB6
sensor_type: temperature_host
off_below: 0.1
max_power: 1
#fan_speed: 0.6
control: watermark
max_delta : 5
min_temp: 20
max_temp: 85
min_speed: 0.2
max_speed: 0.5
target_temp: 55
[temperature_fan controller_fan2]
pin: PB7
sensor_type: temperature_host
off_below: 0.1
max_power: 1
#fan_speed: 0.6
control: watermark
max_delta : 5
min_temp: 20
max_temp: 85
min_speed: 0.2
max_speed: 0.5
target_temp: 55
## Controller fan - FAN2 Connector
[heater_fan controller_fan]
pin: PC8
kick_start_time: 0.5
heater: heater_bed
heater_temp: 45.0
## Exhaust fan - In E2 OUT Positon
[heater_fan exhaust_fan]
pin: PB3
max_power: 1.0
shutdown_speed: 0.0
kick_start_time: 0.5
heater: heater_bed
heater_temp: 60
fan_speed: 1.0
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
[safe_z_home]
# XY Location of the Z Endstop Switch
# Update -10,-10 to the XY coordinates of your endstop pin
# (such as 157,305) after going through Z Endstop Pin## Location Definition step.
home_xy_position:208,295
speed:100
z_hop:10
z_hop_speed: 10
move_to_previous: False
## Use QUAD_GANTRY_LEVEL to level a gantry.
## Min & Max gantry corners - measure from nozzle at MIN (0,0) and
## MAX (250, 250), (300,300), or (350,350) depending on your printer size
## to respective belt positions
[quad_gantry_level]
gantry_corners:
-60,-10
360,370
# Probe points
points:
50,25
50,225
250,225
250,25
speed: 100
horizontal_move_z: 10
retries: 5
retry_tolerance: 0.0100
max_adjust: 10
[bed_mesh]
speed: 100
horizontal_move_z: 10
mesh_min: 30, 30
mesh_max: 270,270
fade_start: 0.6
fade_end: 10.0
fade_target: 0
probe_count: 5,5
algorithm: bicubic
zero_reference_position: 150, 150
####################################################################################
# Pi & MCU Temperature Monitoring
####################################################################################
[temperature_sensor mcu]
sensor_type: temperature_mcu
sensor_mcu: mcu
min_temp: 0
max_temp: 100
[temperature_sensor Pi]
sensor_type: temperature_host
sensor_path:/sys/class/thermal/thermal_zone0/temp
min_temp: 0
max_temp: 100
#####################################################################
# Displays
#####################################################################
#--------------------------------------------------------------------
# mini12864 LCD Display
[display]
lcd_type: uc1701
cs_pin: PC11
a0_pin: PD2
rst_pin: PC10
encoder_pins: ^PC6,^PC7
click_pin: ^!PA8
contrast: 63
#spi_bus: spi1
spi_software_mosi_pin: PA7
spi_software_miso_pin: PA6
spi_software_sclk_pin: PA5
# To control Neopixel RGB in mini12864 display
[neopixel fysetc_mini12864]
pin: PC12
chain_count: 3
initial_RED: 0.1
initial_GREEN: 0.5
initial_BLUE: 0.0
color_order: RGB
# Set RGB values on boot up for each Neopixel.
# Index 1 = display, Index 2 and 3 = Knob
[delayed_gcode setdisplayneopixel]
initial_duration: 1
gcode:
SET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0
SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3
####################################################################################
# adxl345
####################################################################################
[mcu rpi]
serial: /tmp/klipper_host_mcu
[adxl345]
cs_pin: rpi:None
#spi_speed: 500000000
#spi_speed: 488000
#spi_bus:spidev1.0
[resonance_tester]
accel_chip: adxl345
probe_points:
150, 150, 20 # an example
#####################################################################
# Macros
#####################################################################
#[include klicky-probe.cfg] #comment as Klicky broken
[include macro_bed_mesh.cfg]
[virtual_sdcard]
path: ~/printer_data/gcodes
# Pause/Resume Functionality
[pause_resume]
[display_status]
[exclude_object]
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
gcode:
G91
G1 Z+5 F600
G90
TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
[gcode_macro PARK]
gcode:
{% set th = printer.toolhead %}
G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y//2} Z30
[gcode_macro G32]
gcode:
SAVE_GCODE_STATE NAME=STATE_G32
G90
G28
QUAD_GANTRY_LEVEL
G28
PARK
RESTORE_GCODE_STATE NAME=STATE_G32
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
##### set defaults #####
{% set x = params.X|default(230) %} #edit to your park position
{% set y = params.Y|default(230) %} #edit to your park position
{% set z = params.Z|default(10)|float %} #edit to your park position
{% set e = params.E|default(1) %} #edit to your retract length
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% set lift_z = z|abs %}
{% if act_z < (max_z - lift_z) %}
{% set z_safe = lift_z %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{e} F2100
G1 Z{z_safe}
G90
G1 X{x} Y{y} F6000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
##### set defaults #####
{% set e = params.E|default(1) %} #edit to your retract length
G91
G1 E{e} F2100
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME
#####################################################################
# print_start macro
#####################################################################
## *** THINGS TO UNCOMMENT: ***
## Bed mesh (2 lines at 2 locations)
## Z_TILT_ADJUST if your printer is a Trident
## Quad gantry level if your printer is a V2
## Nevermore - if you have one
[gcode_macro PRINT_START]
gcode:
# This part fetches data from your slicer. Such as bed temp, extruder temp, chamber temp and size of your printer.
{% set target_bed = params.BED|int %}
{% set target_extruder = params.EXTRUDER|int %}
{% set target_chamber = params.CHAMBER|default("40")|int %}
{% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %}
{% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %}
# Homes the printer, sets absolute positioning and updates the Stealthburner leds.
STATUS_HOMING # Sets SB-leds to homing-mode
G28 # Full home (XYZ)
G90 # Absolut position
## Uncomment for bed mesh (1 of 2)
#BED_MESH_CLEAR # Clears old saved bed mesh (if any)
# Checks if the bed temp is higher than 90c - if so then trigger a heatsoak.
{% if params.BED|int > 90 %}
SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
M106 S255 # Turns on the PT-fan
## Uncomment if you have a Nevermore.
#SET_PIN PIN=nevermore VALUE=1 # Turns on the nevermore
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M190 S{target_bed} # Sets the target temp for the bed
SET_DISPLAY_TEXT MSG="Soak for 5min" # Displays info
G4 P300000 # Waits 5 min for the bedtemp to stabilize
#SET_DISPLAY_TEXT MSG="Heatsoak: {target_chamber}c" # Displays info
#TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={target_chamber} # Waits for chamber to reach desired temp
# If the bed temp is not over 90c, then it skips the heatsoak and just heats up to set temp with a 5min soak
{% else %}
SET_DISPLAY_TEXT MSG="Bed: {target_bed}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M190 S{target_bed} # Sets the target temp for the bed
SET_DISPLAY_TEXT MSG="Soak for 5min" # Displays info
G4 P150000 # Waits 5 min for the bedtemp to stabilize
{% endif %}
# Heating nozzle to 150 degrees. This helps with getting a correct Z-home
SET_DISPLAY_TEXT MSG="Hotend: 150c" # Displays info
M109 S150 # Heats the nozzle to 150c
## Uncomment for Trident (Z_TILT_ADJUST)
#SET_DISPLAY_TEXT MSG="Z-tilt adjust" # Displays info
#STATUS_LEVELING # Sets SB-leds to leveling-mode
#Z_TILT_ADJUST # Levels the buildplate via z_tilt_adjust
#G28 Z # Homes Z again after z_tilt_adjust
## Uncomment for V2 (Quad gantry level AKA QGL)
SET_DISPLAY_TEXT MSG="QGL" # Displays info
STATUS_LEVELING # Sets SB-leds to leveling-mode
quad_gantry_level # Levels the buildplate via QGL
G28 Z # Homes Z again after QGL
## Uncomment for Klicky auto-z
#SET_DISPLAY_TEXT MSG="Z Calibration" # Displays info - Klicky Broken
#CALIBRATE_Z # Calibrates Z-offset with klicky - Klicky broken
#SET_DISPLAY_TEXT MSG="Z-offset" # Displays info - Klicky broken
## Uncomment for bed mesh (2 of 2)
SET_DISPLAY_TEXT MSG="Bed mesh" # Displays info
STATUS_MESHING # Sets SB-leds to bed mesh-mode
#bed_mesh_calibrate # Starts bed mesh
ADAPTIVE_BED_MESH #Using new Adaptative Bed Mesh macro
# Heats up the nozzle up to target via data from slicer
SET_DISPLAY_TEXT MSG="Hotend: {target_extruder}c" # Displays info
STATUS_HEATING # Sets SB-leds to heating-mode
G1 X{x_wait} Y{y_wait} Z15 F9000 # Goes to center of the bed
M107 # Turns off partcooling fan
M109 S{target_extruder} # Heats the nozzle to printing temp
CLEAN_NOZZLE # Cleans the nozzle
# Gets ready to print by doing a purge line and updating the SB-leds
SET_DISPLAY_TEXT MSG="Let's print baby!" # Displays info
STATUS_PRINTING # Sets SB-leds to printing-mode
G0 X{x_wait - 50} Y4 F10000 # Moves to starting point
G0 Z0.4 # Raises Z to 0.4
G91 # Incremental positioning
G1 X100 E20 F1000 # Purge line
G90 # Absolut position
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customise for your slicer of choice
gcode:
# safe anti-stringing move coords
{% set th = printer.toolhead %}
{% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %}
{% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %}
{% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %}
SAVE_GCODE_STATE NAME=STATE_PRINT_END
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-5.0 F1800 ; retract filament
TURN_OFF_HEATERS
G90 ; absolute positioning
G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing
G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear
M107 ; turn off fan
STATUS_READY
BED_MESH_CLEAR
RESTORE_GCODE_STATE NAME=STATE_PRINT_END
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [heater_bed]
#*#
#*# [extruder]
#*#
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.294175, 0.284175, 0.311675, 0.281675, 0.291675
#*# 0.251675, 0.234175, 0.314175, 0.236675, 0.231675
#*# 0.221675, 0.334175, 0.231675, 0.209175, 0.229175
#*# 0.269175, 0.389175, 0.299175, 0.244175, 0.269175
#*# 0.346675, 0.321675, 0.319175, 0.321675, 0.349175
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 30.0
#*# max_x = 270.0
#*# min_y = 30.0
#*# max_y = 270.0
#*#
#*# [stepper_z]
#*# position_endstop = 3.560