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
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
|
# This file serves as documentation for config parameters of
# additional devices that may be configured on a printer. The snippets
# in this file may be copied into the main printer.cfg file. See the
# "example.cfg" file for description of common config parameters.
#
# Note, where an extra config section creates additional pins, the
# section defining the pins must be listed in the config file before
# any sections using those pins.
######################################################################
# Bed leveling support
######################################################################
# Mesh Bed Leveling. One may define a [bed_mesh] config section
# to enable move transformations that offset the z axis based
# on a mesh generated from probed points. Note that bed_mesh
# and bed_tilt are incompatible, both cannot be defined. When
# using a probe to home the z-axis, it is recommended to define
# a [homing_override] section in printer.cfg to home toward the
# center of the print area.
#
# Visual Examples:
# rectangular bed, probe_count = 3,3:
# x---x---x (max_point)
# |
# x---x---x
# |
# (min_point) x---x---x
#
# round bed, round_probe_count = 5, bed_radius = r:
# x (0,r) end
# /
# x---x---x
# \
# (-r,0) x---x---x---x---x (r,0)
# \
# x---x---x
# /
# x (0,-r) start
#
#[bed_mesh]
#speed: 50
# The speed (in mm/s) of non-probing moves during the
# calibration. The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
#mesh_radius:
# Defines the radius of the mesh to probe for round beds. Note that the
# radius is relative to the coordinate specified by the mesh_origin option.
# This parameter must be provided for round beds and omitted for rectangular
# beds.
#mesh_origin:
# Defines the center x,y coordinate of the mesh for round beds. This
# coordinate is relative to the probe's location. It may be useful
# to adjust the mesh_origin in an effort to maximize the size of the
# mesh radius. Default is 0,0. This parameter must be omitted for
# rectangular beds.
#mesh_min:
# Defines the minimum x,y coodinate of the mesh for rectangular beds. This
# coordinate is relative to the probe's location. This will be the first
# point probed, nearest to the origin. This parameter must be provided for
# rectangular beds.
#mesh_max:
# Defines the maximum x,y coordinate of the mesh for rectangular beds.
# Adheres to the same principle as mesh_min, however this will be the
# furthest point probed from the bed's origin. This parameter must be
# provided for rectangular beds.
#probe_count: 3,3
# For rectangular beds, this is a comma separate pair of integer
# values (X,Y) defining the number of points to probe along each axis.
# A single value is also valid, in which case that value will be applied
# to both axes. Default is 3,3.
#round_probe_count: 5
# For round beds, this integer value defines the maximum number of
# points to probe along each axis. This value must be an odd number.
# Default is 5.
#fade_start: 1.0
# The gcode z position in which to start phasing out z-adjustment
# when fade is enabled. Default is 1.0.
#fade_end: 0.0
# The gcode z position in which phasing out completes. When set
# to a value below fade_start, fade is disabled. It should be
# noted that fade may add unwanted scaling along the z-axis of a
# print. If a user wishes to enable fade, a value of 10.0 is
# recommended. Default is 0.0, which disables fade.
#fade_target:
# The z position in which fade should converge. When this value is set
# to a non-zero value it must be within the range of z-values in the mesh.
# Users that wish to converge to the z homing position should set this to 0.
# Default is the average z value of the mesh.
#split_delta_z: .025
# The amount of Z difference (in mm) along a move that will
# trigger a split. Default is .025.
#move_check_distance: 5.0
# The distance (in mm) along a move to check for split_delta_z.
# This is also the minimum length that a move can be split. Default
# is 5.0.
#mesh_pps: 2,2
# A comma separated pair of integers (X,Y) defining the number of
# points per segment to interpolate in the mesh along each axis. A
# "segment" can be defined as the space between each probed
# point. The user may enter a single value which will be applied
# to both axes. Default is 2,2.
#algorithm: lagrange
# The interpolation algorithm to use. May be either "lagrange"
# or "bicubic". This option will not affect 3x3 grids, which
# are forced to use lagrange sampling. Default is lagrange.
#bicubic_tension: .2
# When using the bicubic algorithm the tension parameter above
# may be applied to change the amount of slope interpolated.
# Larger numbers will increase the amount of slope, which
# results in more curvature in the mesh. Default is .2.
#relative_reference_index:
# A point index in the mesh to reference all z values to. Enabling
# this parameter produces a mesh relative to the probed z position
# at the provided index.
# Bed tilt compensation. One may define a [bed_tilt] config section to
# enable move transformations that account for a tilted bed.
#[bed_tilt]
#x_adjust: 0
# The amount to add to each move's Z height for each mm on the X
# axis. The default is 0.
#y_adjust: 0
# The amount to add to each move's Z height for each mm on the Y
# axis. The default is 0.
#z_adjust: 0
# The amount to add to the Z height when the nozzle is nominally at
# 0,0. The default is 0.
# The remaining parameters control a BED_TILT_CALIBRATE extended
# g-code command that may be used to calibrate appropriate x and y
# adjustment parameters.
#points:
# A list of X,Y coordinates (one per line; subsequent lines
# indented) that should be probed during a BED_TILT_CALIBRATE
# command. Specify coordinates of the nozzle and be sure the probe
# is above the bed at the given nozzle coordinates. The default is
# to not enable the command.
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
# Tool to help adjust bed leveling screws. One may define a
# [bed_screws] config section to enable a BED_SCREWS_ADJUST g-code
# command.
#[bed_screws]
#screw1: 100,100
# The X,Y coordinate of the first bed leveling screw. This is a
# position to command the nozzle to that is directly above the bed
# screw (or as close as possible while still being above the bed).
# This parameter must be provided.
#screw1_name: front screw
# An arbitrary name for the given screw. This name is displayed when
# the helper script runs. The default is to use a name based upon
# the screw XY location.
#screw1_fine_adjust:
# An X,Y coordinate to command the nozzle to so that one can fine
# tune the bed leveling screw. The default is to not perform fine
# adjustments on the bed screw.
#screw2:
#screw2_name:
#screw2_fine_adjust:
#...
# Additional bed leveling screws. At least three screws must be
# defined.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# when moving from one screw location to the next. The default is 5.
#probe_height: 0
# The height of the probe (in mm) after adjusting for the thermal
# expansion of bed and nozzle. The default is zero.
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#probe_speed: 5
# The speed (in mm/s) when moving from a horizontal_move_z position
# to a probe_height position. The default is 5.
# Tool to help adjust bed screws tilt using Z probe. One may define a
# [screws_tilt_adjust] config section to enable a SCREWS_TILT_CALCULATE
# g-code command.
#[screws_tilt_adjust]
#screw1: 100,100
# The X,Y coordinate of the first bed leveling screw. This is a
# position to command the nozzle to that is directly above the bed
# screw (or as close as possible while still being above the bed).
# This is the base screw used in calculations.
# This parameter must be provided.
#screw1_name: front screw
# An arbitrary name for the given screw. This name is displayed when
# the helper script runs. The default is to use a name based upon
# the screw XY location.
#screw2:
#screw2_name:
#...
# Additional bed leveling screws. At least two screws must be
# defined.
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
#screw_thread: CW-M3
# The type of screw used for bed level, M3, M4 or M5 and the
# direction of the knob used to level the bed, clockwise decrease
# counter-clockwise decrease.
# Accepted values: CW-M3, CCW-M3, CW-M4, CCW-M4, CW-M5, CCW-M5.
# Default value is CW-M3, most printers use an M3 screw and
# turning the knob clockwise decrease distance.
# Multiple Z stepper tilt adjustment. This feature enables independent
# adjustment of multiple z steppers (see stepper_z1 section below) to
# adjust for tilt. If this section is present then a Z_TILT_ADJUST
# extended G-Code command becomes available.
#[z_tilt]
#z_positions:
# A list of X,Y coordinates (one per line; subsequent lines
# indented) describing the location of each bed "pivot point". The
# "pivot point" is the point where the bed attaches to the given Z
# stepper. It is described using nozzle coordinates (the XY position
# of the nozzle if it could move directly above the point). The
# first entry corresponds to stepper_z, the second to stepper_z1,
# the third to stepper_z2, etc. This parameter must be provided.
#points:
# A list of X,Y coordinates (one per line; subsequent lines
# indented) that should be probed during a Z_TILT_ADJUST command.
# Specify coordinates of the nozzle and be sure the probe is above
# the bed at the given nozzle coordinates. This parameter must be
# provided.
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
#retries: 0
# Number of times to retry if the probed points aren't within tolerance
#retry_tolerance: 0
# If retries are enabled then retry if largest and smallest probed
# points differ more than retry_tolerance. Note the smallest unit of
# change here would be a single step. However if you are probing
# more points than steppers then you will likely have a fixed
# minimum value for the range of probed points which you can learn
# by observing command output.
# Moving gantry leveling using 4 independently controlled Z motors.
# Corrects hyperbolic parabola effects (potato chip) on moving gantry
# which is more flexible.
# WARNING: Using this on a moving bed may lead to undesirable results.
# If this section is present then a QUAD_GANTRY_LEVEL extended G-Code
# command becomes available. This routine assumes the following Z motor
# configuration:
# ----------------
# |Z1 Z2|
# | --------- |
# | | | |
# | | | |
# | x-------- |
# |Z Z3|
# ----------------
# Where x is the (0,0) point on the bed
#[quad_gantry_level]
#gantry_corners:
# A newline separated list of X,Y coordinates describing the
# two opposing corners of the gantry. The first entry corresponds to
# Z, the second to Z2.
# This parameter must be provided.
#points:
# A newline separated list of four X,Y points that should be probed
# during a QUAD_GANTRY_LEVEL command.
# Order of the locations is important, and should correspond to Z,Z1
# Z2, and Z3 location in order.
# This parameter must be provided.
# For maximum accuracy, ensure your probe offsets are configured.
#speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
#horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5
#max_adjust: 4
# Safety limit if an ajustment greater than this value is requested
# quad_gantry_level will abort.
#retries: 0
# number of times to retry if the probed points aren't within tolerance
#retry_tolerance: 0
# if retries are enabled then retry if largest and smallest probed points
# differ more than retry_tolerance
# Printer Skew Correction. It is possible to use software to correct
# printer skew across 3 planes, xy, xz, yz. This is done by printing
# a calibration model along a plane and measuring three lengths. Due
# to the nature of skew correction these lengths are set via gcode. See
# skew_correction.md and G-Codes.md in the docs directory for details.
#[skew_correction]
######################################################################
# Customized homing
######################################################################
# Safe Z homing. One may use this mechanism to home the Z axis at a
# specific XY coordinate. This is useful if the toolhead, for example
# has to move to the center of the bed before Z can be homed.
#[safe_z_home]
#home_xy_position:
# A X,Y coordinate (e.g. 100,100) where the Z homing should be
# performed. This parameter must be provided.
#speed: 50.0
# Speed at which the toolhead is moved to the safe Z home coordinate.
# The default is 50 mm/s
#z_hop:
# Lift the Z axis prior to homing. This is applied to any homing
# command, even if it doesn't home the Z axis. If the Z axis is
# already homed and the current Z position is less than z_hop, then
# this will lift the head to a height of z_hop. If the Z axis is not
# already homed, then prior to any XY homing movement the Z axis
# boundary checks are disabled and the head is lifted by z_hop. If
# z_hop is specified, be sure to home the Z immediately after any XY
# home requests so that the Z boundary checks are accurate. The
# default is to not implement Z hop.
#z_hop_speed: 20.0
# Speed at which the Z axis is lifted prior to homing. The default is 20mm/s.
#move_to_previous: False
# When set to True, xy are reset to their previous positions after z homing.
# The default is False.
# Homing override. One may use this mechanism to run a series of
# g-code commands in place of a G28 found in the normal g-code input.
# This may be useful on printers that require a specific procedure to
# home the machine.
#[homing_override]
#gcode:
# A list of G-Code commands to execute in place of G28 commands
# found in the normal g-code input. See docs/Command_Templates.md
# for G-Code format. If a G28 is contained in this list of commands
# then it will invoke the normal homing procedure for the printer.
# The commands listed here must home all axes. This parameter must
# be provided.
#axes: xyz
# The axes to override. For example, if this is set to "z" then the
# override script will only be run when the z axis is homed (eg, via
# a "G28" or "G28 Z0" command). Note, the override script should
# still home all axes. The default is "xyz" which causes the
# override script to be run in place of all G28 commands.
#set_position_x:
#set_position_y:
#set_position_z:
# If specified, the printer will assume the axis is at the specified
# position prior to running the above g-code commands. Setting this
# disables homing checks for that axis. This may be useful if the
# head must move prior to invoking the normal G28 mechanism for an
# axis. The default is to not force a position for an axis.
# Stepper phase adjusted endstops. To use this feature, define a
# config section with an "endstop_phase" prefix followed by the name
# of the corresponding stepper config section (for example,
# "[endstop_phase stepper_z]"). This feature can improve the accuracy
# of endstop switches. Add a bare "[endstop_phase]" declaration to
# enable the ENDSTOP_PHASE_CALIBRATE command.
#[endstop_phase stepper_z]
#phases:
# This specifies the number of phases of the given stepper motor
# driver (which is the number of micro-steps multiplied by four).
# This setting is automatically determined if one uses a TMC driver
# with run-time configuration. Otherwise, this parameter must be
# provided.
#endstop_accuracy: 0.200
# Sets the expected accuracy (in mm) of the endstop. This represents
# the maximum error distance the endstop may trigger (eg, if an
# endstop may occasionally trigger 100um early or up to 100um late
# then set this to 0.200 for 200um). The default is
# phases*step_distance.
#endstop_phase:
# This specifies the phase of the stepper motor driver to expect
# when hitting the endstop. Only set this value if one is sure the
# stepper motor driver is reset every time the mcu is reset. If this
# is not set, then the stepper phase will be detected on the first
# home and that phase will be used on all subsequent homes.
#endstop_align_zero: False
# If true then the position_endstop of the axis will effectively be
# modified so that the zero position for the axis occurs at a full
# step on the stepper motor. (If used on the Z axis and the print
# layer height is a multiple of a full step distance then every
# layer will occur on a full step.) The default is False.
######################################################################
# G-Code macros and events
######################################################################
# G-Code macros (one may define any number of sections with a
# "gcode_macro" prefix).
#[gcode_macro my_cmd]
#gcode:
# A list of G-Code commands to execute in place of "my_cmd". See
# docs/Command_Templates.md for G-Code format. This parameter must
# be provided.
#default_parameter_<parameter>:
# One may define any number of options with a "default_parameter_"
# prefix. Use this to define default values for g-code parameters.
# For example, if one were to define the macro MY_DELAY with gcode
# "G4 P{DELAY}" along with "default_parameter_DELAY = 50" then the
# command "MY_DELAY" would evaluate to "G4 P50". To override the
# default parameter when calling the command then using
# "MY_DELAY DELAY=30" would evaluate to "G4 P30". The default is
# to require that all parameters used in the gcode script be
# present in the command invoking the macro.
#variable_<name>:
# One may specify any number of options with a "variable_" prefix.
# The given variable name will be assigned the given value (parsed
# as a Python literal) and will be available during macro expansion.
# For example, a config with "variable_fan_speed = 75" might have
# gcode commands containing "M106 S{ fan_speed * 255 }". Variables
# can be changed at run-time using the SET_GCODE_VARIABLE command
# (see docs/Command_Templates.md for details). Variable names may
# not use upper case characters.
#rename_existing:
# This option will cause the macro to override an existing G-Code
# command and provide the previous definition of the command via the
# name provided here. This can be used to override builtin G-Code
# commands. Care should be taken when overriding commands as it can
# cause complex and unexpected results. The default is to not
# override an existing G-Code command.
# Execute a gcode on a set delay.
#[delayed_gcode my_delayed_gcode]
#initial_duration: 0.
# The duration of the initial delay (in seconds). If set to a non-zero
# value the delayed_gcode will execute the specified number of seconds
# after the printer enters the "ready" state. This can be useful for
# initialization procedures or a repeating delayed_gcode. If set to 0
# the delayed_gcode will not execute on startup. Default is 0.
#gcode:
# A list of G-Code commands to execute when the delay duration has
# elapsed. G-Code templates are supported. This parameter must be
# provided.
# Idle timeout. An idle timeout is automatically enabled - add an
# explicit idle_timeout config section to change the default settings.
#[idle_timeout]
#gcode:
# A list of G-Code commands to execute on an idle timeout. See
# docs/Command_Templates.md for G-Code format. The default is to run
# "TURN_OFF_HEATERS" and "M84".
#timeout: 600
# Idle time (in seconds) to wait before running the above G-Code
# commands. The default is 600 seconds.
######################################################################
# Optional G-Code features
######################################################################
# A virtual sdcard may be useful if the host machine is not fast
# enough to run OctoPrint well. It allows the Klipper host software to
# directly print gcode files stored in a directory on the host using
# standard sdcard G-Code commands (eg, M24).
#[virtual_sdcard]
#path: ~/.octoprint/uploads/
# The path of the local directory on the host machine to look for
# g-code files. This is a read-only directory (sdcard file writes
# are not supported). One may point this to OctoPrint's upload
# directory (generally ~/.octoprint/uploads/ ). This parameter must
# be provided.
# Support manually moving stepper motors for diagnostic purposes.
# Note, using this feature may place the printer in an invalid state -
# see docs/G-Codes.md for important details.
#[force_move]
#enable_force_move: False
# Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION
# extended G-Code commands. The default is false.
# Pause/Resume functionality with support of position capture and restore
#[pause_resume]
#recover_velocity: 50.
# When capture/restore is enabled, the speed at which to return to
# the captured position (in mm/s). Default is 50.0 mm/s.
# Firmware filament retraction. This enables G10 (retract) and G11
# (unretract) GCODE commands issued by many slicers. The parameters
# below provide startup defaults, although the values can be adjusted
# via the SET_RETRACTION command, allowing per-filament settings and
# runtime tuning.
#[firmware_retraction]
#retract_length: 0
# The length of filament (in mm) to retract when G10 is activated, and to
# unretract when G11 is activated (but see unretract_extra_length below).
# The default is 0 mm.
#retract_speed: 20
# The speed of retraction, in mm/s. The default is 20 mm/s.
#unretract_extra_length: 0
# The length (in mm) of *additional* filament to add when unretracting.
#unretract_speed: 10
# The speed of unretraction, in mm/s. The default is 10 mm/s.
# Support for gcode arc (G2/G3) commands.
#[gcode_arcs]
#resolution: 1.0
# An arc will be split into segments. Each segment's length will equal
# the resolution in mm set above. Lower values will produce a finer arc,
# but also more work for your machine. Arcs smaller than the configured
# value will become straight lines. The default is 1mm.
# Enable the "M118" and "RESPOND" extended commands.
# [respond]
# default_type: echo
# Sets the default prefix of the "M118" and "RESPOND" output to one of
# the following:
# echo: "echo: " (This is the default)
# command: "// "
# error: "!! "
# default_prefix: echo:
# Directly sets the default prefix. If present, this value will override
# the "default_type".
######################################################################
# Config file helpers
######################################################################
# Board pin aliases. One may define aliases for the pins on a
# micro-controller. (If a micro-controller name is omitted in the
# board_pins config section name then it defaults to "mcu".)
#[board_pins mcu]
#aliases:
# A comma separated list of "name=value" aliases to create for the
# given micro-controller. For example, "EXP1_1=PE6" would create an
# "EXP1_1" alias for the "PE6" pin. However, if "value" is enclosed
# in "<>" then "name" is created as a reserved pin (for example,
# "EXP1_9=<GND>" would reserve "EXP1_9"). This parameter must be
# provided.
# Include file support. One may include additional config file from
# the main printer config file. Wildcards may also be used (eg,
# "configs/*.cfg").
#[include my_other_config.cfg]
######################################################################
# Bed probing hardware
######################################################################
# Z height probe. One may define this section to enable Z height
# probing hardware. When this section is enabled, PROBE and
# QUERY_PROBE extended g-code commands become available. The probe
# section also creates a virtual "probe:z_virtual_endstop" pin. One
# may set the stepper_z endstop_pin to this virtual pin on cartesian
# style printers that use the probe in place of a z endstop. If using
# "probe:z_virtual_endstop" then do not define a position_endstop in
# the stepper_z config section.
#[probe]
#pin: ar15
# Probe detection pin. This parameter must be provided.
#x_offset: 0.0
# The distance (in mm) between the probe and the nozzle along the
# x-axis. The default is 0.
#y_offset: 0.0
# The distance (in mm) between the probe and the nozzle along the
# y-axis. The default is 0.
#z_offset:
# The distance (in mm) between the bed and the nozzle when the probe
# triggers. This parameter must be provided.
#speed: 5.0
# Speed (in mm/s) of the Z axis when probing. The default is 5mm/s.
#samples: 1
# The number of times to probe each point. The probed z-values will
# be averaged. The default is to probe 1 time.
#sample_retract_dist: 2.0
# The distance (in mm) to lift the toolhead between each sample (if
# sampling more than once). The default is 2mm.
#lift_speed: 5.0
# Speed (in mm/s) of the Z axis when lifting the probe between
# samples. The default is to use the same value as the 'speed'
# parameter.
#samples_result: average
# The calculation method when sampling more than once - either
# "median" or "average". The default is average.
#samples_tolerance: 0.100
# The maximum Z distance (in mm) that a sample may differ from other
# samples. If this tolerance is exceeded then either an error is
# reported or the attempt is restarted (see
# samples_tolerance_retries). The default is 0.100mm.
#samples_tolerance_retries: 0
# The number of times to retry if a sample is found that exceeds
# samples_tolerance. On a retry, all current samples are discarded
# and the probe attempt is restarted. If a valid set of samples are
# not obtained in the given number of retries then an error is
# reported. The default is zero which causes an error to be reported
# on the first sample that exceeds samples_tolerance.
#activate_gcode:
# A list of G-Code commands to execute prior to each probe attempt.
# See docs/Command_Templates.md for G-Code format. This may be
# useful if the probe needs to be activated in some way. Do not
# issue any commands here that move the toolhead (eg, G1). The
# default is to not run any special G-Code commands on activation.
#deactivate_gcode:
# A list of G-Code commands to execute after each probe attempt
# completes. See docs/Command_Templates.md for G-Code format. Do not
# issue any commands here that move the toolhead. The default is to
# not run any special G-Code commands on deactivation.
# BLTouch probe. One may define this section (instead of a probe
# section) to enable a BLTouch probe. See the docs/BLTouch.md guide
# for further information on configuring a BLTouch. A virtual
# "probe:z_virtual_endstop" pin is also created (see the "probe"
# section above for the details).
#[bltouch]
#sensor_pin:
# Pin connected to the BLTouch sensor pin. This parameter must be
# provided.
#control_pin:
# Pin connected to the BLTouch control pin. This parameter must be
# provided.
#pin_move_time: 0.675
# The amount of time (in seconds) to wait for the BLTouch pin to
# move up or down. The default is 0.675 seconds.
#stow_on_each_sample: True
# This determines if Klipper should command the pin to move up
# between each probe attempt when performing a multiple probe
# sequence. Setting this to False can allow for faster probing, but
# using this mode requires careful tuning of probing speed
# parameters. The default is True.
#pin_up_reports_not_triggered: True
# Set if the BLTouch consistently reports the probe in a "not
# triggered" state after a successful "pin_up" command. This should
# be True for all genuine BLTouch devices. Read the directions in
# docs/BLTouch.md before setting this to False. The default is True.
#pin_up_touch_mode_reports_triggered: True
# Set if the BLTouch consistently reports a "triggered" state after
# the commands "pin_up" followed by "touch_mode". This should be
# True for all genuine BLTouch devices. Read the directions in
# docs/BLTouch.md before setting this to False. The default is True.
#set_output_mode:
# Request a specific sensor pin output mode on the BLTouch V3.0 (and
# later). This setting should not be used on other types of probes.
# Set to "5V" to request a sensor pin output of 5 Volts (only use if
# the controller board needs 5V mode and is 5V tolerant on its input
# signal line). Set to "OD" to request the sensor pin output use
# open drain mode. The default is to not request an output mode.
#x_offset:
#y_offset:
#z_offset:
#speed:
#samples:
#sample_retract_dist:
#samples_result:
#samples_tolerance:
#samples_tolerance_retries:
# See the "probe" section for information on these parameters.
######################################################################
# Additional micro-controllers
######################################################################
# Additional micro-controllers (one may define any number of sections
# with an "mcu" prefix). Additional micro-controllers introduce
# additional pins that may be configured as heaters, steppers, fans,
# etc.. For example, if an "[mcu extra_mcu]" section is introduced,
# then pins such as "extra_mcu:ar9" may then be used elsewhere in the
# config (where "ar9" is a hardware pin name or alias name on the
# given mcu).
#[mcu my_extra_mcu]
# See the "mcu" section in example.cfg for configuration parameters.
######################################################################
# Additional stepper motors and extruders
######################################################################
# Multi-stepper axes. On a cartesian style printer, the stepper
# controlling a given axis may have additional config blocks defining
# steppers that should be stepped in concert with the primary
# stepper. One may define any number of sections with a numeric suffix
# starting at 1 (for example, "stepper_z1", "stepper_z2", etc.).
#[stepper_z1]
#step_pin: ar36
#dir_pin: ar34
#enable_pin: !ar30
#step_distance: .005
# See example.cfg for the definition of the above parameters.
#endstop_pin: ^ar19
# If an endstop_pin is defined for the additional stepper then the
# stepper will home until the endstop is triggered. Otherwise, the
# stepper will home until the endstop on the primary stepper for the
# axis is triggered.
# In a multi-extruder printer add an additional extruder section for
# each additional extruder. The additional extruder sections should be
# named "extruder1", "extruder2", "extruder3", and so on. See the
# "extruder" section in example.cfg for a description of available
# parameters.
#[extruder1]
#step_pin: ar36
#dir_pin: ar34
#...
#shared_heater:
# If this extruder uses the same heater already defined for another
# extruder then place the name of that extruder here. For example,
# should extruder3 and extruder4 share a heater then the extruder3
# config section should define the heater and the extruder4 section
# should specify "shared_heater: extruder3". The default is to not
# reuse an existing heater.
# Support for cartesian printers with dual carriages on a single
# axis. The active carriage is set via the SET_DUAL_CARRIAGE extended
# g-code command. The "SET_DUAL_CARRIAGE CARRIAGE=1" command will
# activate the carriage defined in this section (CARRIAGE=0 will
# return activation to the primary carriage). Dual carriage support is
# typically combined with extra extruders - the SET_DUAL_CARRIAGE
# command is often called at the same time as the ACTIVATE_EXTRUDER
# command. Be sure to park the carriages during deactivation.
#[dual_carriage]
#axis:
# The axis this extra carriage is on (either x or y). This parameter
# must be provided.
#step_pin:
#dir_pin:
#enable_pin:
#step_distance:
#endstop_pin:
#position_endstop:
#position_min:
#position_max:
# See the example.cfg for the definition of the above parameters.
# Support for additional steppers synchronized to the movement of an
# extruder (one may define any number of sections with an
# "extruder_stepper" prefix).
#[extruder_stepper my_extra_stepper]
#extruder: extruder
# The extruder this stepper is synchronized to. The default is
# "extruder".
#step_pin:
#dir_pin:
#enable_pin:
#step_distance:
# See the "extruder" section in example.cfg for the definition of
# the above parameters.
# Manual steppers (one may define any number of sections with a
# "manual_stepper" prefix). These are steppers that are controlled by
# the MANUAL_STEPPER g-code command. For example: "MANUAL_STEPPER
# STEPPER=my_stepper MOVE=10 SPEED=5". See the docs/G-Codes.md file
# for a description of the MANUAL_STEPPER command. The steppers are
# not connected to the normal printer kinematics.
#[manual_stepper my_stepper]
#step_pin:
#dir_pin:
#enable_pin:
#step_distance:
# See the "[stepper_x]" section in example.cfg for a description of
# these parameters.
#velocity:
# Set the default velocity (in mm/s) for the stepper. This value
# will be used if a MANUAL_STEPPER command does not specify a SPEED
# parameter. The default is 5mm/s.
#accel:
# Set the default acceleration (in mm/s^2) for the stepper. An
# acceleration of zero will result in no acceleration. This value
# will be used if a MANUAL_STEPPER command does not specify an ACCEL
# parameter. The default is zero.
#endstop_pin:
# Endstop switch detection pin. If specified, then one may perform
# "homing moves" by adding a STOP_ON_ENDSTOP parameter to
# MANUAL_STEPPER movement commands.
######################################################################
# Heaters and temperature sensors
######################################################################
# Heater and temperature sensor verification. Heater verification is
# automatically enabled for each heater that is configured on the
# printer. Use verify_heater sections to change the default settings.
#[verify_heater heater_config_name]
#max_error: 120
# The maximum "cumulative temperature error" before raising an
# error. Smaller values result in stricter checking and larger
# values allow for more time before an error is reported.
# Specifically, the temperature is inspected once a second and if it
# is close to the target temperature then an internal "error
# counter" is reset; otherwise, if the temperature is below the
# target range then the counter is increased by the amount the
# reported temperature differs from that range. Should the counter
# exceed this "max_error" then an error is raised. The default is
# 120.
#check_gain_time:
# This controls heater verification during initial heating. Smaller
# values result in stricter checking and larger values allow for
# more time before an error is reported. Specifically, during
# initial heating, as long as the heater increases in temperature
# within this time frame (specified in seconds) then the internal
# "error counter" is reset. The default is 20 seconds for extruders
# and 60 seconds for heater_bed.
#hysteresis: 5
# The maximum temperature difference (in Celsius) to a target
# temperature that is considered in range of the target. This
# controls the max_error range check. It is rare to customize this
# value. The default is 5.
#heating_gain: 2
# The minimum temperature (in Celsius) that the heater must increase
# by during the check_gain_time check. It is rare to customize this
# value. The default is 2.
# Tool to disable heaters when homing or probing an axis
#[homing_heaters]
#steppers:
# A comma separated list of steppers that should cause heaters to be
# disabled. The default is to disable heaters for any homing/probing
# move.
# Typical example: stepper_z
#heaters:
# A comma separated list of heaters to disable during homing/probing
# moves. The default is to disable all heaters.
# Typical example: extruder, heater_bed
# MAXxxxxx serial peripheral interface (SPI) temperature based
# sensors. The following parameters are available in heater sections
# that use one of these sensor types.
#[extruder]
# See the "extruder" section in example.cfg for a description of
# heater parameters. The parameters below describe sensor parameters.
#sensor_type:
# One of "MAX6675", "MAX31855", "MAX31856", or "MAX31865".
#spi_speed: 4000000
# The SPI speed (in hz) to use when communicating with the chip.
# The default is 4000000.
#spi_bus:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# These optional parameters allow one to customize the SPI settings
# used to communicate with the chip.
#sensor_pin:
# The chip select line for the sensor chip. This parameter must be
# provided.
#tc_type: K
#tc_use_50Hz_filter: False
#tc_averaging_count: 1
# The above parameters control the sensor parameters of MAX31856
# chips. The defaults for each parameter are next to the parameter
# name in the above list.
#rtd_nominal_r: 100
#rtd_reference_r: 430
#rtd_num_of_wires: 2
#rtd_use_50Hz_filter: False
# The above parameters control the sensor parameters of MAX31865
# chips. The defaults for each parameter are next to the parameter
# name in the above list.
# Common temperature amplifiers. The following parameters are
# available in heater sections that use one of these sensors.
#[extruder]
# See the "extruder" section in example.cfg for a description of
# heater parameters. The parameters below describe sensor parameters.
#sensor_type:
# One of "PT100 INA826", "AD595", "AD8494", "AD8495", "AD8496", or
# "AD8497".
#sensor_pin:
# Analog input pin connected to the sensor. This parameter must be
# provided.
#adc_voltage: 5.0
# The ADC comparison voltage (in Volts). The default is 5 volts.
#voltage_offset: 0
# The ADC voltage offset (in Volts). The default is 0.
# Directly connected PT1000 sensor. The following parameters are
# available in heater sections that use one of these sensors.
#[extruder]
# See the "extruder" section in example.cfg for a description of
# heater parameters. The parameters below describe sensor parameters.
#sensor_type: PT1000
#sensor_pin:
# Analog input pin connected to the sensor. This parameter must be
# provided.
#pullup_resistor: 4700
# The resistance (in ohms) of the pullup attached to the sensor. The
# default is 4700 ohms.
# Custom thermistors (one may define any number of sections with a
# "thermistor" prefix). A custom thermistor may be used in the
# sensor_type field of a heater config section. (For example, if one
# defines a "[thermistor my_thermistor]" section then one may use a
# "sensor_type: my_thermistor" when defining a heater.) Be sure to
# place the thermistor section in the config file above its first use
# in a heater section.
#[thermistor my_thermistor]
#temperature1:
#resistance1:
#temperature2:
#resistance2:
#temperature3:
#resistance3:
# Three resistance measurements (in Ohms) at the given temperatures
# (in Celsius). The three measurements will be used to calculate the
# Steinhart-Hart coefficients for the thermistor. These parameters
# must be provided when using Steinhart-Hart to define the
# thermistor.
#beta:
# Alternatively, one may define temperature1, resistance1, and beta
# to define the thermistor parameters. This parameter must be
# provided when using "beta" to define the thermistor.
# Custom ADC temperature sensors (one may define any number of
# sections with an "adc_temperature" prefix). This allows one to
# define a custom temperature sensor that measures a voltage on an
# Analog to Digital Converter (ADC) pin and uses linear interpolation
# between a set of configured temperature/voltage (or
# temperature/resistance) measurements to determine the temperature.
# The resulting sensor can be used as a sensor_type in a heater
# section. (For example, if one defines a "[adc_temperature
# my_sensor]" section then one may use a "sensor_type: my_sensor" when
# defining a heater.) Be sure to place the sensor section in the
# config file above its first use in a heater section.
#[adc_temperature my_sensor]
#temperature1:
#voltage1:
#temperature2:
#voltage2:
#...
# A set of temperatures (in Celsius) and voltages (in Volts) to use
# as reference when converting a temperature. A heater section using
# this sensor may also specify adc_voltage and voltage_offset
# parameters to define the ADC voltage (see "Common temperature
# amplifiers" section above for details). At least two measurements
# must be provided.
#temperature1:
#resistance1:
#temperature2:
#resistance2:
#...
# Alternatively one may specify a set of temperatures (in Celsius)
# and resistance (in Ohms) to use as reference when converting a
# temperature. A heater section using this sensor may also specify a
# pullup_resistor parameter (see example.cfg for details). At least
# two measurements must be provided.
# BME280 two wire interface (I2C) environmental sensor. Note that this
# sensor is not intended for use with extruders and heater beds, but rather
# for montitoring ambient temperature (C), pressure (hPa), and relative
# humidity. See sample-macros.cfg for a gcode_macro that may be used to report
# pressure and humidity in addition to temperature.
#[temperature_sensor my_sensor]
# See the "temperature_sensor" section below for a description of its
# parameters. The parameters below describe BME280 sensor parameters.
#sensor_type:
# Must be "BME280"
#i2c_address:
# Default is 118 (0x76). Some BME280 sensors have an address of 119 (0x77).
#i2c_mcu:
# MCU the sensor is connected to. Default is the primary mcu.
#i2c_bus:
# The I2C bus the sensor is connected to. On some MCU platforms the default
# is bus 0. On platforms without bus 0 this parameter is required.
#i2c_speed:
# The I2C speed (in Hz) to use when communicating with the sensor. Default
# is 100000. On some MCUs changing this value has no effect.
# Generic heaters (one may define any number of sections with a
# "heater_generic" prefix). These heaters behave similarly to standard
# heaters (extruders, heated beds). Use the SET_HEATER_TEMPERATURE
# command (see docs/G-Codes.md for details) to set the target
# temperature.
#[heater_generic my_generic_heater]
#gcode_id: C
# The id to use when reporting the temperature in the M105 command.
# This parameter must be provided.
#heater_pin:
#max_power:
#sensor_type:
#sensor_pin:
#smooth_time:
#control:
#pid_Kp:
#pid_Ki:
#pid_Kd:
#pid_integral_max:
#pwm_cycle_time:
#min_temp:
#max_temp:
# See the heater section in example.cfg for the definition of the
# above parameters.
# Generic temperature sensors. One can define any number of additional
# temperature sensors that are reported via the M105 command.
#[temperature_sensor my_sensor]
#sensor_type:
#sensor_pin:
#min_temp:
#max_temp:
# See the heater section in example.cfg for the definition of the
# above parameters.
#gcode_id:
# See the heater_generic section above for the definition of this
# parameter.
######################################################################
# Additional fans
######################################################################
# Heater cooling fans (one may define any number of sections with a
# "heater_fan" prefix). A "heater fan" is a fan that will be enabled
# whenever its associated heater is active. By default, a heater_fan
# has a shutdown_speed equal to max_power.
#[heater_fan my_nozzle_fan]
#pin:
#max_power:
#shutdown_speed:
#cycle_time:
#hardware_pwm:
#kick_start_time:
# See the "fan" section in example.cfg for a description of the
# above parameters.
#heater: extruder
# Name of the config section defining the heater that this fan is
# associated with. If a comma separated list of heater names is
# provided here, then the fan will be enabled when any of the given
# heaters are enabled. The default is "extruder".
#heater_temp: 50.0
# A temperature (in Celsius) that the heater must drop below before
# the fan is disabled. The default is 50 Celsius.
#fan_speed: 1.0
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when its associated heater is enabled. The default
# is 1.0
# Controller cooling fan (one may define any number of sections with a
# "controller_fan" prefix). A "controller fan" is a fan that will be
# enabled whenever its associated heater or any configured stepper
# driver is active. The fan will stop, whenever an idle_timeout is
# reached to ensure no overheating will occur after deactivating a
# watched component.
#[controller_fan my_controller_fan]
#pin:
#max_power:
#shutdown_speed:
#cycle_time:
#hardware_pwm:
#kick_start_time:
# See the "fan" section in example.cfg for a description of the
# above parameters.
#idle_timeout:
# The ammount of time (in seconds) after a stepper driver or heater
# was active and the fan should be kept running. The default
# is 30 seconds.
#idle_speed:
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when a heater or stepper driver was active and before
# the idle_timeout is reached. This must be greater or equal
# max_power. The default is max_power
#heater:
# Name of the config section defining the heater that this fan is
# associated with. If a comma separated list of heater names is
# provided here, then the fan will be enabled when any of the given
# heaters are enabled. The default is "extruder".
# Temperature-triggered cooling fans (one may define any number of
# sections with a "temperature_fan" prefix). A "temperature fan" is a
# fan that will be enabled whenever its associated sensor is above a
# set temperature. By default, a temperature_fan has a shutdown_speed
# equal to max_power.
#[temperature_fan my_temp_fan]
#pin:
#max_power:
#shutdown_speed:
#cycle_time:
#hardware_pwm:
#kick_start_time:
# See the "fan" section in example.cfg for a description of the
# above parameters.
#sensor_type: EPCOS 100K B57560G104F
#sensor_pin: analog13
# See the "heater" section for details about the sensor_type and
# sensor_pin parameters.
#min_temp: 0
#max_temp: 100
# The maximum range of valid temperatures (in Celsius) that the
# sensor must remain within. This controls a safety feature
# implemented in the micro-controller code - should the measured
# temperature ever fall outside this range then the micro-controller
# will go into a shutdown state. Set this range just wide enough so
# that reasonable temperatures do not result in an error. These
# parameters must be provided.
#target_temp: 40.0
# A temperature (in Celsius) that will be the target temperature.
# The default is 40 degrees.
#max_speed: 1.0
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when the sensor temperature exceeds the set value.
# The default is 1.0.
#min_speed: 0.3
# The minimum fan speed (expressed as a value from 0.0 to 1.0) that
# the fan will be set to for PID temperature fans.
# The default is 0.3.
#control: watermark
# Control algorithm (either watermark or pid). This parameter must
# be provided.
#pid_Kp: 40
# Kp is the "proportional" constant for the pid. This parameter must
# be provided for PID temperature fans.
#pid_Ki: 0.2
# Ki is the "integral" constant for the pid. This parameter must be
# provided for PID temperature fans.
#pid_Kd: 0.1
# Kd is the "derivative" constant for the pid. This parameter must
# be provided for PID temperature fans.
#pid_deriv_time: 2.0
# A time value (in seconds) over which the derivative in the pid
# will be smoothed to reduce the impact of measurement noise. The
# default is 2 seconds.
#pid_integral_max:
# The maximum "windup" the integral term may accumulate. The default
# is to use the same value as max_power.
#gcode_id:
# If set, the temperature will be reported in M105 queries using the
# given id. The default is to not report the temperature via M105.
######################################################################
# Additional servos, LEDs, buttons, and other pins
######################################################################
# Servos (one may define any number of sections with a "servo"
# prefix). The servos may be controlled using the SET_SERVO g-code
# command. For example: SET_SERVO SERVO=my_servo ANGLE=180
#[servo my_servo]
#pin: ar7
# PWM output pin controlling the servo. This parameter must be
# provided.
#maximum_servo_angle: 180
# The maximum angle (in degrees) that this servo can be set to. The
# default is 180 degrees.
#minimum_pulse_width: 0.001
# The minimum pulse width time (in seconds). This should correspond
# with an angle of 0 degrees. The default is 0.001 seconds.
#maximum_pulse_width: 0.002
# The maximum pulse width time (in seconds). This should correspond
# with an angle of maximum_servo_angle. The default is 0.002
# seconds.
#initial_angle: 70
# Initial angle to set the servo to when the mcu resets. Must be between
# 0 and maximum_servo_angle This parameter is optional. If both
# initial_angle and initial_pulse_width are set initial_angle will be used.
#initial_pulse_width: 0.0015
# Initial pulse width time (in seconds) to set the servo to when
# the mcu resets. Must be between minimum_pulse_width and maximum_pulse_width.
# This parameter is optional. If both initial_angle and initial_pulse_width
# are set initial_angle will be used
#enable: True
# Enable or disable servo. It can be enabled or disabled later using
# SET_SERVO SERVO=my_servo ENABLE=<0|1> g-command. The default is True (=enabled)
# Neopixel (aka WS2812) LED support (one may define any number of
# sections with a "neopixel" prefix). One may set the LED color via
# "SET_LED LED=my_neopixel RED=0.1 GREEN=0.1 BLUE=0.1" type extended
# g-code commands.
#[neopixel my_neopixel]
#pin:
# The pin connected to the neopixel. This parameter must be
# provided.
#chain_count:
# The number of Neopixel chips that are "daisy chained" to the
# provided pin. The default is 1 (which indicates only a single
# Neopixel is connected to the pin).
#color_order_GRB: True
# Set the pixel order to green, red, blue. If using the WS2811 chip
# (in 800Khz mode) then set this to False. The default is True.
#initial_RED: 0.0
#initial_GREEN: 0.0
#initial_BLUE: 0.0
# Sets the initial LED color of the Neopixel. Each value should be
# between 0.0 and 1.0. The default for each color is 0.
# Dotstar (aka APA102) LED support (one may define any number of
# sections with a "dotstar" prefix). One may set the LED color via
# "SET_LED LED=my_dotstar RED=0.1 GREEN=0.1 BLUE=0.1" type extended
# g-code commands.
#[dotstar my_dotstar]
#data_pin:
# The pin connected to the data line of the dotstar. This parameter
# must be provided.
#clock_pin:
# The pin connected to the clock line of the dotstar. This parameter
# must be provided.
#chain_count:
#initial_RED: 0.0
#initial_GREEN: 0.0
#initial_BLUE: 0.0
# See the "neopixel" section for information on these parameters.
# Execute gcode when a button is pressed or released (or when a pin
# changes state). You can check the state of the button by using
# QUERY_BUTTON button=my_gcode_button
#[gcode_button my_gcode_button]
#pin:
# The pin on which the button is connected. This parameter must be
# provided.
#press_gcode:
# A list of G-Code commands to execute when the button is pressed.
# G-Code templates are supported. This parameter must be provided.
#release_gcode:
# A list of G-Code commands to execute when the button is released.
# G-Code templates are supported. The default is to not run any
# commands on a button release.
# Run-time configurable output pins (one may define any number of
# sections with an "output_pin" prefix). Pins configured here will be
# setup as output pins and one may modify them at run-time using
# "SET_PIN PIN=my_pin VALUE=.1" type extended g-code commands.
#[output_pin my_pin]
#pin:
# The pin to configure as an output. This parameter must be
# provided.
#pwm: False
# Set if the output pin should be capable of pulse-width-modulation.
# If this is true, the value fields should be between 0 and 1; if it
# is false the value fields should be either 0 or 1. The default is
# False.
#static_value:
# If this is set, then the pin is assigned to this value at startup
# and the pin can not be changed during runtime. A static pin uses
# slightly less ram in the micro-controller. The default is to use
# runtime configuration of pins.
#value:
# The value to initially set the pin to during MCU configuration.
# The default is 0 (for low voltage).
#shutdown_value:
# The value to set the pin to on an MCU shutdown event. The default
# is 0 (for low voltage).
#cycle_time: 0.100
# The amount of time (in seconds) per PWM cycle. It is recommended
# this be 10 milliseconds or greater when using software based PWM.
# The default is 0.100 seconds for pwm pins.
#hardware_pwm: False
# Enable this to use hardware PWM instead of software PWM. When
# using hardware PWM the actual cycle time is constrained by the
# implementation and may be significantly different than the
# requested cycle_time. The default is False.
#scale:
# This parameter can be used to alter how the 'value' and
# 'shutdown_value' parameters are interpreted for pwm pins. If
# provided, then the 'value' parameter should be between 0.0 and
# 'scale'. This may be useful when configuring a PWM pin that
# controls a stepper voltage reference. The 'scale' can be set to
# the equivalent stepper amperage if the PWM were fully enabled, and
# then the 'value' parameter can be specified using the desired
# amperage for the stepper. The default is to not scale the 'value'
# parameter.
# Statically configured digital output pins (one may define any number
# of sections with a "static_digital_output" prefix). Pins configured
# here will be setup as a GPIO output during MCU configuration. They
# can not be changed at run-time.
#[static_digital_output my_output_pins]
#pins:
# A comma separated list of pins to be set as GPIO output pins. The
# pin will be set to a high level unless the pin name is prefaced
# with "!". This parameter must be provided.
# Multiple pin outputs (one may define any number of sections with a
# "multi_pin" prefix). A multi_pin output creates an internal pin
# alias that can modify multiple output pins each time the alias pin
# is set. For example, one could define a "[multi_pin my_fan]" object
# containing two pins and then set "pin=multi_pin:my_fan" in the
# "[fan]" section - on each fan change both output pins would be
# updated. These aliases may not be used with stepper motor pins.
#[multi_pin my_multi_pin]
#pins:
# A comma separated list of pins associated with this alias. This
# parameter must be provided.
######################################################################
# TMC stepper driver configuration
######################################################################
# Configure a TMC2130 stepper motor driver via SPI bus. To use this
# feature, define a config section with a "tmc2130" prefix followed by
# the name of the corresponding stepper config section (for example,
# "[tmc2130 stepper_x]").
#[tmc2130 stepper_x]
#cs_pin:
# The pin corresponding to the TMC2130 chip select line. This pin
# will be set to low at the start of SPI messages and raised to high
# after the message completes. This parameter must be provided.
#spi_bus:
#spi_speed:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# These optional parameters allow one to customize the SPI settings
# used to communicate with the chip.
#microsteps:
# The number of microsteps to configure the driver to use. Valid
# values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must
# be provided.
#interpolate: True
# If true, enable step interpolation (the driver will internally
# step at a rate of 256 micro-steps). The default is True.
#run_current:
# The amount of current (in amps) to configure the driver to use
# during stepper movement. This parameter must be provided.
#hold_current:
# The amount of current (in amps) to configure the driver to use
# when the stepper is not moving. The default is to use the same
# value as run_current.
#sense_resistor: 0.110
# The resistance (in ohms) of the motor sense resistor. The default
# is 0.110 ohms.
#stealthchop_threshold: 0
# The velocity (in mm/s) to set the "stealthChop" threshold to. When
# set, "stealthChop" mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# "stealthChop" mode.
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 0
#driver_TBL: 1
#driver_TOFF: 4
#driver_HEND: 7
#driver_HSTRT: 0
#driver_PWM_AUTOSCALE: True
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 4
#driver_PWM_AMPL: 128
#driver_SGT: 0
# Set the given register during the configuration of the TMC2130
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
# above list.
#diag1_pin:
# The micro-controller pin attached to the DIAG1 line of the TMC2130
# chip. Setting this creates a "tmc2130_stepper_x:virtual_endstop"
# virtual pin which may be used as the stepper's endstop_pin. Doing
# this enables "sensorless homing". (Be sure to also set driver_SGT
# to an appropriate sensitivity value.) The default is to not enable
# sensorless homing. See docs/Sensorless_Homing.md for details on how
# to configure this.
# Configure a TMC2208 (or TMC2224) stepper motor driver via single
# wire UART. To use this feature, define a config section with a
# "tmc2208" prefix followed by the name of the corresponding stepper
# config section (for example, "[tmc2208 stepper_x]").
#[tmc2208 stepper_x]
#uart_pin:
# The pin connected to the TMC2208 PDN_UART line. This parameter
# must be provided.
#tx_pin:
# If using separate receive and transmit lines to communicate with
# the driver then set uart_pin to the receive pin and tx_pin to the
# transmit pin. The default is to use uart_pin for both reading and
# writing.
#select_pins:
# A comma separated list of pins to set prior to accessing the
# tmc2208 UART. This may be useful for configuring an analog mux for
# UART communication. The default is to not configure any pins.
#microsteps:
# The number of microsteps to configure the driver to use. Valid
# values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must
# be provided.
#interpolate: True
# If true, enable step interpolation (the driver will internally
# step at a rate of 256 micro-steps). The default is True.
#run_current:
# The amount of current (in amps) to configure the driver to use
# during stepper movement. This parameter must be provided.
#hold_current:
# The amount of current (in amps) to configure the driver to use
# when the stepper is not moving. The default is to use the same
# value as run_current.
#sense_resistor: 0.110
# The resistance (in ohms) of the motor sense resistor. The default
# is 0.110 ohms.
#stealthchop_threshold: 0
# The velocity (in mm/s) to set the "stealthChop" threshold to. When
# set, "stealthChop" mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# "stealthChop" mode.
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 20
#driver_TBL: 2
#driver_TOFF: 3
#driver_HEND: 0
#driver_HSTRT: 5
#driver_PWM_AUTOGRAD: True
#driver_PWM_AUTOSCALE: True
#driver_PWM_LIM: 12
#driver_PWM_REG: 8
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36
# Set the given register during the configuration of the TMC2208
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
# above list.
# Configure a TMC2209 stepper motor driver via single wire UART. To
# use this feature, define a config section with a "tmc2209" prefix
# followed by the name of the corresponding stepper config section
# (for example, "[tmc2209 stepper_x]").
#[tmc2209 stepper_x]
#uart_pin:
#tx_pin:
#select_pins:
#microsteps:
#interpolate: True
#run_current:
#hold_current:
#sense_resistor: 0.110
#stealthchop_threshold: 0
# See the tmc2208 section above for the definition of these
# parameters.
#uart_address:
# The address of the TMC2209 chip for UART messages (an integer
# between 0 and 3). This is typically used when multiple TMC2209
# chips are connected to the same UART pin. The default is zero.
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 20
#driver_TBL: 2
#driver_TOFF: 3
#driver_HEND: 0
#driver_HSTRT: 5
#driver_PWM_AUTOGRAD: True
#driver_PWM_AUTOSCALE: True
#driver_PWM_LIM: 12
#driver_PWM_REG: 8
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36
#driver_SGTHRS: 0
# Set the given register during the configuration of the TMC2209
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
# above list.
#diag_pin:
# The micro-controller pin attached to the DIAG line of the TMC2209
# chip. Setting this creates a "tmc2209_stepper_x:virtual_endstop"
# virtual pin which may be used as the stepper's endstop_pin. Doing
# this enables "sensorless homing". (Be sure to also set
# driver_SGTHRS to an appropriate sensitivity value.) The default is
# to not enable sensorless homing.
# Configure a TMC2660 stepper motor driver via SPI bus. To use this
# feature, define a config section with a tmc2660 prefix followed by
# the name of the corresponding stepper config section (for example,
# "[tmc2660 stepper_x]").
#[tmc2660 stepper_x]
#cs_pin:
# The pin corresponding to the TMC2660 chip select line. This pin
# will be set to low at the start of SPI messages and set to high
# after the message transfer completes. This parameter must be provided.
#spi_bus:
# Select the SPI bus the TMC2660 stepper driver is connected to.
# This depends on the physical connections on your board, as well as
# the SPI implementation of your particular micro-controller. The
# default is to use the default micro-controller spi bus.
#spi_speed: 4000000
# SPI bus frequency used to communicate with the TMC2660 stepper
# driver. The default is 4000000.
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# These optional parameters allow one to customize the SPI settings
# used to communicate with the chip.
#microsteps:
# The number of microsteps to configure the driver to use. Valid
# values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must
# be provided.
#interpolate: True
# If true, enable step interpolation (the driver will internally
# step at a rate of 256 micro-steps). This only works if microsteps
# is set to 16. The default is True.
#run_current:
# The amount of current (in ampere) used by the driver during stepper
# movement. This parameter must be provided.
#sense_resistor:
# The resistance (in ohms) of the motor sense resistor. This parameter
# must be provided.
#idle_current_percent: 100
# The percentage of the run_current the stepper driver will be
# lowered to when the idle timeout expires (you need to set up the
# timeout using a [idle_timeout] config section). The current will
# be raised again once the stepper has to move again. Make sure to
# set this to a high enough value such that the steppers do not lose
# their position. There is also small delay until the current is
# raised again, so take this into account when commanding fast moves
# while the stepper is idling. The default is 100 (no reduction).
#driver_TBL: 2
#driver_RNDTF: 0
#driver_HDEC: 0
#driver_CHM: 0
#driver_HEND: 3
#driver_HSTRT: 3
#driver_TOFF: 4
#driver_SEIMIN: 0
#driver_SEDN: 0
#driver_SEMAX: 0
#driver_SEUP: 0
#driver_SEMIN: 0
#driver_SFILT: 1
#driver_SGT: 0
#driver_SLPH: 0
#driver_SLPL: 0
#driver_DISS2G: 0
#driver_TS2G: 3
# Set the given parameter during the configuration of the TMC2660
# chip. This may be used to set custom driver parameters. The
# defaults for each parameter are next to the parameter name in the
# list above. See the TMC2660 datasheet about what each parameter
# does and what the restrictions on parameter combinations are.
# Be especially aware of the CHOPCONF register, where setting CHM to
# either 0 or one will lead to layout changes (the first bit of HDEC)
# is interpreted as the MSB of HSTRT in this case).
# Configure a TMC5160 stepper motor driver via SPI bus. To use this
# feature, define a config section with a "tmc5160" prefix followed by
# the name of the corresponding stepper config section (for example,
# "[tmc5160 stepper_x]").
#[tmc5160 stepper_x]
#cs_pin:
# The pin corresponding to the TMC5160 chip select line. This pin
# will be set to low at the start of SPI messages and raised to high
# after the message completes. This parameter must be provided.
#spi_bus:
#spi_speed:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# These optional parameters allow one to customize the SPI settings
# used to communicate with the chip.
#microsteps:
# The number of microsteps to configure the driver to use. Valid
# values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must
# be provided.
#interpolate: True
# If true, enable step interpolation (the driver will internally
# step at a rate of 256 micro-steps). The default is True.
#run_current:
# The amount of current (in amps) to configure the driver to use
# during stepper movement. This parameter must be provided.
#hold_current:
# The amount of current (in amps) to configure the driver to use
# when the stepper is not moving. The default is to use the same
# value as run_current.
#sense_resistor: 0.075
# The resistance (in ohms) of the motor sense resistor. The default
# is 0.075 ohms.
#stealthchop_threshold: 0
# The velocity (in mm/s) to set the "stealthChop" threshold to. When
# set, "stealthChop" mode will be enabled if the stepper motor
# velocity is below this value. The default is 0, which disables
# "stealthChop" mode. Try to reexperience this with tmc5160.
# Values can be much higher than other tmcs.
#driver_IHOLDDELAY: 6
#driver_TPOWERDOWN: 10
#driver_TBL: 2
#driver_TOFF: 3
#driver_HEND: 2
#driver_HSTRT: 5
#driver_FD3: 0
#driver_TPFD: 4
#driver_CHM: 0
#driver_VHIGHFS: 0
#driver_VHIGHCHM: 0
#driver_DISS2G: 0
#driver_DISS2VS: 0
#driver_PWM_AUTOSCALE: True
#driver_PWM_AUTOGRAD: True
#driver_PWM_FREQ: 1
#driver_FREEWHEEL: 0
#driver_PWM_GRAD: 0
#driver_PWM_OFS: 30
#driver_PWM_REG: 4
#driver_PWM_LIM: 12
#driver_SGT: 0
#driver_SEMIN: 0
#driver_SEUP: 0
#driver_SEMAX: 0
#driver_SEDN: 0
#driver_SEIMIN: 0
#driver_SFILT: 0
# Set the given register during the configuration of the TMC5160
# chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
# above list.
#diag1_pin:
# The micro-controller pin attached to the DIAG1 line of the TMC5160
# chip. Setting this creates a "tmc5160_stepper_x:virtual_endstop"
# virtual pin which may be used as the stepper's endstop_pin. Doing
# this enables "sensorless homing". (Be sure to also set driver_SGT
# to an appropriate sensitivity value.) The default is to not enable
# sensorless homing. See docs/Sensorless_Homing.md for details on how
# to configure this.
######################################################################
# Run-time stepper motor current configuration
######################################################################
# Statically configured AD5206 digipots connected via SPI bus (one may
# define any number of sections with an "ad5206" prefix).
#[ad5206 my_digipot]
#enable_pin:
# The pin corresponding to the AD5206 chip select line. This pin
# will be set to low at the start of SPI messages and raised to high
# after the message completes. This parameter must be provided.
#spi_bus:
#spi_speed:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# These optional parameters allow one to customize the SPI settings
# used to communicate with the chip.
#channel_1:
#channel_2:
#channel_3:
#channel_4:
#channel_5:
#channel_6:
# The value to statically set the given AD5206 channel to. This is
# typically set to a number between 0.0 and 1.0 with 1.0 being the
# highest resistance and 0.0 being the lowest resistance. However,
# the range may be changed with the 'scale' parameter (see below).
# If a channel is not specified then it is left unconfigured.
#scale:
# This parameter can be used to alter how the 'channel_x' parameters
# are interpreted. If provided, then the 'channel_x' parameters
# should be between 0.0 and 'scale'. This may be useful when the
# AD5206 is used to set stepper voltage references. The 'scale' can
# be set to the equivalent stepper amperage if the AD5206 were at
# its highest resistance, and then the 'channel_x' parameters can be
# specified using the desired amperage value for the stepper. The
# default is to not scale the 'channel_x' parameters.
# Statically configured MCP4451 digipot connected via I2C bus (one may
# define any number of sections with an "mcp4451" prefix).
#[mcp4451 my_digipot]
#i2c_mcu: mcu
# The name of the micro-controller that the MCP4451 chip is
# connected to. The default is "mcu".
#i2c_address:
# The i2c address that the chip is using on the i2c bus. This
# parameter must be provided.
#wiper_0:
#wiper_1:
#wiper_2:
#wiper_3:
# The value to statically set the given MCP4451 "wiper" to. This is
# typically set to a number between 0.0 and 1.0 with 1.0 being the
# highest resistance and 0.0 being the lowest resistance. However,
# the range may be changed with the 'scale' parameter (see below).
# If a wiper is not specified then it is left unconfigured.
#scale:
# This parameter can be used to alter how the 'wiper_x' parameters
# are interpreted. If provided, then the 'wiper_x' parameters should
# be between 0.0 and 'scale'. This may be useful when the MCP4451 is
# used to set stepper voltage references. The 'scale' can be set to
# the equivalent stepper amperage if the MCP4451 were at its highest
# resistance, and then the 'wiper_x' parameters can be specified
# using the desired amperage value for the stepper. The default is
# to not scale the 'wiper_x' parameters.
# Statically configured MCP4728 digital-to-analog converter connected
# via I2C bus (one may define any number of sections with an "mcp4728"
# prefix).
#[mcp4728 my_dac]
#i2c_mcu: mcu
# The name of the micro-controller that the MCP4451 chip is
# connected to. The default is "mcu".
#i2c_address: 96
# The i2c address that the chip is using on the i2c bus. The default
# is 96.
#channel_a:
#channel_b:
#channel_c:
#channel_d:
# The value to statically set the given MCP4728 channel to. This is
# typically set to a number between 0.0 and 1.0 with 1.0 being the
# highest voltage (2.048V) and 0.0 being the lowest voltage.
# However, the range may be changed with the 'scale' parameter (see
# below). If a channel is not specified then it is left
# unconfigured.
#scale:
# This parameter can be used to alter how the 'channel_x' parameters
# are interpreted. If provided, then the 'channel_x' parameters
# should be between 0.0 and 'scale'. This may be useful when the
# MCP4728 is used to set stepper voltage references. The 'scale' can
# be set to the equivalent stepper amperage if the MCP4728 were at
# its highest voltage (2.048V), and then the 'channel_x' parameters
# can be specified using the desired amperage value for the
# stepper. The default is to not scale the 'channel_x' parameters.
# Statically configured MCP4018 digipot connected via two gpio "bit
# banging" pins (one may define any number of sections with an
# "mcp4018" prefix).
#[mcp4018 my_digipot]
#scl_pin:
# The SCL "clock" pin. This parameter must be provided.
#sda_pin:
# The SDA "data" pin. This parameter must be provided.
#wiper:
# The value to statically set the given MCP4018 "wiper" to. This is
# typically set to a number between 0.0 and 1.0 with 1.0 being the
# highest resistance and 0.0 being the lowest resistance. However,
# the range may be changed with the 'scale' parameter (see below).
# This parameter must be provided.
#scale:
# This parameter can be used to alter how the 'wiper' parameter is
# interpreted. If provided, then the 'wiper' parameter should be
# between 0.0 and 'scale'. This may be useful when the MCP4018 is
# used to set stepper voltage references. The 'scale' can be set to
# the equivalent stepper amperage if the MCP4018 is at its highest
# resistance, and then the 'wiper' parameter can be specified using
# the desired amperage value for the stepper. The default is to not
# scale the 'wiper' parameter.
######################################################################
# Display support
######################################################################
# Support for a display attached to the micro-controller.
#[display]
#lcd_type:
# The type of LCD chip in use. This may be "hd44780" (which is used
# in "RepRapDiscount 2004 Smart Controller" type displays), "st7920"
# (which is used in "RepRapDiscount 12864 Full Graphic Smart
# Controller" type displays), "uc1701" (which is used in "MKS Mini
# 12864" type displays), "ssd1306", or "sh1106". This parameter must
# be provided.
#rs_pin:
#e_pin:
#d4_pin:
#d5_pin:
#d6_pin:
#d7_pin:
# The pins connected to an hd44780 type lcd. These parameters must
# be provided when using an hd44780 display.
#cs_pin:
#sclk_pin:
#sid_pin:
# The pins connected to an st7920 type lcd. These parameters must be
# provided when using an st7920 display.
#cs_pin:
#a0_pin:
#rst_pin:
# The pins connected to an uc1701 type lcd. The rst_pin is
# optional. The cs_pin and a0_pin parameters must be provided when
# using an uc1701 display.
#contrast: 40
# The contrast to set when using a uc1701 type display. The value may
# range from 0 to 63. Default is 40.
#cs_pin:
#dc_pin:
#spi_bus:
#spi_speed:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# The pins connected to an ssd1306 type lcd when in "4-wire" spi
# mode. The parameters that start with "spi_" are optional and they
# control the spi settings used to communicate with the chip. The
# default is to use i2c mode for ssd1306 displays.
#reset_pin:
# A reset pin may be specified on ssd1306 displays. If it is not
# specified then the hardware must have a pull-up on the
# corresponding lcd line.
#display_group:
# The name of the display_data group to show on the display. This
# controls the content of the screen (see the description of
# [display_data] below for more information). The default is
# _default_20x4 for hd44780 displays and _default_16x4 for other
# displays.
#menu_timeout:
# Timeout for menu. Being inactive this amount of seconds will trigger
# menu exit or return to root menu when having autorun enabled.
# The default is 0 seconds (disabled)
#encoder_pins:
# The pins connected to encoder. 2 pins must be provided when
# using encoder. This parameter must be provided when using menu.
#click_pin:
# The pin connected to 'enter' button or encoder 'click'. This parameter
# must be provided when using menu. The presence of an 'analog_range_click_pin'
# config parameter turns this parameter from digital to analog.
#back_pin:
# The pin connected to 'back' button. This parameter is optional, menu
# can be used without it. The presence of an 'analog_range_back_pin'
# config parameter turns this parameter from digital to analog.
#up_pin:
# The pin connected to 'up' button. This parameter must be provided
# when using menu without encoder. The presence of an 'analog_range_up_pin'
# config parameter turns this parameter from digital to analog.
#down_pin:
# The pin connected to 'down' button. This parameter must be provided
# when using menu without encoder. The presence of an 'analog_range_down_pin'
# config parameter turns this parameter from digital to analog.
#kill_pin:
# The pin connected to 'kill' button. This button will call emergency stop.
# The presence of an 'analog_range_kill_pin' config parameter turns this
# parameter from digital to analog.
#analog_pullup_resistor: 4700
# The resistance (in ohms) of the pullup attached to the analog button.
# The default is 4700 ohms.
#analog_range_click_pin:
# The resistance range for a 'enter' button. Range minimum and maximum
# comma-separated values must be provided when using analog button.
#analog_range_back_pin:
# The resistance range for a 'back' button. Range minimum and maximum
# comma-separated values must be provided when using analog button.
#analog_range_up_pin:
# The resistance range for a 'up' button. Range minimum and maximum
# comma-separated values must be provided when using analog button.
#analog_range_down_pin:
# The resistance range for a 'down' button. Range minimum and maximum
# comma-separated values must be provided when using analog button.
#analog_range_kill_pin:
# The resistance range for a 'kill' button. Range minimum and maximum
# comma-separated values must be provided when using analog button.
# Support for displaying custom data on an lcd screen. One may create
# any number of display groups and any number of data items under
# those groups. The display will show all the data items for a given
# group if the display_group option in the [display] section is set to
# the given group name.
#[display_data my_group_name my_data_name]
#position: 0, 0
# Comma separated row and column of the display position that should
# be used to display the information. This parameter must be
# provided.
#text:
# The text to show at the given position. This field is evaluated
# using command templates (see docs/Command_Templates.md). This
# parameter must be provided.
# Display data text "macros" (one may define any number of sections
# with a display_template prefix). This feature allows one to reduce
# repetitive definitions in display_data sections. One may use the
# builtin render() function in display_data sections to evaluate a
# template. For example, if one were to define [display_template
# my_template] then one could use "{ render('my_template') }" in a
# display_data section.
#[display_template my_template_name]
#param_<name>:
# One may specify any number of options with a "param_" prefix. The
# given name will be assigned the given value (parsed as a Python
# literal) and will be available during macro expansion. If the
# parameter is passed in the call to render() then that value will
# be used during macro expansion. For example, a config with
# "param_speed = 75" might have a caller with
# "render('my_template_name', param_speed=80)". Parameter names may
# not use upper case characters.
#text:
# The text to return when the render() function is called for this
# template. This field is evaluated using command templates (see
# docs/Command_Templates.md). This parameter must be provided.
# If a primary [display] section has been defined in printer.cfg as shown
# above it is possible to define multiple auxilary displays. Note that
# auxilary displays do not currently support menu functionality, thus they
# do not support the "menu" options or button configuration.
#[display my_display]
#lcd_type:
#rs_pin:
#e_pin:
#d4_pin:
#d5_pin:
#d6_pin:
#d7_pin:
#cs_pin:
#sclk_pin:
#sid_pin:
#cs_pin:
#a0_pin:
#rst_pin:
#contrast: 40
#cs_pin:
#dc_pin:
#spi_bus:
#spi_speed:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
#reset_pin:
#display_group:
# See the [display] section above for details on each configuration
# option above.
######################################################################
# Filament sensors
######################################################################
# Filament Switch Sensor. Support for filament insert and runout detection
# using a switch sensor, such as an endstop switch.
#[filament_switch_sensor my_sensor]
#pause_on_runout: True
# When set to True, a PAUSE will execute immediately after a runout
# is detected. Note that if pause_on_runout is False and the
# runout_gcode is omitted then runout detection is disabled. Default
# is True.
#runout_gcode:
# A list of G-Code commands to execute after a filament runout is
# detected. See docs/Command_Templates.md for G-Code format. If
# pause_on_runout is set to True this G-Code will run after the
# PAUSE is complete. The default is not to run any G-Code commands.
#insert_gcode:
# A list of G-Code commands to execute after a filament insert is
# detected. See docs/Command_Templates.md for G-Code format. The
# default is not to run any G-Code commands, which disables insert
# detection.
#event_delay: 3.0
# The minimum amount of time in seconds to delay between events.
# Events triggered during this time period will be silently
# ignored. The default is 3 seconds.
#pause_delay: 0.5
# The amount of time to delay, in seconds, between the pause command
# dispatch and execution of the runout_gcode. It may be useful to
# increase this delay if Octoprint exhibits strange pause behavior.
# Default is 0.5 seconds.
#switch_pin:
# The pin on which the switch is connected. This parameter must be
# provided.
# TSLl401CL Based Filament Width Sensor
#[tsl1401cl_filament_width_sensor]
#pin: analog5
#default_nominal_filament_diameter: 1.75 # (mm)
# Maximum allowed filament diameter difference as mm
#max_difference: 0.2
# The distance from sensor to the melting chamber as mm
#measurement_delay: 100
# Hall filament width sensor (see docs/HallFilamentWidthSensor.md)
#[hall_filament_width_sensor]
#adc1: analog11
#adc2: analog12
# Analog input pins connected to the sensor. These parameters must
# be provided.
#cal_dia1: 1.50
#cal_dia2: 2.00
# The calibration values (in mm) for the sensors. The default is
# 1.50 for cal_dia1 and 2.00 for cal_dia2.
#raw_dia1: 9500
#raw_dia2: 10500
# The raw calibration values for the sensors. The default is 9500
# for raw_dia1 and 10500 for raw_dia2.
#default_nominal_filament_diameter: 1.75
# The nominal filament diameter. This parameter must be provided.
#max_difference: 0.200
# Maximum allowed filament diameter difference in millimeters (mm).
# If difference between nominal filament diameter and sensor output
# is more than +- max_difference, extrusion multiplier is set back
# to %100. The default is 0.200.
#measurement_delay: 70
# The distance from sensor to the melting chamber/hot-end in
# millimeters (mm). The filament between the sensor and the hot-end
# will be treated as the default_nominal_filament_diameter. Host
# module works with FIFO logic. It keeps each sensor value and
# position in an array and POP them back in correct position. This
# parameter must be provided.
#enable: False
# Sensor enabled or disabled after power on. The default is to
# disable.
#measurement_interval: 10
# The approximate distance (in mm) between sensor readings. The
# default is 10mm.
#Virtual filament_switch_sensor support. Create sensor named hall_filament_width_sensor.
#min_diameter:1.0
#Minimal diameter for trigger virtual filament_switch_sensor.
#Values from filament_switch_sensor.
#See [filament_switch_sensor] for a description of these parameters.
#pause_on_runout: True
# When set to True, a PAUSE will execute immediately after a runout
# is detected. Note that if pause_on_runout is False and the
# runout_gcode is omitted then runout detection is disabled. Default
# is True.
#runout_gcode:
# A list of G-Code commands to execute after a filament runout is
# detected. See docs/Command_Templates.md for G-Code format. If
# pause_on_runout is set to True this G-Code will run after the
# PAUSE is complete. The default is not to run any G-Code commands.
#insert_gcode:
# A list of G-Code commands to execute after a filament insert is
# detected. See docs/Command_Templates.md for G-Code format. The
# default is not to run any G-Code commands, which disables insert
# detection.
#event_delay: 3.0
# The minimum amount of time in seconds to delay between events.
# Events triggered during this time period will be silently
# ignored. The default is 3 seconds.
#pause_delay: 0.5
# The amount of time to delay, in seconds, between the pause command
# dispatch and execution of the runout_gcode. It may be useful to
# increase this delay if Octoprint exhibits strange pause behavior.
# Default is 0.5 seconds.
######################################################################
# Board specific hardware support
######################################################################
# Configure an SX1509 I2C to GPIO expander. Due to the delay incurred
# by I2C communication you should NOT use SX1509 pins as stepper enable,
# step or dir pins or any other pin that requires fast bit-banging. They
# are best used as static or gcode controlled digital outputs or hardware-pwm
# pins for e.g. fans. One may define any number of sections with an "sx1509"
# prefix. Each expander provides a set of 16 pins (sx1509_my_sx1509:PIN_0 to
# sx1509_my_sx1509:PIN_15) which can be used in the printer configuration.
#[sx1509 my_sx1509]
#i2c_mcu: mcu
# The name of the micro-controller that the SX1509 chip is connected
# to. The default is "mcu".
#i2c_address:
# I2C address used by this expander. Depending on the hardware jumpers
# this is one out of the following addresses: 62 63 112 113. This
# parameter must be provided.
#i2c_bus:
# If the I2C implementation of your microcontroller supports
# multiple I2C busses, you may specify the bus name here. The
# default is to use the default micro-controller i2c bus.
# SAMD SERCOM configuration to specify which pins to use on a given SERCOM.
# One may define one section with the "samd_sercom" prefix per
# SERCOM available. Each SERCOM must be configured prior to using it as
# SPI or I2C peripheral. Place this config section above any other section
# that makes use of SPI or I2C buses.
#[samd_sercom sercom0]
#tx_pin:
# MOSI pin for SPI communication, or SDA (data) pin for I2C
# communication. The pin must have a valid pinmux configuration
# for the given SERCOM peripheral. This parameter must be provided.
#rx_pin:
# MISO pin for SPI communication. This pin is not used for I2C
# communication (I2C uses tx_pin for both sending and receiving).
# The pin must have a valid pinmux configuration for the given
# SERCOM peripheral. This parameter is optional.
#clk_pin:
# CLK pin for SPI communication, or SCL (clock) pin for I2C
# communication. The pin must have a valid pinmux configuration
# for the given SERCOM peripheral. This parameter must be provided.
# Replicape support - see the generic-replicape.cfg file for further
# details.
#[replicape]
|