-
Notifications
You must be signed in to change notification settings - Fork 7
/
klipper_settings.def.json
680 lines (680 loc) · 44.7 KB
/
klipper_settings.def.json
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
{
"klipper_tuning_tower_enable": {
"label": "Enable Tuning Tower",
"description": "Enable Klipper's tuning tower sequence to precisely tune a specified parameter at given intervals during the print.<br /><br /> <b>Any models on the build plate will be affected by the tuning sequence.</b>",
"type": "bool",
"default_value": false,
"warning_value": true,
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_tuning_tower_preset": {
"label": "Tuning Tower Presets",
"description": "Presets for common Tuning Tower calibrations and custom user profiles. Only Tuning Tower settings are affected by a preset unless <em>Apply Suggested Settings</em> is also enabled.<br /><br /> Custom preset profiles are saved in the Cura config and only affect <em>Tuning Tower</em> settings.<br /><br /> <b>Recommended to use with Klipper's calibration models.</b>",
"type": "enum",
"options": {
"pressure": "Pressure Advance",
"accel": "Ringing Tower",
"custom1": "Custom Preset 1",
"custom2": "Custom Preset 2",
"custom3": "Custom Preset 3"
},
"default_value": "custom1",
"enabled": "klipper_tuning_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_tuning_tower_override": {
"label": "Apply Suggested Settings",
"description": "Applies additional Klipper settings necessary for the current calibration sequence. When enabled, a number of additional <em>Klipper and Cura</em> settings defined by the preset will be adjusted. Otherwise presets only affect <em>Tuning Tower</em> setting values. All changes are as described in the Klipper documentation.<br /><br /> <b>Suggestions are shown for any settings which still need to be set manually.</b> <br /><br /> <em>Disable to restore changed setting values.</em>",
"type": "bool",
"default_value": false,
"enabled": "klipper_tuning_tower_enable and klipper_tuning_tower_preset in ['pressure', 'accel']",
"warning_value": true,
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_tuning_tower_command": {
"label": "Tuning Tower Command",
"description": "The Klipper command to execute during the tuning process. This value must be specified.<br /><br /> <em>Common Examples:</em><br /> <code>SET_PRESSURE_ADVANCE</code><br /> SET_VELOCITY_LIMIT<br /> SET_RETRACTION<br /><br /> <em>Quotes automatically added for multiple words:</em><br /> 'SET_HEATER_TEMPERATURE HEATER=extruder'",
"type": "str",
"default_value": "",
"allow_empty": false,
"regex_blacklist_pattern": ".{60,}|^.{,59}[^a-zA-Z0-9_='\\s].*(?# Limit 60 usable chars)",
"enabled": "klipper_tuning_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_tuning_tower_parameter": {
"label": "Tuning Tower Parameter",
"description": "The parameter of the <em>command</em> to execute during the tuning process. This value must be specified.<br /><br /> <b>Input can not contain spaces or special characters.</b><br /><br /> <em>Common Examples:</em><br /> FACTOR<br /> ACCEL<br /> RETRACT_LENGTH<br /> TARGET",
"type": "str",
"default_value": "",
"allow_empty": false,
"regex_blacklist_pattern": ".{40,}|.{,39}\\W.*(?# Limit 40 usable chars)",
"enabled": "klipper_tuning_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_tuning_tower_start": {
"label": "Tuning Tower Start Value",
"description": "The starting value of the <em>parameter</em> specified for the tuning process.<br /><br /> <b>A value of '0' typically starts with the <em>command</em> disabled.</b>",
"type": "float",
"default_value": 0,
"minimum_value": "0",
"enabled": "klipper_tuning_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_tuning_tower_skip": {
"label": "Tuning Tower Skip Height",
"description": "<b>(Optional)</b> The z-height in mm at which the tuning process will begin. Below this height only the <em>start value</em> will be used. If omitted, the tuning process simply begins at the first layer. This is often used to skip the initial layers of the print.<br /><br /> <b>A value of '0' will disable <em>skip height</em>.</b>",
"type": "float",
"unit": "mm",
"default_value": 0,
"minimum_value": "0",
"maximum_value_warning": "99",
"enabled": "klipper_tuning_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_tuning_tower_method": {
"label": "Tuning Tower Method",
"description": "The adjustment method used for the tuning process.<br /><br /> Use <b>FACTOR</b> when precisely measuring the z-height of the tuning tower to determine the optimum value. Used to tune a wide range of values for features like <em>pressure advance</em>. This enables the optional <em>band height</em> setting to specify an incremental height adjustment.<br /><br /> Use <b>STEP</b> if the tower model has steps of discrete values which can be counted to determine the optimum value. Typically best suited for objects like <em>temperature towers</em>. This enables the required settings <em>step delta</em> and <em>step height</em>.",
"type": "enum",
"options": {
"factor": "Factor",
"step": "Step"
},
"default_value": "factor",
"enabled": "klipper_tuning_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_tuning_tower_factor": {
"label": "Tuning Tower Factor",
"description": "The factor used to continuously adjust the <em>start value</em> throughout the tuning process. The value will change at a rate of <em>factor per mm</em>. This may be used in combination with <em>band height</em>.<br /><br /> <b>A value greater than '0' is required.</b><br /><br /> <em>To determine result, precisely measure the desired Z height then use the following formula:</em><br /><br /> <b>START + FACTOR * Z_HEIGHT</b>",
"type": "float",
"default_value": 0,
"minimum_value": "0.001",
"enabled": "klipper_tuning_tower_enable and klipper_tuning_tower_method == 'factor'",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_tuning_tower_band": {
"label": "Tuning Tower Band Height",
"description": "<b>(Optional)</b> The height in mm of each adjustment band. The value is adjusted at an average rate of <em>factor</em> per mm, but only applied in discrete bands of Z height.<br /><br /> <b>A value of '0' disables the <em>band height</em> option.</b><br /><br /> <em>Formula with band enabled:</em><br /> <b>START + FACTOR * ((floor(Z_HEIGHT / BAND) + .5) * BAND)</b>",
"type": "float",
"unit": "mm",
"default_value": 0,
"minimum_value": "0",
"maximum_value_warning": "99",
"enabled": "klipper_tuning_tower_enable and klipper_tuning_tower_method == 'factor'",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_tuning_tower_step_delta": {
"label": "Tuning Tower Step Delta",
"description": "The step factor used to adjust the <em>start value</em> throughout the tuning process. The <em>start value</em> will change by <em>step delta</em> every <em>step height</em> in mm.<br /><br /> <b>Value can be positive or negative and used in combination with <em>step height</em>.</b><br /><br /> <em>To determine result, simply count the bands or labels on the model.</em><br /><br /> <em>Formula:</em><br /> <b>START + STEP_DELTA * floor(Z_HEIGHT / STEP_HEIGHT)</b>",
"type": "float",
"default_value": 0,
"minimum_value_warning": "-0.001",
"maximum_value_warning": "9999",
"enabled": "klipper_tuning_tower_enable and klipper_tuning_tower_method == 'step'",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_tuning_tower_step_height": {
"label": "Tuning Tower Step Height",
"description": "An incremental distance in mm at which <em>step delta</em> will adjust the <em>start value</em> throughout the tuning process.<br /><br /> <b>Value must be greater than '0' and used in combination with <em>step delta</em>.</b><br /><br /> <em>To determine the result, simply count the bands or labels on the model.</em><br /><br /> <em>Formula:</em><br /> <b>START + STEP_DELTA * floor(Z_HEIGHT / STEP_HEIGHT)</b>",
"type": "float",
"unit": "mm",
"default_value": 0,
"minimum_value": "0.0001",
"maximum_value_warning": "50",
"enabled": "klipper_tuning_tower_enable and klipper_tuning_tower_method == 'step'",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_pressure_advance_enable": {
"label": "Pressure Advance Control",
"description": "Enables control of Pressure Advance for Klipper firmware. This feature can greatly sharpen the appearance of corners, improve line width consistency and reduce the need for retraction during non-extrusion moves. Supports control of individual mesh objects and multiple extruders.<br /><br /> <b>To disable Pressure Advance, enable and set values to '0'.</b>",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_pressure_advance_factor": {
"label": "Pressure Advance Factor",
"description": "Extrusion coefficient for Klipper's Pressure Advance feature.<br /><br /> Common values are <b>0.01 - 0.10 for direct drive</b> and <b>0.20 - 0.60 for bowden extruders</b>. High values can cause excessive extruder movements which may result in missed extruder steps when accelerating/decelerating. Recommended to keep values below 0.50. Adjustments may be necessary for different materials, nozzles, etc.<br /><br /> <b>A value of '0' will disable Pressure Advance.</b><br /><br /> <em>Default: 0 (Disable)</em>",
"type": "float",
"default_value": 0,
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable')",
"settable_per_mesh": true,
"settable_per_extruder": true,
"children": {
"klipper_pressure_advance_infill": {
"label": "Infill Pressure Advance",
"description": "Pressure Advance factor when printing infill. Could be used to minimize excessive extruder movement during infill but reducing too much may increase stringing.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and infill_sparse_density > 0",
"settable_per_mesh": true,
"settable_per_extruder": true,
"limit_to_extruder": "infill_extruder_nr"
},
"klipper_pressure_advance_wall": {
"label": "Wall Pressure Advance",
"description": "Pressure Advance factor used when printing walls. Optimized values can sharpen the appearance of corners, reduce bulging and improve extrusion consistency when varying print speeds.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and wall_line_count > 0",
"settable_per_mesh": true,
"settable_per_extruder": true,
"children": {
"klipper_pressure_advance_wall_0": {
"label": "Outer Wall Pressure Advance",
"description": "Pressure Advance factor used for the outermost wall. Optimized values can greatly improve the appearance of corners.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_wall",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and wall_line_count > 0",
"settable_per_mesh": true,
"settable_per_extruder": true,
"limit_to_extruder": "wall_0_extruder_nr"
},
"klipper_pressure_advance_wall_x": {
"label": "Inner Wall Pressure Advance",
"description": "Pressure Advance factor used only for inner walls.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_wall",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and wall_line_count > 1",
"settable_per_mesh": true,
"settable_per_extruder": true,
"limit_to_extruder": "wall_x_extruder_nr"
}
}
},
"klipper_pressure_advance_topbottom": {
"label": "Top/Bottom Pressure Advance",
"description": "Pressure Advance factor used for top/bottom skin layers. Optimized value can improve surface appearance and line width consistency for these layers. High values may lead to excessive extruder movements.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and top_bottom_thickness > 0",
"settable_per_mesh": true,
"settable_per_extruder": true,
"limit_to_extruder": "top_bottom_extruder_nr"
},
"klipper_pressure_advance_layer_0": {
"label": "Initial Layer Pressure Advance",
"description": "Pressure Advance factor used only during the first layer. This value overrides all other line types while printing the first layer. Adjusting could be used to optimize line width consistency when varying print speed.<br /><br /> <b>A value of '0' disables pressure advance for the first layer.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable')",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"klipper_pressure_advance_support": {
"label": "Support Pressure Advance",
"description": "Pressure Advance factor used for support infill and interface structures. Adjustments could be used to minimize excessive extruder movement but there is typically little benefit from changing these values.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and (support_enable or support_meshes_present)",
"settable_per_mesh": false,
"settable_per_extruder": true,
"limit_to_extruder": "support_extruder_nr",
"children": {
"klipper_pressure_advance_support_infill": {
"label": "Support Infill Pressure Advance",
"description": "Pressure Advance factor used only for support infill.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_support",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and (support_enable or support_meshes_present)",
"settable_per_mesh": false,
"settable_per_extruder": true,
"limit_to_extruder": "support_infill_extruder_nr"
},
"klipper_pressure_advance_support_interface": {
"label": "Support Interface Pressure Advance",
"description": "Pressure Advance factor used only for the support interface.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_support",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false,
"settable_per_extruder": true,
"limit_to_extruder": "support_interface_extruder_nr"
}
}
},
"klipper_pressure_advance_prime_tower": {
"label": "Prime Tower Pressure Advance",
"description": "Pressure Advance factor used when printing a prime tower.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and resolveOrValue('prime_tower_enable')",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"klipper_pressure_advance_skirt_brim": {
"label": "Skirt/Brim Pressure Advance",
"description": "Pressure Advance factor used when printing skirts or brims.<br /><br /> <b>A value of '0' disables pressure advance for this feature.</b>",
"type": "float",
"default_value": 0,
"value": "klipper_pressure_advance_factor",
"minimum_value": "0",
"maximum_value": "2",
"maximum_value_warning": "0.8",
"enabled": "resolveOrValue('klipper_pressure_advance_enable') and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled'))",
"settable_per_mesh": false,
"settable_per_extruder": true,
"limit_to_extruder": "adhesion_extruder_nr"
}
}
},
"klipper_smooth_time_enable": {
"label": "Pressure Advance Smooth Time",
"description": "Enables control of the smooth time variable for Klipper's Pressure Advance. Can be applied with or without <em>Pressure Advance Control</em> but has no effect if pressure advance factor is '0'.",
"type": "bool",
"default_value": false,
"resolve": "any(extruderValues('klipper_smooth_time_enable'))",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_smooth_time_factor": {
"label": "Smooth Time Range",
"description": "The time range in seconds used when calculating the average extruder velocity for pressure advance. It is generally recommended to use the default Klipper value. Higher values may result in smoother extruder movements.<br /><br /> <b>Value must be above 0 with a maximum range of 0.20 sec.</b><br /><br /> <em>Has no effect if pressure advance factor is '0'.</em><br /><br /> <em>Default: 0.04 (Klipper Default)</em>",
"type": "float",
"unit": "sec",
"default_value": 0.04,
"minimum_value": "0.001",
"maximum_value": "0.2",
"maximum_value_warning": "0.1",
"enabled": "resolveOrValue('klipper_smooth_time_enable')",
"settable_per_mesh": false,
"settable_per_extruder": true
}
}
},
"machine_firmware_retract": {
"label": "Enable Firmware Retraction",
"description": "Enables <b>G10 & G11</b> firmware retraction commands in gcode. This is a duplicate of the <em>firmware retraction</em> option normally hidden in machine settings. When enabled, Cura's retraction settings are used as the default values. Any specified retraction values will override current values in Klipper config.<br /><br /> <em>Multiple extruders are supported.</em><br /><br /> <b>The [firmware_retraction] section must be enabled in Klipper config.</b>",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_retract_length": {
"label": "Retraction Length",
"description": "The length in mm of material retracted during a <b>G10</b> retract command. Cura's retraction setting is used as the default value.<br /><br /> <b>The [firmware_retraction] section must be enabled in Klipper config.</b><br /><br /> <b>A value of '-1.0' will disable control and use the current Klipper config value.</b><br /><br /> <em>Default: Cura 'retraction_amount'</em>",
"type": "float",
"unit": "mm",
"default_value": -1,
"value": "retraction_amount",
"minimum_value": "-1",
"minimum_value_warning": "0.0001 if klipper_retract_length >= 0 else -1",
"maximum_value_warning": "10",
"enabled": "resolveOrValue('machine_firmware_retract')",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"klipper_retract_prime_length": {
"label": "Unretract Extra Length",
"description": "The length in mm of <em>extra</em> material added to a <b>G11</b> unretract command. Cura's retraction setting is ignored by default. A value above zero is generally not necessary but can be used to compensate for material oozing during travel moves.<br /><br /> <b>The [firmware_retraction] section must be enabled in Klipper config.</b><br /><br /> <b>A value of '-1.0' will disable control and use the current Klipper config value.</b><br /><br /> <em>Default: -1.0 (Disabled)</em>",
"type": "float",
"unit": "mm",
"default_value": -1,
"minimum_value": "-1",
"maximum_value_warning": "5",
"enabled": "resolveOrValue('machine_firmware_retract')",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"klipper_retraction_speed": {
"label": "Retraction Speed",
"description": "The speed in mm/s at which filament is retracted and primed during <b>G10 & G11</b> commands. Cura's retraction setting is used as the default value.<br /><br /> <b>The [firmware_retraction] section must be enabled in Klipper config.</b><br /><br /> <b>A value of '0' will disable speed control and use current Klipper config values.</b><br /><br /> <em>Default: Cura 'Retraction Speed'</em>",
"type": "float",
"unit": "mm/s",
"default_value": 0,
"value": "retraction_speed",
"minimum_value": "0",
"minimum_value_warning": "5 if klipper_retract_speed >= 1 or klipper_retract_prime_speed >= 1 else 0",
"maximum_value_warning": "99",
"enabled": "resolveOrValue('machine_firmware_retract')",
"settable_per_mesh": false,
"settable_per_extruder": true,
"children": {
"klipper_retract_speed": {
"label": "Retract Speed",
"description": "The speed at which filament is retracted during a <b>G10</b> command. Cura's retraction setting is used as the default value.<br /><br /> <i>Klipper Default: 20 mm/s</i><br /><br /> <b>The [firmware_retraction] section must be enabled in Klipper config.</b><br /><br /> <b>A value of '0' will disable control and use the current Klipper config value.</b><br /><br /> <em>Default: Cura 'Retraction Retract Speed'</em>",
"type": "float",
"unit": "mm/s",
"default_value": 0,
"value": "retraction_retract_speed",
"minimum_value": "0",
"minimum_value_warning": "5 if klipper_retract_speed >= 1 else 0",
"maximum_value_warning": "99",
"enabled": "resolveOrValue('machine_firmware_retract')",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"klipper_retract_prime_speed": {
"label": "Unretract Speed",
"description": "The speed at which filament unretracts during a <b>G11</b> command. Cura's retraction setting is used as the default value.<br /><br /> <i>Klipper Default: 10 mm/s</i><br /><br /> <b>The [firmware_retraction] section must be enabled in Klipper config.</b><br /><br /> <b>A value of '0' will disable control and use the current Klipper config value.</b><br /><br /> <em>Default: Cura 'Retraction Prime Speed'</em>",
"type": "float",
"unit": "mm/s",
"default_value": 0,
"value": "retraction_prime_speed",
"minimum_value": "0",
"minimum_value_warning": "5 if klipper_retract_prime_speed >= 1 else 0",
"maximum_value_warning": "99",
"enabled": "resolveOrValue('machine_firmware_retract')",
"settable_per_mesh": false,
"settable_per_extruder": true
}
}
},
"klipper_z_offset_control_enable": {
"label": "Z Offset Control",
"description": "Enables control of Klipper's Z offset and first layer Z offset feature.",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_z_offset_set_enable": {
"label": "Override Z Axis Offset",
"description": "Enable to define a total Z axis offset adjustment for the toolhead. This will override and remove any existing Z offset since restarting the printer. It is only recommended to enable this feature to remove an existing offset or if an exact value is needed.<br /><br />SET_GCODE_OFFSET Z=",
"type": "bool",
"default_value": false,
"enabled": "klipper_z_offset_control_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_z_offset_set_total": {
"label": "Set Z Axis Offset",
"description": "Defines a total Z axis offset adjustment in mm for the toolhead. If defined, the Z height of all gcode commands will be adjusted by this value <em>after</em> the start gcode sequence. For safety, the max adjustment range is +/- 0.4 mm.<br /><br /> If <em>Adjust Initial Layer Z Offset</em> is also defined, it will combine with this value.<br /><br /> A <b>negative value</b> will move the nozzle closer to the bed.<br /><br /> <b>A value of '0' <em>resets</em> any adjustment since the printer was restarted.</b><br /><br /> <em>Default: 0</em>",
"type": "float",
"unit": "mm",
"default_value": 0,
"minimum_value": "-0.4",
"minimum_value_warning": "-0.1 if klipper_z_offset_set_total < 0 else 0.0001",
"maximum_value": "0.4",
"maximum_value_warning": "0.1",
"enabled": "klipper_z_offset_control_enable and klipper_z_offset_set_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_z_offset_layer_0": {
"label": "Adjust Initial Layer Z Offset",
"description": "Z axis offset adjustment in mm applied only to initial layer of the print. Additional first layer 'squish' is often used to improve bed adhesion. The offset applies only to z coordinates equal to the <en>first layer height</em> then instructs Klipper to revert the offset for the <em>next z axis change</em>. Typical adjustments are between -0.005 and -0.05. The max adjustment range is +/- first layer height.<br /><br /> If <em>Set Z Axis Offset</em> is also enabled, the values will be combined.<br /><br /> A <b>negative value</b> will move the nozzle closer to the bed.<br /><br /> <b>A value of '0' has no effect.</b><br /><br /> <em>Default: 0 (Disabled)</em>",
"type": "float",
"unit": "mm",
"default_value": 0,
"minimum_value": "-(layer_height_0)",
"minimum_value_warning": "-(layer_height_0 / 2)",
"maximum_value": "layer_height_0",
"maximum_value_warning": "0.01",
"enabled": "klipper_z_offset_control_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_velocity_limits_enable": {
"label": "Velocity Limits Control",
"description": "Enable control of Klipper's velocity and acceleration limits.<br /><br /> <b>Typically only necessary to change these values for calibration purposes.</b>",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_velocity_limit": {
"label": "Velocity Limit",
"description": "The maximum velocity limit in mm/s of the toolhead relative to the print. Print speeds will not be able to exceed this value. It is usually not necessary to adjust a printer's default value.<br /><br /> <b>A value of '0' will disable control and not affect current config.</b><br /><br /> <em>Default: 0 (Disabled)</em>",
"type": "int",
"unit": "mm/s",
"default_value": 0,
"minimum_value": "0",
"minimum_value_warning": "10 if klipper_velocity_limit > 0 else 0",
"maximum_value_warning": "999",
"enabled": "klipper_velocity_limits_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_accel_limit": {
"label": "Acceleration Limit",
"description": "The maximum acceleration limit in mm/s² of the toolhead relative to the print. If Cura's acceleration control is enabled those values also change <em>max_accel</em> so they will override this value. This is intended to adjust <em>max_accel</em> temporarily, such as in preparation for a tuning sequence.<br /><br /> <b>A value of '0' will disable control and not affect current config.</b><br /><br /> <em>Default: 0 (Disabled)</em>",
"type": "int",
"unit": "mm/s²",
"default_value": 0,
"minimum_value": "0",
"minimum_value_warning": "100 if klipper_accel_limit > 0 else 0",
"maximum_value_warning": "50000",
"enabled": "klipper_velocity_limits_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_accel_to_decel_limit": {
"label": "Accel to Decel Limit",
"description": "The maximum rate in mm/s² for how quickly the toolhead can switch from acceleration to deceleration. This is a pseudo acceleration used to reduce the top speed of short zig-zag moves which can cause excessive vibration.<br /><br /> The Klipper default is generally recommended which is calculated as <em>'max_accel / 2'</em> and does not dynamically change with max_accel during the print.<br /><br /> <b>A value of '0' will disable control and not affect current config.</b><br /><br /> <em>Default: 0 (Disabled)</em>",
"type": "int",
"unit": "mm/s²",
"default_value": 0,
"minimum_value": "0",
"minimum_value_warning": "100 if klipper_accel_to_decel_limit > 0 else 0",
"maximum_value_warning": "50000",
"enabled": "klipper_velocity_limits_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_corner_velocity_limit": {
"label": "Square Corner Velocity Limit",
"description": "The maximum velocity in mm/s of the toolhead during a 90 degree cornering move. A non-zero value can reduce changes in extruder flow rates when cornering by enabling instantaneous velocity changes. Corners with angles above 90 degrees will have a higher cornering velocity while corners with angles with less will have a lower cornering velocity.<br /><br /> <em>A value of '0' would decelerate the toolhead to a stop at each corner.</em><br /><br /> <b>Klipper default is 5.0 mm/s.</b><br /><br /> <b>A value of '-1.0' will disable control and not affect current config.</b><br /><br /> <em>Default: -1.0 (Disabled)</em>",
"type": "float",
"unit": "mm/s",
"default_value": -1,
"minimum_value": "-1",
"minimum_value_warning": "1 if klipper_corner_velocity_limit >= -0.999 else -1",
"maximum_value_warning": "99",
"enabled": "klipper_velocity_limits_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_input_shaper_enable": {
"label": "Input Shaper Control",
"description": "Enable control of Klipper's input shaper commands.<br /><br /> <b>The [input_shaper] section must be enabled in Klipper config.</b><br /><br /> <b>Typically only recommended to enable for calibration purposes.</b>",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_shaper_freq_x": {
"label": "Shaper Frequency X",
"description": "The frequency in Hz for the X axis input shaper. Typically a resonance frequency of the X axis to suppress.<br /><br /> <em>The Klipper default of '0' will disable input shaping for X axis.</em><br /><br /> <b>A value of '-1' will disable control and not affect current config.</b><br /><br /> <em>Default: -1 (Disabled)</em>",
"type": "float",
"unit": "Hz",
"default_value": -1,
"minimum_value": "-1",
"minimum_value_warning": "0.0001 if klipper_shaper_freq_x >= 0 else -1",
"maximum_value_warning": "999",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_shaper_freq_y": {
"label": "Shaper Frequency Y",
"description": "The frequency in Hz for the Y axis input shaper. Typically a resonance frequency of the Y axis to suppress.<br /><br /> <em>The Klipper default of '0' will disable input shaping for Y axis.</em><br /><br /> <b>A value of '-1' will disable control and not affect current config.</b><br /><br /> <em>Default: -1 (Disabled)</em>",
"type": "float",
"unit": "Hz",
"default_value": -1,
"minimum_value": "-1",
"minimum_value_warning": "0.0001 if klipper_shaper_freq_y >= 0 else -1",
"maximum_value_warning": "999",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_shaper_type": {
"label": "Shaper Type",
"description": "The type of input shaper to use for both X and Y axes.<br /><br /> <em>Supported Types:</em><br /> <b>ZV, MZV, ZVD, EI, 2HUMP_EI, 3HUMP_EI</b><br /><br /> <em>Klipper Default: MZV</em><br /><br /> <b>Not specifying a type will use current <em>shaper_type</em> in Klipper config.</b>",
"type": "enum",
"options": {
"disabled": "",
"mzv": "MZV",
"zv": "ZV",
"zvd": "ZVD",
"ei": "EI",
"2hump_ei": "2HUMP_EI",
"3hump_ei": "3HUMP_EI"
},
"default_value": "disabled",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_shaper_type_x": {
"label": "Shaper Type X",
"description": "The type of input shaper to use for only the X axis.<br /><br /> <em>Klipper Default: MZV</em>",
"type": "enum",
"options": {
"disabled": "",
"mzv": "MZV",
"zv": "ZV",
"zvd": "ZVD",
"ei": "EI",
"2hump_ei": "2HUMP_EI",
"3hump_ei": "3HUMP_EI"
},
"default_value": "disabled",
"value": "klipper_shaper_type",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_shaper_type_y": {
"label": "Shaper Type Y",
"description": "The input shaper type to use only for the Y axis.<br /><br /> <em>Klipper Default: MZV</em>",
"type": "enum",
"options": {
"disabled": "",
"mzv": "MZV",
"zv": "ZV",
"zvd": "ZVD",
"ei": "EI",
"2hump_ei": "2HUMP_EI",
"3hump_ei": "3HUMP_EI"
},
"default_value": "disabled",
"value": "klipper_shaper_type",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_damping_ratio_x": {
"label": "Damping Ratio X",
"description": "Damping ratio of X axis vibrations used by input shapers to improve vibration suppression. This generally requires no tuning and is recommended to use the default value.<br /><br /> <b>A value of '-1' will disable control and not affect current config.</b><br /><br /> <em>Klipper Default: 0.1</em><br /> <em>Default: -1 (Disabled)</em>",
"type": "float",
"default_value": -1,
"minimum_value": "-1",
"maximum_value": "1",
"minimum_value_warning": "0.0001 if klipper_damping_ratio_x >= 0 else -1",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_damping_ratio_y": {
"label": "Damping Ratio Y",
"description": "Damping ratio of Y axis vibrations used by input shapers to improve vibration suppression. This generally requires no tuning and is not recommended to change from default value.<br /><br /> <b>A value of '-1' will disable control and not affect current config.</b><br /><br /> <em>Klipper Default: 0.1</em><br /> <em>Default: -1 (Disabled)</em>",
"type": "float",
"default_value": -1,
"minimum_value": "-1",
"maximum_value": "1",
"minimum_value_warning": "0.0001 if klipper_damping_ratio_y >= 0 else -1",
"enabled": "klipper_input_shaper_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
"klipper_experimental_enable": {
"label": "Experimental Features",
"description": "Klipper setting features currently in development will frequently be listed in this section. These are beta features which have been tested but may be modified or removed in future versions.<br /><br /> <em>Feedback or suggestions is appreciated.</em>",
"type": "bool",
"default_value": false,
"settable_per_mesh": false,
"settable_per_extruder": false,
"children": {
"klipper_mesh_calibrate_enable": {
"label": "Enable Bed Mesh Calibration",
"description": "Enable to preheat the bed and run Klipper's <em>Bed Mesh Calibrate</em> before the start of the print. Before enabling, ensure any existing bed mesh calibration in start gcode is disabled. This option simply offers a convenient way to toggle on/off the standard calibration sequence.<br /><br /> <b>If enabled, the following commands will execute <em>before</em> Cura's start gcode:</b><br /><br /> M190 S{material_bed_temperature_layer_0}<br /> G28 ;Home<br /> BED_MESH_CALIBRATE",
"type": "bool",
"default_value": false,
"warning_value": true,
"enabled": "klipper_experimental_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"klipper_ui_temp_support_enable": {
"label": "UI Preheating Support",
"description": "Ensures a Klipper UI such as Fluidd or Mainsail are able to detect print temps in gcode for preheating actions. If enabled, commented lines defining initial bed and nozzle temps are added to start gcode, unless they already exist. This is only necessary when using internal klipper macros and M190 and M109 gcode commands are not visible in the start gcode.<br /><br /> <em>This should have no affect on the print.</em>",
"type": "bool",
"default_value": false,
"enabled": "klipper_experimental_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
}
}