Danger Klipper additions¶
Changes to Klipper defaults¶
[force_move]
is enabled by default. Use[force_move] enable_force_move: False
to disable it[respond]
is enabled by default. Use[respond] enable_respond: False
to disable it[exclude_object]
is enabled by default. Use[exclude_object] enable_exclude_object: False
to disable it
Additional configuration options¶
[mcu] is_non_critical
enables marking of an mcu as optional - it can be freely disconnected and connected at will. (useful for MCU-based accelerometer boards, mcu-based probes that shut down in hot chambers, etc...)[danger_options]
- New configuration options to adjust klipper values that were previously hidden- Additional kinematics versions enabled per-axis acceleration, see limited_cartesian and limited_corexy
--rotate-log-at-restart
can be added to your klipper start script or service to force log rotation every restart.[virtual_sdcard] with_subdirs
enables scanning of subdirectories for .gcode files, for the menu and M20/M23 commands[firmware_retraction] z_hop_height
adds an automatic z hop when using firmware retraction
Enhanced behavior¶
canbus_query.py
now responds with all Danger-Klipper devices, even after they've been assigned a node_id.
New Klipper Modules¶
- gcode_shell_command - Execute linux commands and scripts from within Klipper
Sensorless Homing¶
[tmcXXXX] home_current
automatically sets a different current for homing[tmcXXXX] current_change_dwell_time
will add a delay before homing[stepper_X] homing_retract_dist, homing_retract_speed
add a short retraction and a second homing for better accuracy[stepper_X] min_home_dist
will move away from the endstop before homing
Probes and Probing¶
[probe] drop_first_result: True
will drop the first result when probing. This can improve probe accuracy for printers that have an outlier for the first sample.[dockable_probe]
brings helpful native support for docked probes, such as the Annex Quickdraw, Klicky/Unklicky, and countless others.[z_calibration]
enables automatic probe Z offset calibration using a reference endstop like the Voron 2.4 nozzle endstop.[z_tilt_ng]
adds enforced 3-point z tilt calibration[z_tilt/quad_gantry_level] increasing_threshold
allows you to customize the allowed variation when probing multiple times[z_tilt/quad_gantry_level] adaptive_horizontal_move_z
adaptively decrease horizontal_move_z based on resulting error - z_tilt and QGL faster and safer![safe_z_home] home_y_before_x
let you home Y before X.
Heaters, Fans, and PID changes¶
- Model Predictive Control is an advanced temperature control method that offers an alternative to traditional PID control.
- Velocity PID can be more accurate than positional PID, but is more susceptible to noisy sensors and may require larger smoothing times
PID_PROFILE [LOAD/SAVE]
allows you to calibrate and save PID profiles at multiple temperatures and fan speeds, and later restore them. With some clever macros, automatic per-material pid tuning is within reach!SET_HEATER_PID HEATER= KP= KI= KD=
can update your PID parameters without a reload.HEATER_INTERRUPT
will interrupt aTEMPERATURE_WAIT
.- ADC out of range errors now include which heater, and additional information to assist in troubleshooting
[temperature_fan] control: curve
lets you set a fan curve instead of linear control[temperature_fan] reverse: True
will let you control a fan in reverse to temperature control. The lower the temperature, the higher the fan runs.- Fans now normalize PWM power within
off_below
andmax_power
, so setting a fan to 10% will get you 10% fan speed within your configured off/max range.
Macros¶
- The jinja
do
extension has been enabled. You can now call functions in your macros without resorting to dirty hacks:{% do array.append(5) %}
- The python
math
library is available to macros.{math.sin(math.pi * variable)}
and more! - New
RELOAD_GCODE_MACROS
G-Code command to reload[gcode_macro]
templates without requiring a restart.
Plugins¶
Extend your Danger Klipper installation with custom plugins.
Your python plugins can now extend klippy/extras
adding new modules to klipper without causing updates to fail due to a "dirty" git tree.
Enable [danger_options] allow_plugin_override: True
to override existing extras.