aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/probe_eddy_current.py
Commit message (Collapse)AuthorAgeFilesLines
* Isort all klippy codeTomasz Kramkowski2025-08-151-2/+6
|
* Run black on all first party python codeTomasz Kramkowski2025-08-061-80/+160
|
* probe_eddy_current: Separate probe style commands from homing operationsKevin O'Connor2025-04-181-20/+39
| | | | | | | Separate homing operations (as called from probe:z_virtual_endstop) from the normal probe command handling. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Do not support QUERY_PROBE commandKevin O'Connor2025-04-181-2/+1
| | | | | | | Report an error if a user issues a QUERY_PROBE command (instead of always returning not-triggered). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Convert probing_move() callback to use regular probe sessions systemKevin O'Connor2025-04-181-5/+11
| | | | | | | | Use the normal probe_session_start(), run_probe(), pull_probed_results(), and end_probe_session() API from ProbeSessionHelper. This removes the custom probing_move() callback. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Change probing_move() to pass a gcmd instead of (pos, speed)Kevin O'Connor2025-04-181-6/+12
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a new ProbeParameterHelper classKevin O'Connor2025-04-181-2/+4
| | | | | | | Split multi-sample config reading from ProbeSessionHelper to a new ProbeParameterHelper class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a new ProbeEndstopSessionHelper classKevin O'Connor2025-04-181-0/+1
| | | | | | | Move the HomingViaProbeHelper() instance from ProbeSessionHelper to a new ProbeEndstopSessionHelper class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a default probing_move() function to HomingViaProbeHelperKevin O'Connor2025-04-181-1/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: support thermal compensationEric Callahan2024-07-171-7/+31
| | | | Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* probe_eddy_current: Add support for "rapid_scan" modeKevin O'Connor2024-06-191-2/+14
| | | | | | | Add a scanning mode that does not require pausing the toolhead at each probe point. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Add support for probing in "scan" modeKevin O'Connor2024-06-141-0/+33
| | | | | | | When probing in "scan" mode, the toolhead will pause at each position, but does not descend. This can notably reduce the total probing time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Calculate toolhead position along with probed positionKevin O'Connor2024-06-141-3/+15
| | | | | | | Support calculating the low-level kinematic toolhead position while calculating the probed frequency. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Process samples as they arriveKevin O'Connor2024-06-141-10/+22
| | | | | | Convert samples into probe frequencies as the samples arrive. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Generate Z height from average frequencyKevin O'Connor2024-06-141-6/+16
| | | | | | | | | Calculate the average frequency from a set of samples, and then calculate the estimated Z height from that frequency. This may improve accuracy, as the frequency to Z height is not linear and averaging after the non-linear transform could bias the results. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Introduce new EddyGatherSamples helper classKevin O'Connor2024-06-141-63/+84
| | | | | | | Split the sample gathering code out of EddyEndstopWrapper class and into a new EddyGatherSamples class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: No need to use PrinterProbe() classKevin O'Connor2024-06-101-3/+15
| | | | | | | Directly register the PrinterEddyProbe() class as the main probe interface. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Move add_steppers() logic to HomingViaProbeHelper classKevin O'Connor2024-06-101-7/+0
| | | | | | Perform the initial add_steppers() configuration in a single location. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_ldc1612: Halt homing if sensor reports a warningKevin O'Connor2024-05-211-3/+6
| | | | | | | Explicitly check for sensor warnings during homing and report an error code back to the host. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Raise an error on a failed home_wait() callKevin O'Connor2024-05-211-2/+3
| | | | | | | Raise a printer.command_error exception if a home_wait() call fails. This makes it easier to support future types of homing errors. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Calibrate every 40um instead of 50umKevin O'Connor2024-05-211-7/+7
| | | | | | | A 40um distance is more likely to be a full step distance on common Z leadscrews (which often use a rotation distance of 8mm). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: fix attribute nameEric Callahan2024-05-211-1/+1
| | | | Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* probe_eddy_current: Fix wait for samples in probing_move()Kevin O'Connor2024-05-211-7/+9
| | | | | | | Make sure to wait until all samples are available before performing analysis on the data. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Use sensor value at halt position for "trigger" positionKevin O'Connor2024-04-091-0/+44
| | | | | | | | Calculate the sensor Z position after the probe halts and return that as the "probed position". This sensor position provides a more accurate measurement. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Initial support for PROBE commandKevin O'Connor2024-04-091-1/+104
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Support calibrating Z height to sensor frequencyKevin O'Connor2024-04-091-0/+182
Add a calibration tool that can be used to correlate sensor frequency to bed Z height. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>