| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | This document is a reference for options available in the Klipper | 
					
						
							|  |  |  | config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The descriptions in this document are formatted so that it is possible | 
					
						
							|  |  |  | to cut-and-paste them into a printer config file. See the | 
					
						
							|  |  |  | [installation document](Installation.md) for information on setting up | 
					
						
							|  |  |  | Klipper and choosing an initial config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Format of micro-controller pin names
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Many config options require the name of a micro-controller pin. | 
					
						
							|  |  |  | Klipper uses the hardware names for these pins - for example `PA4`. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For AVR micro-controllers one may also use an Arduino alias (such as | 
					
						
							|  |  |  | "ar29" or "analog3"). In order to use Arduino names, the `pin_map` | 
					
						
							|  |  |  | variable in the `[mcu]` section must be present and have a value of | 
					
						
							|  |  |  | `arduino`. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Pin names may be preceded by `!` to indicate that a reverse polarity | 
					
						
							|  |  |  | should be used (eg, trigger on low instead of high). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Input pins may be preceded by `^` to indicate that a hardware pull-up | 
					
						
							|  |  |  | resistor should be enabled for the pin. If the micro-controller | 
					
						
							|  |  |  | supports pull-down resistors then an input pin may alternatively be | 
					
						
							|  |  |  | preceded by `~`. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Note, some config sections may "create" additional pins. Where this | 
					
						
							|  |  |  | occurs, the config section defining the pins must be listed in the | 
					
						
							|  |  |  | config file before any sections using those pins. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Common kinematic settings
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [printer]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The printer section controls high level printer settings. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: | 
					
						
							|  |  |  | #   The type of printer in use. This option may be one of: cartesian,
 | 
					
						
							|  |  |  | #   corexy, corexz, delta, rotary_delta, polar, winch, or none. This
 | 
					
						
							|  |  |  | #   parameter must be specified.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | max_velocity: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Maximum velocity (in mm/s) of the toolhead (relative to the
 | 
					
						
							|  |  |  | #   print). This parameter must be specified.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | max_accel: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Maximum acceleration (in mm/s^2) of the toolhead (relative to the
 | 
					
						
							|  |  |  | #   print). This parameter must be specified.
 | 
					
						
							|  |  |  | #max_accel_to_decel:
 | 
					
						
							|  |  |  | #   A pseudo acceleration (in mm/s^2) controlling how fast the
 | 
					
						
							|  |  |  | #   toolhead may go from acceleration to deceleration. It is used to
 | 
					
						
							|  |  |  | #   reduce the top speed of short zig-zag moves (and thus reduce
 | 
					
						
							|  |  |  | #   printer vibration from these moves). The default is half of
 | 
					
						
							|  |  |  | #   max_accel.
 | 
					
						
							|  |  |  | #square_corner_velocity: 5.0
 | 
					
						
							|  |  |  | #   The maximum velocity (in mm/s) that the toolhead may travel a 90
 | 
					
						
							|  |  |  | #   degree corner at. A non-zero value can reduce changes in extruder
 | 
					
						
							|  |  |  | #   flow rates by enabling instantaneous velocity changes of the
 | 
					
						
							|  |  |  | #   toolhead during cornering. This value configures the internal
 | 
					
						
							|  |  |  | #   centripetal velocity cornering algorithm; corners with angles
 | 
					
						
							|  |  |  | #   larger than 90 degrees will have a higher cornering velocity while
 | 
					
						
							|  |  |  | #   corners with angles less than 90 degrees will have a lower
 | 
					
						
							|  |  |  | #   cornering velocity. If this is set to zero then the toolhead will
 | 
					
						
							|  |  |  | #   decelerate to zero at each corner. The default is 5mm/s.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [stepper]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Stepper motor definitions. Different printer types (as specified by | 
					
						
							|  |  |  | the "kinematics" option in the [printer] config section) require | 
					
						
							|  |  |  | different names for the stepper (eg, `stepper_x` vs `stepper_a`). | 
					
						
							|  |  |  | Below are common stepper definitions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [stepper_x] | 
					
						
							|  |  |  | step_pin: | 
					
						
							|  |  |  | #   Step GPIO pin (triggered high). This parameter must be provided.
 | 
					
						
							|  |  |  | dir_pin: | 
					
						
							|  |  |  | #   Direction GPIO pin (high indicates positive direction). This
 | 
					
						
							|  |  |  | #   parameter must be provided.
 | 
					
						
							|  |  |  | enable_pin: | 
					
						
							|  |  |  | #   Enable pin (default is enable high; use ! to indicate enable
 | 
					
						
							|  |  |  | #   low). If this parameter is not provided then the stepper motor
 | 
					
						
							|  |  |  | #   driver must always be enabled.
 | 
					
						
							|  |  |  | step_distance: | 
					
						
							|  |  |  | #   Distance in mm that each step causes the axis to travel. This
 | 
					
						
							|  |  |  | #   parameter must be provided.
 | 
					
						
							|  |  |  | endstop_pin: | 
					
						
							|  |  |  | #   Endstop switch detection pin. This parameter must be provided for
 | 
					
						
							|  |  |  | #   the X, Y, and Z steppers on cartesian style printers.
 | 
					
						
							|  |  |  | #position_min: 0
 | 
					
						
							|  |  |  | #   Minimum valid distance (in mm) the user may command the stepper to
 | 
					
						
							|  |  |  | #   move to.  The default is 0mm.
 | 
					
						
							|  |  |  | position_endstop: | 
					
						
							|  |  |  | #   Location of the endstop (in mm). This parameter must be provided
 | 
					
						
							|  |  |  | #   for the X, Y, and Z steppers on cartesian style printers.
 | 
					
						
							|  |  |  | position_max: | 
					
						
							|  |  |  | #   Maximum valid distance (in mm) the user may command the stepper to
 | 
					
						
							|  |  |  | #   move to. This parameter must be provided for the X, Y, and Z
 | 
					
						
							|  |  |  | #   steppers on cartesian style printers.
 | 
					
						
							|  |  |  | #homing_speed: 5.0
 | 
					
						
							|  |  |  | #   Maximum velocity (in mm/s) of the stepper when homing. The default
 | 
					
						
							|  |  |  | #   is 5mm/s.
 | 
					
						
							|  |  |  | #homing_retract_dist: 5.0
 | 
					
						
							|  |  |  | #   Distance to backoff (in mm) before homing a second time during
 | 
					
						
							|  |  |  | #   homing. Set this to zero to disable the second home. The default
 | 
					
						
							|  |  |  | #   is 5mm.
 | 
					
						
							|  |  |  | #homing_retract_speed:
 | 
					
						
							|  |  |  | #   Speed to use on the retract move after homing in case this should
 | 
					
						
							|  |  |  | #   be different from the homing speed, which is the default for this
 | 
					
						
							|  |  |  | #   parameter
 | 
					
						
							|  |  |  | #second_homing_speed:
 | 
					
						
							|  |  |  | #   Velocity (in mm/s) of the stepper when performing the second home.
 | 
					
						
							|  |  |  | #   The default is homing_speed/2.
 | 
					
						
							|  |  |  | #homing_positive_dir:
 | 
					
						
							|  |  |  | #   If true, homing will cause the stepper to move in a positive
 | 
					
						
							|  |  |  | #   direction (away from zero); if false, home towards zero. It is
 | 
					
						
							|  |  |  | #   better to use the default than to specify this parameter. The
 | 
					
						
							|  |  |  | #   default is true if position_endstop is near position_max and false
 | 
					
						
							|  |  |  | #   if near position_min.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Cartesian Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See | 
					
						
							|  |  |  | [example-cartesian.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-cartesian.cfg) | 
					
						
							|  |  |  | for an example cartesian kinematics config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to cartesian printers are described here - | 
					
						
							|  |  |  | see [common kinematic settings](#common-kinematic-settings) for | 
					
						
							|  |  |  | available parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: cartesian | 
					
						
							|  |  |  | max_z_velocity: | 
					
						
							|  |  |  | #   This sets the maximum velocity (in mm/s) of movement along the z
 | 
					
						
							|  |  |  | #   axis. This setting can be used to restrict the maximum speed of
 | 
					
						
							|  |  |  | #   the z stepper motor. The default is to use max_velocity for
 | 
					
						
							|  |  |  | #   max_z_velocity.
 | 
					
						
							|  |  |  | max_z_accel: | 
					
						
							|  |  |  | #   This sets the maximum acceleration (in mm/s^2) of movement along
 | 
					
						
							|  |  |  | #   the z axis. It limits the acceleration of the z stepper motor. The
 | 
					
						
							|  |  |  | #   default is to use max_accel for max_z_accel.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_x section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the X axis in a cartesian robot.
 | 
					
						
							|  |  |  | [stepper_x] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_y section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the Y axis in a cartesian robot.
 | 
					
						
							|  |  |  | [stepper_y] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_z section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the Z axis in a cartesian robot.
 | 
					
						
							|  |  |  | [stepper_z] | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Linear Delta Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See | 
					
						
							|  |  |  | [example-delta.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-delta.cfg) | 
					
						
							| 
									
										
										
										
											2020-11-20 14:22:13 -05:00
										 |  |  | for an example linear delta kinematics config file. See the | 
					
						
							|  |  |  | [delta calibrate guide](Delta_Calibrate.md) for information on | 
					
						
							|  |  |  | calibration. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to linear delta printers are described here - | 
					
						
							|  |  |  | see [common kinematic settings](#common-kinematic-settings) for | 
					
						
							|  |  |  | available parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: delta | 
					
						
							|  |  |  | max_z_velocity: | 
					
						
							|  |  |  | #   For delta printers this limits the maximum velocity (in mm/s) of
 | 
					
						
							|  |  |  | #   moves with z axis movement. This setting can be used to reduce the
 | 
					
						
							|  |  |  | #   maximum speed of up/down moves (which require a higher step rate
 | 
					
						
							|  |  |  | #   than other moves on a delta printer). The default is to use
 | 
					
						
							|  |  |  | #   max_velocity for max_z_velocity.
 | 
					
						
							|  |  |  | #minimum_z_position: 0
 | 
					
						
							|  |  |  | #   The minimum Z position that the user may command the head to move
 | 
					
						
							|  |  |  | #   to. The default is 0.
 | 
					
						
							|  |  |  | delta_radius: | 
					
						
							|  |  |  | #   Radius (in mm) of the horizontal circle formed by the three linear
 | 
					
						
							|  |  |  | #   axis towers. This parameter may also be calculated as:
 | 
					
						
							|  |  |  | #    delta_radius = smooth_rod_offset - effector_offset - carriage_offset
 | 
					
						
							|  |  |  | #   This parameter must be provided.
 | 
					
						
							|  |  |  | #print_radius:
 | 
					
						
							|  |  |  | #   The radius (in mm) of valid toolhead XY coordinates. One may use
 | 
					
						
							|  |  |  | #   this setting to customize the range checking of toolhead moves. If
 | 
					
						
							|  |  |  | #   a large value is specified here then it may be possible to command
 | 
					
						
							|  |  |  | #   the toolhead into a collision with a tower. The default is to use
 | 
					
						
							|  |  |  | #   delta_radius for print_radius (which would normally prevent a
 | 
					
						
							|  |  |  | #   tower collision).
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_a section describes the stepper controlling the front
 | 
					
						
							|  |  |  | # left tower (at 210 degrees). This section also controls the homing
 | 
					
						
							|  |  |  | # parameters (homing_speed, homing_retract_dist) for all towers.
 | 
					
						
							|  |  |  | [stepper_a] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | position_endstop: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Distance (in mm) between the nozzle and the bed when the nozzle is
 | 
					
						
							|  |  |  | #   in the center of the build area and the endstop triggers. This
 | 
					
						
							|  |  |  | #   parameter must be provided for stepper_a; for stepper_b and
 | 
					
						
							|  |  |  | #   stepper_c this parameter defaults to the value specified for
 | 
					
						
							|  |  |  | #   stepper_a.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | arm_length: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Length (in mm) of the diagonal rod that connects this tower to the
 | 
					
						
							|  |  |  | #   print head. This parameter must be provided for stepper_a; for
 | 
					
						
							|  |  |  | #   stepper_b and stepper_c this parameter defaults to the value
 | 
					
						
							|  |  |  | #   specified for stepper_a.
 | 
					
						
							|  |  |  | #angle:
 | 
					
						
							|  |  |  | #   This option specifies the angle (in degrees) that the tower is
 | 
					
						
							|  |  |  | #   at. The default is 210 for stepper_a, 330 for stepper_b, and 90
 | 
					
						
							|  |  |  | #   for stepper_c.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_b section describes the stepper controlling the front
 | 
					
						
							|  |  |  | # right tower (at 330 degrees).
 | 
					
						
							|  |  |  | [stepper_b] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_c section describes the stepper controlling the rear
 | 
					
						
							|  |  |  | # tower (at 90 degrees).
 | 
					
						
							|  |  |  | [stepper_c] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The delta_calibrate section enables a DELTA_CALIBRATE extended
 | 
					
						
							|  |  |  | # g-code command that can calibrate the tower endstop positions and
 | 
					
						
							|  |  |  | # angles.
 | 
					
						
							|  |  |  | [delta_calibrate] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | radius: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Radius (in mm) of the area that may be probed. This is the radius
 | 
					
						
							|  |  |  | #   of nozzle coordinates to be probed; if using an automatic probe
 | 
					
						
							|  |  |  | #   with an XY offset then choose a radius small enough so that the
 | 
					
						
							|  |  |  | #   probe always fits over the bed. 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.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## CoreXY Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See | 
					
						
							|  |  |  | [example-corexy.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-corexy.cfg) | 
					
						
							|  |  |  | for an example corexy (and h-bot) kinematics file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to corexy printers are described here - see | 
					
						
							|  |  |  | [common kinematic settings](#common-kinematic-settings) for available | 
					
						
							|  |  |  | parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: corexy | 
					
						
							|  |  |  | max_z_velocity: | 
					
						
							|  |  |  | #   This sets the maximum velocity (in mm/s) of movement along the z
 | 
					
						
							|  |  |  | #   axis. This setting can be used to restrict the maximum speed of
 | 
					
						
							|  |  |  | #   the z stepper motor. The default is to use max_velocity for
 | 
					
						
							|  |  |  | #   max_z_velocity.
 | 
					
						
							|  |  |  | max_z_accel: | 
					
						
							|  |  |  | #   This sets the maximum acceleration (in mm/s^2) of movement along
 | 
					
						
							|  |  |  | #   the z axis. It limits the acceleration of the z stepper motor. The
 | 
					
						
							|  |  |  | #   default is to use max_accel for max_z_accel.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_x section is used to describe the X axis as well as the
 | 
					
						
							|  |  |  | # stepper controlling the X+Y movement.
 | 
					
						
							|  |  |  | [stepper_x] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_y section is used to describe the Y axis as well as the
 | 
					
						
							|  |  |  | # stepper controlling the X-Y movement.
 | 
					
						
							|  |  |  | [stepper_y] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_z section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the Z axis.
 | 
					
						
							|  |  |  | [stepper_z] | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## CoreXZ Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See | 
					
						
							|  |  |  | [example-corexz.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-corexz.cfg) | 
					
						
							|  |  |  | for an example corexz kinematics config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to corexz printers are described here - see | 
					
						
							|  |  |  | [common kinematic settings](#common-kinematic-settings) for available | 
					
						
							|  |  |  | parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: corexz | 
					
						
							|  |  |  | max_z_velocity: | 
					
						
							|  |  |  | #   This sets the maximum velocity (in mm/s) of movement along the z
 | 
					
						
							|  |  |  | #   axis. The default is to use max_velocity for max_z_velocity.
 | 
					
						
							|  |  |  | max_z_accel: | 
					
						
							|  |  |  | #   This sets the maximum acceleration (in mm/s^2) of movement along
 | 
					
						
							|  |  |  | #   the z axis. The default is to use max_accel for max_z_accel.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_x section is used to describe the X axis as well as the
 | 
					
						
							|  |  |  | # stepper controlling the X+Z movement.
 | 
					
						
							|  |  |  | [stepper_x] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_y section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the Y axis.
 | 
					
						
							|  |  |  | [stepper_y] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_z section is used to describe the Z axis as well as the
 | 
					
						
							|  |  |  | # stepper controlling the X-Z movement.
 | 
					
						
							|  |  |  | [stepper_z] | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Polar Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See | 
					
						
							|  |  |  | [example-polar.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-polar.cfg) | 
					
						
							|  |  |  | for an example polar kinematics config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to polar printers are described here - see | 
					
						
							|  |  |  | [common kinematic settings](#common-kinematic-settings) for available | 
					
						
							|  |  |  | parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | POLAR KINEMATICS ARE A WORK IN PROGRESS. Moves around the `0,0` | 
					
						
							|  |  |  | position are known to not work properly. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: polar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_bed section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the bed.
 | 
					
						
							|  |  |  | [stepper_bed] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | step_distance: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   On a polar printer the step_distance is the amount each step pulse
 | 
					
						
							|  |  |  | #   moves the bed in radians (for example, a 1.8 degree stepper with
 | 
					
						
							|  |  |  | #   16 micro-steps would be 2 * pi * (1.8 / 360) / 16 == 0.001963495).
 | 
					
						
							|  |  |  | #   This parameter must be provided.
 | 
					
						
							|  |  |  | max_z_velocity: | 
					
						
							|  |  |  | #   This sets the maximum velocity (in mm/s) of movement along the z
 | 
					
						
							|  |  |  | #   axis. This setting can be used to restrict the maximum speed of
 | 
					
						
							|  |  |  | #   the z stepper motor. The default is to use max_velocity for
 | 
					
						
							|  |  |  | #   max_z_velocity.
 | 
					
						
							|  |  |  | max_z_accel: | 
					
						
							|  |  |  | #   This sets the maximum acceleration (in mm/s^2) of movement along
 | 
					
						
							|  |  |  | #   the z axis. It limits the acceleration of the z stepper motor. The
 | 
					
						
							|  |  |  | #   default is to use max_accel for max_z_accel.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_arm section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the carriage on the arm.
 | 
					
						
							|  |  |  | [stepper_arm] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_z section is used to describe the stepper controlling
 | 
					
						
							|  |  |  | # the Z axis.
 | 
					
						
							|  |  |  | [stepper_z] | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Rotary delta Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See | 
					
						
							|  |  |  | [example-rotary-delta.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-rotary-delta.cfg) | 
					
						
							|  |  |  | for an example rotary delta kinematics config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to rotary delta printers are described here - | 
					
						
							|  |  |  | see [common kinematic settings](#common-kinematic-settings) for | 
					
						
							|  |  |  | available parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ROTARY DELTA KINEMATICS ARE A WORK IN PROGRESS. Homing moves may | 
					
						
							|  |  |  | timeout and some boundary checks are not implemented. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: rotary_delta | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | max_z_velocity: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   For delta printers this limits the maximum velocity (in mm/s) of
 | 
					
						
							|  |  |  | #   moves with z axis movement. This setting can be used to reduce the
 | 
					
						
							|  |  |  | #   maximum speed of up/down moves (which require a higher step rate
 | 
					
						
							|  |  |  | #   than other moves on a delta printer). The default is to use
 | 
					
						
							|  |  |  | #   max_velocity for max_z_velocity.
 | 
					
						
							|  |  |  | #minimum_z_position: 0
 | 
					
						
							|  |  |  | #   The minimum Z position that the user may command the head to move
 | 
					
						
							|  |  |  | #   to.  The default is 0.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | shoulder_radius: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Radius (in mm) of the horizontal circle formed by the three
 | 
					
						
							|  |  |  | #   shoulder joints, minus the radius of the circle formed by the
 | 
					
						
							|  |  |  | #   effector joints. This parameter may also be calculated as:
 | 
					
						
							|  |  |  | #     shoulder_radius = (delta_f - delta_e) / sqrt(12)
 | 
					
						
							|  |  |  | #   This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | shoulder_height: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Distance (in mm) of the shoulder joints from the bed, minus the
 | 
					
						
							|  |  |  | #   effector toolhead height. This parameter must be provided.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_a section describes the stepper controlling the rear
 | 
					
						
							|  |  |  | # right arm (at 30 degrees). This section also controls the homing
 | 
					
						
							|  |  |  | # parameters (homing_speed, homing_retract_dist) for all arms.
 | 
					
						
							|  |  |  | [stepper_a] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | step_distance: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   On a rotary delta printer the step_distance is the amount each
 | 
					
						
							|  |  |  | #   step pulse moves the upper arm in radians (for example, a directly
 | 
					
						
							|  |  |  | #   connected 1.8 degree stepper with 16 micro-steps would be 2 * pi *
 | 
					
						
							|  |  |  | #   (1.8 / 360) / 16 == 0.001963495). This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | position_endstop: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Distance (in mm) between the nozzle and the bed when the nozzle is
 | 
					
						
							|  |  |  | #   in the center of the build area and the endstop triggers. This
 | 
					
						
							|  |  |  | #   parameter must be provided for stepper_a; for stepper_b and
 | 
					
						
							|  |  |  | #   stepper_c this parameter defaults to the value specified for
 | 
					
						
							|  |  |  | #   stepper_a.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | upper_arm_length: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Length (in mm) of the arm connecting the "shoulder joint" to the
 | 
					
						
							|  |  |  | #   "elbow joint". This parameter must be provided for stepper_a; for
 | 
					
						
							|  |  |  | #   stepper_b and stepper_c this parameter defaults to the value
 | 
					
						
							|  |  |  | #   specified for stepper_a.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | lower_arm_length: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Length (in mm) of the arm connecting the "elbow joint" to the
 | 
					
						
							|  |  |  | #   "effector joint". This parameter must be provided for stepper_a;
 | 
					
						
							|  |  |  | #   for stepper_b and stepper_c this parameter defaults to the value
 | 
					
						
							|  |  |  | #   specified for stepper_a.
 | 
					
						
							|  |  |  | #angle:
 | 
					
						
							|  |  |  | #   This option specifies the angle (in degrees) that the arm is at.
 | 
					
						
							|  |  |  | #   The default is 30 for stepper_a, 150 for stepper_b, and 270 for
 | 
					
						
							|  |  |  | #   stepper_c.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_b section describes the stepper controlling the rear
 | 
					
						
							|  |  |  | # left arm (at 150 degrees).
 | 
					
						
							|  |  |  | [stepper_b] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_c section describes the stepper controlling the front
 | 
					
						
							|  |  |  | # arm (at 270 degrees).
 | 
					
						
							|  |  |  | [stepper_c] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The delta_calibrate section enables a DELTA_CALIBRATE extended
 | 
					
						
							|  |  |  | # g-code command that can calibrate the shoulder endstop positions.
 | 
					
						
							|  |  |  | [delta_calibrate] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | radius: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Radius (in mm) of the area that may be probed. This is the radius
 | 
					
						
							|  |  |  | #   of nozzle coordinates to be probed; if using an automatic probe
 | 
					
						
							|  |  |  | #   with an XY offset then choose a radius small enough so that the
 | 
					
						
							|  |  |  | #   probe always fits over the bed. 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.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Cable winch Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | See the | 
					
						
							|  |  |  | [example-winch.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/example-winch.cfg) | 
					
						
							|  |  |  | for an example cable winch kinematics config file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Only parameters specific to cable winch printers are described here - | 
					
						
							|  |  |  | see [common kinematic settings](#common-kinematic-settings) for | 
					
						
							|  |  |  | available parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CABLE WINCH SUPPORT IS EXPERIMENTAL. Homing is not implemented on | 
					
						
							|  |  |  | cable winch kinematics. In order to home the printer, manually send | 
					
						
							|  |  |  | movement commands until the toolhead is at 0,0,0 and then issue a | 
					
						
							|  |  |  | `G28` command. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: winch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The stepper_a section describes the stepper connected to the first
 | 
					
						
							|  |  |  | # cable winch. A minimum of 3 and a maximum of 26 cable winches may be
 | 
					
						
							|  |  |  | # defined (stepper_a to stepper_z) though it is common to define 4.
 | 
					
						
							|  |  |  | [stepper_a] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | step_distance: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   The step_distance is the nominal distance (in mm) the toolhead
 | 
					
						
							|  |  |  | #   moves towards the cable winch on each step pulse. This parameter
 | 
					
						
							|  |  |  | #   must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | anchor_x: | 
					
						
							|  |  |  | anchor_y: | 
					
						
							|  |  |  | anchor_z: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   The x, y, and z position of the cable winch in cartesian space.
 | 
					
						
							|  |  |  | #   These parameters must be provided.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## None Kinematics
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | It is possible to define a special "none" kinematics to disable | 
					
						
							|  |  |  | kinematic support in Klipper. This may be useful for controlling | 
					
						
							|  |  |  | devices that are not typical 3d-printers or for debugging purposes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [printer] | 
					
						
							|  |  |  | kinematics: none | 
					
						
							|  |  |  | max_velocity: 1 | 
					
						
							|  |  |  | max_accel: 1 | 
					
						
							|  |  |  | #   The max_velocity and max_accel parameters must be defined. The
 | 
					
						
							|  |  |  | #   values are not used for "none" kinematics.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Primary micro-controller support
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [mcu]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Configuration of the primary micro-controller. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [mcu] | 
					
						
							|  |  |  | serial: | 
					
						
							|  |  |  | #   The serial port to connect to the MCU. If unsure (or if it
 | 
					
						
							|  |  |  | #   changes) see the "Where's my serial port?" section of the FAQ.
 | 
					
						
							|  |  |  | #   This parameter must be provided.
 | 
					
						
							|  |  |  | #baud: 250000
 | 
					
						
							|  |  |  | #   The baud rate to use. The default is 250000.
 | 
					
						
							|  |  |  | #pin_map:
 | 
					
						
							|  |  |  | #   This option may be used to enable Arduino pin name aliases. The
 | 
					
						
							|  |  |  | #   default is to not enable the aliases.
 | 
					
						
							|  |  |  | #restart_method:
 | 
					
						
							|  |  |  | #   This controls the mechanism the host will use to reset the
 | 
					
						
							|  |  |  | #   micro-controller. The choices are 'arduino', 'cheetah', 'rpi_usb',
 | 
					
						
							|  |  |  | #   and 'command'. The 'arduino' method (toggle DTR) is common on
 | 
					
						
							|  |  |  | #   Arduino boards and clones. The 'cheetah' method is a special
 | 
					
						
							|  |  |  | #   method needed for some Fysetc Cheetah boards. The 'rpi_usb' method
 | 
					
						
							|  |  |  | #   is useful on Raspberry Pi boards with micro-controllers powered
 | 
					
						
							|  |  |  | #   over USB - it briefly disables power to all USB ports to
 | 
					
						
							|  |  |  | #   accomplish a micro-controller reset. The 'command' method involves
 | 
					
						
							|  |  |  | #   sending a Klipper command to the micro-controller so that it can
 | 
					
						
							|  |  |  | #   reset itself. The default is 'arduino' if the micro-controller
 | 
					
						
							|  |  |  | #   communicates over a serial port, 'command' otherwise.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Common extruder and heated bed support
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [extruder]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 14:22:13 -05:00
										 |  |  | The extruder section is used to describe both the stepper controlling | 
					
						
							|  |  |  | the printer extruder and the heater parameters for the nozzle. See the | 
					
						
							|  |  |  | [pressure advance guide](Pressure_Advance.md) for information on | 
					
						
							|  |  |  | tuning pressure advance. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [extruder] | 
					
						
							|  |  |  | step_pin: | 
					
						
							|  |  |  | dir_pin: | 
					
						
							|  |  |  | enable_pin: | 
					
						
							|  |  |  | step_distance: | 
					
						
							|  |  |  | #   See the "stepper" section for a description of the above parameters.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | nozzle_diameter: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Diameter of the nozzle orifice (in mm). This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | filament_diameter: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   The nominal diameter of the raw filament (in mm) as it enters the
 | 
					
						
							|  |  |  | #   extruder. This parameter must be provided.
 | 
					
						
							|  |  |  | #max_extrude_cross_section:
 | 
					
						
							|  |  |  | #   Maximum area (in mm^2) of an extrusion cross section (eg,
 | 
					
						
							|  |  |  | #   extrusion width multiplied by layer height). This setting prevents
 | 
					
						
							|  |  |  | #   excessive amounts of extrusion during relatively small XY moves.
 | 
					
						
							|  |  |  | #   If a move requests an extrusion rate that would exceed this value
 | 
					
						
							|  |  |  | #   it will cause an error to be returned. The default is: 4.0 *
 | 
					
						
							|  |  |  | #   nozzle_diameter^2
 | 
					
						
							|  |  |  | #instantaneous_corner_velocity: 1.000
 | 
					
						
							|  |  |  | #   The maximum instantaneous velocity change (in mm/s) of the
 | 
					
						
							|  |  |  | #   extruder during the junction of two moves. The default is 1mm/s.
 | 
					
						
							|  |  |  | #max_extrude_only_distance: 50.0
 | 
					
						
							|  |  |  | #   Maximum length (in mm of raw filament) that a retraction or
 | 
					
						
							|  |  |  | #   extrude-only move may have. If a retraction or extrude-only move
 | 
					
						
							|  |  |  | #   requests a distance greater than this value it will cause an error
 | 
					
						
							|  |  |  | #   to be returned. The default is 50mm.
 | 
					
						
							|  |  |  | #max_extrude_only_velocity:
 | 
					
						
							|  |  |  | #max_extrude_only_accel:
 | 
					
						
							|  |  |  | #   Maximum velocity (in mm/s) and acceleration (in mm/s^2) of the
 | 
					
						
							|  |  |  | #   extruder motor for retractions and extrude-only moves. These
 | 
					
						
							|  |  |  | #   settings do not have any impact on normal printing moves. If not
 | 
					
						
							|  |  |  | #   specified then they are calculated to match the limit an XY
 | 
					
						
							|  |  |  | #   printing move with a cross section of 4.0*nozzle_diameter^2 would
 | 
					
						
							|  |  |  | #   have.
 | 
					
						
							|  |  |  | #pressure_advance: 0.0
 | 
					
						
							|  |  |  | #   The amount of raw filament to push into the extruder during
 | 
					
						
							|  |  |  | #   extruder acceleration. An equal amount of filament is retracted
 | 
					
						
							|  |  |  | #   during deceleration. It is measured in millimeters per
 | 
					
						
							|  |  |  | #   millimeter/second. The default is 0, which disables pressure
 | 
					
						
							|  |  |  | #   advance.
 | 
					
						
							|  |  |  | #pressure_advance_smooth_time: 0.040
 | 
					
						
							|  |  |  | #   A time range (in seconds) to use when calculating the average
 | 
					
						
							|  |  |  | #   extruder velocity for pressure advance. A larger value results in
 | 
					
						
							|  |  |  | #   smoother extruder movements. This parameter may not exceed 200ms.
 | 
					
						
							|  |  |  | #   This setting only applies if pressure_advance is non-zero. The
 | 
					
						
							|  |  |  | #   default is 0.040 (40 milliseconds).
 | 
					
						
							| 
									
										
										
										
											2019-01-26 19:54:37 -05:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # The remaining variables describe the extruder heater.
 | 
					
						
							|  |  |  | heater_pin: | 
					
						
							|  |  |  | #   PWM output pin controlling the heater. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							|  |  |  | #max_power: 1.0
 | 
					
						
							|  |  |  | #   The maximum power (expressed as a value from 0.0 to 1.0) that the
 | 
					
						
							|  |  |  | #   heater_pin may be set to. The value 1.0 allows the pin to be set
 | 
					
						
							|  |  |  | #   fully enabled for extended periods, while a value of 0.5 would
 | 
					
						
							|  |  |  | #   allow the pin to be enabled for no more than half the time. This
 | 
					
						
							|  |  |  | #   setting may be used to limit the total power output (over extended
 | 
					
						
							|  |  |  | #   periods) to the heater. The default is 1.0.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | sensor_type: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Type of sensor - common thermistors are "EPCOS 100K B57560G104F",
 | 
					
						
							|  |  |  | #   "ATC Semitec 104GT-2", "NTC 100K beta 3950", "Honeywell 100K
 | 
					
						
							|  |  |  | #   135-104LAG-J01", "NTC 100K MGB18-104F39050L32", "SliceEngineering
 | 
					
						
							|  |  |  | #   450", and "TDK NTCG104LH104JT1". See the "Heaters and temperature
 | 
					
						
							|  |  |  | #   sensors" section for other sensors. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							|  |  |  | 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 thermistor.
 | 
					
						
							|  |  |  | #   This parameter is only valid when the sensor is a thermistor. The
 | 
					
						
							|  |  |  | #   default is 4700 ohms.
 | 
					
						
							|  |  |  | #inline_resistor: 0
 | 
					
						
							|  |  |  | #   The resistance (in ohms) of an extra (not heat varying) resistor
 | 
					
						
							|  |  |  | #   that is placed inline with the thermistor. It is rare to set this.
 | 
					
						
							|  |  |  | #   This parameter is only valid when the sensor is a thermistor. The
 | 
					
						
							|  |  |  | #   default is 0 ohms.
 | 
					
						
							|  |  |  | #smooth_time: 2.0
 | 
					
						
							|  |  |  | #   A time value (in seconds) over which temperature measurements will
 | 
					
						
							|  |  |  | #   be smoothed to reduce the impact of measurement noise. The default
 | 
					
						
							|  |  |  | #   is 2 seconds.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | control: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Control algorithm (either pid or watermark). This parameter must
 | 
					
						
							|  |  |  | #   be provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | pid_Kp: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Kp is the "proportional" constant for the pid. This parameter must
 | 
					
						
							|  |  |  | #   be provided for PID heaters.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | pid_Ki: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Ki is the "integral" constant for the pid. This parameter must be
 | 
					
						
							|  |  |  | #   provided for PID heaters.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | pid_Kd: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Kd is the "derivative" constant for the pid. This parameter must
 | 
					
						
							|  |  |  | #   be provided for PID heaters.
 | 
					
						
							|  |  |  | #pid_integral_max:
 | 
					
						
							|  |  |  | #   The maximum "windup" the integral term may accumulate. The default
 | 
					
						
							|  |  |  | #   is to use the same value as max_power.
 | 
					
						
							|  |  |  | #max_delta: 2.0
 | 
					
						
							|  |  |  | #   On 'watermark' controlled heaters this is the number of degrees in
 | 
					
						
							|  |  |  | #   Celsius above the target temperature before disabling the heater
 | 
					
						
							|  |  |  | #   as well as the number of degrees below the target before
 | 
					
						
							|  |  |  | #   re-enabling the heater. The default is 2 degrees Celsius.
 | 
					
						
							|  |  |  | #pwm_cycle_time: 0.100
 | 
					
						
							|  |  |  | #   Time in seconds for each software PWM cycle of the heater. It is
 | 
					
						
							|  |  |  | #   not recommended to set this unless there is an electrical
 | 
					
						
							|  |  |  | #   requirement to switch the heater faster than 10 times a second.
 | 
					
						
							|  |  |  | #   The default is 0.100 seconds.
 | 
					
						
							|  |  |  | #min_extrude_temp: 170
 | 
					
						
							|  |  |  | #   The minimum temperature (in Celsius) at which extruder move
 | 
					
						
							|  |  |  | #   commands may be issued. The default is 170 Celsius.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | min_temp: | 
					
						
							|  |  |  | max_temp: | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   The maximum range of valid temperatures (in Celsius) that the
 | 
					
						
							|  |  |  | #   heater 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. This check can help detect some
 | 
					
						
							|  |  |  | #   heater and sensor hardware failures. Set this range just wide
 | 
					
						
							|  |  |  | #   enough so that reasonable temperatures do not result in an error.
 | 
					
						
							|  |  |  | #   These parameters must be provided.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [heater_bed]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The heater_bed section describes a heated bed. It uses the same heater | 
					
						
							|  |  |  | settings described in the "extruder" section. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [heater_bed] | 
					
						
							|  |  |  | heater_pin: | 
					
						
							|  |  |  | sensor_type: | 
					
						
							|  |  |  | sensor_pin: | 
					
						
							|  |  |  | control: | 
					
						
							|  |  |  | min_temp: | 
					
						
							|  |  |  | max_temp: | 
					
						
							|  |  |  | #   See the "extruder" section for a description of the above parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Bed level support
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [bed_mesh]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. When using a probe to home the z-axis, it is | 
					
						
							|  |  |  | recommended to define a safe_z_home section in printer.cfg to home | 
					
						
							|  |  |  | toward the center of the print area. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the [bed mesh guide](Bed_Mesh.md) and | 
					
						
							|  |  |  | [command reference](G-Codes.md#mesh-bed-leveling) for additional | 
					
						
							|  |  |  | information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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] | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #speed: 50
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   The speed (in mm/s) of non-probing moves during the calibration.
 | 
					
						
							|  |  |  | #   The default is 50.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2019-12-18 19:40:41 -05:00
										 |  |  | #mesh_radius:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-12-18 19:40:41 -05:00
										 |  |  | #mesh_origin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2019-12-18 19:40:41 -05:00
										 |  |  | #   to adjust the mesh_origin in an effort to maximize the size of the
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   mesh radius. Default is 0,0. This parameter must be omitted for
 | 
					
						
							| 
									
										
										
										
											2019-12-18 19:40:41 -05:00
										 |  |  | #   rectangular beds.
 | 
					
						
							|  |  |  | #mesh_min:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Defines the minimum x,y coordinate of the mesh for rectangular
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-12-18 19:40:41 -05:00
										 |  |  | #mesh_max:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #probe_count: 3,3
 | 
					
						
							| 
									
										
										
										
											2019-02-12 19:50:10 -05:00
										 |  |  | #   For rectangular beds, this is a comma separate pair of integer
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-02-12 19:50:10 -05:00
										 |  |  | #round_probe_count: 5
 | 
					
						
							| 
									
										
										
										
											2019-12-18 19:40:41 -05:00
										 |  |  | #   For round beds, this integer value defines the maximum number of
 | 
					
						
							| 
									
										
										
										
											2019-02-12 19:50:10 -05:00
										 |  |  | #   points to probe along each axis. This value must be an odd number.
 | 
					
						
							|  |  |  | #   Default is 5.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #fade_start: 1.0
 | 
					
						
							| 
									
										
										
										
											2018-11-26 20:05:34 -05:00
										 |  |  | #   The gcode z position in which to start phasing out z-adjustment
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   when fade is enabled. Default is 1.0.
 | 
					
						
							| 
									
										
										
										
											2018-11-26 20:05:34 -05:00
										 |  |  | #fade_end: 0.0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-11-26 20:05:34 -05:00
										 |  |  | #fade_target:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #split_delta_z: .025
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The amount of Z difference (in mm) along a move that will trigger
 | 
					
						
							|  |  |  | #   a split. Default is .025.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   "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.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #algorithm: lagrange
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | #bicubic_tension: .2
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-03-21 07:39:22 -07:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [bed_tilt]
 | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Bed tilt compensation. One may define a bed_tilt config section to | 
					
						
							|  |  |  | enable move transformations that account for a tilted bed. Note that | 
					
						
							|  |  |  | bed_mesh and bed_tilt are incompatible; both cannot be defined. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the [command reference](G-Codes.md#bed-tilt) for additional | 
					
						
							|  |  |  | information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [bed_tilt] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [bed_screws]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Tool to help adjust bed leveling screws. One may define a [bed_screws] | 
					
						
							|  |  |  | config section to enable a BED_SCREWS_ADJUST g-code command. | 
					
						
							| 
									
										
										
										
											2018-08-10 17:08:06 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the | 
					
						
							|  |  |  | [leveling guide](Manual_Level.md#adjusting-bed-leveling-screws) and | 
					
						
							|  |  |  | [command reference](G-Codes.md#bed-screws-helper) for additional | 
					
						
							|  |  |  | information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [bed_screws] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #screw1:
 | 
					
						
							| 
									
										
										
										
											2019-02-14 13:00:18 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #screw1_name:
 | 
					
						
							| 
									
										
										
										
											2019-02-14 13:00:18 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [screws_tilt_adjust]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2019-02-14 13:00:18 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the | 
					
						
							|  |  |  | [leveling guide](Manual_Level.md#adjusting-bed-leveling-screws-using-the-bed-probe) | 
					
						
							|  |  |  | and [command reference](G-Codes.md#bed-screws-tilt-adjust-helper) for | 
					
						
							|  |  |  | additional information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [screws_tilt_adjust] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #screw1:
 | 
					
						
							| 
									
										
										
										
											2019-03-08 16:47:17 +00:00
										 |  |  | #   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).
 | 
					
						
							| 
									
										
										
										
											2020-10-16 22:12:58 -04:00
										 |  |  | #   This is the base screw used in calculations. This parameter must
 | 
					
						
							|  |  |  | #   be provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #screw1_name:
 | 
					
						
							| 
									
										
										
										
											2019-03-08 16:47:17 +00:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-02-14 13:00:18 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [z_tilt]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Multiple Z stepper tilt adjustment. This feature enables independent | 
					
						
							|  |  |  | adjustment of multiple z steppers (see the "stepper_z1" section) to | 
					
						
							|  |  |  | adjust for tilt. If this section is present then a Z_TILT_ADJUST | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | extended [G-Code command](G-Codes.md#z-tilt) becomes available. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [z_tilt] | 
					
						
							| 
									
										
										
										
											2018-05-21 14:48:01 -04:00
										 |  |  | #z_positions:
 | 
					
						
							| 
									
										
										
										
											2018-09-26 19:50:56 -04:00
										 |  |  | #   A list of X,Y coordinates (one per line; subsequent lines
 | 
					
						
							| 
									
										
										
										
											2019-03-10 12:24:34 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-05-21 14:48:01 -04:00
										 |  |  | #points:
 | 
					
						
							| 
									
										
										
										
											2018-09-26 19:50:56 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-05-21 14:48:01 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2019-06-17 19:44:09 -07:00
										 |  |  | #retries: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-16 22:12:58 -04:00
										 |  |  | #   Number of times to retry if the probed points aren't within
 | 
					
						
							|  |  |  | #   tolerance.
 | 
					
						
							| 
									
										
										
										
											2019-06-17 19:44:09 -07:00
										 |  |  | #retry_tolerance: 0
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 14:02:59 -05:00
										 |  |  | ## [quad_gantry_level]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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] | 
					
						
							| 
									
										
										
										
											2018-09-26 08:16:40 -04:00
										 |  |  | #gantry_corners:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-09-26 08:16:40 -04:00
										 |  |  | #points:
 | 
					
						
							|  |  |  | #   A newline separated list of four X,Y points that should be probed
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-09-26 08:16:40 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   just prior to starting a probe operation. The default is 5.
 | 
					
						
							| 
									
										
										
										
											2019-04-06 18:46:16 +00:00
										 |  |  | #max_adjust: 4
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Safety limit if an adjustment greater than this value is requested
 | 
					
						
							| 
									
										
										
										
											2019-04-06 18:46:16 +00:00
										 |  |  | #   quad_gantry_level will abort.
 | 
					
						
							| 
									
										
										
										
											2019-06-17 19:42:02 -07:00
										 |  |  | #retries: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Number of times to retry if the probed points aren't within
 | 
					
						
							|  |  |  | #   tolerance.
 | 
					
						
							| 
									
										
										
										
											2019-06-17 19:42:02 -07:00
										 |  |  | #retry_tolerance: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   If retries are enabled then retry if largest and smallest probed
 | 
					
						
							|  |  |  | #   points differ more than retry_tolerance.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-09-26 08:16:40 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [skew_correction]
 | 
					
						
							| 
									
										
										
										
											2019-06-28 15:40:00 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | [skew correction](skew_correction.md) and | 
					
						
							|  |  |  | [command reference](G-Codes.md#skew-correction) for details. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [skew_correction] | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-09-26 08:16:40 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Customized homing
 | 
					
						
							| 
									
										
										
										
											2017-08-24 09:34:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [safe_z_home]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   A X,Y coordinate (e.g. 100,100) where the Z homing should be
 | 
					
						
							|  |  |  | #   performed. This parameter must be provided.
 | 
					
						
							|  |  |  | #speed: 50.0
 | 
					
						
							| 
									
										
										
										
											2020-10-16 22:12:58 -04:00
										 |  |  | #   Speed at which the toolhead is moved to the safe Z home
 | 
					
						
							|  |  |  | #   coordinate. The default is 50 mm/s
 | 
					
						
							| 
									
										
										
										
											2020-02-12 19:08:31 -05:00
										 |  |  | #z_hop:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Distance (in mm) to 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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #z_hop_speed: 20.0
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Speed (in mm/s) at which the Z axis is lifted prior to homing. The
 | 
					
						
							|  |  |  | #   default is 20mm/s.
 | 
					
						
							| 
									
										
										
										
											2019-10-01 15:07:21 +02:00
										 |  |  | #move_to_previous: False
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   When set to True, xy are reset to their previous positions after z
 | 
					
						
							|  |  |  | #   homing. The default is False.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-18 15:37:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [homing_override]
 | 
					
						
							| 
									
										
										
										
											2017-11-07 13:10:08 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [endstop_phase]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2017-11-07 13:10:08 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the [endstop phases guide](Endstop_Phase.md) and | 
					
						
							|  |  |  | [command reference](G-Codes.md#endstop-adjustments-by-stepper-phase) | 
					
						
							|  |  |  | for additional information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [endstop_phase stepper_z] | 
					
						
							| 
									
										
										
										
											2018-10-09 21:36:02 -04:00
										 |  |  | #phases:
 | 
					
						
							| 
									
										
										
										
											2018-10-10 19:48:35 -04:00
										 |  |  | #   This specifies the number of phases of the given stepper motor
 | 
					
						
							|  |  |  | #   driver (which is the number of micro-steps multiplied by four).
 | 
					
						
							| 
									
										
										
										
											2019-06-23 12:27:09 -04:00
										 |  |  | #   This setting is automatically determined if one uses a TMC driver
 | 
					
						
							|  |  |  | #   with run-time configuration. Otherwise, this parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #endstop_accuracy:
 | 
					
						
							| 
									
										
										
										
											2018-02-27 09:34:25 -05:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2018-10-09 21:36:02 -04:00
										 |  |  | #   phases*step_distance.
 | 
					
						
							|  |  |  | #endstop_phase:
 | 
					
						
							| 
									
										
										
										
											2018-02-27 09:34:25 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-10-09 21:36:02 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-02-27 09:34:25 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # G-Code macros and events
 | 
					
						
							| 
									
										
										
										
											2017-08-24 09:34:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [gcode_macro]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G-Code macros (one may define any number of sections with a | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | "gcode_macro" prefix). See the | 
					
						
							|  |  |  | [command template guide](Command_Templates.md) for more information. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [gcode_macro my_cmd] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2019-12-10 14:01:41 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-01-07 19:06:55 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-02-12 20:34:20 -05:00
										 |  |  | #rename_existing:
 | 
					
						
							|  |  |  | #   This option will cause the macro to override an existing G-Code
 | 
					
						
							| 
									
										
										
										
											2020-02-13 21:52:00 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [delayed_gcode]
 | 
					
						
							| 
									
										
										
										
											2017-08-24 09:34:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | Execute a gcode on a set delay. See the | 
					
						
							| 
									
										
										
										
											2020-11-23 11:25:28 -05:00
										 |  |  | [command template guide](Command_Templates.md#delayed-gcodes) and | 
					
						
							|  |  |  | [command reference](G-Codes.md#delayed-gcode) for more information. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [delayed_gcode my_delayed_gcode] | 
					
						
							|  |  |  | 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.
 | 
					
						
							|  |  |  | #initial_duration: 0.0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [idle_timeout]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Idle timeout. An idle timeout is automatically enabled - add an | 
					
						
							|  |  |  | explicit idle_timeout config section to change the default settings. | 
					
						
							| 
									
										
										
										
											2019-01-10 18:12:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [idle_timeout] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-01-10 18:12:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Optional G-Code features
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## [virtual_sdcard]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | path: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [force_move]
 | 
					
						
							| 
									
										
										
										
											2017-08-14 11:46:35 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Support manually moving stepper motors for diagnostic purposes. Note, | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | using this feature may place the printer in an invalid state - see the | 
					
						
							|  |  |  | [command reference](G-Codes.md#force-movement) for important details. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [force_move] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #enable_force_move: False
 | 
					
						
							|  |  |  | #   Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION
 | 
					
						
							|  |  |  | #   extended G-Code commands. The default is false.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [pause_resume]
 | 
					
						
							| 
									
										
										
										
											2017-08-14 11:46:35 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Pause/Resume functionality with support of position capture and | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | restore. See the [command reference](G-Codes.md#pause-resume) for more | 
					
						
							|  |  |  | information. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [pause_resume] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #recover_velocity: 50.
 | 
					
						
							|  |  |  | #   When capture/restore is enabled, the speed at which to return to
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   the captured position (in mm/s). Default is 50.0 mm/s.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [firmware_retraction]
 | 
					
						
							| 
									
										
										
										
											2017-06-06 15:04:01 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | via the SET_RETRACTION [command](G-Codes.md#firmware-retraction)), | 
					
						
							|  |  |  | allowing per-filament settings and runtime tuning. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [firmware_retraction] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #retract_length: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #retract_speed: 20
 | 
					
						
							|  |  |  | #   The speed of retraction, in mm/s. The default is 20 mm/s.
 | 
					
						
							|  |  |  | #unretract_extra_length: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The length (in mm) of *additional* filament to add when
 | 
					
						
							|  |  |  | #   unretracting.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #unretract_speed: 10
 | 
					
						
							|  |  |  | #   The speed of unretraction, in mm/s. The default is 10 mm/s.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [gcode_arcs]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Support for gcode arc (G2/G3) commands. | 
					
						
							| 
									
										
										
										
											2017-08-24 09:34:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [gcode_arcs] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #resolution: 1.0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [respond]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | Enable the "M118" and "RESPOND" extended | 
					
						
							|  |  |  | [commands](G-Codes.md#send-message-respond-to-host). | 
					
						
							| 
									
										
										
										
											2018-03-17 13:29:03 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [respond] | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #default_type: echo
 | 
					
						
							| 
									
										
										
										
											2020-10-16 22:12:58 -04:00
										 |  |  | #   Sets the default prefix of the "M118" and "RESPOND" output to one
 | 
					
						
							|  |  |  | #   of the following:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #       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".
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | # Resonance compensation
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [input_shaper]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | Enables [resonance compensation](Resonance_Compensation.md). Also see | 
					
						
							|  |  |  | the [command reference](G-Codes.md#resonance-compensation). | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [input_shaper] | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | #shaper_freq_x: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   A frequency (in Hz) of the input shaper for X axis. This is
 | 
					
						
							|  |  |  | #   usually a resonance frequency of X axis that the input shaper
 | 
					
						
							|  |  |  | #   should suppress. For more complex shapers, like 2- and 3-hump EI
 | 
					
						
							|  |  |  | #   input shapers, this parameter can be set from different
 | 
					
						
							|  |  |  | #   considerations. The default value is 0, which disables input
 | 
					
						
							|  |  |  | #   shaping for X axis.
 | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | #shaper_freq_y: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   A frequency (in Hz) of the input shaper for Y axis. This is
 | 
					
						
							|  |  |  | #   usually a resonance frequency of Y axis that the input shaper
 | 
					
						
							|  |  |  | #   should suppress. For more complex shapers, like 2- and 3-hump EI
 | 
					
						
							|  |  |  | #   input shapers, this parameter can be set from different
 | 
					
						
							|  |  |  | #   considerations. The default value is 0, which disables input
 | 
					
						
							|  |  |  | #   shaping for Y axis.
 | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | #shaper_type: mzv
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   A type of the input shaper to use for both X and Y axes. Supported
 | 
					
						
							|  |  |  | #   shapers are zv, mzv, zvd, ei, 2hump_ei, and 3hump_ei. The default
 | 
					
						
							|  |  |  | #   is mzv input shaper.
 | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | #shaper_type_x:
 | 
					
						
							|  |  |  | #shaper_type_y:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   If shaper_type is not set, these two parameters can be used to
 | 
					
						
							|  |  |  | #   configure different input shapers for X and Y axes. The same
 | 
					
						
							|  |  |  | #   values are supported as for shaper_type parameter.
 | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | #damping_ratio_x: 0.1
 | 
					
						
							|  |  |  | #damping_ratio_y: 0.1
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Damping ratios of vibrations of X and Y axes used by input shapers
 | 
					
						
							|  |  |  | #   to improve vibration suppression. Should not be changed without
 | 
					
						
							|  |  |  | #   some proper measurements, e.g. with an accelerometer. Default
 | 
					
						
							|  |  |  | #   value is 0.1 which is a good all-round value for most printers.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [adxl345]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Support for ADXL345 accelerometers. This support allows one to query | 
					
						
							|  |  |  | accelerometer measurements from the sensor. This enables an | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | ACCELEROMETER_MEASURE command (see | 
					
						
							|  |  |  | [G-Codes](G-Codes.md#adxl345-accelerometer-commands) for more | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | information). The default chip name is "default", but one may specify | 
					
						
							|  |  |  | an explicit name (eg, [adxl345 my_chip_name]). | 
					
						
							| 
									
										
										
										
											2020-07-06 02:54:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [adxl345] | 
					
						
							|  |  |  | cs_pin: | 
					
						
							|  |  |  | #   The SPI enable pin for the sensor. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							|  |  |  | #spi_speed: 5000000
 | 
					
						
							|  |  |  | #   The SPI speed (in hz) to use when communicating with the chip.
 | 
					
						
							|  |  |  | #   The default is 5000000.
 | 
					
						
							|  |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-07-30 01:32:17 -04:00
										 |  |  | #axes_map: x,y,z
 | 
					
						
							|  |  |  | #   The accelerometer axis for each of the printer's x, y, and z axes.
 | 
					
						
							|  |  |  | #   This may be useful if the accelerometer is mounted in an
 | 
					
						
							|  |  |  | #   orientation that does not match the printer orientation. For
 | 
					
						
							|  |  |  | #   example, one could set this to "y,x,z" to swap the x and y axes.
 | 
					
						
							|  |  |  | #   It is also possible to negate an axis if the accelerometer
 | 
					
						
							|  |  |  | #   direction is reversed (eg, "x,z,-y"). The default is "x,y,z".
 | 
					
						
							| 
									
										
										
										
											2020-10-15 02:08:10 +02:00
										 |  |  | #rate: 3200
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Output data rate for ADXL345. ADXL345 supports the following data
 | 
					
						
							|  |  |  | #   rates: 3200, 1600, 800, 400, 200, 100, 50, and 25. Note that it is
 | 
					
						
							|  |  |  | #   not recommended to change this rate from the default 3200, and
 | 
					
						
							|  |  |  | #   rates below 800 will considerably affect the quality of resonance
 | 
					
						
							|  |  |  | #   measurements.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [resonance_tester]
 | 
					
						
							| 
									
										
										
										
											2020-07-30 01:32:17 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Support for resonance testing and automatic input shaper calibration. | 
					
						
							|  |  |  | In order to use most of the functionality of this module, additional | 
					
						
							|  |  |  | software dependencies must be installed; refer to | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | [Measuring Resonances](Measuring_Resonances.md) and the | 
					
						
							|  |  |  | [command reference](G-Codes.md#resonance-testing-commands) for more | 
					
						
							|  |  |  | information. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [resonance_tester] | 
					
						
							| 
									
										
										
										
											2020-10-15 02:08:10 +02:00
										 |  |  | #probe_points:
 | 
					
						
							|  |  |  | #   A list of X,Y,Z coordinates of points (one point per line) to test
 | 
					
						
							|  |  |  | #   resonances at. At least one point is required. Make sure that all
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   points with some safety margin in XY plane (~a few centimeters)
 | 
					
						
							|  |  |  | #   are reachable by the toolhead.
 | 
					
						
							| 
									
										
										
										
											2020-10-15 02:08:10 +02:00
										 |  |  | #accel_chip:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   A name of the accelerometer chip to use for measurements. If
 | 
					
						
							|  |  |  | #   adxl345 chip was defined without an explicit name, this parameter
 | 
					
						
							|  |  |  | #   can simply reference it as "accel_chip: adxl345", otherwise an
 | 
					
						
							|  |  |  | #   explicit name must be supplied as well, e.g. "accel_chip: adxl345
 | 
					
						
							|  |  |  | #   my_chip_name". Either this, or the next two parameters must be
 | 
					
						
							|  |  |  | #   set.
 | 
					
						
							| 
									
										
										
										
											2020-10-15 02:08:10 +02:00
										 |  |  | #accel_chip_x:
 | 
					
						
							|  |  |  | #accel_chip_y:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Names of the accelerometer chips to use for measurements for each
 | 
					
						
							|  |  |  | #   of the axis. Can be useful, for instance, on bed slinger printer,
 | 
					
						
							|  |  |  | #   if two separate accelerometers are mounted on the bed (for Y axis)
 | 
					
						
							|  |  |  | #   and on the toolhead (for X axis). These parameters have the same
 | 
					
						
							|  |  |  | #   format as 'accel_chip' parameter. Only 'accel_chip' or these two
 | 
					
						
							|  |  |  | #   parameters must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-10-15 02:08:10 +02:00
										 |  |  | #min_freq: 5
 | 
					
						
							|  |  |  | #   Minimum frequency to test for resonances. The default is 5 Hz.
 | 
					
						
							|  |  |  | #max_freq: 120
 | 
					
						
							|  |  |  | #   Maximum frequency to test for resonances. The default is 120 Hz.
 | 
					
						
							|  |  |  | #accel_per_hz: 75
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   This parameter is used to determine which acceleration to use to
 | 
					
						
							|  |  |  | #   test a specific frequency: accel = accel_per_hz * freq. Higher the
 | 
					
						
							|  |  |  | #   value, the higher is the energy of the oscillations. Can be set to
 | 
					
						
							|  |  |  | #   a lower than the default value if the resonances get too strong on
 | 
					
						
							|  |  |  | #   the printer. However, lower values make measurements of
 | 
					
						
							|  |  |  | #   high-frequency resonances less precise. The default value is 75
 | 
					
						
							|  |  |  | #   (mm/sec).
 | 
					
						
							| 
									
										
										
										
											2020-10-15 02:08:10 +02:00
										 |  |  | #hz_per_sec: 1
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Determines the speed of the test. When testing all frequencies in
 | 
					
						
							|  |  |  | #   range [min_freq, max_freq], each second the frequency increases by
 | 
					
						
							|  |  |  | #   hz_per_sec. Small values make the test slow, and the large values
 | 
					
						
							|  |  |  | #   will decrease the precision of the test. The default value is 1.0
 | 
					
						
							|  |  |  | #   (Hz/sec == sec^-2).
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Config file helpers
 | 
					
						
							| 
									
										
										
										
											2017-08-25 13:52:10 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [board_pins]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 11:36:36 -05:00
										 |  |  | Board pin aliases (one may define any number of sections with a | 
					
						
							|  |  |  | "board_pins" prefix). Use this to define aliases for the pins on a | 
					
						
							|  |  |  | micro-controller. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-11-20 11:36:36 -05:00
										 |  |  | [board_pins my_aliases] | 
					
						
							|  |  |  | mcu: mcu | 
					
						
							|  |  |  | #   A comma separated list of micro-controllers that may use the
 | 
					
						
							|  |  |  | #   aliases. The default is to apply the aliases to the main "mcu".
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | aliases: | 
					
						
							| 
									
										
										
										
											2020-11-20 11:36:36 -05:00
										 |  |  | aliases_<name>: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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,
 | 
					
						
							| 
									
										
										
										
											2020-11-20 11:36:36 -05:00
										 |  |  | #   "EXP1_9=<GND>" would reserve "EXP1_9"). Any number of options
 | 
					
						
							|  |  |  | #   starting with "aliases_" may be specified.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2017-08-25 13:52:10 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [include]
 | 
					
						
							| 
									
										
										
										
											2017-12-18 20:22:53 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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] | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2017-12-18 20:22:53 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Bed probing hardware
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## [probe]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Z height probe. One may define this section to enable Z height probing | 
					
						
							|  |  |  | hardware. When this section is enabled, PROBE and QUERY_PROBE extended | 
					
						
							| 
									
										
										
										
											2020-11-20 14:22:13 -05:00
										 |  |  | [g-code commands](G-Codes.md#probe) become available. Also, see the | 
					
						
							|  |  |  | [probe calibrate guide](Probe_Calibrate.md). 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | "probe:z_virtual_endstop" then do not define a position_endstop in the | 
					
						
							|  |  |  | stepper_z config section. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [probe] | 
					
						
							|  |  |  | pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | z_offset: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #lift_speed:
 | 
					
						
							| 
									
										
										
										
											2020-01-30 15:36:51 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-02-19 00:32:37 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [bltouch]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BLTouch probe. One may define this section (instead of a probe | 
					
						
							|  |  |  | section) to enable a BLTouch probe. See [BL-Touch guide](BLTouch.md) | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | and [command reference](G-Codes.md#bltouch) for further information. A | 
					
						
							|  |  |  | virtual "probe:z_virtual_endstop" pin is also created (see the "probe" | 
					
						
							|  |  |  | section for the details). | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [bltouch] | 
					
						
							|  |  |  | sensor_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   Pin connected to the BLTouch sensor pin. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | control_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   Pin connected to the BLTouch control pin. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-04-08 15:17:14 -04:00
										 |  |  | #pin_move_time: 0.680
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   The amount of time (in seconds) to wait for the BLTouch pin to
 | 
					
						
							| 
									
										
										
										
											2020-04-08 15:17:14 -04:00
										 |  |  | #   move up or down. The default is 0.680 seconds.
 | 
					
						
							| 
									
										
										
										
											2020-04-02 09:03:40 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-05-01 13:24:24 -04:00
										 |  |  | #   sequence. Read the directions in docs/BLTouch.md before setting
 | 
					
						
							|  |  |  | #   this to False. The default is True.
 | 
					
						
							| 
									
										
										
										
											2020-04-11 11:41:45 -04:00
										 |  |  | #probe_with_touch_mode: False
 | 
					
						
							| 
									
										
										
										
											2020-05-01 12:37:26 -04:00
										 |  |  | #   If this is set to True then Klipper will probe with the device in
 | 
					
						
							|  |  |  | #   "touch_mode". The default is False (probing in "pin_down" mode).
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-04-02 10:27:06 -04:00
										 |  |  | #   be True for all genuine BLTouch devices. Read the directions in
 | 
					
						
							|  |  |  | #   docs/BLTouch.md before setting this to False. The default is True.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-04-02 10:27:06 -04:00
										 |  |  | #   True for all genuine BLTouch devices. Read the directions in
 | 
					
						
							|  |  |  | #   docs/BLTouch.md before setting this to False. The default is True.
 | 
					
						
							| 
									
										
										
										
											2020-04-02 09:03:40 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2017-08-25 23:31:58 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Additional micro-controllers
 | 
					
						
							| 
									
										
										
										
											2018-05-29 20:59:17 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [mcu my_extra_mcu]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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). | 
					
						
							| 
									
										
										
										
											2018-05-29 20:59:17 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [mcu my_extra_mcu] | 
					
						
							|  |  |  | # See the "mcu" section for configuration parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-11-24 19:46:28 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Additional stepper motors and extruders
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## [stepper_z1]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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:
 | 
					
						
							|  |  |  | #dir_pin:
 | 
					
						
							|  |  |  | #enable_pin:
 | 
					
						
							|  |  |  | #step_distance:
 | 
					
						
							|  |  |  | #   See the "stepper" section for the definition of the above parameters.
 | 
					
						
							|  |  |  | #endstop_pin:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-02-12 20:15:11 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [extruder1]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 for a description of available parameters. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See | 
					
						
							|  |  |  | [sample-multi-extruder.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/sample-multi-extruder.cfg) | 
					
						
							|  |  |  | for an example configuration. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [extruder1] | 
					
						
							|  |  |  | #step_pin:
 | 
					
						
							|  |  |  | #dir_pin:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #...
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "extruder" section for available stepper and heater
 | 
					
						
							|  |  |  | #   parameters.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #shared_heater:
 | 
					
						
							|  |  |  | #   If this extruder uses the same heater already defined for another
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   extruder then place the name of that extruder here. For example,
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [dual_carriage]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See | 
					
						
							|  |  |  | [sample-idex.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/sample-idex.cfg) | 
					
						
							|  |  |  | for an example configuration. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [dual_carriage] | 
					
						
							|  |  |  | axis: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "stepper" section for the definition of the above parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [extruder_stepper]
 | 
					
						
							| 
									
										
										
										
											2018-10-26 09:58:40 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Support for additional steppers synchronized to the movement of an | 
					
						
							|  |  |  | extruder (one may define any number of sections with an | 
					
						
							|  |  |  | "extruder_stepper" prefix). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the [command reference](G-Codes.md#extruder-stepper-commands) for | 
					
						
							|  |  |  | more information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [extruder_stepper my_extra_stepper] | 
					
						
							| 
									
										
										
										
											2019-10-13 13:59:43 +03:00
										 |  |  | #extruder: extruder
 | 
					
						
							|  |  |  | #   The extruder this stepper is synchronized to. The default is
 | 
					
						
							|  |  |  | #   "extruder".
 | 
					
						
							|  |  |  | #step_pin:
 | 
					
						
							|  |  |  | #dir_pin:
 | 
					
						
							|  |  |  | #enable_pin:
 | 
					
						
							|  |  |  | #step_distance:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "stepper" section for the definition of the above
 | 
					
						
							|  |  |  | #   parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [manual_stepper]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | STEPPER=my_stepper MOVE=10 SPEED=5". See | 
					
						
							|  |  |  | [G-Codes](G-Codes.md#manual-stepper-commands) file for a description | 
					
						
							|  |  |  | of the MANUAL_STEPPER command. The steppers are not connected to the | 
					
						
							|  |  |  | normal printer kinematics. | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [manual_stepper my_stepper] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #step_pin:
 | 
					
						
							|  |  |  | #dir_pin:
 | 
					
						
							|  |  |  | #enable_pin:
 | 
					
						
							|  |  |  | #step_distance:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "stepper" section for a description of these parameters.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-10-26 09:58:40 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Heaters and temperature sensors
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [verify_heater]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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:
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #   This controls heater verification during initial heating. Smaller
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [homing_heaters]
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Tool to disable heaters when homing or probing an axis. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [homing_heaters] | 
					
						
							| 
									
										
										
										
											2020-02-12 16:08:30 +01:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## MAXxxxxx temperature sensors
 | 
					
						
							| 
									
										
										
										
											2020-02-12 16:08:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | MAXxxxxx serial peripheral interface (SPI) temperature based | 
					
						
							|  |  |  | sensors. The following parameters are available in heater sections | 
					
						
							|  |  |  | that use one of these sensor types. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #[extruder]
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # See the "extruder" section for a description of heater parameters.
 | 
					
						
							|  |  |  | # The parameters below describe sensor parameters.
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Common temperature amplifiers
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Common temperature amplifiers. The following parameters are available | 
					
						
							|  |  |  | in heater sections that use one of these sensors. | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #[extruder]
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # See the "extruder" section for a description of heater parameters.
 | 
					
						
							|  |  |  | # The parameters below describe sensor parameters.
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #sensor_type:
 | 
					
						
							| 
									
										
										
										
											2020-08-09 20:06:43 -05:00
										 |  |  | #   One of "PT100 INA826", "AD595", "AD597", "AD8494", "AD8495",
 | 
					
						
							|  |  |  | #   "AD8496", or "AD8497".
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Directly connected PT1000 sensor
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Directly connected PT1000 sensor. The following parameters are | 
					
						
							|  |  |  | available in heater sections that use one of these sensors. | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-03-05 11:46:01 -05:00
										 |  |  | #[extruder]
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # See the "extruder" section for a description of heater parameters.
 | 
					
						
							|  |  |  | # The parameters below describe sensor parameters.
 | 
					
						
							| 
									
										
										
										
											2020-03-05 11:46:01 -05:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-03-05 11:46:01 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [thermistor]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [adc_temperature]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #   this sensor may also specify adc_voltage and voltage_offset
 | 
					
						
							|  |  |  | #   parameters to define the ADC voltage (see "Common temperature
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   amplifiers" section for details). At least two measurements must
 | 
					
						
							|  |  |  | #   be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   pullup_resistor parameter (see "extruder" section for details). At
 | 
					
						
							|  |  |  | #   least two measurements must be provided.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## bme280 temperature sensor
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BME280 two wire interface (I2C) environmental sensor. Note that this | 
					
						
							|  |  |  | sensor is not intended for use with extruders and heater beds, but | 
					
						
							|  |  |  | rather for monitoring ambient temperature (C), pressure (hPa), and | 
					
						
							|  |  |  | relative humidity. See | 
					
						
							|  |  |  | [sample-macros.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/sample-macros.cfg) | 
					
						
							|  |  |  | for a gcode_macro that may be used to report pressure and humidity in | 
					
						
							|  |  |  | addition to temperature. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-03-05 11:41:38 -05:00
										 |  |  | #[temperature_sensor my_sensor]
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # See the "temperature_sensor" section for a description of its
 | 
					
						
							| 
									
										
										
										
											2020-03-05 11:41:38 -05:00
										 |  |  | # parameters. The parameters below describe BME280 sensor parameters.
 | 
					
						
							|  |  |  | #sensor_type:
 | 
					
						
							|  |  |  | #   Must be "BME280"
 | 
					
						
							|  |  |  | #i2c_address:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Default is 118 (0x76). Some BME280 sensors have an address of 119
 | 
					
						
							|  |  |  | #   (0x77).
 | 
					
						
							| 
									
										
										
										
											2020-03-05 11:41:38 -05:00
										 |  |  | #i2c_mcu:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   MCU the sensor is connected to. Default is the primary mcu.
 | 
					
						
							| 
									
										
										
										
											2020-03-05 11:41:38 -05:00
										 |  |  | #i2c_bus:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-03-05 11:41:38 -05:00
										 |  |  | #i2c_speed:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The I2C speed (in Hz) to use when communicating with the sensor.
 | 
					
						
							|  |  |  | #   Default is 100000. On some MCUs changing this value has no effect.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## HTU21D sensor
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HTU21D family two wire interface (I2C) environmental sensor. Note that | 
					
						
							|  |  |  | this sensor is not intended for use with extruders and heater beds, | 
					
						
							|  |  |  | but rather for monitoring ambient temperature (C) and relative | 
					
						
							|  |  |  | humidity. See | 
					
						
							|  |  |  | [sample-macros.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/sample-macros.cfg) | 
					
						
							|  |  |  | for a gcode_macro that may be used to report humidity in addition to | 
					
						
							|  |  |  | temperature. | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #[temperature_sensor my_sensor]
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # See the "temperature_sensor" section for a description of its
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | # parameters. The parameters below describe HTU21D family sensor
 | 
					
						
							|  |  |  | # parameters.
 | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #sensor_type:
 | 
					
						
							|  |  |  | #   Must be "HTU21D" , "SI7013", "SI7020", "SI7021" or "SHT21"
 | 
					
						
							|  |  |  | #i2c_address:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Default is 64 (0x40).
 | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #i2c_mcu:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   MCU the sensor is connected to. Default is the primary mcu.
 | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #i2c_bus:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #i2c_speed:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The I2C speed (in Hz) to use when communicating with the sensor.
 | 
					
						
							|  |  |  | #   Default is 100000. On some MCUs changing this value has no effect.
 | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #htu21d_hold_master:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   If the sensor can hold the I2C buf while reading. If True no other
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   bus communication can be performed while reading is in progress.
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Default is False.
 | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | #htu21d_resolution:
 | 
					
						
							|  |  |  | #   The resolution of temperature and humidity reading.
 | 
					
						
							|  |  |  | #   Valid values are:
 | 
					
						
							|  |  |  | #    'TEMP14_HUM12' -> 14bit for Temp and 12bit for humidity
 | 
					
						
							|  |  |  | #    'TEMP13_HUM10' -> 13bit for Temp and 10bit for humidity
 | 
					
						
							|  |  |  | #    'TEMP12_HUM08' -> 12bit for Temp and 08bit for humidity
 | 
					
						
							|  |  |  | #    'TEMP11_HUM11' -> 11bit for Temp and 11bit for humidity
 | 
					
						
							|  |  |  | #   Default is: "TEMP11_HUM11"
 | 
					
						
							|  |  |  | #htu21d_report_time:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Interval in seconds between readings. Default is 30
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-05-04 00:47:24 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## LM75 temperature sensor
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | LM75/LM75A two wire (I2C) connected temperature sensors. These sensors | 
					
						
							|  |  |  | have range up to 125 C, so are usable for e.g. chamber temperature | 
					
						
							|  |  |  | monitoring. They can also function as simple fan/heater controllers | 
					
						
							|  |  |  | but this mode is not used here. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #[temperature_sensor my_sensor]
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # See the "temperature_sensor" section for a description of its
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | # parameters. The parameters below describe LM75 family sensor
 | 
					
						
							|  |  |  | # parameters.
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #sensor_type:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Must be "LM75".
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #i2c_address:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Default is 72 (0x48). Normal range is 72-79 (0x48-0x4F) and the 3
 | 
					
						
							|  |  |  | #   low bits of the address are configured via pins on the chip
 | 
					
						
							|  |  |  | #   (usually with jumpers or hard wired).
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #i2c_mcu:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   MCU the sensor is connected to. Default is the primary mcu.
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #i2c_bus:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #i2c_speed:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The I2C speed (in Hz) to use when communicating with the sensor.
 | 
					
						
							|  |  |  | #   Default is 100000. On some MCUs changing this value has no effect.
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | #lm75_report_time:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Interval in seconds between readings. Default is 0.8, with minimum
 | 
					
						
							|  |  |  | #   0.5.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [heater_generic]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 [G-Codes](G-Codes.md) for details) to set the target | 
					
						
							|  |  |  | temperature. | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:54 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [heater_generic my_generic_heater] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #gcode_id:
 | 
					
						
							| 
									
										
										
										
											2019-10-27 11:50:57 -04:00
										 |  |  | #   The id to use when reporting the temperature in the M105 command.
 | 
					
						
							|  |  |  | #   This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "extruder" section for the definition of the above
 | 
					
						
							|  |  |  | #   parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [temperature_sensor]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Generic temperature sensors. One can define any number of additional | 
					
						
							|  |  |  | temperature sensors that are reported via the M105 command. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [temperature_sensor my_sensor] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #sensor_type:
 | 
					
						
							|  |  |  | #sensor_pin:
 | 
					
						
							|  |  |  | #min_temp:
 | 
					
						
							|  |  |  | #max_temp:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "extruder" section for the definition of the above
 | 
					
						
							|  |  |  | #   parameters.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #gcode_id:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "heater_generic" section for the definition of this
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   parameter.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Fans
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [fan]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Print cooling fan. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [fan] | 
					
						
							|  |  |  | pin: | 
					
						
							|  |  |  | #   Output pin controlling the fan. This parameter must be provided.
 | 
					
						
							|  |  |  | #max_power: 1.0
 | 
					
						
							|  |  |  | #   The maximum power (expressed as a value from 0.0 to 1.0) that the
 | 
					
						
							|  |  |  | #   pin may be set to. The value 1.0 allows the pin to be set fully
 | 
					
						
							|  |  |  | #   enabled for extended periods, while a value of 0.5 would allow the
 | 
					
						
							|  |  |  | #   pin to be enabled for no more than half the time. This setting may
 | 
					
						
							|  |  |  | #   be used to limit the total power output (over extended periods) to
 | 
					
						
							|  |  |  | #   the fan. If this value is less than 1.0 then fan speed requests
 | 
					
						
							|  |  |  | #   will be scaled between zero and max_power (for example, if
 | 
					
						
							|  |  |  | #   max_power is .9 and a fan speed of 80% is requested then the fan
 | 
					
						
							|  |  |  | #   power will be set to 72%). The default is 1.0.
 | 
					
						
							|  |  |  | #shutdown_speed: 0
 | 
					
						
							|  |  |  | #   The desired fan speed (expressed as a value from 0.0 to 1.0) if
 | 
					
						
							|  |  |  | #   the micro-controller software enters an error state. The default
 | 
					
						
							|  |  |  | #   is 0.
 | 
					
						
							|  |  |  | #cycle_time: 0.010
 | 
					
						
							|  |  |  | #   The amount of time (in seconds) for each PWM power cycle to the
 | 
					
						
							|  |  |  | #   fan. It is recommended this be 10 milliseconds or greater when
 | 
					
						
							|  |  |  | #   using software based PWM. The default is 0.010 seconds.
 | 
					
						
							|  |  |  | #hardware_pwm: False
 | 
					
						
							|  |  |  | #   Enable this to use hardware PWM instead of software PWM. Most fans
 | 
					
						
							|  |  |  | #   do not work well with hardware PWM, so it is not recommended to
 | 
					
						
							|  |  |  | #   enable this unless there is an electrical requirement to switch at
 | 
					
						
							|  |  |  | #   very high speeds. 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.
 | 
					
						
							|  |  |  | #kick_start_time: 0.100
 | 
					
						
							|  |  |  | #   Time (in seconds) to run the fan at full speed when either first
 | 
					
						
							|  |  |  | #   enabling or increasing it by more than 50% (helps get the fan
 | 
					
						
							|  |  |  | #   spinning). The default is 0.100 seconds.
 | 
					
						
							|  |  |  | #off_below: 0.0
 | 
					
						
							|  |  |  | #   The minimum input speed which will power the fan (expressed as a
 | 
					
						
							|  |  |  | #   value from 0.0 to 1.0). When a speed lower than off_below is
 | 
					
						
							|  |  |  | #   requested the fan will instead be turned off. This setting may be
 | 
					
						
							|  |  |  | #   used to prevent fan stalls and to ensure kick starts are
 | 
					
						
							|  |  |  | #   effective. The default is 0.0.
 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #   This setting should be recalibrated whenever max_power is adjusted.
 | 
					
						
							|  |  |  | #   To calibrate this setting, start with off_below set to 0.0 and the
 | 
					
						
							|  |  |  | #   fan spinning. Gradually lower the fan speed to determine the lowest
 | 
					
						
							|  |  |  | #   input speed which reliably drives the fan without stalls. Set
 | 
					
						
							|  |  |  | #   off_below to the duty cycle corresponding to this value (for
 | 
					
						
							|  |  |  | #   example, 12% -> 0.12) or slightly higher.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [heater_fan]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #pin:
 | 
					
						
							|  |  |  | #max_power:
 | 
					
						
							|  |  |  | #shutdown_speed:
 | 
					
						
							|  |  |  | #cycle_time:
 | 
					
						
							|  |  |  | #hardware_pwm:
 | 
					
						
							|  |  |  | #kick_start_time:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #off_below:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "fan" section for a description of the above parameters.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [controller_fan]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [controller_fan my_controller_fan] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #pin:
 | 
					
						
							|  |  |  | #max_power:
 | 
					
						
							|  |  |  | #shutdown_speed:
 | 
					
						
							|  |  |  | #cycle_time:
 | 
					
						
							|  |  |  | #hardware_pwm:
 | 
					
						
							|  |  |  | #kick_start_time:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #off_below:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "fan" section for a description of the above parameters.
 | 
					
						
							| 
									
										
										
										
											2020-05-17 13:26:51 -07:00
										 |  |  | #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 a heater or stepper driver is active.
 | 
					
						
							|  |  |  | #   The default is 1.0
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #idle_timeout:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   The amount of time (in seconds) after a stepper driver or heater
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   will be set to when a heater or stepper driver was active and
 | 
					
						
							|  |  |  | #   before the idle_timeout is reached. The default is fan_speed.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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".
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [temperature_fan]
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-23 11:25:28 -05:00
										 |  |  | See the [command reference](G-Codes.md#temperature-fan-commands) for | 
					
						
							|  |  |  | additional information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [temperature_fan my_temp_fan] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #pin:
 | 
					
						
							|  |  |  | #max_power:
 | 
					
						
							|  |  |  | #shutdown_speed:
 | 
					
						
							|  |  |  | #cycle_time:
 | 
					
						
							|  |  |  | #hardware_pwm:
 | 
					
						
							|  |  |  | #kick_start_time:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #off_below:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "fan" section for a description of the above parameters.
 | 
					
						
							| 
									
										
										
										
											2020-10-28 14:45:45 -04:00
										 |  |  | #sensor_type:
 | 
					
						
							|  |  |  | #sensor_pin:
 | 
					
						
							|  |  |  | #control:
 | 
					
						
							|  |  |  | #pid_Kp:
 | 
					
						
							|  |  |  | #pid_Ki:
 | 
					
						
							|  |  |  | #pid_Kd:
 | 
					
						
							|  |  |  | #pid_deriv_time:
 | 
					
						
							|  |  |  | #pid_integral_max:
 | 
					
						
							|  |  |  | #max_delta:
 | 
					
						
							|  |  |  | #min_temp:
 | 
					
						
							|  |  |  | #max_temp:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "extruder" section for a description of the above parameters.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							|  |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [fan_generic]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Manually controlled fan (one may define any number of sections with a | 
					
						
							|  |  |  | "fan_generic" prefix). The speed of a manually controlled fan is set | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | with the SET_FAN_SPEED | 
					
						
							|  |  |  | [gcode command](G-Codes.md#manually-controlled-fans-commands). | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [fan_generic extruder_partfan] | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #pin:
 | 
					
						
							|  |  |  | #max_power:
 | 
					
						
							|  |  |  | #shutdown_speed:
 | 
					
						
							|  |  |  | #cycle_time:
 | 
					
						
							|  |  |  | #hardware_pwm:
 | 
					
						
							|  |  |  | #kick_start_time:
 | 
					
						
							|  |  |  | #off_below:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "fan" section for a description of the above parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-08-07 17:39:44 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Additional servos, LEDs, buttons, and other pins
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [servo]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Servos (one may define any number of sections with a "servo" | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | prefix). The servos may be controlled using the SET_SERVO | 
					
						
							|  |  |  | [g-code command](G-Codes.md#servo-commands). For example: SET_SERVO | 
					
						
							|  |  |  | SERVO=my_servo ANGLE=180 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [servo my_servo] | 
					
						
							|  |  |  | pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-07-16 14:17:04 -04:00
										 |  |  | #initial_angle:
 | 
					
						
							|  |  |  | #   Initial angle (in degrees) to set the servo to. The default is to
 | 
					
						
							|  |  |  | #   not send any signal at startup.
 | 
					
						
							|  |  |  | #initial_pulse_width:
 | 
					
						
							|  |  |  | #   Initial pulse width time (in seconds) to set the servo to. (This
 | 
					
						
							|  |  |  | #   is only valid if initial_angle is not set.) The default is to not
 | 
					
						
							|  |  |  | #   send any signal at startup.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [neopixel]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | [g-code commands](G-Codes.md#neopixel-and-dotstar-commands). | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [neopixel my_neopixel] | 
					
						
							|  |  |  | pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   The pin connected to the neopixel. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							|  |  |  | #chain_count:
 | 
					
						
							|  |  |  | #   The number of Neopixel chips that are "daisy chained" to the
 | 
					
						
							| 
									
										
										
										
											2019-11-28 10:32:23 -05:00
										 |  |  | #   provided pin. The default is 1 (which indicates only a single
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   Neopixel is connected to the pin).
 | 
					
						
							| 
									
										
										
										
											2020-10-08 20:06:59 -04:00
										 |  |  | #color_order: GRB
 | 
					
						
							|  |  |  | #   Set the pixel order required by the LED hardware. Options are GRB,
 | 
					
						
							|  |  |  | #   RGB, GRBW, or RGBW. The default is GRB.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #initial_RED: 0.0
 | 
					
						
							|  |  |  | #initial_GREEN: 0.0
 | 
					
						
							|  |  |  | #initial_BLUE: 0.0
 | 
					
						
							| 
									
										
										
										
											2020-10-08 20:06:59 -04:00
										 |  |  | #initial_WHITE: 0.0
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   Sets the initial LED color of the Neopixel. Each value should be
 | 
					
						
							| 
									
										
										
										
											2020-10-08 20:06:59 -04:00
										 |  |  | #   between 0.0 and 1.0. The WHITE option is only available on RGBW
 | 
					
						
							|  |  |  | #   LEDs. The default for each color is 0.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [dotstar]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | [g-code commands](G-Codes.md#neopixel-and-dotstar-commands). | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [dotstar my_dotstar] | 
					
						
							|  |  |  | data_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   The pin connected to the data line of the dotstar. This parameter
 | 
					
						
							|  |  |  | #   must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | clock_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [gcode_button]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   The pin on which the button is connected. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-09-09 14:16:42 -04:00
										 |  |  | #analog_range:
 | 
					
						
							|  |  |  | #   Two comma separated resistances (in Ohms) specifying the minimum
 | 
					
						
							|  |  |  | #   and maximum resistance range for the button. If analog_range is
 | 
					
						
							|  |  |  | #   provided then the pin must be an analog capable pin. The default
 | 
					
						
							|  |  |  | #   is to use digital gpio for the button.
 | 
					
						
							|  |  |  | #analog_pullup_resistor:
 | 
					
						
							|  |  |  | #   The pullup resistance (in Ohms) when analog_range is specified.
 | 
					
						
							|  |  |  | #   The default is 4700 ohms.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #press_gcode:
 | 
					
						
							|  |  |  | #   A list of G-Code commands to execute when the button is pressed.
 | 
					
						
							| 
									
										
										
										
											2020-04-25 12:09:03 -04:00
										 |  |  | #   G-Code templates are supported. This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #release_gcode:
 | 
					
						
							|  |  |  | #   A list of G-Code commands to execute when the button is released.
 | 
					
						
							| 
									
										
										
										
											2020-04-25 12:09:03 -04:00
										 |  |  | #   G-Code templates are supported. The default is to not run any
 | 
					
						
							|  |  |  | #   commands on a button release.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [output_pin]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | "SET_PIN PIN=my_pin VALUE=.1" type extended | 
					
						
							|  |  |  | [g-code commands](G-Codes.md#custom-pin-commands). | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [output_pin my_pin] | 
					
						
							|  |  |  | pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2019-11-28 10:32:23 -05:00
										 |  |  | #   this be 10 milliseconds or greater when using software based PWM.
 | 
					
						
							|  |  |  | #   The default is 0.100 seconds for pwm pins.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [static_digital_output]
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [multi_pin]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [multi_pin my_multi_pin] | 
					
						
							|  |  |  | pins: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   A comma separated list of pins associated with this alias. This
 | 
					
						
							|  |  |  | #   parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | # TMC stepper driver configuration
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [tmc2130]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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:
 | 
					
						
							| 
									
										
										
										
											2019-02-09 12:22:10 -05:00
										 |  |  | #spi_software_mosi_pin:
 | 
					
						
							|  |  |  | #spi_software_miso_pin:
 | 
					
						
							|  |  |  | #   These optional parameters allow one to customize the SPI settings
 | 
					
						
							|  |  |  | #   used to communicate with the chip.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | microsteps: | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2018-08-28 15:36:53 -04:00
										 |  |  | #   If true, enable step interpolation (the driver will internally
 | 
					
						
							|  |  |  | #   step at a rate of 256 micro-steps). The default is True.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | run_current: | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) to configure the driver to use
 | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | #   during stepper movement. This parameter must be provided.
 | 
					
						
							|  |  |  | #hold_current:
 | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) to configure the driver to use
 | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2018-05-22 21:40:32 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | #driver_IHOLDDELAY: 8
 | 
					
						
							|  |  |  | #driver_TPOWERDOWN: 0
 | 
					
						
							| 
									
										
										
										
											2019-03-08 11:25:19 -05:00
										 |  |  | #driver_TBL: 1
 | 
					
						
							| 
									
										
										
										
											2018-05-24 10:44:45 -04:00
										 |  |  | #driver_TOFF: 4
 | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | #driver_HEND: 7
 | 
					
						
							|  |  |  | #driver_HSTRT: 0
 | 
					
						
							| 
									
										
										
										
											2018-05-24 11:03:29 -04:00
										 |  |  | #driver_PWM_AUTOSCALE: True
 | 
					
						
							|  |  |  | #driver_PWM_FREQ: 1
 | 
					
						
							|  |  |  | #driver_PWM_GRAD: 4
 | 
					
						
							|  |  |  | #driver_PWM_AMPL: 128
 | 
					
						
							| 
									
										
										
										
											2018-05-22 23:39:06 -04:00
										 |  |  | #driver_SGT: 0
 | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-08-09 06:17:51 -06:00
										 |  |  | #diag0_pin:
 | 
					
						
							| 
									
										
										
										
											2018-05-22 23:39:06 -04:00
										 |  |  | #diag1_pin:
 | 
					
						
							| 
									
										
										
										
											2020-08-09 06:17:51 -06:00
										 |  |  | #   The micro-controller pin attached to one of the DIAG lines of the
 | 
					
						
							|  |  |  | #   TMC2130 chip. Only a single diag pin should be specified.
 | 
					
						
							|  |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [tmc2208]
 | 
					
						
							| 
									
										
										
										
											2018-02-17 23:34:41 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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: | 
					
						
							| 
									
										
										
										
											2018-08-17 21:16:45 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-06-12 23:09:56 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | microsteps: | 
					
						
							| 
									
										
										
										
											2018-08-17 21:16:45 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2018-08-28 15:36:53 -04:00
										 |  |  | #   If true, enable step interpolation (the driver will internally
 | 
					
						
							|  |  |  | #   step at a rate of 256 micro-steps). The default is True.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | run_current: | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) to configure the driver to use
 | 
					
						
							| 
									
										
										
										
											2018-08-17 21:16:45 -04:00
										 |  |  | #   during stepper movement. This parameter must be provided.
 | 
					
						
							|  |  |  | #hold_current:
 | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) to configure the driver to use
 | 
					
						
							| 
									
										
										
										
											2018-08-17 21:16:45 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2019-03-08 11:25:19 -05:00
										 |  |  | #driver_TBL: 2
 | 
					
						
							| 
									
										
										
										
											2018-08-17 21:16:45 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2019-06-23 11:47:24 -04:00
										 |  |  | #   above list.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [tmc2209]
 | 
					
						
							| 
									
										
										
										
											2019-06-23 11:47:24 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-06-23 11:47:24 -04:00
										 |  |  | #tx_pin:
 | 
					
						
							|  |  |  | #select_pins:
 | 
					
						
							|  |  |  | #microsteps:
 | 
					
						
							|  |  |  | #interpolate: True
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | run_current: | 
					
						
							| 
									
										
										
										
											2019-06-23 11:47:24 -04:00
										 |  |  | #hold_current:
 | 
					
						
							|  |  |  | #sense_resistor: 0.110
 | 
					
						
							|  |  |  | #stealthchop_threshold: 0
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "tmc2208" section for the definition of these parameters.
 | 
					
						
							| 
									
										
										
										
											2019-07-31 12:08:11 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2019-06-23 11:47:24 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2018-08-17 21:16:45 -04:00
										 |  |  | #   above list.
 | 
					
						
							| 
									
										
										
										
											2019-08-17 21:05:30 -04:00
										 |  |  | #diag_pin:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-08-09 11:53:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [tmc2660]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   after the message transfer completes. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 12:22:10 -05:00
										 |  |  | #spi_bus:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 12:22:10 -05:00
										 |  |  | #spi_software_sclk_pin:
 | 
					
						
							|  |  |  | #spi_software_mosi_pin:
 | 
					
						
							|  |  |  | #spi_software_miso_pin:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   These optional parameters allow one to customize the SPI settings
 | 
					
						
							|  |  |  | #   used to communicate with the chip.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | microsteps: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | run_current: | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) used by the driver during
 | 
					
						
							|  |  |  | #   stepper movement. This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #sense_resistor:
 | 
					
						
							| 
									
										
										
										
											2020-10-16 22:12:58 -04:00
										 |  |  | #   The resistance (in ohms) of the motor sense resistor. This
 | 
					
						
							|  |  |  | #   parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   their position. There is also small delay until the current is
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2020-10-16 22:12:58 -04:00
										 |  |  | #   does and what the restrictions on parameter combinations are. Be
 | 
					
						
							|  |  |  | #   especially aware of the CHOPCONF register, where setting CHM to
 | 
					
						
							|  |  |  | #   either zero or one will lead to layout changes (the first bit of
 | 
					
						
							|  |  |  | #   HDEC) is interpreted as the MSB of HSTRT in this case).
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-04-09 15:44:34 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [tmc5160]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 12:22:10 -05:00
										 |  |  | #spi_bus:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #spi_speed:
 | 
					
						
							| 
									
										
										
										
											2019-02-09 12:22:10 -05:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | microsteps: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2019-06-07 11:57:54 -04:00
										 |  |  | #   be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #interpolate: True
 | 
					
						
							|  |  |  | #   If true, enable step interpolation (the driver will internally
 | 
					
						
							|  |  |  | #   step at a rate of 256 micro-steps). The default is True.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | run_current: | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) to configure the driver to use
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   during stepper movement. This parameter must be provided.
 | 
					
						
							|  |  |  | #hold_current:
 | 
					
						
							| 
									
										
										
										
											2020-10-06 19:12:09 -04:00
										 |  |  | #   The amount of current (in amps RMS) to configure the driver to use
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2020-05-24 11:49:56 -04:00
										 |  |  | #driver_PWM_FREQ: 0
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-08-09 06:17:51 -06:00
										 |  |  | #diag0_pin:
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #diag1_pin:
 | 
					
						
							| 
									
										
										
										
											2020-08-09 06:17:51 -06:00
										 |  |  | #   The micro-controller pin attached to one of the DIAG lines of the
 | 
					
						
							|  |  |  | #   TMC5160 chip. Only a single diag pin should be specified.
 | 
					
						
							|  |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-05-25 12:33:01 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Run-time stepper motor current configuration
 | 
					
						
							| 
									
										
										
										
											2019-01-21 17:24:17 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [ad5206]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Statically configured AD5206 digipots connected via SPI bus (one may | 
					
						
							|  |  |  | define any number of sections with an "ad5206" prefix). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [ad5206 my_digipot] | 
					
						
							|  |  |  | enable_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [mcp4451]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Statically configured MCP4451 digipot connected via I2C bus (one may | 
					
						
							|  |  |  | define any number of sections with an "mcp4451" prefix). | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [mcp4451 my_digipot] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #i2c_mcu: mcu
 | 
					
						
							|  |  |  | #   The name of the micro-controller that the MCP4451 chip is
 | 
					
						
							|  |  |  | #   connected to. The default is "mcu".
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | i2c_address: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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,
 | 
					
						
							| 
									
										
										
										
											2019-11-28 10:32:23 -05:00
										 |  |  | #   the range may be changed with the 'scale' parameter (see below).
 | 
					
						
							|  |  |  | #   If a wiper is not specified then it is left unconfigured.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [mcp4728]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Statically configured MCP4728 digital-to-analog converter connected | 
					
						
							|  |  |  | via I2C bus (one may define any number of sections with an "mcp4728" | 
					
						
							|  |  |  | prefix). | 
					
						
							| 
									
										
										
										
											2019-02-25 14:17:05 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [mcp4728 my_dac] | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2019-11-28 10:32:23 -05:00
										 |  |  | #   highest voltage (2.048V) and 0.0 being the lowest voltage.
 | 
					
						
							|  |  |  | #   However, the range may be changed with the 'scale' parameter (see
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [mcp4018]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Statically configured MCP4018 digipot connected via two gpio "bit | 
					
						
							|  |  |  | banging" pins (one may define any number of sections with an "mcp4018" | 
					
						
							|  |  |  | prefix). | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [mcp4018 my_digipot] | 
					
						
							|  |  |  | scl_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   The SCL "clock" pin. This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | sda_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   The SDA "data" pin. This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | wiper: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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,
 | 
					
						
							| 
									
										
										
										
											2019-11-28 10:32:23 -05:00
										 |  |  | #   the range may be changed with the 'scale' parameter (see below).
 | 
					
						
							|  |  |  | #   This parameter must be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-02-25 14:17:05 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Display support
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [display]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Support for a display attached to the micro-controller. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [display] | 
					
						
							|  |  |  | lcd_type: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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
 | 
					
						
							| 
									
										
										
										
											2019-11-28 10:32:23 -05:00
										 |  |  | #   12864" type displays), "ssd1306", or "sh1106". This parameter must
 | 
					
						
							|  |  |  | #   be provided.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-20 20:49:38 +01:00
										 |  |  | #line_length:
 | 
					
						
							|  |  |  | #   Set the number of characters per line for an hd44780 type lcd.
 | 
					
						
							|  |  |  | #   Possible values are 20 (default) and 16. The number of lines is
 | 
					
						
							|  |  |  | #   fixed to 4.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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:
 | 
					
						
							| 
									
										
										
										
											2019-12-02 10:12:34 -05:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #contrast:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The contrast to set when using a uc1701 or SSD1306/SH1106 type
 | 
					
						
							|  |  |  | #   display For UC1701 the value may range from 0 to 63. Default is
 | 
					
						
							|  |  |  | #   40. For SSD1306/SH1106 the value may range from 0 to 256. Default
 | 
					
						
							|  |  |  | #   is 239.
 | 
					
						
							| 
									
										
										
										
											2020-07-19 17:18:08 -07:00
										 |  |  | #vcomh: 0
 | 
					
						
							|  |  |  | #   Set the Vcomh value on SSD1306/SH1106 displays. This value is
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   associated with a "smearing" effect on some OLED displays. The
 | 
					
						
							|  |  |  | #   value may range from 0 to 63. Default is 0.
 | 
					
						
							| 
									
										
										
										
											2020-09-10 11:07:40 +08:00
										 |  |  | #x_offset: 0
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Set the horizontal offset value on SSD1306/SH1106 displays.
 | 
					
						
							|  |  |  | #   Default is 0.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #invert: False
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   TRUE inverts the pixels on certain OLED (SSD1306/SH1106) displays.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | #   The default is False.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-02-16 15:22:16 -05:00
										 |  |  | #display_group:
 | 
					
						
							|  |  |  | #   The name of the display_data group to show on the display. This
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   controls the content of the screen (see the "display_data" section
 | 
					
						
							|  |  |  | #   for more information). The default is _default_20x4 for hd44780
 | 
					
						
							|  |  |  | #   displays and _default_16x4 for other displays.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #menu_timeout:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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)
 | 
					
						
							| 
									
										
										
										
											2020-10-31 00:31:44 +05:30
										 |  |  | #menu_root:
 | 
					
						
							|  |  |  | #   Name of the main menu section to show when clicking the encoder
 | 
					
						
							|  |  |  | #   on the home screen. The defaults is __main, and this shows the
 | 
					
						
							|  |  |  | #   the default menus as defined in klippy/extras/display/menu.cfg
 | 
					
						
							| 
									
										
										
										
											2020-08-09 16:29:55 +03:00
										 |  |  | #menu_reverse_navigation:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   When enabled it will reverse up and down directions for list
 | 
					
						
							|  |  |  | #   navigation. The default is False. This parameter is optional.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #encoder_pins:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The pins connected to encoder. 2 pins must be provided when using
 | 
					
						
							|  |  |  | #   encoder. This parameter must be provided when using menu.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #click_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #back_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #up_pin:
 | 
					
						
							|  |  |  | #   The pin connected to 'up' button. This parameter must be provided
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   when using menu without encoder. The presence of an
 | 
					
						
							|  |  |  | #   'analog_range_up_pin' config parameter turns this parameter from
 | 
					
						
							|  |  |  | #   digital to analog.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #down_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #kill_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #analog_pullup_resistor: 4700
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The resistance (in ohms) of the pullup attached to the analog
 | 
					
						
							|  |  |  | #   button. The default is 4700 ohms.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #analog_range_click_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The resistance range for a 'enter' button. Range minimum and
 | 
					
						
							|  |  |  | #   maximum comma-separated values must be provided when using analog
 | 
					
						
							|  |  |  | #   button.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #analog_range_back_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The resistance range for a 'back' button. Range minimum and
 | 
					
						
							|  |  |  | #   maximum comma-separated values must be provided when using analog
 | 
					
						
							|  |  |  | #   button.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #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:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The resistance range for a 'down' button. Range minimum and
 | 
					
						
							|  |  |  | #   maximum comma-separated values must be provided when using analog
 | 
					
						
							|  |  |  | #   button.
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #analog_range_kill_pin:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The resistance range for a 'kill' button. Range minimum and
 | 
					
						
							|  |  |  | #   maximum comma-separated values must be provided when using analog
 | 
					
						
							|  |  |  | #   button.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [display_data]
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | position: | 
					
						
							| 
									
										
										
										
											2020-02-16 15:22:16 -05:00
										 |  |  | #   Comma separated row and column of the display position that should
 | 
					
						
							|  |  |  | #   be used to display the information. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | text: | 
					
						
							| 
									
										
										
										
											2020-02-16 15:22:16 -05:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [display_template]
 | 
					
						
							| 
									
										
										
										
											2020-02-16 15:22:16 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | 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] | 
					
						
							| 
									
										
										
										
											2020-02-16 15:22:16 -05:00
										 |  |  | #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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [display_glyph]
 | 
					
						
							| 
									
										
										
										
											2020-02-16 15:22:16 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Display a custom glyph on displays that support it. The given name | 
					
						
							|  |  |  | will be assigned the given display data which can then be referenced | 
					
						
							|  |  |  | in the display templates by their name surrounded by two "tilde" | 
					
						
							|  |  |  | symbols i.e. `~my_display_glyph~` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See | 
					
						
							|  |  |  | [sample-glyphs.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/sample-glyphs.cfg) | 
					
						
							|  |  |  | for some examples. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [display_glyph my_display_glyph] | 
					
						
							| 
									
										
										
										
											2020-06-07 16:25:19 +00:00
										 |  |  | #data:
 | 
					
						
							| 
									
										
										
										
											2020-06-08 17:21:42 -04:00
										 |  |  | #   The display data, stored as 16 lines consisting of 16 bits (1 per
 | 
					
						
							|  |  |  | #   pixel) where '.' is a blank pixel and '*' is an on pixel (e.g.,
 | 
					
						
							| 
									
										
										
										
											2020-06-09 09:05:41 -04:00
										 |  |  | #   "****************" to display a solid horizontal line).
 | 
					
						
							|  |  |  | #   Alternatively, one can use '0' for a blank pixel and '1' for an on
 | 
					
						
							|  |  |  | #   pixel. Put each display line into a separate config line. The
 | 
					
						
							|  |  |  | #   glyph must consist of exactly 16 lines with 16 bits each. This
 | 
					
						
							|  |  |  | #   parameter is optional.
 | 
					
						
							| 
									
										
										
										
											2020-06-08 22:04:24 -04:00
										 |  |  | #hd44780_data:
 | 
					
						
							|  |  |  | #   Glyph to use on 20x4 hd44780 displays. The glyph must consist of
 | 
					
						
							|  |  |  | #   exactly 8 lines with 5 bits each. This parameter is optional.
 | 
					
						
							|  |  |  | #hd44780_slot:
 | 
					
						
							|  |  |  | #   The hd44780 hardware index (0..7) to store the glyph at. If
 | 
					
						
							|  |  |  | #   multiple distinct images use the same slot then make sure to only
 | 
					
						
							|  |  |  | #   use one of those images in any given screen. This parameter is
 | 
					
						
							|  |  |  | #   required if hd44780_data is specified.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [display my_extra_display]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If a primary [display] section has been defined in printer.cfg as | 
					
						
							|  |  |  | shown above it is possible to define multiple auxiliary displays. Note | 
					
						
							|  |  |  | that auxiliary displays do not currently support menu functionality, | 
					
						
							|  |  |  | thus they do not support the "menu" options or button configuration. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [display my_extra_display] | 
					
						
							|  |  |  | # See the "display" section for available parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [menu]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Available options in menu Jinja2 template context: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Read-only attributes for menu element: | 
					
						
							|  |  |  | * menu.width - element width (number of display columns) | 
					
						
							|  |  |  | * menu.ns - element namespace | 
					
						
							|  |  |  | * menu.event - name of the event that triggered the script | 
					
						
							|  |  |  | * menu.input - input value, only available in input script context | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | List of actions for menu element: | 
					
						
							|  |  |  | * menu.back(force, update): will execute menu back command, optional | 
					
						
							|  |  |  |   boolean parameters <force> and <update>. | 
					
						
							|  |  |  |   * When <force> is set True then it will also stop editing. Default | 
					
						
							|  |  |  |     value is False | 
					
						
							|  |  |  |   * When <update> is set False then parent container items are not | 
					
						
							|  |  |  |     updated. Default value is True | 
					
						
							|  |  |  | * menu.exit(force) - will execute menu exit command, optional boolean | 
					
						
							|  |  |  |   parameter <force> default value False | 
					
						
							|  |  |  |   * When <force> is set True then it will also stop editing. Default | 
					
						
							|  |  |  |     value is False | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | # Common parameters available for all menu config sections.
 | 
					
						
							|  |  |  | #[menu some_name]
 | 
					
						
							|  |  |  | #type:
 | 
					
						
							|  |  |  | #   One of command, input, list, text:
 | 
					
						
							|  |  |  | #       command - basic menu element with various script triggers
 | 
					
						
							|  |  |  | #       input   - same like 'command' but has value changing capabilities.
 | 
					
						
							|  |  |  | #                 Press will start/stop edit mode.
 | 
					
						
							|  |  |  | #       list    - it allows for menu items to be grouped together in a
 | 
					
						
							|  |  |  | #                 scrollable list.  Add to the list by creating menu
 | 
					
						
							|  |  |  | #                 configurations using "some_list" as a prefix - for
 | 
					
						
							|  |  |  | #                 example: [menu some_list some_item_in_the_list]
 | 
					
						
							|  |  |  | #       vsdlist - same as 'list' but will append files from virtual sdcard
 | 
					
						
							|  |  |  | #                 (will be removed in the future)
 | 
					
						
							|  |  |  | #name:
 | 
					
						
							|  |  |  | #   Name of menu item - evaluated as a template.
 | 
					
						
							|  |  |  | #enable:
 | 
					
						
							|  |  |  | #   Template that evaluates to True or False.
 | 
					
						
							|  |  |  | #index:
 | 
					
						
							|  |  |  | #   Position where an item needs to be inserted in list. By default
 | 
					
						
							|  |  |  | #   the item is added at the end.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #[menu some_list]
 | 
					
						
							|  |  |  | #type: list
 | 
					
						
							|  |  |  | #name:
 | 
					
						
							|  |  |  | #enable:
 | 
					
						
							|  |  |  | #   See above for a description of these parameters.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #[menu some_list some_command]
 | 
					
						
							|  |  |  | #type: command
 | 
					
						
							|  |  |  | #name:
 | 
					
						
							|  |  |  | #enable:
 | 
					
						
							|  |  |  | #   See above for a description of these parameters.
 | 
					
						
							|  |  |  | #gcode:
 | 
					
						
							|  |  |  | #   Script to run on button click or long click. Evaluated as a
 | 
					
						
							|  |  |  | #   template.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #[menu some_list some_input]
 | 
					
						
							|  |  |  | #type: input
 | 
					
						
							|  |  |  | #name:
 | 
					
						
							|  |  |  | #enable:
 | 
					
						
							|  |  |  | #   See above for a description of these parameters.
 | 
					
						
							|  |  |  | #input:
 | 
					
						
							|  |  |  | #   Initial value to use when editing - evaluated as a template.
 | 
					
						
							|  |  |  | #   Result must be float.
 | 
					
						
							|  |  |  | #input_min:
 | 
					
						
							|  |  |  | #   Minimum value of range - evaluated as a template. Default -99999.
 | 
					
						
							|  |  |  | #input_max:
 | 
					
						
							|  |  |  | #   Maximum value of range - evaluated as a template. Default 99999.
 | 
					
						
							|  |  |  | #input_step:
 | 
					
						
							|  |  |  | #   Editing step - Must be a positive integer or float value. It has
 | 
					
						
							|  |  |  | #   internal fast rate step. When "(input_max - input_min) /
 | 
					
						
							|  |  |  | #   input_step > 100" then fast rate step is 10 * input_step else fast
 | 
					
						
							|  |  |  | #   rate step is same input_step.
 | 
					
						
							|  |  |  | #realtime:
 | 
					
						
							|  |  |  | #   This attribute accepts static boolean value. When enabled then
 | 
					
						
							|  |  |  | #   gcode script is run after each value change. The default is False.
 | 
					
						
							|  |  |  | #gcode:
 | 
					
						
							|  |  |  | #   Script to run on button click, long click or value change.
 | 
					
						
							|  |  |  | #   Evaluated as a template. The button click will trigger the edit
 | 
					
						
							|  |  |  | #   mode start or end.
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-06-07 16:25:19 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | # Filament sensors
 | 
					
						
							| 
									
										
										
										
											2020-03-04 12:31:09 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [filament_switch_sensor]
 | 
					
						
							| 
									
										
										
										
											2019-02-09 19:40:03 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Filament Switch Sensor. Support for filament insert and runout | 
					
						
							|  |  |  | detection using a switch sensor, such as an endstop switch. | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the [command reference](G-Codes.md#filament-sensor) for more | 
					
						
							|  |  |  | information. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [filament_switch_sensor my_sensor] | 
					
						
							| 
									
										
										
										
											2019-02-09 19:40:03 -05:00
										 |  |  | #pause_on_runout: True
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 19:40:03 -05:00
										 |  |  | #runout_gcode:
 | 
					
						
							| 
									
										
										
										
											2019-06-07 11:57:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 19:40:03 -05:00
										 |  |  | #insert_gcode:
 | 
					
						
							| 
									
										
										
										
											2019-06-07 11:57:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 19:40:03 -05:00
										 |  |  | #event_delay: 3.0
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2019-09-07 08:33:44 -04:00
										 |  |  | #pause_delay: 0.5
 | 
					
						
							|  |  |  | #   The amount of time to delay, in seconds, between the pause command
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   dispatch and execution of the runout_gcode. It may be useful to
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   increase this delay if OctoPrint exhibits strange pause behavior.
 | 
					
						
							| 
									
										
										
										
											2019-09-07 08:33:44 -04:00
										 |  |  | #   Default is 0.5 seconds.
 | 
					
						
							| 
									
										
										
										
											2019-02-09 19:40:03 -05:00
										 |  |  | #switch_pin:
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | #   The pin on which the switch is connected. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [tsl1401cl_filament_width_sensor]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | TSLl401CL Based Filament Width Sensor. See the | 
					
						
							|  |  |  | [guide](TSL1401CL_Filament_Width_Sensor.md) for more information. | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [tsl1401cl_filament_width_sensor] | 
					
						
							|  |  |  | #pin:
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | #default_nominal_filament_diameter: 1.75 # (mm)
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Maximum allowed filament diameter difference as mm.
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | #max_difference: 0.2
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   The distance from sensor to the melting chamber as mm.
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | #measurement_delay: 100
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [hall_filament_width_sensor]
 | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | Hall filament width sensor (see | 
					
						
							|  |  |  | [Hall Filament Width Sensor](HallFilamentWidthSensor.md)). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | [hall_filament_width_sensor] | 
					
						
							|  |  |  | adc1: | 
					
						
							|  |  |  | adc2: | 
					
						
							| 
									
										
										
										
											2020-02-04 14:15:30 +02:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-06-16 20:36:49 +03:00
										 |  |  | #logging: False
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   Out diameter to terminal and klipper.log can be turn on|of by
 | 
					
						
							|  |  |  | #   command.
 | 
					
						
							|  |  |  | #min_diameter: 1.0
 | 
					
						
							|  |  |  | #   Minimal diameter for trigger virtual filament_switch_sensor.
 | 
					
						
							| 
									
										
										
										
											2020-06-06 20:19:00 +02:00
										 |  |  | #use_current_dia_while_delay: False
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   Use the current diameter instead of the nominal diameter while
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   the measurement delay has not run through.
 | 
					
						
							|  |  |  | #pause_on_runout:
 | 
					
						
							| 
									
										
										
										
											2020-03-02 05:05:12 +02:00
										 |  |  | #runout_gcode:
 | 
					
						
							|  |  |  | #insert_gcode:
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #event_delay:
 | 
					
						
							|  |  |  | #pause_delay:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   See the "filament_switch_sensor" section for a description of the
 | 
					
						
							|  |  |  | #   above parameters.
 | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-03-22 20:44:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | # Board specific hardware support
 | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [sx1509]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the | 
					
						
							|  |  |  | [generic-duet2-duex.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/generic-duet2-duex.cfg) | 
					
						
							|  |  |  | file for an example. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [sx1509 my_sx1509] | 
					
						
							|  |  |  | i2c_address: | 
					
						
							| 
									
										
										
										
											2020-10-12 11:00:54 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #i2c_mcu: mcu
 | 
					
						
							|  |  |  | #   The name of the micro-controller that the SX1509 chip is connected
 | 
					
						
							|  |  |  | #   to. The default is "mcu".
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #i2c_bus:
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | #   If the I2C implementation of your micro-controller supports
 | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   multiple I2C busses, you may specify the bus name here. The
 | 
					
						
							|  |  |  | #   default is to use the default micro-controller i2c bus.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-03-22 20:48:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [samd_sercom]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | clk_pin: | 
					
						
							| 
									
										
										
										
											2019-09-13 15:14:13 -04:00
										 |  |  | #   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.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2019-03-22 20:48:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ## [adc_scaled]
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Duet2 Maestro analog scaling by vref and vssa readings. Defining an | 
					
						
							|  |  |  | adc_scaled section enables virtual adc pins (such as "my_name:PB0") | 
					
						
							|  |  |  | that are automatically adjusted by the board's vref and vssa | 
					
						
							|  |  |  | monitoring pins. Be sure to define this config section above any | 
					
						
							|  |  |  | config sections that use one these virtual pins. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | See the | 
					
						
							|  |  |  | [generic-duet2-maestro.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/generic-duet2-maestro.cfg) | 
					
						
							|  |  |  | file for an example. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | [adc_scaled my_name] | 
					
						
							|  |  |  | vref_pin: | 
					
						
							| 
									
										
										
										
											2020-09-09 21:32:03 -04:00
										 |  |  | #   The ADC pin to use for VREF monitoring. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | vssa_pin: | 
					
						
							| 
									
										
										
										
											2020-09-09 21:32:03 -04:00
										 |  |  | #   The ADC pin to use for VSSA monitoring. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							|  |  |  | #smooth_time: 2.0
 | 
					
						
							|  |  |  | #   A time value (in seconds) over which the vref and vssa
 | 
					
						
							|  |  |  | #   measurements will be smoothed to reduce the impact of measurement
 | 
					
						
							|  |  |  | #   noise. The default is 2 seconds.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## [replicape]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-20 13:25:26 -05:00
										 |  |  | Replicape support - see the [beaglebone guide](beaglebone.md) and the | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | [generic-replicape.cfg](https://github.com/KevinOConnor/klipper/tree/master/config/generic-replicape.cfg) | 
					
						
							| 
									
										
										
										
											2020-11-20 11:57:18 -05:00
										 |  |  | file for an example. | 
					
						
							| 
									
										
										
										
											2020-09-09 21:32:03 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2020-11-20 11:57:18 -05:00
										 |  |  | # The "replicape" config section adds "replicape:stepper_x_enable"
 | 
					
						
							|  |  |  | # virtual stepper enable pins (for steppers x, y, z, e, and h) and
 | 
					
						
							|  |  |  | # "replicape:power_x" PWM output pins (for hotbed, e, h, fan0, fan1,
 | 
					
						
							|  |  |  | # fan2, and fan3) that may then be used elsewhere in the config file.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | [replicape] | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | revision: | 
					
						
							| 
									
										
										
										
											2020-11-20 11:57:18 -05:00
										 |  |  | #   The replicape hardware revision. Currently only revision "B3" is
 | 
					
						
							|  |  |  | #   supported. This parameter must be provided.
 | 
					
						
							|  |  |  | #enable_pin: !P9_41
 | 
					
						
							|  |  |  | #   The replicape global enable pin. The default is !P9_41.
 | 
					
						
							| 
									
										
										
										
											2020-12-02 08:44:37 -05:00
										 |  |  | host_mcu: | 
					
						
							| 
									
										
										
										
											2020-11-20 11:57:18 -05:00
										 |  |  | #   The name of the mcu config section that communicates with the
 | 
					
						
							|  |  |  | #   Klipper "linux process" mcu instance. This parameter must be
 | 
					
						
							|  |  |  | #   provided.
 | 
					
						
							|  |  |  | #standstill_power_down: False
 | 
					
						
							|  |  |  | #   This parameter controls the CFG6_ENN line on all stepper
 | 
					
						
							|  |  |  | #   motors. True sets the enable lines to "open". The default is
 | 
					
						
							|  |  |  | #   False.
 | 
					
						
							|  |  |  | #stepper_x_microstep_mode:
 | 
					
						
							|  |  |  | #stepper_y_microstep_mode:
 | 
					
						
							|  |  |  | #stepper_z_microstep_mode:
 | 
					
						
							|  |  |  | #stepper_e_microstep_mode:
 | 
					
						
							|  |  |  | #stepper_h_microstep_mode:
 | 
					
						
							|  |  |  | #   This parameter controls the CFG1 and CFG2 pins of the given
 | 
					
						
							|  |  |  | #   stepper motor driver. Available options are: disable, 1, 2,
 | 
					
						
							|  |  |  | #   spread2, 4, 16, spread4, spread16, stealth4, and stealth16. The
 | 
					
						
							|  |  |  | #   default is disable.
 | 
					
						
							|  |  |  | #stepper_x_current:
 | 
					
						
							|  |  |  | #stepper_y_current:
 | 
					
						
							|  |  |  | #stepper_z_current:
 | 
					
						
							|  |  |  | #stepper_e_current:
 | 
					
						
							|  |  |  | #stepper_h_current:
 | 
					
						
							|  |  |  | #   The configured maximum current (in Amps) of the stepper motor
 | 
					
						
							|  |  |  | #   driver. This parameter must be provided if the stepper is not in a
 | 
					
						
							|  |  |  | #   disable mode.
 | 
					
						
							|  |  |  | #stepper_x_chopper_off_time_high:
 | 
					
						
							|  |  |  | #stepper_y_chopper_off_time_high:
 | 
					
						
							|  |  |  | #stepper_z_chopper_off_time_high:
 | 
					
						
							|  |  |  | #stepper_e_chopper_off_time_high:
 | 
					
						
							|  |  |  | #stepper_h_chopper_off_time_high:
 | 
					
						
							|  |  |  | #   This parameter controls the CFG0 pin of the stepper motor driver
 | 
					
						
							|  |  |  | #   (True sets CFG0 high, False sets it low). The default is False.
 | 
					
						
							|  |  |  | #stepper_x_chopper_hysteresis_high:
 | 
					
						
							|  |  |  | #stepper_y_chopper_hysteresis_high:
 | 
					
						
							|  |  |  | #stepper_z_chopper_hysteresis_high:
 | 
					
						
							|  |  |  | #stepper_e_chopper_hysteresis_high:
 | 
					
						
							|  |  |  | #stepper_h_chopper_hysteresis_high:
 | 
					
						
							|  |  |  | #   This parameter controls the CFG4 pin of the stepper motor driver
 | 
					
						
							|  |  |  | #   (True sets CFG4 high, False sets it low). The default is False.
 | 
					
						
							|  |  |  | #stepper_x_chopper_blank_time_high:
 | 
					
						
							|  |  |  | #stepper_y_chopper_blank_time_high:
 | 
					
						
							|  |  |  | #stepper_z_chopper_blank_time_high:
 | 
					
						
							|  |  |  | #stepper_e_chopper_blank_time_high:
 | 
					
						
							|  |  |  | #stepper_h_chopper_blank_time_high:
 | 
					
						
							|  |  |  | #   This parameter controls the CFG5 pin of the stepper motor driver
 | 
					
						
							|  |  |  | #   (True sets CFG5 high, False sets it low). The default is True.
 | 
					
						
							| 
									
										
										
										
											2020-11-16 18:47:32 -05:00
										 |  |  | ``` |