aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-09-13 15:14:13 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-09-13 15:32:23 -0400
commit2b3cd8db7f77acbda9104b84194278b392b4f7f4 (patch)
tree6efd2ab0046d6dae41a3b721259bb3c6619af7ae
parentdd46e386288437c532f76e53c1e74c247118eb1c (diff)
downloadkutter-2b3cd8db7f77acbda9104b84194278b392b4f7f4.tar.gz
kutter-2b3cd8db7f77acbda9104b84194278b392b4f7f4.tar.xz
kutter-2b3cd8db7f77acbda9104b84194278b392b4f7f4.zip
config: Move sections around in example-extras.cfg
Move the sections around in example-extras.cfg to try and group like functionality together. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--config/example-extras.cfg1522
1 files changed, 775 insertions, 747 deletions
diff --git a/config/example-extras.cfg b/config/example-extras.cfg
index e3c83186..1ba639c3 100644
--- a/config/example-extras.cfg
+++ b/config/example-extras.cfg
@@ -8,127 +8,9 @@
# any sections using those pins.
-# Z height probe. One may define this section to enable Z height
-# probing hardware. When this section is enabled, PROBE and
-# QUERY_PROBE extended g-code commands become available. The probe
-# section also creates a virtual "probe:z_virtual_endstop" pin. One
-# may set the stepper_z endstop_pin to this virtual pin on cartesian
-# style printers that use the probe in place of a z endstop. If using
-# "probe:z_virtual_endstop" then do not define a position_endstop in
-# the stepper_z config section.
-#[probe]
-#pin: ar15
-# Probe detection pin. This parameter must be provided.
-#x_offset: 0.0
-# The distance (in mm) between the probe and the nozzle along the
-# x-axis. The default is 0.
-#y_offset: 0.0
-# The distance (in mm) between the probe and the nozzle along the
-# y-axis. The default is 0.
-#z_offset:
-# The distance (in mm) between the bed and the nozzle when the probe
-# triggers. This parameter must be provided.
-#speed: 5.0
-# Speed (in mm/s) of the Z axis when probing. The default is 5mm/s.
-#samples: 1
-# The number of times to probe each point. The probed z-values will
-# be averaged. The default is to probe 1 time.
-#sample_retract_dist: 2.0
-# The distance (in mm) to lift the toolhead between each sample (if
-# sampling more than once). The default is 2mm.
-#samples_result: average
-# The calculation method when sampling more than once - either
-# "median" or "average". The default is average.
-#samples_tolerance: 0.100
-# The maximum Z distance (in mm) that a sample may differ from other
-# samples. If this tolerance is exceeded then either an error is
-# reported or the attempt is restarted (see
-# samples_tolerance_retries). The default is 0.100mm.
-#samples_tolerance_retries: 0
-# The number of times to retry if a sample is found that exceeds
-# samples_tolerance. On a retry, all current samples are discarded
-# and the probe attempt is restarted. If a valid set of samples are
-# not obtained in the given number of retries then an error is
-# reported. The default is zero which causes an error to be reported
-# on the first sample that exceeds samples_tolerance.
-#activate_gcode:
-# A list of G-Code commands to execute prior to each probe attempt.
-# See docs/Command_Templates.md for G-Code format. This may be
-# useful if the probe needs to be activated in some way. Do not
-# issue any commands here that move the toolhead (eg, G1). The
-# default is to not run any special G-Code commands on activation.
-#deactivate_gcode:
-# A list of G-Code commands to execute after each probe attempt
-# completes. See docs/Command_Templates.md for G-Code format. Do not
-# issue any commands here that move the toolhead. The default is to
-# not run any special G-Code commands on deactivation.
-
-
-# BLTouch probe. One may define this section (instead of a probe
-# section) to enable a BLTouch probe. (Note! This bltouch module may
-# not work correctly with some BLTouch "clones"!) A virtual
-# "probe:z_virtual_endstop" pin is also created (see the "probe"
-# section above for the details).
-#[bltouch]
-#sensor_pin:
-# Pin connected to the BLTouch sensor pin. This parameter must be
-# provided.
-#control_pin:
-# Pin connected to the BLTouch control pin. This parameter must be
-# provided.
-#pin_move_time: 0.675
-# The amount of time (in seconds) to wait for the BLTouch pin to
-# move up or down. The default is 0.675 seconds.
-#pin_up_reports_not_triggered: True
-# Set if the BLTouch consistently reports the probe in a "not
-# triggered" state after a successful "pin_up" command. This should
-# be True for a genuine BLTouch; some BLTouch clones may require
-# False. The default is True.
-#pin_up_touch_mode_reports_triggered: True
-# Set if the BLTouch consistently reports a "triggered" state after
-# the commands "pin_up" followed by "touch_mode". This should be
-# True for a genuine BLTouch v2 and earlier; the BLTouch v3 and some
-# BLTouch clones require False. The default is True.
-#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.
-
-
-# Bed tilt compensation. One may define a [bed_tilt] config section to
-# enable move transformations that account for a tilted bed.
-#[bed_tilt]
-#x_adjust: 0
-# The amount to add to each move's Z height for each mm on the X
-# axis. The default is 0.
-#y_adjust: 0
-# The amount to add to each move's Z height for each mm on the Y
-# axis. The default is 0.
-#z_adjust: 0
-# The amount to add to the Z height when the nozzle is nominally at
-# 0,0. The default is 0.
-# The remaining parameters control a BED_TILT_CALIBRATE extended
-# g-code command that may be used to calibrate appropriate x and y
-# adjustment parameters.
-#points:
-# A list of X,Y coordinates (one per line; subsequent lines
-# indented) that should be probed during a BED_TILT_CALIBRATE
-# command. Specify coordinates of the nozzle and be sure the probe
-# is above the bed at the given nozzle coordinates. The default is
-# to not enable the command.
-#speed: 50
-# The speed (in mm/s) of non-probing moves during the calibration.
-# The default is 50.
-#horizontal_move_z: 5
-# The height (in mm) that the head should be commanded to move to
-# just prior to starting a probe operation. The default is 5.
-
+######################################################################
+# Bed leveling support
+######################################################################
# Mesh Bed Leveling. One may define a [bed_mesh] config section
# to enable move transformations that offset the z axis based
@@ -229,6 +111,33 @@
# this parameter produces a mesh relative to the probed z position
# at the provided index.
+# Bed tilt compensation. One may define a [bed_tilt] config section to
+# enable move transformations that account for a tilted bed.
+#[bed_tilt]
+#x_adjust: 0
+# The amount to add to each move's Z height for each mm on the X
+# axis. The default is 0.
+#y_adjust: 0
+# The amount to add to each move's Z height for each mm on the Y
+# axis. The default is 0.
+#z_adjust: 0
+# The amount to add to the Z height when the nozzle is nominally at
+# 0,0. The default is 0.
+# The remaining parameters control a BED_TILT_CALIBRATE extended
+# g-code command that may be used to calibrate appropriate x and y
+# adjustment parameters.
+#points:
+# A list of X,Y coordinates (one per line; subsequent lines
+# indented) that should be probed during a BED_TILT_CALIBRATE
+# command. Specify coordinates of the nozzle and be sure the probe
+# is above the bed at the given nozzle coordinates. The default is
+# to not enable the command.
+#speed: 50
+# The speed (in mm/s) of non-probing moves during the calibration.
+# The default is 50.
+#horizontal_move_z: 5
+# The height (in mm) that the head should be commanded to move to
+# just prior to starting a probe operation. The default is 5.
# Tool to help adjust bed leveling screws. One may define a
# [bed_screws] config section to enable a BED_SCREWS_ADJUST g-code
@@ -334,7 +243,6 @@
# minimum value for the range of probed points which you can learn by observing
# command output.
-
# Moving gantry leveling using 4 independently controlled Z motors.
# Corrects hyperbolic parabola effects (potato chip) on moving gantry
# which is more flexible.
@@ -379,7 +287,6 @@
# if retries are enabled then retry if largest and smallest probed points
# differ more than retry_tolerance
-
# Printer Skew Correction. It is possible to use software to correct
# printer skew across 3 planes, xy, xz, yz. This is done by printing
# a calibration model along a plane and measuring three lengths. Due
@@ -389,6 +296,363 @@
#[skew_correction]
+######################################################################
+# Customized homing
+######################################################################
+
+# Safe Z homing. One may use this mechanism to home the Z axis at a
+# specific XY coordinate. This is useful if the toolhead, for example
+# has to move to the center of the bed before Z can be homed.
+#[safe_z_home]
+#home_xy_position:
+# A X,Y coordinate (e.g. 100,100) where the Z homing should be
+# performed. This parameter must be provided.
+#speed: 50.0
+# Speed at which the toolhead is moved to the safe Z home coordinate.
+# The default is 50 mm/s
+#z_hop: 0.0
+# 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 zhop would exceed the printer limits, the zhop is ignored.
+# The default is 0.0mm.
+#z_hop_speed: 20.0
+# Speed at which the Z axis is lifted prior to homing. The default is 20mm/s.
+
+# Homing override. One may use this mechanism to run a series of
+# g-code commands in place of a G28 found in the normal g-code input.
+# This may be useful on printers that require a specific procedure to
+# home the machine.
+#[homing_override]
+#gcode:
+# A list of G-Code commands to execute in place of G28 commands
+# found in the normal g-code input. See docs/Command_Templates.md
+# for G-Code format. If a G28 is contained in this list of commands
+# then it will invoke the normal homing procedure for the printer.
+# The commands listed here must home all axes. This parameter must
+# be provided.
+#axes: xyz
+# The axes to override. For example, if this is set to "z" then the
+# override script will only be run when the z axis is homed (eg, via
+# a "G28" or "G28 Z0" command). Note, the override script should
+# still home all axes. The default is "xyz" which causes the
+# override script to be run in place of all G28 commands.
+#set_position_x:
+#set_position_y:
+#set_position_z:
+# If specified, the printer will assume the axis is at the specified
+# position prior to running the above g-code commands. Setting this
+# disables homing checks for that axis. This may be useful if the
+# head must move prior to invoking the normal G28 mechanism for an
+# axis. The default is to not force a position for an axis.
+
+# Stepper phase adjusted endstops. To use this feature, define a
+# config section with an "endstop_phase" prefix followed by the name
+# of the corresponding stepper config section (for example,
+# "[endstop_phase stepper_z]"). This feature can improve the accuracy
+# of endstop switches. Add a bare "[endstop_phase]" declaration to
+# enable the ENDSTOP_PHASE_CALIBRATE command.
+#[endstop_phase stepper_z]
+#phases:
+# This specifies the number of phases of the given stepper motor
+# driver (which is the number of micro-steps multiplied by four).
+# This setting is automatically determined if one uses a TMC driver
+# with run-time configuration. Otherwise, this parameter must be
+# provided.
+#endstop_accuracy: 0.200
+# Sets the expected accuracy (in mm) of the endstop. This represents
+# the maximum error distance the endstop may trigger (eg, if an
+# endstop may occasionally trigger 100um early or up to 100um late
+# then set this to 0.200 for 200um). The default is
+# phases*step_distance.
+#endstop_phase:
+# This specifies the phase of the stepper motor driver to expect
+# when hitting the endstop. Only set this value if one is sure the
+# stepper motor driver is reset every time the mcu is reset. If this
+# is not set, then the stepper phase will be detected on the first
+# home and that phase will be used on all subsequent homes.
+#endstop_align_zero: False
+# If true then the position_endstop of the axis will effectively be
+# modified so that the zero position for the axis occurs at a full
+# step on the stepper motor. (If used on the Z axis and the print
+# layer height is a multiple of a full step distance then every
+# layer will occur on a full step.) The default is False.
+
+
+######################################################################
+# G-Code macros and events
+######################################################################
+
+# G-Code macros (one may define any number of sections with a
+# "gcode_macro" prefix).
+#[gcode_macro my_cmd]
+#gcode:
+# A list of G-Code commands to execute in place of "my_cmd". See
+# docs/Command_Templates.md for G-Code format. This parameter must
+# be provided.
+#default_parameter_<parameter>:
+# One may define any number of options with a "default_parameter_"
+# prefix. Use this to define default values for g-code parameters.
+# For example, if one were to define the macro MY_DELAY with gcode
+# "G4 P{DELAY}" along with "default_parameter_DELAY = 50" then the
+# command "MY_DELAY" would evaluate to "G4 P50". The default is to
+# require that all parameters used in the gcode script be present in
+# the command invoking the macro.
+#variable_<name>:
+# One may specify any number of options with a "variable_" prefix.
+# The given variable name will be assigned the given value (parsed
+# as a Python literal) and will be available during macro expansion.
+# For example, a config with "variable_fan_speed = 75" might have
+# gcode commands containing "M106 S{ fan_speed * 255 }". Variables
+# can be changed at run-time using the SET_GCODE_VARIABLE command.
+
+# Execute a gcode on a set delay.
+#[delayed_gcode my_delayed_gcode]
+#initial_duration: 0.
+# The duration of the initial delay (in seconds). If set to a non-zero
+# value the delayed_gcode will execute the specified number of seconds
+# after the printer enters the "ready" state. This can be useful for
+# initialization procedures or a repeating delayed_gcode. If set to 0
+# the delayed_gcode will not execute on startup. Default is 0.
+#gcode:
+# A list of G-Code commands to execute when the delay duration has
+# elapsed. G-Code templates are supported. This parameter must be
+# provided.
+
+# Idle timeout. An idle timeout is automatically enabled - add an
+# explicit idle_timeout config section to change the default settings.
+#[idle_timeout]
+#gcode:
+# A list of G-Code commands to execute on an idle timeout. See
+# docs/Command_Templates.md for G-Code format. The default is to run
+# "TURN_OFF_HEATERS" and "M84".
+#timeout: 600
+# Idle time (in seconds) to wait before running the above G-Code
+# commands. The default is 600 seconds.
+
+
+######################################################################
+# Optional G-Code features
+######################################################################
+
+# A virtual sdcard may be useful if the host machine is not fast
+# enough to run OctoPrint well. It allows the Klipper host software to
+# directly print gcode files stored in a directory on the host using
+# standard sdcard G-Code commands (eg, M24).
+#[virtual_sdcard]
+#path: ~/.octoprint/uploads/
+# The path of the local directory on the host machine to look for
+# g-code files. This is a read-only directory (sdcard file writes
+# are not supported). One may point this to OctoPrint's upload
+# directory (generally ~/.octoprint/uploads/ ). This parameter must
+# be provided.
+
+# Support manually moving stepper motors for diagnostic purposes.
+# Note, using this feature may place the printer in an invalid state -
+# see docs/G-Codes.md for important details.
+#[force_move]
+#enable_force_move: False
+# Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION
+# extended G-Code commands. The default is false.
+
+# Pause/Resume functionality with support of position capture and restore
+#[pause_resume]
+#recover_velocity: 50.
+# When capture/restore is enabled, the speed at which to return to
+# the captured position (in mm/s). Default is 50.0 mm/s.
+
+# Firmware filament retraction. This enables G10 (retract) and G11
+# (unretract) GCODE commands issued by many slicers. The parameters
+# below provide startup defaults, although the values can be adjusted
+# via the SET_RETRACTION command, allowing per-filament settings and
+# runtime tuning.
+#[firmware_retraction]
+#retract_length: 0
+# The length of filament (in mm) to retract when G10 is activated, and to
+# unretract when G11 is activated (but see unretract_extra_length below).
+# The default is 0 mm.
+#retract_speed: 20
+# The speed of retraction, in mm/s. The default is 20 mm/s.
+#unretract_extra_length: 0
+# The length (in mm) of *additional* filament to add when unretracting.
+#unretract_speed: 10
+# The speed of unretraction, in mm/s. The default is 10 mm/s.
+
+# enables arc (G2/G3) commands. Only IJ version is supported
+# example: "G2 X125 Y32 Z10 E5 I10.5 J10.5"
+#[gcode_arcs]
+#resolution: 1.0
+# An Arc will be split in segments. Each segment will in x mm set here.
+# Lower values will producse a finer arc, but also more to do for
+# your machine. This also means that arcs smaller then this value
+# will be a line only
+
+# Enable the "M118" and "RESPOND" extended commands.
+# [respond]
+# default_type: echo
+# Sets the default prefix of the "M118" and "RESPOND" output to one of
+# the following:
+# echo: "echo: " (This is the default)
+# command: "// "
+# error: "!! "
+# default_prefix: echo:
+# Directly sets the default prefix. If present, this value will override
+# the "default_type".
+
+
+######################################################################
+# Config file helpers
+######################################################################
+
+# Board pin aliases. One may define aliases for the pins on a
+# micro-controller. (If a micro-controller name is omitted in the
+# board_pins config section name then it defaults to "mcu".)
+#[board_pins mcu]
+#aliases:
+# A comma separated list of "name=value" aliases to create for the
+# given micro-controller. For example, "EXP1_1=PE6" would create an
+# "EXP1_1" alias for the "PE6" pin. However, if "value" is enclosed
+# in "<>" then "name" is created as a reserved pin (for example,
+# "EXP1_9=<GND>" would reserve "EXP1_9"). This parameter must be
+# provided.
+
+# Include file support. One may include additional config file from
+# the main printer config file. Wildcards may also be used (eg,
+# "configs/*.cfg").
+#[include my_other_config.cfg]
+
+
+######################################################################
+# Bed probing hardware
+######################################################################
+
+# Z height probe. One may define this section to enable Z height
+# probing hardware. When this section is enabled, PROBE and
+# QUERY_PROBE extended g-code commands become available. The probe
+# section also creates a virtual "probe:z_virtual_endstop" pin. One
+# may set the stepper_z endstop_pin to this virtual pin on cartesian
+# style printers that use the probe in place of a z endstop. If using
+# "probe:z_virtual_endstop" then do not define a position_endstop in
+# the stepper_z config section.
+#[probe]
+#pin: ar15
+# Probe detection pin. This parameter must be provided.
+#x_offset: 0.0
+# The distance (in mm) between the probe and the nozzle along the
+# x-axis. The default is 0.
+#y_offset: 0.0
+# The distance (in mm) between the probe and the nozzle along the
+# y-axis. The default is 0.
+#z_offset:
+# The distance (in mm) between the bed and the nozzle when the probe
+# triggers. This parameter must be provided.
+#speed: 5.0
+# Speed (in mm/s) of the Z axis when probing. The default is 5mm/s.
+#samples: 1
+# The number of times to probe each point. The probed z-values will
+# be averaged. The default is to probe 1 time.
+#sample_retract_dist: 2.0
+# The distance (in mm) to lift the toolhead between each sample (if
+# sampling more than once). The default is 2mm.
+#samples_result: average
+# The calculation method when sampling more than once - either
+# "median" or "average". The default is average.
+#samples_tolerance: 0.100
+# The maximum Z distance (in mm) that a sample may differ from other
+# samples. If this tolerance is exceeded then either an error is
+# reported or the attempt is restarted (see
+# samples_tolerance_retries). The default is 0.100mm.
+#samples_tolerance_retries: 0
+# The number of times to retry if a sample is found that exceeds
+# samples_tolerance. On a retry, all current samples are discarded
+# and the probe attempt is restarted. If a valid set of samples are
+# not obtained in the given number of retries then an error is
+# reported. The default is zero which causes an error to be reported
+# on the first sample that exceeds samples_tolerance.
+#activate_gcode:
+# A list of G-Code commands to execute prior to each probe attempt.
+# See docs/Command_Templates.md for G-Code format. This may be
+# useful if the probe needs to be activated in some way. Do not
+# issue any commands here that move the toolhead (eg, G1). The
+# default is to not run any special G-Code commands on activation.
+#deactivate_gcode:
+# A list of G-Code commands to execute after each probe attempt
+# completes. See docs/Command_Templates.md for G-Code format. Do not
+# issue any commands here that move the toolhead. The default is to
+# not run any special G-Code commands on deactivation.
+
+# BLTouch probe. One may define this section (instead of a probe
+# section) to enable a BLTouch probe. (Note! This bltouch module may
+# not work correctly with some BLTouch "clones"!) A virtual
+# "probe:z_virtual_endstop" pin is also created (see the "probe"
+# section above for the details).
+#[bltouch]
+#sensor_pin:
+# Pin connected to the BLTouch sensor pin. This parameter must be
+# provided.
+#control_pin:
+# Pin connected to the BLTouch control pin. This parameter must be
+# provided.
+#pin_move_time: 0.675
+# The amount of time (in seconds) to wait for the BLTouch pin to
+# move up or down. The default is 0.675 seconds.
+#pin_up_reports_not_triggered: True
+# Set if the BLTouch consistently reports the probe in a "not
+# triggered" state after a successful "pin_up" command. This should
+# be True for a genuine BLTouch; some BLTouch clones may require
+# False. The default is True.
+#pin_up_touch_mode_reports_triggered: True
+# Set if the BLTouch consistently reports a "triggered" state after
+# the commands "pin_up" followed by "touch_mode". This should be
+# True for a genuine BLTouch v2 and earlier; the BLTouch v3 and some
+# BLTouch clones require False. The default is True.
+#x_offset:
+#y_offset:
+#z_offset:
+#speed:
+#samples:
+#sample_retract_dist:
+#samples_result:
+#samples_tolerance:
+#samples_tolerance_retries:
+# See the "probe" section for information on these parameters.
+
+
+######################################################################
+# Additional micro-controllers
+######################################################################
+
+# Additional micro-controllers (one may define any number of sections
+# with an "mcu" prefix). Additional micro-controllers introduce
+# additional pins that may be configured as heaters, steppers, fans,
+# etc.. For example, if an "[mcu extra_mcu]" section is introduced,
+# then pins such as "extra_mcu:ar9" may then be used elsewhere in the
+# config (where "ar9" is a hardware pin name or alias name on the
+# given mcu).
+#[mcu my_extra_mcu]
+# See the "mcu" section in example.cfg for configuration parameters.
+
+
+######################################################################
+# Additional stepper motors and extruders
+######################################################################
+
+# Multi-stepper axes. On a cartesian style printer, the stepper
+# controlling a given axis may have additional config blocks defining
+# steppers that should be stepped in concert with the primary
+# stepper. One may define any number of sections with a numeric suffix
+# starting at 1 (for example, "stepper_z1", "stepper_z2", etc.).
+#[stepper_z1]
+#step_pin: ar36
+#dir_pin: ar34
+#enable_pin: !ar30
+#step_distance: .005
+# See the example.cfg for the definition of the above parameters.
+#endstop_pin: ^ar19
+# If an endstop_pin is defined for the additional stepper then the
+# stepper will home until the endstop is triggered. Otherwise, the
+# stepper will home until the endstop on the primary stepper for the
+# axis is triggered.
+
# In a multi-extruder printer add an additional extruder section for
# each additional extruder. The additional extruder sections should be
# named "extruder1", "extruder2", "extruder3", and so on. See the
@@ -419,7 +683,6 @@
# to define this section on multi-extruder printers. The default is
# to not run any special G-Code commands on activation.
-
# 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
@@ -443,6 +706,37 @@
#position_max:
# See the example.cfg for the definition of the above parameters.
+# Manual steppers (one may define any number of sections with a
+# "manual_stepper" prefix). These are steppers that are controlled by
+# the MANUAL_STEPPER g-code command. For example: "MANUAL_STEPPER
+# STEPPER=my_stepper MOVE=10 SPEED=5". See the docs/G-Codes.md file
+# for a description of the MANUAL_STEPPER command. The steppers are
+# not connected to the normal printer kinematics.
+#[manual_stepper my_stepper]
+#step_pin:
+#dir_pin:
+#enable_pin:
+#step_distance:
+# See the "[stepper_x]" section in example.cfg for a description of
+# these parameters.
+#velocity:
+# Set the default velocity (in mm/s) for the stepper. This value
+# will be used if a MANUAL_STEPPER command does not specify a SPEED
+# parameter. The default is 5mm/s.
+#accel:
+# Set the default acceleration (in mm/s^2) for the stepper. An
+# acceleration of zero will result in no acceleration. This value
+# will be used if a MANUAL_STEPPER command does not specify an ACCEL
+# parameter. The default is zero.
+#endstop_pin:
+# Endstop switch detection pin. If specified, then one may perform
+# "homing moves" by adding a STOP_ON_ENDSTOP parameter to
+# MANUAL_STEPPER movement commands.
+
+
+######################################################################
+# Heaters and temperature sensors
+######################################################################
# Heater and temperature sensor verification. Heater verification is
# automatically enabled for each heater that is configured on the
@@ -477,69 +771,142 @@
# by during the check_gain_time check. It is rare to customize this
# value. The default is 2.
+# Custom thermistors (one may define any number of sections with a
+# "thermistor" prefix). A custom thermistor may be used in the
+# sensor_type field of a heater config section. (For example, if one
+# defines a "[thermistor my_thermistor]" section then one may use a
+# "sensor_type: my_thermistor" when defining a heater.) Be sure to
+# place the thermistor section in the config file above its first use
+# in a heater section.
+#[thermistor my_thermistor]
+#temperature1:
+#resistance1:
+#temperature2:
+#resistance2:
+#temperature3:
+#resistance3:
+# Three resistance measurements (in Ohms) at the given temperatures
+# (in Celsius). The three measurements will be used to calculate the
+# Steinhart-Hart coefficients for the thermistor. These parameters
+# must be provided when using Steinhart-Hart to define the
+# thermistor.
+#beta:
+# Alternatively, one may define temperature1, resistance1, and beta
+# to define the thermistor parameters. This parameter must be
+# provided when using "beta" to define the thermistor.
-# Idle timeout. An idle timeout is automatically enabled - add an
-# explicit idle_timeout config section to change the default settings.
-#[idle_timeout]
-#gcode:
-# A list of G-Code commands to execute on an idle timeout. See
-# docs/Command_Templates.md for G-Code format. The default is to run
-# "TURN_OFF_HEATERS" and "M84".
-#timeout: 600
-# Idle time (in seconds) to wait before running the above G-Code
-# commands. The default is 600 seconds.
+# Custom ADC temperature sensors (one may define any number of
+# sections with an "adc_temperature" prefix). This allows one to
+# define a custom temperature sensor that measures a voltage on an
+# Analog to Digital Converter (ADC) pin and uses linear interpolation
+# between a set of configured temperature/voltage (or
+# temperature/resistance) measurements to determine the
+# temperature. The resulting sensor can be used as a sensor_type in a
+# heater section. (For example, if one defines a "[adc_temperature
+# my_sensor]" section then one may use a "sensor_type: my_sensor" when
+# defining a heater.) Be sure to place the sensor section in the
+# config file above its first use in a heater section.
+#[adc_temperature my_sensor]
+#temperature1:
+#voltage1:
+#temperature2:
+#voltage2:
+#...
+# A set of temperatures (in Celsius) and voltages (in Volts) to use
+# as reference when converting a temperature. A heater section using
+# this sensor may also specify an adc_voltage parameter to define
+# the ADC comparison voltage (see example.cfg for details). At least
+# two measurements must be provided.
+#temperature1:
+#resistance1:
+#temperature2:
+#resistance2:
+#...
+# Alternatively one may specify a set of temperatures (in Celsius)
+# and resistance (in Ohms) to use as reference when converting a
+# temperature. A heater section using this sensor may also specify a
+# pullup_resistor parameter (see example.cfg for details). At least
+# two measurements must be provided.
+# MAXxxxxx serial peripheral interface (SPI) temperature based
+# sensors. The following parameters are available in heater sections
+# that use one of these sensor types.
+#[extruder]
+# See the "extruder" section in example.cfg for a description of
+# heater parameters. The parameters below describe sensor parameters.
+#sensor_type:
+# One of "MAX6675", "MAX31855", "MAX31856", or "MAX31865".
+#spi_speed: 4000000
+# The SPI speed (in hz) to use when communicating with the chip.
+# The default is 4000000.
+#spi_bus:
+#spi_software_sclk_pin:
+#spi_software_mosi_pin:
+#spi_software_miso_pin:
+# These optional parameters allow one to customize the SPI settings
+# used to communicate with the chip.
+#sensor_pin:
+# The chip select line for the sensor chip. This parameter must be
+# provided.
+#tc_type: K
+#tc_use_50Hz_filter: False
+#tc_averaging_count: 1
+# The above parameters control the sensor parameters of MAX31856
+# chips. The defaults for each parameter are next to the parameter
+# name in the above list.
+#rtd_nominal_r: 100
+#rtd_reference_r: 430
+#rtd_num_of_wires: 2
+#rtd_use_50Hz_filter: False
+# The above parameters control the sensor parameters of MAX31865
+# chips. The defaults for each parameter are next to the parameter
+# name in the above list.
-# Multi-stepper axes. On a cartesian style printer, the stepper
-# controlling a given axis may have additional config blocks defining
-# steppers that should be stepped in concert with the primary
-# stepper. One may define any number of sections with a numeric suffix
-# starting at 1 (for example, "stepper_z1", "stepper_z2", etc.).
-#[stepper_z1]
-#step_pin: ar36
-#dir_pin: ar34
-#enable_pin: !ar30
-#step_distance: .005
-# See the example.cfg for the definition of the above parameters.
-#endstop_pin: ^ar19
-# If an endstop_pin is defined for the additional stepper then the
-# stepper will home until the endstop is triggered. Otherwise, the
-# stepper will home until the endstop on the primary stepper for the
-# axis is triggered.
+# The heater_generic section is used to describe a custom/generic heater.
+# These behave the same as typical heaters (extruders, heated beds) and
+# can be configured as similarly.
+# However, a gcode_id must be supplied which is used for temperature reporting.
+# See notes on the SET_HEATER_TEMPERATURE command for setting the temperature.
+#[heater_generic my_generic_heater]
+#gcode_id: C
+# A mandatory parameter that is required for reporting the temperature
+# through the M105 command.
+#heater_pin:
+#max_power:
+#sensor_type:
+#sensor_pin:
+#pullup_resistor:
+#adc_voltage:
+#smooth_time:
+#control:
+#pid_Kp:
+#pid_Ki:
+#pid_Kd:
+#pid_integral_max:
+#pwm_cycle_time:
+#min_extrude_temp:
+#min_temp:
+#max_temp:
+# See the heater section in example.cfg for the definition of the
+# above parameters.
+# Temperature sensors. One can define any number of temperature
+# sensors. Their values are reported via the M105 command.
+#[temperature_sensor my_sensor]
+#sensor_type:
+#sensor_pin:
+#min_temp:
+#max_temp:
+# See the heater section in example.cfg for the definition of the
+# above parameters.
+#gcode_id:
+# See the heater_generic section above for the definition of this
+# parameter.
-# Stepper phase adjusted endstops. To use this feature, define a
-# config section with an "endstop_phase" prefix followed by the name
-# of the corresponding stepper config section (for example,
-# "[endstop_phase stepper_z]"). This feature can improve the accuracy
-# of endstop switches. Add a bare "[endstop_phase]" declaration to
-# enable the ENDSTOP_PHASE_CALIBRATE command.
-#[endstop_phase stepper_z]
-#phases:
-# This specifies the number of phases of the given stepper motor
-# driver (which is the number of micro-steps multiplied by four).
-# This setting is automatically determined if one uses a TMC driver
-# with run-time configuration. Otherwise, this parameter must be
-# provided.
-#endstop_accuracy: 0.200
-# Sets the expected accuracy (in mm) of the endstop. This represents
-# the maximum error distance the endstop may trigger (eg, if an
-# endstop may occasionally trigger 100um early or up to 100um late
-# then set this to 0.200 for 200um). The default is
-# phases*step_distance.
-#endstop_phase:
-# This specifies the phase of the stepper motor driver to expect
-# when hitting the endstop. Only set this value if one is sure the
-# stepper motor driver is reset every time the mcu is reset. If this
-# is not set, then the stepper phase will be detected on the first
-# home and that phase will be used on all subsequent homes.
-#endstop_align_zero: False
-# If true then the position_endstop of the axis will effectively be
-# modified so that the zero position for the axis occurs at a full
-# step on the stepper motor. (If used on the Z axis and the print
-# layer height is a multiple of a full step distance then every
-# layer will occur on a full step.) The default is False.
+######################################################################
+# Additional fans
+######################################################################
# Heater cooling fans (one may define any number of sections with a
# "heater_fan" prefix). A "heater fan" is a fan that will be enabled
@@ -567,7 +934,6 @@
# will be set to when its associated heater is enabled. The default
# is 1.0
-
# Controller cooling fan (one may define any number of sections with a
# "controller_fan" prefix). A "controller fan" is a fan that will be
# enabled whenever its associated heater or any configured stepper
@@ -598,7 +964,6 @@
# provided here, then the fan will be enabled when any of the given
# heaters are enabled. The default is "extruder".
-
# Temperature-triggered cooling fans (one may define any number of
# sections with a "temperature_fan" prefix). A "temperature fan" is a
# fan that will be enabled whenever its associated sensor is above a
@@ -661,16 +1026,9 @@
# given id. The default is to not report the temperature via M105.
-# Additional micro-controllers (one may define any number of sections
-# with an "mcu" prefix). Additional micro-controllers introduce
-# additional pins that may be configured as heaters, steppers, fans,
-# etc.. For example, if an "[mcu extra_mcu]" section is introduced,
-# then pins such as "extra_mcu:ar9" may then be used elsewhere in the
-# config (where "ar9" is a hardware pin name or alias name on the
-# given mcu).
-#[mcu my_extra_mcu]
-# See the "mcu" section in example.cfg for configuration parameters.
-
+######################################################################
+# Additional servos, LEDs, buttons, and other pins
+######################################################################
# Servos (one may define any number of sections with a "servo"
# prefix). The servos may be controlled using the SET_SERVO g-code
@@ -702,44 +1060,57 @@
# Enable or disable servo. It can be enabled or disabled later using
# SET_SERVO SERVO=my_servo ENABLE=<0|1> g-command. The default is True (=enabled)
-# Statically configured digital output pins (one may define any number
-# of sections with a "static_digital_output" prefix). Pins configured
-# here will be setup as a GPIO output during MCU configuration. They
-# can not be changed at run-time.
-#[static_digital_output my_output_pins]
-#pins:
-# A comma separated list of pins to be set as GPIO output pins. The
-# pin will be set to a high level unless the pin name is prefaced
-# with "!". This parameter must be provided.
-
+# Neopixel (aka WS2812) LED support (one may define any number of
+# sections with a "neopixel" prefix). One may set the LED color via
+# "SET_LED LED=my_neopixel RED=0.1 GREEN=0.1 BLUE=0.1" type extended
+# g-code commands.
+#[neopixel my_neopixel]
+#pin:
+# The pin connected to the neopixel. This parameter must be
+# provided.
+#chain_count:
+# The number of Neopixel chips that are "daisy chained" to the
+# provided pin. The default is 1 (which indices only a single
+# Neopixel is connected to the pin).
+#color_order_GRB: True
+# Set the pixel order to green, red, blue. If using the WS2811 chip
+# (in 800Khz mode) then set this to False. The default is True.
+#initial_RED: 0.0
+#initial_GREEN: 0.0
+#initial_BLUE: 0.0
+# Sets the initial LED color of the Neopixel. Each value should be
+# between 0.0 and 1.0. The default for each color is 0.
-# Manual steppers (one may define any number of sections with a
-# "manual_stepper" prefix). These are steppers that are controlled by
-# the MANUAL_STEPPER g-code command. For example: "MANUAL_STEPPER
-# STEPPER=my_stepper MOVE=10 SPEED=5". See the docs/G-Codes.md file
-# for a description of the MANUAL_STEPPER command. The steppers are
-# not connected to the normal printer kinematics.
-#[manual_stepper my_stepper]
-#step_pin:
-#dir_pin:
-#enable_pin:
-#step_distance:
-# See the "[stepper_x]" section in example.cfg for a description of
-# these parameters.
-#velocity:
-# Set the default velocity (in mm/s) for the stepper. This value
-# will be used if a MANUAL_STEPPER command does not specify a SPEED
-# parameter. The default is 5mm/s.
-#accel:
-# Set the default acceleration (in mm/s^2) for the stepper. An
-# acceleration of zero will result in no acceleration. This value
-# will be used if a MANUAL_STEPPER command does not specify an ACCEL
-# parameter. The default is zero.
-#endstop_pin:
-# Endstop switch detection pin. If specified, then one may perform
-# "homing moves" by adding a STOP_ON_ENDSTOP parameter to
-# MANUAL_STEPPER movement commands.
+# Dotstar (aka APA102) LED support (one may define any number of
+# sections with a "dotstar" prefix). One may set the LED color via
+# "SET_LED LED=my_dotstar RED=0.1 GREEN=0.1 BLUE=0.1" type extended
+# g-code commands.
+#[dotstar my_dotstar]
+#data_pin:
+# The pin connected to the data line of the dotstar. This parameter
+# must be provided.
+#clock_pin:
+# The pin connected to the clock line of the dotstar. This parameter
+# must be provided.
+#chain_count:
+#initial_RED: 0.0
+#initial_GREEN: 0.0
+#initial_BLUE: 0.0
+# See the "neopixel" section for information on these parameters.
+# Execute gcode when a button is pressed or released (or when a pin changes
+# state). You can check the state of the button my using
+# QUERY_BUTTON button=my_gcode_button
+#[gcode_button my_gcode_button]
+#pin:
+# The pin on which the button is connected. This parameter must be
+# provided.
+#press_gcode:
+# A list of G-Code commands to execute when the button is pressed.
+# G-Code templates are supported.
+#release_gcode:
+# A list of G-Code commands to execute when the button is released.
+# G-Code templates are supported.
# Run-time configurable output pins (one may define any number of
# sections with an "output_pin" prefix). Pins configured here will be
@@ -785,6 +1156,15 @@
# amperage for the stepper. The default is to not scale the 'value'
# parameter.
+# Statically configured digital output pins (one may define any number
+# of sections with a "static_digital_output" prefix). Pins configured
+# here will be setup as a GPIO output during MCU configuration. They
+# can not be changed at run-time.
+#[static_digital_output my_output_pins]
+#pins:
+# A comma separated list of pins to be set as GPIO output pins. The
+# pin will be set to a high level unless the pin name is prefaced
+# with "!". This parameter must be provided.
# Multiple pin outputs (one may define any number of sections with a
# "multi_pin" prefix). A multi_pin output creates an internal pin
@@ -799,168 +1179,9 @@
# parameter must be provided.
-# SAMD SERCOM configuration to specify which pins to use on a given SERCOM.
-# One may define one section with the "samd_sercom" prefix per
-# SERCOM available. Each SERCOM must be configured prior to using it as
-# SPI or I2C peripheral. Place this config section above any other section
-# that makes use of SPI or I2C buses.
-#[samd_sercom sercom0]
-#tx_pin:
-# MOSI pin for SPI communication, or SDA (data) pin for I2C
-# communication. The pin must have a valid pinmux configuration
-# for the given SERCOM peripheral. This parameter must be provided.
-#rx_pin:
-# MISO pin for SPI communication. This pin is not used for I2C
-# communication (I2C uses tx_pin for both sending and receiving).
-# The pin must have a valid pinmux configuration for the given
-# SERCOM peripheral. This parameter is optional.
-#clk_pin:
-# CLK pin for SPI communication, or SCL (clock) pin for I2C
-# communication. The pin must have a valid pinmux configuration
-# for the given SERCOM peripheral. This parameter must be provided.
-
-
-# Statically configured AD5206 digipots connected via SPI bus (one may
-# define any number of sections with an "ad5206" prefix).
-#[ad5206 my_digipot]
-#enable_pin:
-# The pin corresponding to the AD5206 chip select line. This pin
-# will be set to low at the start of SPI messages and raised to high
-# after the message completes. This parameter must be provided.
-#spi_bus:
-#spi_speed:
-#spi_software_sclk_pin:
-#spi_software_mosi_pin:
-#spi_software_miso_pin:
-# These optional parameters allow one to customize the SPI settings
-# used to communicate with the chip.
-#channel_1:
-#channel_2:
-#channel_3:
-#channel_4:
-#channel_5:
-#channel_6:
-# The value to statically set the given AD5206 channel to. This is
-# typically set to a number between 0.0 and 1.0 with 1.0 being the
-# highest resistance and 0.0 being the lowest resistance. However,
-# the range may be changed with the 'scale' parameter (see below).
-# If a channel is not specified then it is left unconfigured.
-#scale:
-# This parameter can be used to alter how the 'channel_x' parameters
-# are interpreted. If provided, then the 'channel_x' parameters
-# should be between 0.0 and 'scale'. This may be useful when the
-# AD5206 is used to set stepper voltage references. The 'scale' can
-# be set to the equivalent stepper amperage if the AD5206 were at
-# its highest resistance, and then the 'channel_x' parameters can be
-# specified using the desired amperage value for the stepper. The
-# default is to not scale the 'channel_x' parameters.
-
-
-# Statically configured MCP4451 digipot connected via I2C bus (one may
-# define any number of sections with an "mcp4451" prefix).
-#[mcp4451 my_digipot]
-#i2c_mcu: mcu
-# The name of the micro-controller that the MCP4451 chip is
-# connected to. The default is "mcu".
-#i2c_address:
-# The i2c address that the chip is using on the i2c bus. This
-# parameter must be provided.
-#wiper_0:
-#wiper_1:
-#wiper_2:
-#wiper_3:
-# The value to statically set the given MCP4451 "wiper" to. This is
-# typically set to a number between 0.0 and 1.0 with 1.0 being the
-# highest resistance and 0.0 being the lowest resistance. However,
-# the range may be changed with the 'scale' parameter (see
-# below). If a wiper is not specified then it is left unconfigured.
-#scale:
-# This parameter can be used to alter how the 'wiper_x' parameters
-# are interpreted. If provided, then the 'wiper_x' parameters should
-# be between 0.0 and 'scale'. This may be useful when the MCP4451 is
-# used to set stepper voltage references. The 'scale' can be set to
-# the equivalent stepper amperage if the MCP4451 were at its highest
-# resistance, and then the 'wiper_x' parameters can be specified
-# using the desired amperage value for the stepper. The default is
-# to not scale the 'wiper_x' parameters.
-
-
-# Statically configured MCP4728 digital-to-analog converter connected
-# via I2C bus (one may define any number of sections with an "mcp4728"
-# prefix).
-#[mcp4728 my_dac]
-#i2c_mcu: mcu
-# The name of the micro-controller that the MCP4451 chip is
-# connected to. The default is "mcu".
-#i2c_address: 96
-# The i2c address that the chip is using on the i2c bus. The default
-# is 96.
-#channel_a:
-#channel_b:
-#channel_c:
-#channel_d:
-# The value to statically set the given MCP4728 channel to. This is
-# typically set to a number between 0.0 and 1.0 with 1.0 being the
-# highest voltage (2.048V) and 0.0 being the lowest voltage. However,
-# the range may be changed with the 'scale' parameter (see
-# below). If a channel is not specified then it is left
-# unconfigured.
-#scale:
-# This parameter can be used to alter how the 'channel_x' parameters
-# are interpreted. If provided, then the 'channel_x' parameters
-# should be between 0.0 and 'scale'. This may be useful when the
-# MCP4728 is used to set stepper voltage references. The 'scale' can
-# be set to the equivalent stepper amperage if the MCP4728 were at
-# its highest voltage (2.048V), and then the 'channel_x' parameters
-# can be specified using the desired amperage value for the
-# stepper. The default is to not scale the 'channel_x' parameters.
-
-
-# Statically configured MCP4018 digipot connected via two gpio "bit
-# banging" pins (one may define any number of sections with an
-# "mcp4018" prefix).
-#[mcp4018 my_digipot]
-#scl_pin:
-# The SCL "clock" pin. This parameter must be provided.
-#sda_pin:
-# The SDA "data" pin. This parameter must be provided.
-#wiper:
-# The value to statically set the given MCP4018 "wiper" to. This is
-# typically set to a number between 0.0 and 1.0 with 1.0 being the
-# highest resistance and 0.0 being the lowest resistance. However,
-# the range may be changed with the 'scale' parameter (see
-# below). This parameter must be provided.
-#scale:
-# This parameter can be used to alter how the 'wiper' parameter is
-# interpreted. If provided, then the 'wiper' parameter should be
-# between 0.0 and 'scale'. This may be useful when the MCP4018 is
-# used to set stepper voltage references. The 'scale' can be set to
-# the equivalent stepper amperage if the MCP4018 is at its highest
-# resistance, and then the 'wiper' parameter can be specified using
-# the desired amperage value for the stepper. The default is to not
-# scale the 'wiper' parameter.
-
-
-# Configure an SX1509 I2C to GPIO expander. Due to the delay incurred
-# by I2C communication you should NOT use SX1509 pins as stepper enable,
-# step or dir pins or any other pin that requires fast bit-banging. They
-# are best used as static or gcode controlled digital outputs or hardware-pwm
-# pins for e.g. fans. One may define any number of sections with an "sx1509"
-# prefix. Each expander provides a set of 16 pins (sx1509_my_sx1509:PIN_0 to
-# sx1509_my_sx1509:PIN_15) which can be used in the printer configuration.
-#[sx1509 my_sx1509]
-#i2c_mcu: mcu
-# The name of the micro-controller that the SX1509 chip is connected
-# to. The default is "mcu".
-#i2c_address:
-# I2C address used by this expander. Depending on the hardware jumpers
-# this is one out of the following addresses: 62 63 112 113. This
-# parameter must be provided.
-#i2c_bus:
-# If the I2C implementation of your microcontroller supports
-# multiple I2C busses, you may specify the bus name here. The
-# default is to use the default micro-controller i2c bus.
-
+######################################################################
+# TMC stepper driver configuration
+######################################################################
# Configure a TMC2130 stepper motor driver via SPI bus. To use this
# feature, define a config section with a "tmc2130" prefix followed by
@@ -1027,7 +1248,6 @@
# sensorless homing. See docs/Sensorless_Homing.md for details on how
# to configure this.
-
# Configure a TMC2208 (or TMC2224) stepper motor driver via single
# wire UART. To use this feature, define a config section with a
# "tmc2208" prefix followed by the name of the corresponding stepper
@@ -1088,7 +1308,6 @@
# defaults for each parameter are next to the parameter name in the
# above list.
-
# Configure a TMC2209 stepper motor driver via single wire UART. To
# use this feature, define a config section with a "tmc2209" prefix
# followed by the name of the corresponding stepper config section
@@ -1138,7 +1357,6 @@
# driver_SGTHRS to an appropriate sensitivity value.) The default is
# to not enable sensorless homing.
-
# Configure a TMC2660 stepper motor driver via SPI bus. To use this
# feature, define a config section with a tmc2660 prefix followed by
# the name of the corresponding stepper config section (for example,
@@ -1297,87 +1515,132 @@
# sensorless homing. See docs/Sensorless_Homing.md for details on how
# to configure this.
-# Homing override. One may use this mechanism to run a series of
-# g-code commands in place of a G28 found in the normal g-code input.
-# This may be useful on printers that require a specific procedure to
-# home the machine.
-#[homing_override]
-#gcode:
-# A list of G-Code commands to execute in place of G28 commands
-# found in the normal g-code input. See docs/Command_Templates.md
-# for G-Code format. If a G28 is contained in this list of commands
-# then it will invoke the normal homing procedure for the printer.
-# The commands listed here must home all axes. This parameter must
-# be provided.
-#axes: xyz
-# The axes to override. For example, if this is set to "z" then the
-# override script will only be run when the z axis is homed (eg, via
-# a "G28" or "G28 Z0" command). Note, the override script should
-# still home all axes. The default is "xyz" which causes the
-# override script to be run in place of all G28 commands.
-#set_position_x:
-#set_position_y:
-#set_position_z:
-# If specified, the printer will assume the axis is at the specified
-# position prior to running the above g-code commands. Setting this
-# disables homing checks for that axis. This may be useful if the
-# head must move prior to invoking the normal G28 mechanism for an
-# axis. The default is to not force a position for an axis.
-
-
-# Safe Z homing. One may use this mechanism to home the Z axis at a
-# specific XY coordinate. This is useful if the toolhead, for example
-# has to move to the center of the bed before Z can be homed.
-#[safe_z_home]
-#home_xy_position:
-# A X,Y coordinate (e.g. 100,100) where the Z homing should be
-# performed. This parameter must be provided.
-#speed: 50.0
-# Speed at which the toolhead is moved to the safe Z home coordinate.
-# The default is 50 mm/s
-#z_hop: 0.0
-# 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 zhop would exceed the printer limits, the zhop is ignored.
-# The default is 0.0mm.
-#z_hop_speed: 20.0
-# Speed at which the Z axis is lifted prior to homing. The default is 20mm/s.
+######################################################################
+# Run-time stepper motor current configuration
+######################################################################
-# Support manually moving stepper motors for diagnostic purposes.
-# Note, using this feature may place the printer in an invalid state -
-# see docs/G-Codes.md for important details.
-#[force_move]
-#enable_force_move: False
-# Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION
-# extended G-Code commands. The default is false.
+# Statically configured AD5206 digipots connected via SPI bus (one may
+# define any number of sections with an "ad5206" prefix).
+#[ad5206 my_digipot]
+#enable_pin:
+# The pin corresponding to the AD5206 chip select line. This pin
+# will be set to low at the start of SPI messages and raised to high
+# after the message completes. This parameter must be provided.
+#spi_bus:
+#spi_speed:
+#spi_software_sclk_pin:
+#spi_software_mosi_pin:
+#spi_software_miso_pin:
+# These optional parameters allow one to customize the SPI settings
+# used to communicate with the chip.
+#channel_1:
+#channel_2:
+#channel_3:
+#channel_4:
+#channel_5:
+#channel_6:
+# The value to statically set the given AD5206 channel to. This is
+# typically set to a number between 0.0 and 1.0 with 1.0 being the
+# highest resistance and 0.0 being the lowest resistance. However,
+# the range may be changed with the 'scale' parameter (see below).
+# If a channel is not specified then it is left unconfigured.
+#scale:
+# This parameter can be used to alter how the 'channel_x' parameters
+# are interpreted. If provided, then the 'channel_x' parameters
+# should be between 0.0 and 'scale'. This may be useful when the
+# AD5206 is used to set stepper voltage references. The 'scale' can
+# be set to the equivalent stepper amperage if the AD5206 were at
+# its highest resistance, and then the 'channel_x' parameters can be
+# specified using the desired amperage value for the stepper. The
+# default is to not scale the 'channel_x' parameters.
+# Statically configured MCP4451 digipot connected via I2C bus (one may
+# define any number of sections with an "mcp4451" prefix).
+#[mcp4451 my_digipot]
+#i2c_mcu: mcu
+# The name of the micro-controller that the MCP4451 chip is
+# connected to. The default is "mcu".
+#i2c_address:
+# The i2c address that the chip is using on the i2c bus. This
+# parameter must be provided.
+#wiper_0:
+#wiper_1:
+#wiper_2:
+#wiper_3:
+# The value to statically set the given MCP4451 "wiper" to. This is
+# typically set to a number between 0.0 and 1.0 with 1.0 being the
+# highest resistance and 0.0 being the lowest resistance. However,
+# the range may be changed with the 'scale' parameter (see
+# below). If a wiper is not specified then it is left unconfigured.
+#scale:
+# This parameter can be used to alter how the 'wiper_x' parameters
+# are interpreted. If provided, then the 'wiper_x' parameters should
+# be between 0.0 and 'scale'. This may be useful when the MCP4451 is
+# used to set stepper voltage references. The 'scale' can be set to
+# the equivalent stepper amperage if the MCP4451 were at its highest
+# resistance, and then the 'wiper_x' parameters can be specified
+# using the desired amperage value for the stepper. The default is
+# to not scale the 'wiper_x' parameters.
-# A virtual sdcard may be useful if the host machine is not fast
-# enough to run OctoPrint well. It allows the Klipper host software to
-# directly print gcode files stored in a directory on the host using
-# standard sdcard G-Code commands (eg, M24).
-#[virtual_sdcard]
-#path: ~/.octoprint/uploads/
-# The path of the local directory on the host machine to look for
-# g-code files. This is a read-only directory (sdcard file writes
-# are not supported). One may point this to OctoPrint's upload
-# directory (generally ~/.octoprint/uploads/ ). This parameter must
-# be provided.
+# Statically configured MCP4728 digital-to-analog converter connected
+# via I2C bus (one may define any number of sections with an "mcp4728"
+# prefix).
+#[mcp4728 my_dac]
+#i2c_mcu: mcu
+# The name of the micro-controller that the MCP4451 chip is
+# connected to. The default is "mcu".
+#i2c_address: 96
+# The i2c address that the chip is using on the i2c bus. The default
+# is 96.
+#channel_a:
+#channel_b:
+#channel_c:
+#channel_d:
+# The value to statically set the given MCP4728 channel to. This is
+# typically set to a number between 0.0 and 1.0 with 1.0 being the
+# highest voltage (2.048V) and 0.0 being the lowest voltage. However,
+# the range may be changed with the 'scale' parameter (see
+# below). If a channel is not specified then it is left
+# unconfigured.
+#scale:
+# This parameter can be used to alter how the 'channel_x' parameters
+# are interpreted. If provided, then the 'channel_x' parameters
+# should be between 0.0 and 'scale'. This may be useful when the
+# MCP4728 is used to set stepper voltage references. The 'scale' can
+# be set to the equivalent stepper amperage if the MCP4728 were at
+# its highest voltage (2.048V), and then the 'channel_x' parameters
+# can be specified using the desired amperage value for the
+# stepper. The default is to not scale the 'channel_x' parameters.
+# Statically configured MCP4018 digipot connected via two gpio "bit
+# banging" pins (one may define any number of sections with an
+# "mcp4018" prefix).
+#[mcp4018 my_digipot]
+#scl_pin:
+# The SCL "clock" pin. This parameter must be provided.
+#sda_pin:
+# The SDA "data" pin. This parameter must be provided.
+#wiper:
+# The value to statically set the given MCP4018 "wiper" to. This is
+# typically set to a number between 0.0 and 1.0 with 1.0 being the
+# highest resistance and 0.0 being the lowest resistance. However,
+# the range may be changed with the 'scale' parameter (see
+# below). This parameter must be provided.
+#scale:
+# This parameter can be used to alter how the 'wiper' parameter is
+# interpreted. If provided, then the 'wiper' parameter should be
+# between 0.0 and 'scale'. This may be useful when the MCP4018 is
+# used to set stepper voltage references. The 'scale' can be set to
+# the equivalent stepper amperage if the MCP4018 is at its highest
+# resistance, and then the 'wiper' parameter can be specified using
+# the desired amperage value for the stepper. The default is to not
+# scale the 'wiper' parameter.
-# Board pin aliases. One may define aliases for the pins on a
-# micro-controller. (If a micro-controller name is omitted in the
-# board_pins config section name then it defaults to "mcu".)
-#[board_pins mcu]
-#aliases:
-# A comma separated list of "name=value" aliases to create for the
-# given micro-controller. For example, "EXP1_1=PE6" would create an
-# "EXP1_1" alias for the "PE6" pin. However, if "value" is enclosed
-# in "<>" then "name" is created as a reserved pin (for example,
-# "EXP1_9=<GND>" would reserve "EXP1_9"). This parameter must be
-# provided.
+######################################################################
+# Display support
+######################################################################
# Support for a display attached to the micro-controller.
#[display]
@@ -1484,186 +1747,9 @@
# comma-separated values must be provided when using analog button.
-# Custom thermistors (one may define any number of sections with a
-# "thermistor" prefix). A custom thermistor may be used in the
-# sensor_type field of a heater config section. (For example, if one
-# defines a "[thermistor my_thermistor]" section then one may use a
-# "sensor_type: my_thermistor" when defining a heater.) Be sure to
-# place the thermistor section in the config file above its first use
-# in a heater section.
-#[thermistor my_thermistor]
-#temperature1:
-#resistance1:
-#temperature2:
-#resistance2:
-#temperature3:
-#resistance3:
-# Three resistance measurements (in Ohms) at the given temperatures
-# (in Celsius). The three measurements will be used to calculate the
-# Steinhart-Hart coefficients for the thermistor. These parameters
-# must be provided when using Steinhart-Hart to define the
-# thermistor.
-#beta:
-# Alternatively, one may define temperature1, resistance1, and beta
-# to define the thermistor parameters. This parameter must be
-# provided when using "beta" to define the thermistor.
-
-
-# Custom ADC temperature sensors (one may define any number of
-# sections with an "adc_temperature" prefix). This allows one to
-# define a custom temperature sensor that measures a voltage on an
-# Analog to Digital Converter (ADC) pin and uses linear interpolation
-# between a set of configured temperature/voltage (or
-# temperature/resistance) measurements to determine the
-# temperature. The resulting sensor can be used as a sensor_type in a
-# heater section. (For example, if one defines a "[adc_temperature
-# my_sensor]" section then one may use a "sensor_type: my_sensor" when
-# defining a heater.) Be sure to place the sensor section in the
-# config file above its first use in a heater section.
-#[adc_temperature my_sensor]
-#temperature1:
-#voltage1:
-#temperature2:
-#voltage2:
-#...
-# A set of temperatures (in Celsius) and voltages (in Volts) to use
-# as reference when converting a temperature. A heater section using
-# this sensor may also specify an adc_voltage parameter to define
-# the ADC comparison voltage (see example.cfg for details). At least
-# two measurements must be provided.
-#temperature1:
-#resistance1:
-#temperature2:
-#resistance2:
-#...
-# Alternatively one may specify a set of temperatures (in Celsius)
-# and resistance (in Ohms) to use as reference when converting a
-# temperature. A heater section using this sensor may also specify a
-# pullup_resistor parameter (see example.cfg for details). At least
-# two measurements must be provided.
-
-
-# MAXxxxxx serial peripheral interface (SPI) temperature based
-# sensors. The following parameters are available in heater sections
-# that use one of these sensor types.
-#[extruder]
-# See the "extruder" section in example.cfg for a description of
-# heater parameters. The parameters below describe sensor parameters.
-#sensor_type:
-# One of "MAX6675", "MAX31855", "MAX31856", or "MAX31865".
-#spi_speed: 4000000
-# The SPI speed (in hz) to use when communicating with the chip.
-# The default is 4000000.
-#spi_bus:
-#spi_software_sclk_pin:
-#spi_software_mosi_pin:
-#spi_software_miso_pin:
-# These optional parameters allow one to customize the SPI settings
-# used to communicate with the chip.
-#sensor_pin:
-# The chip select line for the sensor chip. This parameter must be
-# provided.
-#tc_type: K
-#tc_use_50Hz_filter: False
-#tc_averaging_count: 1
-# The above parameters control the sensor parameters of MAX31856
-# chips. The defaults for each parameter are next to the parameter
-# name in the above list.
-#rtd_nominal_r: 100
-#rtd_reference_r: 430
-#rtd_num_of_wires: 2
-#rtd_use_50Hz_filter: False
-# The above parameters control the sensor parameters of MAX31865
-# chips. The defaults for each parameter are next to the parameter
-# name in the above list.
-
-
-# G-Code macros (one may define any number of sections with a
-# "gcode_macro" prefix).
-#[gcode_macro my_cmd]
-#gcode:
-# A list of G-Code commands to execute in place of "my_cmd". See
-# docs/Command_Templates.md for G-Code format. This parameter must
-# be provided.
-#default_parameter_<parameter>:
-# One may define any number of options with a "default_parameter_"
-# prefix. Use this to define default values for g-code parameters.
-# For example, if one were to define the macro MY_DELAY with gcode
-# "G4 P{DELAY}" along with "default_parameter_DELAY = 50" then the
-# command "MY_DELAY" would evaluate to "G4 P50". The default is to
-# require that all parameters used in the gcode script be present in
-# the command invoking the macro.
-#variable_<name>:
-# One may specify any number of options with a "variable_" prefix.
-# The given variable name will be assigned the given value (parsed
-# as a Python literal) and will be available during macro expansion.
-# For example, a config with "variable_fan_speed = 75" might have
-# gcode commands containing "M106 S{ fan_speed * 255 }". Variables
-# can be changed at run-time using the SET_GCODE_VARIABLE command.
-
-
-# Enable the "M118" and "RESPOND" extended commands.
-# [respond]
-# default_type: echo
-# Sets the default prefix of the "M118" and "RESPOND" output to one of
-# the following:
-# echo: "echo: " (This is the default)
-# command: "// "
-# error: "!! "
-# default_prefix: echo:
-# Directly sets the default prefix. If present, this value will override
-# the "default_type".
-
-
-# The heater_generic section is used to describe a custom/generic heater.
-# These behave the same as typical heaters (extruders, heated beds) and
-# can be configured as similarly.
-# However, a gcode_id must be supplied which is used for temperature reporting.
-# See notes on the SET_HEATER_TEMPERATURE command for setting the temperature.
-#[heater_generic my_generic_heater]
-#gcode_id: C
-# A mandatory parameter that is required for reporting the temperature
-# through the M105 command.
-#heater_pin:
-#max_power:
-#sensor_type:
-#sensor_pin:
-#pullup_resistor:
-#adc_voltage:
-#smooth_time:
-#control:
-#pid_Kp:
-#pid_Ki:
-#pid_Kd:
-#pid_integral_max:
-#pwm_cycle_time:
-#min_extrude_temp:
-#min_temp:
-#max_temp:
-# See the heater section in example.cfg for the definition of the
-# above parameters.
-
-
-# Temperature sensors. One can define any number of temperature
-# sensors. Their values are reported via the M105 command.
-#[temperature_sensor my_sensor]
-#sensor_type:
-#sensor_pin:
-#min_temp:
-#max_temp:
-# See the heater section in example.cfg for the definition of the
-# above parameters.
-#gcode_id:
-# See the heater_generic section above for the definition of this
-# parameter.
-
-
-# Pause/Resume functionality with support of position capture and restore
-#[pause_resume]
-#recover_velocity: 50.
-# When capture/restore is enabled, the speed at which to return to
-# the captured position (in mm/s). Default is 50.0 mm/s.
-
+######################################################################
+# Filament sensors
+######################################################################
# Filament Switch Sensor. Support for filament insert and runout detection
# using a switch sensor, such as an endstop switch.
@@ -1696,7 +1782,6 @@
# The pin on which the switch is connected. This parameter must be
# provided.
-
# TSLl401CL Based Filament Width Sensor
#[tsl1401cl_filament_width_sensor]
#pin: analog5
@@ -1707,107 +1792,50 @@
#measurement_delay: 100
-# Neopixel (aka WS2812) LED support (one may define any number of
-# sections with a "neopixel" prefix). One may set the LED color via
-# "SET_LED LED=my_neopixel RED=0.1 GREEN=0.1 BLUE=0.1" type extended
-# g-code commands.
-#[neopixel my_neopixel]
-#pin:
-# The pin connected to the neopixel. This parameter must be
-# provided.
-#chain_count:
-# The number of Neopixel chips that are "daisy chained" to the
-# provided pin. The default is 1 (which indices only a single
-# Neopixel is connected to the pin).
-#color_order_GRB: True
-# Set the pixel order to green, red, blue. If using the WS2811 chip
-# (in 800Khz mode) then set this to False. The default is True.
-#initial_RED: 0.0
-#initial_GREEN: 0.0
-#initial_BLUE: 0.0
-# Sets the initial LED color of the Neopixel. Each value should be
-# between 0.0 and 1.0. The default for each color is 0.
-
-# Dotstar (aka APA102) LED support (one may define any number of
-# sections with a "dotstar" prefix). One may set the LED color via
-# "SET_LED LED=my_dotstar RED=0.1 GREEN=0.1 BLUE=0.1" type extended
-# g-code commands.
-#[dotstar my_dotstar]
-#data_pin:
-# The pin connected to the data line of the dotstar. This parameter
-# must be provided.
-#clock_pin:
-# The pin connected to the clock line of the dotstar. This parameter
-# must be provided.
-#chain_count:
-#initial_RED: 0.0
-#initial_GREEN: 0.0
-#initial_BLUE: 0.0
-# See the "neopixel" section for information on these parameters.
-
-
-# Firmware filament retraction. This enables G10 (retract) and G11
-# (unretract) GCODE commands issued by many slicers. The parameters
-# below provide startup defaults, although the values can be adjusted
-# via the SET_RETRACTION command, allowing per-filament settings and
-# runtime tuning.
-#[firmware_retraction]
-#retract_length: 0
-# The length of filament (in mm) to retract when G10 is activated, and to
-# unretract when G11 is activated (but see unretract_extra_length below).
-# The default is 0 mm.
-#retract_speed: 20
-# The speed of retraction, in mm/s. The default is 20 mm/s.
-#unretract_extra_length: 0
-# The length (in mm) of *additional* filament to add when unretracting.
-#unretract_speed: 10
-# The speed of unretraction, in mm/s. The default is 10 mm/s.
-
+######################################################################
+# Board specific hardware support
+######################################################################
-# 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]
+# Configure an SX1509 I2C to GPIO expander. Due to the delay incurred
+# by I2C communication you should NOT use SX1509 pins as stepper enable,
+# step or dir pins or any other pin that requires fast bit-banging. They
+# are best used as static or gcode controlled digital outputs or hardware-pwm
+# pins for e.g. fans. One may define any number of sections with an "sx1509"
+# prefix. Each expander provides a set of 16 pins (sx1509_my_sx1509:PIN_0 to
+# sx1509_my_sx1509:PIN_15) which can be used in the printer configuration.
+#[sx1509 my_sx1509]
+#i2c_mcu: mcu
+# The name of the micro-controller that the SX1509 chip is connected
+# to. The default is "mcu".
+#i2c_address:
+# I2C address used by this expander. Depending on the hardware jumpers
+# this is one out of the following addresses: 62 63 112 113. This
+# parameter must be provided.
+#i2c_bus:
+# If the I2C implementation of your microcontroller supports
+# multiple I2C busses, you may specify the bus name here. The
+# default is to use the default micro-controller i2c bus.
+# SAMD SERCOM configuration to specify which pins to use on a given SERCOM.
+# One may define one section with the "samd_sercom" prefix per
+# SERCOM available. Each SERCOM must be configured prior to using it as
+# SPI or I2C peripheral. Place this config section above any other section
+# that makes use of SPI or I2C buses.
+#[samd_sercom sercom0]
+#tx_pin:
+# MOSI pin for SPI communication, or SDA (data) pin for I2C
+# communication. The pin must have a valid pinmux configuration
+# for the given SERCOM peripheral. This parameter must be provided.
+#rx_pin:
+# MISO pin for SPI communication. This pin is not used for I2C
+# communication (I2C uses tx_pin for both sending and receiving).
+# The pin must have a valid pinmux configuration for the given
+# SERCOM peripheral. This parameter is optional.
+#clk_pin:
+# CLK pin for SPI communication, or SCL (clock) pin for I2C
+# communication. The pin must have a valid pinmux configuration
+# for the given SERCOM peripheral. This parameter must be provided.
# Replicape support - see the generic-replicape.cfg file for further
# details.
#[replicape]
-
-
-# Execute gcode when a button is pressed or released (or when a pin changes
-# state). You can check the state of the button my using
-# QUERY_BUTTON button=my_gcode_button
-#[gcode_button my_gcode_button]
-#pin:
-# The pin on which the button is connected. This parameter must be
-# provided.
-#press_gcode:
-# A list of G-Code commands to execute when the button is pressed.
-# G-Code templates are supported.
-#release_gcode:
-# A list of G-Code commands to execute when the button is released.
-# G-Code templates are supported.
-
-# Execute a gcode on a set delay.
-#[delayed_gcode my_delayed_gcode]
-#initial_duration: 0.
-# The duration of the initial delay (in seconds). If set to a non-zero
-# value the delayed_gcode will execute the specified number of seconds
-# after the printer enters the "ready" state. This can be useful for
-# initialization procedures or a repeating delayed_gcode. If set to 0
-# the delayed_gcode will not execute on startup. Default is 0.
-#gcode:
-# A list of G-Code commands to execute when the delay duration has
-# elapsed. G-Code templates are supported. This parameter must be
-# provided.
-
-
-# enables arc (G2/G3) commands. Only IJ version is supported
-# example: "G2 X125 Y32 Z10 E5 I10.5 J10.5"
-#[gcode_arcs]
-#resolution: 1.0
-# An Arc will be split in segments. Each segment will in x mm set here.
-# Lower values will producse a finer arc, but also more to do for
-# your machine. This also means that arcs smaller then this value
-# will be a line only