klipper-dgus/klippy/extras
Frank Tackitt 89c59b035e exclude_objects: initial implementation
Adding Klipper functionality to support cancelling objects while
printing.

This module keeps track of motion in and out of objects and adjusts
movements as needed.  It also tracks object status and provides that to
clients.

The Klipper module is relatively simple, and only provides one piece of
the workflow. Moonraker already supports processing uploaded files to
insert the required gcode markers for cancelling objects, using
https://github.com/kageurufu/cancelobject-preprocessor. This library is
also available as an executable for use in slicers, and pip
installations also include the script as a callable.

Mainsail has integrated support, and code changes for Fluidd are
available. Support in other interfaces is planned, and we've spoken to
several other developers about integrating frontend support in their
projects.

Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
Co-authored-by: Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:12:04 -04:00
..
display led: Support setting display_template parameters via SET_LED_TEMPLATE 2022-03-31 13:08:12 -04: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 adc_scaled: Add support for Duet2 Maestro "vref monitoring" 2020-09-09 22:20:54 -04:00
adc_temperature.py spi_temperature: Simplify and comment MAX31865 temperature calculations 2020-09-02 10:04:35 -04:00
adxl345.py adxl345: Renamed decode_samples and fixed/added checks on empty data 2021-10-13 11:56:52 -04:00
angle.py angle: Add support for reading tle5012b chip registers (for debugging) 2022-03-29 20:34:46 -04:00
bed_mesh.py bed_mesh: Report actual mesh profiles as status 2022-02-16 13:42:19 -05:00
bed_screws.py bed_screws: Use config.getfloatlist() for coordinates config option 2021-08-21 18:08:10 -04:00
bed_tilt.py gcode_move: Move GCodeMove class from gcode.py to new extras module 2020-08-20 21:03:22 -04:00
bltouch.py mcu: Return time of trigger from home_wait() 2021-08-17 22:01:23 -04:00
bme280.py bme280: fix integer handling for python3 in bme280.py (#5237) 2022-02-06 12:15:35 -05:00
board_pins.py board_pins: Use config list helpers 2021-08-21 18:08:11 -04:00
bus.py spicmds: Allow inversion of CS pin for SPI busses 2022-04-22 13:25:03 -04:00
buttons.py button: Support half-stepping encoders 2021-10-11 11:29:53 -04:00
canbus_ids.py mcu: Add support for connecting to devices on a CAN bus 2021-03-13 11:29:41 -05:00
controller_fan.py controller_fan: Use config.getlist() for heater and stepper config parameters 2021-08-21 18:08:11 -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 delta_calibrate: Use config.getfloatlist() for parsing "stable positions" 2021-08-21 18:08:11 -04:00
display_status.py display_status: stops M73 from setting progress to 0 if P missing 2022-03-08 14:20:35 -05:00
dotstar.py dotstar: Update to use LEDHelper class 2022-03-31 13:08:12 -04:00
ds18b20.py ds18b20: round reported temps to 2 decimal places 2021-10-15 18:01:19 -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 extruder: Add a SET_EXTRUDER_ROTATION_DISTANCE command 2022-02-10 13:24:21 -05:00
exclude_object.py exclude_objects: initial implementation 2022-06-03 14:12:04 -04:00
extruder_stepper.py extruder_stepper: Do not default to synching with "extruder" at startup 2022-03-04 13:38:59 -05:00
fan.py fan: Improve python3 compatibility 2021-09-30 13:10:45 -04:00
fan_generic.py fan_generic: Add support for named fans and gcode to control them (#3054) 2020-08-07 11:39:44 -04:00
filament_motion_sensor.py filament_motion_sensor: add get_status (#4281) 2021-05-11 13:17:22 -04:00
filament_switch_sensor.py filament_switch_sensor: report "enabled" state via get_status 2020-08-01 15:56:51 -04:00
firmware_retraction.py gcode: Update gcode descriptions (#4335) 2021-06-02 10:45:27 -04:00
force_move.py kinematics: Convert to Python3 string encoding 2021-10-01 19:12:30 -04:00
gcode_arcs.py gcode_arcs: detect CW / CCW move with renamed G2/G3 command (#5096) 2022-01-22 20:47:51 -05:00
gcode_button.py gcode_button: Use config.getfloatlist() for analog_range config option 2021-08-21 18:08:11 -04:00
gcode_macro.py gcode_macro: Add "rawparams" pseudo-variable 2021-11-19 11:22:36 -05:00
gcode_move.py gcode: Update gcode descriptions (#4335) 2021-06-02 10:45:27 -04:00
hall_filament_width_sensor.py hall_filament_width_sensor: fix range check error (#4113) 2021-03-27 12:53:40 -04: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 heater_fan: Use config.getlist() for heater config option 2021-08-21 18:08:11 -04:00
heater_generic.py klippy: Rename try_load_module() to load_object() 2020-05-08 11:05:14 -04:00
heaters.py temperature_sensors: Deprecate "NTC 100K beta 3950" thermistor 2021-11-10 18:56:51 -05:00
homing.py homing: Fix bug in multi_complete() 2022-05-13 13:53:17 -04: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 homing: Make homing.py an "extras" module 2021-01-08 14:01:34 -05:00
htu21d.py htu21d: SI7021 is has id 0x15 (#5375) 2022-04-11 10:33:41 -04:00
idle_timeout.py idle_timeout: exit the timer if the printer is shutdown 2021-10-29 18:39:47 -04:00
input_shaper.py input_shaper: Fix python3 string encoding 2021-10-26 20:01:33 -04:00
led.py led: Remove has_white check from LEDHelper 2022-04-18 09:34:25 -04:00
lm75.py lm75: round reported temps to 2 decimal places 2021-10-15 18:01:19 -04:00
manual_probe.py probe: add ability to save babystepping (#4404) 2021-07-25 20:20:15 -04:00
manual_stepper.py kinematics: Convert to Python3 string encoding 2021-10-01 19:12:30 -04:00
mcp4018.py mcp4018: Support setting minclock and reqclock in SoftwareI2C class 2022-03-31 13:08:12 -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_report.py motion_report: Ensure startstop_cb is called atomically 2022-02-21 22:22:14 -05:00
multi_pin.py multi_pin: Use config.getlist() for pins config option 2021-08-21 18:08:11 -04:00
neopixel.py neopixel: Simplify color_order parsing 2022-04-18 12:55:32 -04:00
output_pin.py output_pin: fix time difference calculation 2021-08-17 14:45:53 -04:00
palette2.py palette2: Fix typo (gmcd vs gcmd) 2022-03-17 20:53:07 -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 led: Remove has_white check from LEDHelper 2022-04-18 09:34:25 -04:00
pca9632.py pca9632: Fix color_order assignment 2022-04-18 11:07:05 -04:00
pid_calibrate.py pid_calibrate: Improve Python3 compatibility in debug file output 2022-03-29 20:37:03 -04:00
print_stats.py print_stats: Fix exception when canceling in/as first G-code 2021-11-21 08:01:43 -05:00
probe.py probe: Use config.getlists() for points config option 2021-08-21 18:08:10 -04:00
pulse_counter.py pulse_counter: Use "clock" suffix instead of "time" in commands 2021-04-30 11:40:37 -04:00
quad_gantry_level.py quad_gantry_level: Use config.getlists() for gantry_corners config option 2021-08-21 18:08:11 -04:00
query_adc.py query_adc: Use new GCodeCommand wrappers 2020-05-05 11:08:11 -04:00
query_endstops.py gcode_macro: Use deepcopy() on get_status() results 2021-01-20 16:25:25 -05:00
replicape.py replicape: Don't require a host alias for the enable_pin default 2021-03-25 10:49:17 -04:00
resonance_tester.py adxl345: Support recording data from multiple ADXL345's in one run, and more. (#5224) 2022-05-23 19:56:58 -04:00
respond.py gcode_macro: Add "rawparams" pseudo-variable 2021-11-19 11:22:36 -05:00
safe_z_home.py safe_z_home: Use config.getfloatlist() for home_xy_position config option 2021-08-21 18:08:11 -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 klippy: Add Python2 module wrappers and use Python3 module naming 2021-10-04 14:36:08 -04:00
screws_tilt_adjust.py screws_tilt_adjust: Improve Python3 compatibility 2021-09-30 13:14:20 -04:00
sdcard_loop.py loop_sdcard: Add loopable SD card file sections 2021-05-26 11:57:57 -04:00
servo.py servo: Set initial value via mcu_servo.setup_start_value() 2020-07-25 11:39:39 -04:00
shaper_calibrate.py shaper_calibrate: Add missing import 2022-04-23 21:49:50 -04:00
shaper_defs.py input_shaper: Define input shapers in a single place in Python code 2021-10-26 16:14:50 -04:00
skew_correction.py skew_corrections: Fix typo (gmcd vs gcmd) 2022-03-17 20:52:10 -04:00
smart_effector.py smart_effector: Initial support of programmable SmartEffector 2022-04-09 19:04:57 -04:00
spi_temperature.py configfile: Support config.getchoice() with integer keys 2021-08-25 10:36:45 -04:00
static_digital_output.py static_digital_output: Use config.getlist() for pins config option 2021-08-21 18:08:11 -04:00
statistics.py statistics: Improve Python3 compatibility 2021-12-15 11:27:08 -05:00
stepper_enable.py stepper: Simplify helper module registration of stepper motors 2021-07-29 16:35:30 -04:00
sx1509.py mcu: Add support for changing cycle_time in set_pwm() 2020-09-26 20:55:56 -04:00
temperature_fan.py temperature_fan: Fix divide by zero error when pid_Ki is zero 2022-04-07 12:11:54 -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 atsam: Add support for SAM E70 2022-03-26 11:59:27 -04:00
temperature_sensor.py temperature_sensor: round reported temps to 2 decimal places 2021-10-15 18:01:19 -04:00
temperature_sensors.cfg temperature_sensors: add ATC Semitec 104NT-4-R025H42G thermistor 2021-11-15 23:14:32 -05:00
thermistor.py temperature_sensors: Define default thermistors in config 2021-11-10 18:52:55 -05:00
tmc.py extruder: Add support for reversing the direction of extruder stepper movement 2022-02-10 13:24:21 -05:00
tmc2130.py tmc2130: Rework current selection to prefer vsense=1 2022-01-16 19:00:00 -05:00
tmc2208.py tmc: Add support for a get_status() method 2021-08-30 12:00:46 -04:00
tmc2209.py tmc: Add support for a get_status() method 2021-08-30 12:00:46 -04:00
tmc2660.py tmc2130: Rework current selection to prefer vsense=1 2022-01-16 19:00:00 -05:00
tmc5160.py tmc: Track requested hold_current so SET_TMC_CURRENT doesn't reduce it 2021-10-27 12:13:38 -04:00
tmc_uart.py tmc_uart: Use config.getlist() for select_pins config option 2021-08-21 18:08:11 -04:00
tsl1401cl_filament_width_sensor.py hall_filament_width_sensor: Fix race condition (#3790) 2021-01-22 13:41:34 -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: Add reset_file event 2022-06-03 14:12:04 -04:00
z_tilt.py z_tilt: Use config.getlists() for z_positions config option 2021-08-21 18:08:11 -04:00