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,124 +296,54 @@ #[skew_correction] -# In a multi-extruder printer add an additional extruder section for -# each additional extruder. The additional extruder sections should be -# named "extruder1", "extruder2", "extruder3", and so on. See the -# "extruder" section in example.cfg for a description of available -# parameters. -#[extruder1] -#step_pin: ar36 -#dir_pin: ar34 -#... -#shared_heater: -# If this extruder uses the same heater already defined for another -# extruder then place the name of that extruder here. For example, -# should extruder3 and extruder4 share a heater then the extruder3 -# config section should define the heater and the extruder4 section -# should specify "shared_heater: extruder3". The default is to not -# reuse an existing heater. -#deactivate_gcode: -# A list of G-Code commands to execute on a G-Code tool change -# command (eg, "T1") that deactivates this extruder and activates -# some other extruder. See docs/Command_Templates.md for G-Code -# format. It only makes sense to define this section on -# multi-extruder printers. The default is to not run any special -# G-Code commands on deactivation. -#activate_gcode: -# A list of G-Code commands to execute on a G-Code tool change -# command (eg, "T0") that activates this extruder. See -# docs/Command_Templates.md for G-Code format. It only makes sense -# to define this section on multi-extruder printers. The default is -# to not run any special G-Code commands on activation. +###################################################################### +# 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. -# 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 - use the SET_DUAL_CARRIAGE -# command in the activate_gcode / deactivate_gcode section of the -# appropriate extruder. Be sure to also use that mechanism to park the -# carriages during deactivation. -#[dual_carriage] -#axis: -# The axis this extra carriage is on (either x or y). This parameter -# must be provided. -#step_pin: -#dir_pin: -#enable_pin: -#step_distance: -#endstop_pin: -#position_endstop: -#position_min: -#position_max: -# See the example.cfg for the definition of the above parameters. - - -# Heater and temperature sensor verification. Heater verification is -# automatically enabled for each heater that is configured on the -# printer. Use verify_heater sections to change the default settings. -#[verify_heater heater_config_name] -#max_error: 120 -# The maximum "cumulative temperature error" before raising an -# error. Smaller values result in stricter checking and larger -# values allow for more time before an error is reported. -# Specifically, the temperature is inspected once a second and if it -# is close to the target temperature then an internal "error -# counter" is reset; otherwise, if the temperature is below the -# target range then the counter is increased by the amount the -# reported temperature differs from that range. Should the counter -# exceed this "max_error" then an error is raised. The default is -# 120. -#check_gain_time: -# This controls heater verification during initial heating. Smaller -# values result in stricter checking and larger values allow for -# more time before an error is reported. Specifically, during -# initial heating, as long as the heater increases in temperature -# within this time frame (specified in seconds) then the internal -# "error counter" is reset. The default is 20 seconds for extruders -# and 60 seconds for heater_bed. -#hysteresis: 5 -# The maximum temperature difference (in Celsius) to a target -# temperature that is considered in range of the target. This -# controls the max_error range check. It is rare to customize this -# value. The default is 5. -#heating_gain: 2 -# The minimum temperature (in Celsius) that the heater must increase -# by during the check_gain_time check. It is rare to customize this -# value. The default is 2. - - -# Idle timeout. An idle timeout is automatically enabled - add an -# explicit idle_timeout config section to change the default settings. -#[idle_timeout] +# 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 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. - - -# 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. - +# 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 @@ -541,6 +378,536 @@ # 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_: +# 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_: +# 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=" 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 +# "extruder" section in example.cfg for a description of available +# parameters. +#[extruder1] +#step_pin: ar36 +#dir_pin: ar34 +#... +#shared_heater: +# If this extruder uses the same heater already defined for another +# extruder then place the name of that extruder here. For example, +# should extruder3 and extruder4 share a heater then the extruder3 +# config section should define the heater and the extruder4 section +# should specify "shared_heater: extruder3". The default is to not +# reuse an existing heater. +#deactivate_gcode: +# A list of G-Code commands to execute on a G-Code tool change +# command (eg, "T1") that deactivates this extruder and activates +# some other extruder. See docs/Command_Templates.md for G-Code +# format. It only makes sense to define this section on +# multi-extruder printers. The default is to not run any special +# G-Code commands on deactivation. +#activate_gcode: +# A list of G-Code commands to execute on a G-Code tool change +# command (eg, "T0") that activates this extruder. See +# docs/Command_Templates.md for G-Code format. It only makes sense +# 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 +# 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 - use the SET_DUAL_CARRIAGE +# command in the activate_gcode / deactivate_gcode section of the +# appropriate extruder. Be sure to also use that mechanism to park the +# carriages during deactivation. +#[dual_carriage] +#axis: +# The axis this extra carriage is on (either x or y). This parameter +# must be provided. +#step_pin: +#dir_pin: +#enable_pin: +#step_distance: +#endstop_pin: +#position_endstop: +#position_min: +#position_max: +# See the example.cfg for the definition of the above parameters. + +# Manual steppers (one may define any number of sections with a +# "manual_stepper" prefix). These are steppers that are controlled by +# the MANUAL_STEPPER g-code command. For example: "MANUAL_STEPPER +# STEPPER=my_stepper MOVE=10 SPEED=5". See the docs/G-Codes.md file +# for a description of the MANUAL_STEPPER command. The steppers are +# not connected to the normal printer kinematics. +#[manual_stepper my_stepper] +#step_pin: +#dir_pin: +#enable_pin: +#step_distance: +# See the "[stepper_x]" section in example.cfg for a description of +# these parameters. +#velocity: +# Set the default velocity (in mm/s) for the stepper. This value +# will be used if a MANUAL_STEPPER command does not specify a SPEED +# parameter. The default is 5mm/s. +#accel: +# Set the default acceleration (in mm/s^2) for the stepper. An +# acceleration of zero will result in no acceleration. This value +# will be used if a MANUAL_STEPPER command does not specify an ACCEL +# parameter. The default is zero. +#endstop_pin: +# Endstop switch detection pin. If specified, then one may perform +# "homing moves" by adding a STOP_ON_ENDSTOP parameter to +# MANUAL_STEPPER movement commands. + + +###################################################################### +# Heaters and temperature sensors +###################################################################### + +# Heater and temperature sensor verification. Heater verification is +# automatically enabled for each heater that is configured on the +# printer. Use verify_heater sections to change the default settings. +#[verify_heater heater_config_name] +#max_error: 120 +# The maximum "cumulative temperature error" before raising an +# error. Smaller values result in stricter checking and larger +# values allow for more time before an error is reported. +# Specifically, the temperature is inspected once a second and if it +# is close to the target temperature then an internal "error +# counter" is reset; otherwise, if the temperature is below the +# target range then the counter is increased by the amount the +# reported temperature differs from that range. Should the counter +# exceed this "max_error" then an error is raised. The default is +# 120. +#check_gain_time: +# This controls heater verification during initial heating. Smaller +# values result in stricter checking and larger values allow for +# more time before an error is reported. Specifically, during +# initial heating, as long as the heater increases in temperature +# within this time frame (specified in seconds) then the internal +# "error counter" is reset. The default is 20 seconds for extruders +# and 60 seconds for heater_bed. +#hysteresis: 5 +# The maximum temperature difference (in Celsius) to a target +# temperature that is considered in range of the target. This +# controls the max_error range check. It is rare to customize this +# value. The default is 5. +#heating_gain: 2 +# The minimum temperature (in Celsius) that the heater must increase +# by during the check_gain_time check. It is rare to customize this +# value. The default is 2. + +# 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. + +# 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. + + +###################################################################### +# Additional fans +###################################################################### + # Heater cooling fans (one may define any number of sections with a # "heater_fan" prefix). A "heater fan" is a fan that will be enabled # whenever its associated heater is active. By default, a heater_fan @@ -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. +# 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. -# 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. - +# 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. + +###################################################################### +# Run-time stepper motor current configuration +###################################################################### + +# Statically configured AD5206 digipots connected via SPI bus (one may +# define any number of sections with an "ad5206" prefix). +#[ad5206 my_digipot] +#enable_pin: +# The pin corresponding to the AD5206 chip select line. This pin +# will be set to low at the start of SPI messages and raised to high +# after the message completes. This parameter must be provided. +#spi_bus: +#spi_speed: +#spi_software_sclk_pin: +#spi_software_mosi_pin: +#spi_software_miso_pin: +# These optional parameters allow one to customize the SPI settings +# used to communicate with the chip. +#channel_1: +#channel_2: +#channel_3: +#channel_4: +#channel_5: +#channel_6: +# The value to statically set the given AD5206 channel to. This is +# typically set to a number between 0.0 and 1.0 with 1.0 being the +# highest resistance and 0.0 being the lowest resistance. However, +# the range may be changed with the 'scale' parameter (see below). +# If a channel is not specified then it is left unconfigured. +#scale: +# This parameter can be used to alter how the 'channel_x' parameters +# are interpreted. If provided, then the 'channel_x' parameters +# should be between 0.0 and 'scale'. This may be useful when the +# AD5206 is used to set stepper voltage references. The 'scale' can +# be set to the equivalent stepper amperage if the AD5206 were at +# its highest resistance, and then the 'channel_x' parameters can be +# specified using the desired amperage value for the stepper. The +# default is to not scale the 'channel_x' parameters. + +# Statically configured MCP4451 digipot connected via I2C bus (one may +# define any number of sections with an "mcp4451" prefix). +#[mcp4451 my_digipot] +#i2c_mcu: mcu +# The name of the micro-controller that the MCP4451 chip is +# connected to. The default is "mcu". +#i2c_address: +# The i2c address that the chip is using on the i2c bus. This +# parameter must be provided. +#wiper_0: +#wiper_1: +#wiper_2: +#wiper_3: +# The value to statically set the given MCP4451 "wiper" to. This is +# typically set to a number between 0.0 and 1.0 with 1.0 being the +# highest resistance and 0.0 being the lowest resistance. However, +# the range may be changed with the 'scale' parameter (see +# below). If a wiper is not specified then it is left unconfigured. +#scale: +# This parameter can be used to alter how the 'wiper_x' parameters +# are interpreted. If provided, then the 'wiper_x' parameters should +# be between 0.0 and 'scale'. This may be useful when the MCP4451 is +# used to set stepper voltage references. The 'scale' can be set to +# the equivalent stepper amperage if the MCP4451 were at its highest +# resistance, and then the 'wiper_x' parameters can be specified +# using the desired amperage value for the stepper. The default is +# to not scale the 'wiper_x' parameters. + +# Statically configured MCP4728 digital-to-analog converter connected +# via I2C bus (one may define any number of sections with an "mcp4728" +# prefix). +#[mcp4728 my_dac] +#i2c_mcu: mcu +# The name of the micro-controller that the MCP4451 chip is +# connected to. The default is "mcu". +#i2c_address: 96 +# The i2c address that the chip is using on the i2c bus. The default +# is 96. +#channel_a: +#channel_b: +#channel_c: +#channel_d: +# The value to statically set the given MCP4728 channel to. This is +# typically set to a number between 0.0 and 1.0 with 1.0 being the +# highest voltage (2.048V) and 0.0 being the lowest voltage. However, +# the range may be changed with the 'scale' parameter (see +# below). If a channel is not specified then it is left +# unconfigured. +#scale: +# This parameter can be used to alter how the 'channel_x' parameters +# are interpreted. If provided, then the 'channel_x' parameters +# should be between 0.0 and 'scale'. This may be useful when the +# MCP4728 is used to set stepper voltage references. The 'scale' can +# be set to the equivalent stepper amperage if the MCP4728 were at +# its highest voltage (2.048V), and then the 'channel_x' parameters +# can be specified using the desired amperage value for the +# stepper. The default is to not scale the 'channel_x' parameters. + +# Statically configured MCP4018 digipot connected via two gpio "bit +# banging" pins (one may define any number of sections with an +# "mcp4018" prefix). +#[mcp4018 my_digipot] +#scl_pin: +# The SCL "clock" pin. This parameter must be provided. +#sda_pin: +# The SDA "data" pin. This parameter must be provided. +#wiper: +# The value to statically set the given MCP4018 "wiper" to. This is +# typically set to a number between 0.0 and 1.0 with 1.0 being the +# highest resistance and 0.0 being the lowest resistance. However, +# the range may be changed with the 'scale' parameter (see +# below). This parameter must be provided. +#scale: +# This parameter can be used to alter how the 'wiper' parameter is +# interpreted. If provided, then the 'wiper' parameter should be +# between 0.0 and 'scale'. This may be useful when the MCP4018 is +# used to set stepper voltage references. The 'scale' can be set to +# the equivalent stepper amperage if the MCP4018 is at its highest +# resistance, and then the 'wiper' parameter can be specified using +# the desired amperage value for the stepper. The default is to not +# scale the 'wiper' parameter. -# 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. - - -# 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. - - -# 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. - - -# 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=" 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_: -# 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_: -# 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. +###################################################################### +# Board specific hardware support +###################################################################### -# 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. - - -# 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