Skip to content

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

Sensorless Homing

Probes and Probing

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 a TEMPERATURE_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 and max_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.