klipper/klippy/extras
Timofey Titovets 79077c5ad0 pid_calibrate: analyze pid calibration time ratios
For high power heaters current calibration might give
too high ID of PID. Detect that by time ratios
and suggest to rerun the calibration at different max power.

And add a notice about the too-high heating time.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2026-02-24 22:45:55 +01:00
..
display bus: allow mark i2c as write only 2026-02-07 14:01:45 -05:00
__init__.py klippy: Add support for dynamic loading of python modules 2018-01-28 12:19:26 -05:00
ad5206.py extras: Use "from . import module" for relative imports 2020-06-15 17:15:53 -04:00
adc_scaled.py mcu: Convert ADC callback to pass a list of samples 2026-02-23 21:24:38 -05:00
adc_temperature.py mcu: Convert ADC callback to pass a list of samples 2026-02-23 21:24:38 -05:00
ads1x1x.py mcu: Convert ADC callback to pass a list of samples 2026-02-23 21:24:38 -05:00
ads1220.py trigger_analog: Update to support generic trigger types 2026-01-25 12:49:01 -05:00
adxl345.py adxl345: Allow read and write 127 register address 2025-04-03 14:08:23 -04:00
aht10.py aht10: Add AHT10 as alias for AHT1X for backwards compatibility 2025-11-30 16:50:11 -05:00
angle.py klippy: fix typos in python code (#6989) 2025-07-25 12:31:19 -04:00
axis_twist_compensation.py probe: Fix application of axis_twist_compensation 2026-02-11 09:31:25 -05:00
bed_mesh.py bed_mesh: Fix tuple vs list error 2026-01-26 18:30:18 -05:00
bed_screws.py bed_screws: Reset on move error 2023-11-02 13:08:53 -04:00
bed_tilt.py probe: Convert ProbePointsHelper to use ProbeResult 2026-01-21 12:13:15 -05:00
bltouch.py probe: Support passing gcmd to probe.get_offsets() 2026-01-25 12:47:29 -05:00
bme280.py bme680: fix infinite data wait 2025-11-14 18:47:27 -05:00
bmi160.py bmi160: Add support for BMI160 accelerometer 2026-02-12 17:46:33 -05:00
board_pins.py board_pins: Use config list helpers 2021-08-21 18:08:11 -04:00
bulk_sensor.py sensor_bulk: Change maximum data size from 52 to 51 bytes 2024-06-10 12:27:12 -04:00
bus.py bus: Note mcu code deprecation if missing i2c_transfer 2026-02-23 21:27:22 -05:00
buttons.py buttons: Use ADC batching for ADC based buttons 2026-02-23 21:24:38 -05:00
canbus_ids.py canbus_ids: Use 4 as the first nodeid to reduce id bitstuffing 2022-07-29 11:40:54 -04:00
canbus_stats.py canbus_stats: Note mcu code deprecation if missing get_canbus_status 2026-02-23 21:27:22 -05:00
controller_fan.py fan: Support calling set_speed() without a print_time 2024-09-30 12:23:24 -04:00
dac084S085.py dac084S085: SPI DAC DAC084S085 implementation (#5134) 2022-02-22 10:28:28 -05:00
delayed_gcode.py klippy: Rename try_load_module() to load_object() 2020-05-08 11:05:14 -04:00
delta_calibrate.py probe: Convert ProbePointsHelper to use ProbeResult 2026-01-21 12:13:15 -05:00
display_status.py display_status: Implement SET_DISPLAY_TEXT command 2022-06-27 10:09:02 -04:00
dotstar.py led: Generalize template evaluation so it is not dependent on LEDs 2024-09-30 12:23:24 -04:00
ds18b20.py ds18b20: fix string conversion error on startup (#5559) 2022-06-08 18:05:27 -04:00
duplicate_pin_override.py duplicate_pin_override: Use config.getlist() for pins config option 2021-08-21 18:08:11 -04:00
endstop_phase.py kinematics: Generic Cartesian kinematics implementation (#6815) 2025-05-06 18:06:36 -04:00
error_mcu.py error_mcu: Report reactor stats in error_mcu module 2025-10-18 12:18:17 -04:00
exclude_object.py exclude_object: Fixed object exclusion with changing GCode axes 2026-01-09 20:37:06 -05:00
extruder_stepper.py extruder_stepper: define missing public methods methods 2025-09-04 14:20:25 -04:00
fan.py output_pin: Rename "delay" flag to "repeat" in GCodeRequestQueue() 2025-12-10 13:39:26 -05:00
fan_generic.py fan_generic: Fix handling of template rendering errors 2025-03-25 18:45:12 -04:00
filament_motion_sensor.py buttons: Debounce gcode_button and filament_switch_sensor (#6848) 2025-03-20 19:55:33 -04:00
filament_switch_sensor.py buttons: Debounce gcode_button and filament_switch_sensor (#6848) 2025-03-20 19:55:33 -04:00
firmware_retraction.py klippy: fix typos in python code (#6989) 2025-07-25 12:31:19 -04:00
force_move.py force_move: refactor to mux commands 2026-02-07 14:42:41 -05:00
garbage_collection.py garbage_collection: freeze objects on klippy ready (#6794) 2025-02-02 18:40:43 -05:00
gcode_arcs.py gcode_arc: merge coords gen & G1 emit 2024-08-12 13:06:28 -04:00
gcode_button.py buttons: Debounce gcode_button and filament_switch_sensor (#6848) 2025-03-20 19:55:33 -04:00
gcode_macro.py gcode_macro: Verify nothing attempts to pause in a get_status() callback 2025-10-23 12:47:55 -04:00
gcode_move.py gcode_move: Export more than 4 components in gcode_position status 2026-01-11 17:30:28 -05:00
hall_filament_width_sensor.py mcu: Convert ADC callback to pass a list of samples 2026-02-23 21:24:38 -05:00
heater_bed.py heaters: Make sure set_temp() command wakes up the idle_timeout 2021-03-05 18:59:01 -05:00
heater_fan.py fan: Support calling set_speed() without a print_time 2024-09-30 12:23:24 -04:00
heater_generic.py klippy: Rename try_load_module() to load_object() 2020-05-08 11:05:14 -04:00
heaters.py heaters: refactor to mux commands 2026-02-07 14:42:41 -05:00
homing.py manual_stepper: Support STOP_ON_ENDSTOP=probe 2026-02-14 14:08:21 -05:00
homing_heaters.py homing_heaters: Use config.getlist() for heaters and steppers config options 2021-08-21 18:08:11 -04:00
homing_override.py toolhead: Pass set_position() homing_axes parameter as a string 2025-01-21 18:58:23 -05:00
htu21d.py klippy: fix typos in python code (#6989) 2025-07-25 12:31:19 -04:00
hx71x.py trigger_analog: Update to support generic trigger types 2026-01-25 12:49:01 -05:00
icm20948.py icm20948: Formatting refactor 2025-04-03 14:08:23 -04:00
idle_timeout.py idle_timeout: Add status field for current idle timeout (#6982) 2025-08-01 12:37:47 -04:00
input_shaper.py input_shaper: Z-axis input shaper 2025-10-04 19:50:34 -04:00
ldc1612.py sensor_ldc1612: Convert homing code to use trigger_analog system 2026-01-25 12:49:01 -05:00
led.py led: run update function as reactor callback 2025-10-18 13:46:58 -04:00
lis2dw.py lis2dw: if spi is used - disable i2c 2025-05-26 18:44:29 -04:00
lis3dh.py sensor_lis2dw: add lis3dh sensor and i2c communication 2024-11-12 19:50:48 -05:00
lm75.py lm75: round reported temps to 2 decimal places 2021-10-15 18:01:19 -04:00
load_cell.py load_cell_probe: Enhance regression test case 2026-01-21 12:06:27 -05:00
load_cell_probe.py trigger_analog: Avoid storing value_frac_bits in MCU_SosFilter 2026-01-25 12:49:01 -05:00
manual_probe.py manual_probe: Report final probe results in new ProbeResult named tuple 2026-01-21 12:13:15 -05:00
manual_stepper.py manual_stepper: Support STOP_ON_ENDSTOP=probe 2026-02-14 14:08:21 -05:00
mcp4018.py mcp4018: Remove support for manual i2c - use standard mcu software i2c instead 2025-07-22 14:04:50 -04:00
mcp4451.py extras: Use "from . import module" for relative imports 2020-06-15 17:15:53 -04:00
mcp4728.py extras: Use "from . import module" for relative imports 2020-06-15 17:15:53 -04:00
motion_queuing.py motion_queuing: Verify nothing attempts to pause in flush callbacks 2025-10-18 12:28:06 -04:00
motion_report.py motion_report: Fix off-by-one error in live_extruder_velocity calculation 2025-11-09 18:57:16 -05:00
mpu9250.py adxl345: Fix read_axes_map() for non-adxl345 accelerometers 2024-04-29 12:07:28 -04:00
multi_pin.py servo: sync pwm clock times 2025-12-10 13:39:26 -05:00
neopixel.py led: run update function as reactor callback 2025-10-18 13:46:58 -04:00
output_pin.py output_pin: Rename "delay" flag to "repeat" in GCodeRequestQueue() 2025-12-10 13:39:26 -05:00
palette2.py klippy: fix typos in python code (#6989) 2025-07-25 12:31:19 -04:00
pause_resume.py pause_resume: Do not clobber default state name by accident (#5156) 2022-01-16 13:00:24 -05:00
pca9533.py pca9533: do write on connect like pca9632 does 2025-10-18 13:46:58 -04:00
pca9632.py led: run update function as reactor callback 2025-10-18 13:46:58 -04:00
pid_calibrate.py pid_calibrate: analyze pid calibration time ratios 2026-02-24 22:45:55 +01:00
print_stats.py print_stats: Fix for filament statistics bug in print_stats.py for toolchangers (#6946) 2025-05-31 13:06:44 -04:00
probe.py probe: Fix application of axis_twist_compensation 2026-02-11 09:31:25 -05:00
probe_eddy_current.py probe: Fix application of axis_twist_compensation 2026-02-11 09:31:25 -05:00
pulse_counter.py pulse_counter: Use "clock" suffix instead of "time" in commands 2021-04-30 11:40:37 -04:00
pwm_cycle_time.py pwm_cycle_time: Use mcu.min_schedule_time() and mcu.max_nominal_duration() 2025-04-28 19:28:52 -04:00
pwm_tool.py steppersync: Support sending messages directly from syncemitter 2025-09-24 15:07:25 -04:00
quad_gantry_level.py probe: Convert ProbePointsHelper to use ProbeResult 2026-01-21 12:13:15 -05:00
query_adc.py mcu: Change MCU_adc.get_last_value() to return (time, value) 2026-02-23 21:24:38 -05:00
query_endstops.py gcode_macro: Use deepcopy() on get_status() results 2021-01-20 16:25:25 -05:00
replicape.py servo: sync pwm clock times 2025-12-10 13:39:26 -05:00
resonance_tester.py shaper_calibrate: Reworked multi-file shaper autocalibration 2025-11-21 17:48:56 -05:00
respond.py respond: No forced spaces (#5152) 2022-06-30 13:56:35 -04:00
safe_z_home.py safe_z_home: correct error call 2025-07-22 14:17:43 -04:00
samd_sercom.py samd_sercom: Specify the sercom explicitly in a config option 2021-07-04 09:48:45 -04:00
save_variables.py save_variables: Check lowercase variable names 2025-02-02 18:52:02 -05:00
screws_tilt_adjust.py probe: Convert ProbePointsHelper to use ProbeResult 2026-01-21 12:13:15 -05:00
sdcard_loop.py loop_sdcard: Add loopable SD card file sections 2021-05-26 11:57:57 -04:00
servo.py servo: sync pwm clock times 2025-12-10 13:39:26 -05:00
shaper_calibrate.py shaper_calibrate: Fixed sending large objects via Pipe from bg process 2025-11-21 17:48:56 -05:00
shaper_defs.py input_shaper: Limit maximum damping_ratio of the shapers 2025-10-04 13:07:49 -04:00
sht3x.py sht3x: drop obsolete i2c_write_wait_ack 2025-08-22 16:44:54 -04:00
skew_correction.py skew_correction: Support toolhead positions with more than 4 axes 2025-05-12 20:15:03 -04:00
smart_effector.py probe: Support passing gcmd to probe.get_offsets() 2026-01-25 12:47:29 -05:00
spi_temperature.py klippy: Replace deprecated logger.warn with logger.warning (#6385) 2023-11-16 22:06:13 -05:00
static_digital_output.py mcu: Remove support for "static" pins 2024-01-23 20:04:03 -05:00
static_pwm_clock.py static_pwm_clock: Don't rely on custom stm32_timer_output mcu code 2026-01-06 21:53:29 -05:00
statistics.py statistics: Verify nothing attempts to pause in a stats() callback 2025-10-23 12:47:55 -04:00
stepper_enable.py stepper_enable: refactor to mux commands 2026-02-07 14:42:41 -05:00
sx1509.py bus: allow mark i2c as write only 2026-02-07 14:01:45 -05:00
temperature_combined.py temperature_combined: fix operations on empty list 2026-02-05 21:23:28 -05:00
temperature_fan.py fan: Support calling set_speed() without a print_time 2024-09-30 12:23:24 -04:00
temperature_host.py temperature_host: Remove support for deprecated rpi_temperature alias 2021-11-02 12:45:11 -04:00
temperature_mcu.py mcu: Convert ADC callback to pass a list of samples 2026-02-23 21:24:38 -05:00
temperature_probe.py temperature_probe: fix missing kin_pos 2026-01-30 18:30:07 -05:00
temperature_sensor.py temperature_sensor: round reported temps to 2 decimal places 2021-10-15 18:01:19 -04:00
temperature_sensors.cfg sht3x: Add sht31 support (#6560) 2024-04-20 18:42:31 -04:00
thermistor.py klippy: fix typos in python code (#6989) 2025-07-25 12:31:19 -04:00
tmc.py tmc: Fix stepper:set_dir_inverted event handler name 2025-12-31 19:33:50 -05:00
tmc2130.py tmc.py: add track of stallguard 2025-07-12 16:17:22 -04:00
tmc2208.py tmc: add missing freewheel config options 2025-04-17 11:42:44 -04:00
tmc2209.py tmc: add missing freewheel config options 2025-04-17 11:42:44 -04:00
tmc2240.py tmc2240: Add OTW_OV_VTH to FieldFormatters (#6987) 2025-08-21 09:33:31 -04:00
tmc2660.py tmc.py: add track of stallguard 2025-07-12 16:17:22 -04:00
tmc5160.py tmc5160: csactual -> cs_actual 2024-05-21 20:31:23 -04:00
tmc_uart.py tmc.py: add track of stallguard 2025-07-12 16:17:22 -04:00
trigger_analog.py trigger_analog: Don't report trigger time as the peak time 2026-01-29 20:57:55 -05:00
tsl1401cl_filament_width_sensor.py mcu: Convert ADC callback to pass a list of samples 2026-02-23 21:24:38 -05:00
tuning_tower.py tuning_tower: add is_active() method 2022-06-03 14:12:04 -04:00
verify_heater.py docs: Move config reference information to new Config_Reference.md 2020-11-18 20:10:21 -05:00
virtual_sdcard.py virtual_sdcard: Move shutdown debugging to "klippy:analyze_shutdown" event 2025-10-18 12:18:17 -04:00
z_thermal_adjust.py docs: Note 'config' object shouldn't be accessed after initial load 2025-06-04 13:46:28 -04:00
z_tilt.py probe: Convert ProbePointsHelper to use ProbeResult 2026-01-21 12:13:15 -05:00