-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprinter.cfg
948 lines (794 loc) · 26.9 KB
/
printer.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
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
# This file contains common pin mappings for the BigTreeTech Octopus V1.
# To use this config, the firmware should be compiled for the STM32F446 with a "32KiB bootloader"
# Enable "extra low-level configuration options" and select the "12MHz crystal" as clock reference
# after running "make", copy the generated "klipper/out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the OctoPus with that SD card.
# See docs/Config_Reference.md for a description of parameters.
## Voron Design Trident 250/300/350mm BigTreeTech OctoPus V1 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
## Leadscrew Rotation Distance [stepper_z], [stepper_z1], [stepper_z2]
## Z Endstop Switch location [safe_z_home] section
## Z Endstop Switch offset for Z0 [stepper_z] section
## PID tune [extruder] and [heater_bed] sections
## Probe pin [probe] section
## Fine tune E steps [extruder] section
[include mainsail.cfg]
[include toolhead_btt_ebbcan_G0B1_v1.2.cfg]
[mcu]
## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
##--------------------------------------------------------------------
## Octopus 1.1
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_480031001850534E4E313420-if00
restart_method: command
## ebb36
[mcu ebb36]
canbus_uuid: a547b28b40e6 # run the following command to locate the uuid > ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
#First canbus_uuid: f1c1941bf0a5
##--------------------------------------------------------------------
[exclude_object]
[input_shaper]
shaper_freq_x: 60.8
shaper_type_x: zv
shaper_freq_y: 43.6
shaper_type_y: zv
[printer]
kinematics: corexy
max_velocity: 600
max_accel: 7400 #Max 4000
max_z_velocity: 30 #Max 15 for 12V TMC Drivers, can increase for 24V
max_z_accel: 500
square_corner_velocity: 5.0
#####################################################################
# Device Temps
#####################################################################
[temperature_sensor raspberry_pi]
sensor_type: temperature_host
min_temp: 10
max_temp: 100
[temperature_sensor octopus_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
[temperature_sensor EBB36_temp]
sensor_type: temperature_mcu
sensor_mcu: ebb36
[temperature_sensor chamber_temp]
sensor_type: NTC 100K MGB18-104F39050L32
# One of "EPCOS 100K B57560G104F", "ATC Semitec 104GT-2",
# "ATC Semitec 104NT-4-R025H42G", "Generic 3950",
# "Honeywell 100K 135-104LAG-J01", "NTC 100K MGB18-104F39050L32",
# "SliceEngineering 450", or "TDK NTCG104LH104JT1"
sensor_pin: PF4
# Analog input pin connected to the thermistor. This parameter must
# be provided.
pullup_resistor: 4700
# The resistance (in ohms) of the pullup attached to the thermistor.
# The default is 4700 ohms.
inline_resistor: 0
# The resistance (in ohms) of an extra (not heat varying) resistor
# that is placed inline with the thermistor. It is rare to set this.
# The default is 0 ohms.
[force_move]
enable_force_move: True
#####################################################################
# X/Y Stepper Settings
#####################################################################
## B Stepper - Left
## Connected to MOTOR_0
## Endstop connected to DIAG_0
[stepper_x]
step_pin: PF13
dir_pin: !PF12
enable_pin: !PF14
rotation_distance: 40
microsteps: 32
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_min: 0
##--------------------------------------------------------------------
## Uncomment below for 250mm build
position_endstop: 255
position_max: 255
## Uncomment for 300mm build
#position_endstop: 300
#position_max: 300
## Uncomment for 350mm build
#position_endstop: 350
#position_max: 350
##--------------------------------------------------------------------
homing_speed: 30 #Max 100
homing_retract_dist: 0
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_x]
uart_pin: PC4
interpolate: False
run_current: 1
sense_resistor: 0.110
stealthchop_threshold: 0
diag_pin: ^PG6
driver_SGTHRS: 80
## A Stepper - Right
## Connected to MOTOR_1
## Endstop connected to DIAG_1
[stepper_y]
step_pin: PG0
dir_pin: !PG1
enable_pin: !PF15
rotation_distance: 40
microsteps: 32
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_min: 0
##--------------------------------------------------------------------
## Uncomment for 250mm build
position_endstop: 252
position_max: 252
## Uncomment for 300mm build
#position_endstop: 300
#position_max: 300
## Uncomment for 350mm build
#position_endstop: 350
#position_max: 350
##--------------------------------------------------------------------
homing_speed: 30 #Max 100
homing_retract_dist: 0
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_y]
uart_pin: PD11
interpolate: False
run_current: 1
sense_resistor: 0.110
stealthchop_threshold: 0
diag_pin: ^PG9
driver_SGTHRS: 80
#####################################################################
# Z Stepper Settings
#####################################################################
## Z0 Stepper - Front Left
## Connected to MOTOR_2
## Endstop connected to DIAG_2
[stepper_z]
step_pin: PF11
dir_pin: PG3
enable_pin: !PG5
# Rotation Distance for TR8x8 = 8, TR8x4 = 4, TR8x2 = 2
rotation_distance: 4
microsteps: 32
endstop_pin: probe:z_virtual_endstop #PG10
## 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.5
## All builds use same Max Z
position_max: 250
position_min: -10
homing_speed: 8.0 # Leadscrews are slower than 2.4, 10 is a recommended max.
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: PC6
interpolate: False
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0
## Z1 Stepper - Rear Center
## Connected to MOTOR_3
[stepper_z1]
step_pin: PG4
dir_pin: PC1
enable_pin: !PA0
# Rotation Distance for TR8x8 = 8, TR8x4 = 4, TR8x2 = 2
rotation_distance: 4
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z1]
uart_pin: PC7
interpolate: False
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0
## Z2 Stepper - Front Right
## Connected to MOTOR_4
[stepper_z2]
step_pin: PF9
dir_pin: PF10
enable_pin: !PG2
# Rotation Distance for TR8x8 = 8, TR8x4 = 4, TR8x2 = 2
rotation_distance: 4
microsteps: 32
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z2]
uart_pin: PF2
interpolate: False
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Extruder
#####################################################################
[extruder]
step_pin: ebb36:EXT_STEP
dir_pin: ebb36:EXT_DIR
enable_pin: !ebb36:EXT_EN
## 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: 21.77859674133 #21.998582567 #21.78086463644 #Bondtech 5mm Drive Gearsrotation_distance: 26.6789511
## 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:10 #CW1 is 50:17, CW2 is 50:10
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
max_extrude_only_distance: 1400.0
max_extrude_only_velocity: 75.0
max_extrude_only_accel: 1500
heater_pin: ebb36:HE0
sensor_pin: ebb36:TH0
sensor_type: ATC Semitec 104NT-4-R025H42G
pullup_resistor: 4700 # 2200 is the default for the PT1000
#control: pid
#pid_kp: 26.213
#pid_ki: 1.304
#pid_kd: 131.721
min_temp: 2
max_temp: 285
min_extrude_temp: 5
## Try to keep pressure_advance below 1.0
#pressure_advance: 0.05
## Default is 0.040, leave stock
#pressure_advance_smooth_time: 0.040
## EXTRUDER MOTOR
[tmc2209 extruder]
uart_pin: ebb36:EXT_UART
interpolate: false
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0
## ADXL345
[adxl345]
cs_pin: ebb36:ADXL_CS
spi_software_sclk_pin: ebb36:ADXL_SCLK
spi_software_mosi_pin: ebb36:ADXL_MOSI
spi_software_miso_pin: ebb36:ADXL_MISO
axes_map: x,y,z
[resonance_tester]
accel_chip: adxl345
probe_points:
125,125,20 # For a 250x250 printer
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
## SSR Pin - HE1
## Thermistor - TB
heater_pin: PA3
## 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
sensor_pin: PF3
## Adjust Max Power so your heater doesn't warp your bed. Rule of thumb is 0.4 watts / cm^2 .
max_power: 1
min_temp: 0
max_temp: 130
pwm_cycle_time: 0.0166
#control: pid
#pid_kp: 58.437
#pid_ki: 2.347
#pid_kd: 363.769
[fan_generic bed_fans]
pin: PD14
max_power: 1.0
shutdown_speed: 0
#cycle_time:
#hardware_pwm:
#kick_start_time:
#off_below:
#tachometer_pin:
#tachometer_ppr:
#tachometer_poll_interval:
#enable_pin:
# See the "fan" section for a description of the above parameters.
#####################################################################
# Probe
#####################################################################
[probe]
## Inductive Probe
## This probe is not used for Z height, only Quad Gantry Leveling
# Select the probe port by type:
## For the PROBE port. Will not work with Diode. May need pull-up resistor from signal to 24V.
#pin: ~!PB7
## For the DIAG_7 port. NEEDS BAT85 DIODE! Change to !PG15 if probe is NO.
#pin: PG15
## For Octopus Pro Probe port; NPN and PNP proximity switch types can be set by jumper
#pin: ~!PC5
## For EBB36 CANBUS Toolhead Board. NEEDS BAT85 DIODE! NEEDS 24V SEPARATELY
pin: ^ebb36:PROBE_1
#--------------------------------------------------------------------
x_offset: 0
y_offset: 0 #25.0 #for inductive probe
#z_offset: 0
speed: 5.0
lift_speed: 10.0 #recommended max is 10
samples: 3
samples_result: median
sample_retract_dist: 3.0
samples_tolerance: 0.006
samples_tolerance_retries: 3
activate_gcode:
{% set PROBE_TEMP = 150 %}
{% set MAX_TEMP = PROBE_TEMP + 5 %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = printer.extruder.target %}
{% if TARGET_TEMP > PROBE_TEMP %}
{ action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) }
status_heating
M109 S{ PROBE_TEMP }
status_homing
{% else %}
# Temperature target is already low enough, but nozzle may still be too hot.
{% if ACTUAL_TEMP > MAX_TEMP %}
{ action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) }
status_cooling
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP }
status_homing
{% endif %}
{% endif %}
#####################################################################
# Fan Control
#####################################################################
# See toolhead_btt_ebbcan_G0B1_v1.2.cfg for Toolhead Fans
## HOT END FAN
[heater_fan hotend_fan]
## Hotend Fan - FAN1
pin: ebb36:FAN0
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
## PART COOLING
[fan]
pin: ebb36:FAN1
kick_start_time: 0.25
cycle_time: 0.15
off_below: 0.10
[controller_fan controller_fan]
## Controller fan - FAN0 on Octopus
pin: PA8
kick_start_time: 0.5
heater: heater_bed
[temperature_fan raspberry_pi_fan]
sensor_type: temperature_host #This is what the Pi's Temperature sensor is known as.
pin: PD15 #Set this to your fan pin
max_temp: 80.0 #Set below 85C, Pi3+ MCU can be damaged at 85C
target_temp: 49.0 #Set this to your preferred running temperature
min_temp: 0
max_speed: 1.0
min_speed: 0.0
control: pid
pid_Kp: 2.0
pid_Ki: 5.0
pid_Kd: 0.5
pid_deriv_time: 2.0
#[heater_fan exhaust_fan]
## Exhaust fan - FAN3
#pin: PD13
#max_power: 1.0
#shutdown_speed: 0.0
#kick_start_time: 5.0
#heater: heater_bed
#heater_temp: 60
#fan_speed: 1.0
#####################################################################
# LED Control
#####################################################################
[include sb_leds.cfg]
[include wled.cfg]
#[output_pin caselight]
# Chamber Lighting - HE2 Connector (Optional)
#pin: PB10
#pwm:true
#shutdown_value: 0
#value:1
#cycle_time: 0.01
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
#[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:-10,-10
#speed:100
#z_hop:10
[z_tilt]
## Use Z_TILT_ADJUST to level the bed .
## z_positions: Location of toolhead
##--------------------------------------------------------------------
## Uncomment below for 250mm build
z_positions:
-50, 18
125, 298
300, 18
points:
30, 5
125, 245
220, 5
## Uncomment below for 300mm build
#z_positions:
# -50, 18
# 150, 348
# 350, 18
#points:
# 30, 5
# 150, 245
# 270, 5
## Uncomment below for 350mm build
#z_positions:
# -50, 18
# 175, 398
# 400, 18
#points:
# 30, 5
# 175, 295
# 320, 5
##--------------------------------------------------------------------
speed: 200
horizontal_move_z: 10
retries: 5
retry_tolerance: 0.0075
#####################################################################
# Bed Mesh
#####################################################################
[bed_mesh]
speed: 300
horizontal_move_z: 10
##--------------------------------------------------------------------
## Uncomment below for 250mm build
mesh_min: 10, 10
mesh_max: 240,240
## Uncomment for 300mm build
#mesh_min: 40, 40
#mesh_max: 260,260
## Uncomment for 350mm build
#mesh_min: 40, 40
#mesh_max: 310,310
##--------------------------------------------------------------------
fade_start: 0.6
fade_end: 10.0
probe_count: 5,5 # Values should be odd, so one point is directly at bed center
algorithm: bicubic
#relative_reference_index: 12 # Update when changing probe_count, to ((x points * y points) - 1) / 2. (the center point)
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE8, EXP1_2=PE7,
EXP1_3=PE9, EXP1_4=PE10,
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
EXP1_7=PE14, EXP1_8=PE15,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PB1, EXP2_4=PA4,
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side
EXP2_7=PC15, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=<5V>
#####################################################################
# Displays
#####################################################################
## Uncomment the display that you have
#--------------------------------------------------------------------
#[display]
## RepRapDiscount 128x64 Full Graphic Smart Controller
#lcd_type: st7920
#cs_pin: EXP1_4
#sclk_pin: EXP1_5
#sid_pin: EXP1_3
#menu_timeout: 40
#encoder_pins: ^EXP2_5, ^EXP2_3
#click_pin: ^!EXP1_2
#[output_pin beeper]
#pin: EXP1_1
#--------------------------------------------------------------------
#[display]
## mini12864 LCD Display
#lcd_type: uc1701
#cs_pin: EXP1_3
#a0_pin: EXP1_4
#rst_pin: EXP1_5
#encoder_pins: ^EXP2_5, ^EXP2_3
#click_pin: ^!EXP1_2
#contrast: 63
#spi_software_miso_pin: EXP2_1
#spi_software_mosi_pin: EXP2_6
#spi_software_sclk_pin: EXP2_2
#[neopixel btt_mini12864]
## To control Neopixel RGB in mini12864 display
#pin: EXP1_6
#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=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0
# SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0
# SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3
#--------------------------------------------------------------------
[virtual_sdcard]
path: ~/printer_data/gcodes
[display_status]
[pause_resume]
#####################################################################
# Run this Stuff Whenever
#####################################################################
[delayed_gcode Lights]
initial_duration: 5
gcode:
WLED_ON strip=chamberlights preset=2 #Turn on the Chamber Lights to White using the preset
status_homing
[delayed_gcode print_finished_lights]
initial_duration: 0
gcode:
status_ready
WLED_ON strip=chamberlights preset=3 #Turn on the Chamber Lights to Fireworks using the preset
#####################################################################
# Macros
#####################################################################
[idle_timeout]
gcode:
{% if printer.pause_resume.is_paused %}
M118 Bypassed Timeout
M117 Bypassed Timeout
status_meshing
{% else %}
TURN_OFF_HEATERS
M84
WLED_OFF strip=chamberlights
status_printing
status_off
{% endif %}
timeout: 1200
[gcode_macro PRIME_NOZZLE]
gcode:
SAVE_GCODE_STATE NAME=PRIME_NOZZLE_STATE
M117 Priming
G90 ; Absolute coordinates.
M83 ; Relative extruder mode.
G92 E0
; Move to start of line.
G1 Z10 F900
G1 Y3 X3 F18000
G1 Z0.2 F900
; Print the line.
G91 ; Relative coordinates.
G1 X100 E25 F1000 ; Extrude filament 25mm (how much it retracted in PRINT_END).
G1 Y-2 F1000
G1 X-60 E9 F1000 ; Print second part of the line.
G1 E-0.5 F3000 ; Retract to avoid stringing.
G1 X0.5 E0 F1000 ; Wipe back to break string.
G1 X-5.5 E0 F1000 ; Wipe forward to break string.
RESTORE_GCODE_STATE NAME=PRIME_NOZZLE_STATE
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - PLEASE CUSTOMISE THE SCRIPT
gcode:
# Parameters
{% set bedtemp = params.BED|int %}
{% set hotendtemp = params.HOTEND|int %}
{% set chambertemp = params.CHAMBER|default(0)|int %}
{% set FILAMENT_TYPE = params.FILAMENT_TYPE|default("ABS") %}
wled_on strip=chamberlights preset=2 #Turn on the Chamber Lights to White using the preset
M117 Preheating nozzle
status_heating
M140 S{bedtemp} ; Set the bed to heat and move on.
M109 S150 ; Wait for nozzle to heat to 150C - soften filament, but no oozing.
G4 P10000 ; Wait an additional 10 seconds to make sure the filament is nice and squishy
M107 ; PCF off
M117 Homing
G28
M117 Z Tilt Adjust
Z_TILT_ADJUST
M104 S0 ; Cool the Nozzle off While you're heating up the chamber.
G0 X125 Y125 Z35 F3600 ; Move to the Center of the Bed for Chamber Temp Sensing
#status_
wled_on strip=chamberlights preset=5 ; Turn on the Chamber Lights to White with Red Breathing using the preset
M117 Heating Bed and Chamber
M190 S{bedtemp} ; set & wait for bed temp
{% if FILAMENT_TYPE == "ABS" or FILAMENT_TYPE == "ASA" or FILAMENT_TYPE == "PC" %}
M106 S255 ; PCF On Full Blast
SET_FAN_SPEED FAN=bed_fans SPEED=1 ; Bed Fans on Full Blast
{% endif %}
TEMPERATURE_WAIT SENSOR="temperature_sensor chamber_temp" MINIMUM={chambertemp} ; wait for chamber temp
#TEMPERATURE_WAIT SENSOR="extruder" MINIMUM={chambertemp} ; wait for chamber temp, use Hot End Thermistor to get temp
wled_on strip=chamberlights preset=2
wled_on strip=chamberlights preset=2
M107 ; PCF off
M117 Preheating Nozzle
status_heating
M109 S150 ; Wait for nozzle to heat to 150C - soften filament, but no oozing.
G4 P10000 ; Wait an additional 10 seconds to make sure the filament is nice and squishy
M117 Homing
G28
M117 Z Tilt Adjust
Z_TILT_ADJUST
M117 Bed Mesh
BED_MESH_CALIBRATE ADAPTIVE=1
M117 Heating Nozzle to Printing Temps
status_heating
G0 X5 Y5 Z30 F3600 ; Move to 0,0... Well, 5,5. This is for oozing purposes -- if it does, it'l be in an area we're not likely to print in.
M109 S{hotendtemp} ; set & wait for hotend temp
#G28 Z ; For printers with Z probe, rehome Z with hot nozzle.
status_printing
PRIME_NOZZLE
G90 ; Absolute coordinates.
M83 ; Relative extruder mode.
G92 E0
M117 Printing
[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 + 20, 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 F3600 ; retract filament
TURN_OFF_HEATERS
SET_FAN_SPEED FAN=bed_fans SPEED=0 ; Bed Fans off
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
BED_MESH_CLEAR
RESTORE_GCODE_STATE NAME=STATE_PRINT_END
M117 Printing Complete
UPDATE_DELAYED_GCODE ID=print_finished_lights DURATION=60
[gcode_macro LOAD_FILAMENT]
variable_load_distance: 150
variable_purge_distance: 25
gcode:
SAVE_GCODE_STATE NAME=load_state
{% set speed = params.SPEED|default(10) %}
#{% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 60 %}
{% set max_velocity = 10 * 60 %} #10mm/s
{% set HE_POWER = printer.extruder.power | float(0.0) %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = 220 %}
{action_respond_info(HE_POWER|string)}
{% if ACTUAL_TEMP > TARGET_TEMP %}
; Don't do anything. You're hot enough.
{% else %}
status_heating
M109 S{TARGET_TEMP}
{% endif %}
status_busy
G91
G92 E0
G1 E{load_distance} F{max_velocity} # fast-load
G1 E{purge_distance} F{speed} # purge
{% if HE_POWER | float == 0.0 %}
status_cooling
M104 S0
{% else %}
{% if ACTUAL_TEMP > TARGET_TEMP %}
; Don't do anything. You're hot enough.
{% else %}
status_cooling
M104 S{ACTUAL_TEMP} #Put the Hotend Temp back where it was
{% endif %}
{% endif %}
status_homing
RESTORE_GCODE_STATE NAME=load_state
[gcode_macro UNLOAD_FILAMENT]
variable_unload_distance: 200
variable_purge_distance: 10
gcode:
SAVE_GCODE_STATE NAME=unload_state
{% set speed = params.SPEED|default(300) %}
{% set max_velocity = printer.configfile.settings['extruder'].max_extrude_only_velocity * 60 %}
{% set HE_POWER = printer.extruder.power | float(0.0) %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = 220 %}
{action_respond_info(HE_POWER|string)}
{% if ACTUAL_TEMP > TARGET_TEMP %}
; Don't do anything. You're hot enough.
{% else %}
status_heating
M109 S{TARGET_TEMP}
{% endif %}
status_busy
G91
G92 E0
G1 E{purge_distance} F{speed} # purge
G1 E-{unload_distance} F{max_velocity} # fast-unload
{% if HE_POWER | float == 0 %}
status_cooling
M104 S0
{% else %}
{% if ACTUAL_TEMP > TARGET_TEMP %}
; Don't do anything. You're hot enough.
{% else %}
status_cooling
M104 S{ACTUAL_TEMP} #Put the Hotend Temp back where it was
{% endif %}
{% endif %}
status_homing
RESTORE_GCODE_STATE NAME=unload_state
# M600: Filament Change. This macro will pause the printer, move the
# tool to the change position, and retract the filament 50mm. Adjust
# the retraction settings for your own extruder. After filament has
# been changed, the print can be resumed from its previous position
# with the "RESUME" gcode.
[gcode_macro M600]
gcode:
{% set X = params.X|default(250)|float %}
{% set Y = params.Y|default(0)|float %}
{% set Z = params.Z|default(10)|float %}
SAVE_GCODE_STATE NAME=M600_state
PAUSE
G91
G1 E-.8 F2700
G1 Z{Z}
G90
G1 X{X} Y{Y} F3000
UNLOAD_FILAMENT
RESTORE_GCODE_STATE NAME=M600_state
[include config_backup.cfg]
[include homing.cfg]
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 42.320
#*# pid_ki = 0.876
#*# pid_kd = 511.012
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# -0.100308, -0.041558, -0.029683, 0.015942, -0.002183
#*# 0.040317, 0.100942, 0.071567, 0.041567, 0.015942
#*# 0.078442, 0.094692, 0.084692, 0.039692, -0.037808
#*# 0.119067, 0.109067, 0.065942, 0.016567, -0.095308
#*# 0.115942, 0.073442, 0.024067, -0.067183, -0.164058
#*# x_count = 5
#*# y_count = 5
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 10.0
#*# max_x = 240.0
#*# min_y = 10.0
#*# max_y = 240.0
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 27.095
#*# pid_ki = 3.169
#*# pid_kd = 57.917
#*#
#*# [probe]
#*# z_offset = -0.460