Strain Gauge/Load Cell based Endstops

I’m working on the active PR: PR: Load Cell Endstop by garethky · Pull Request #6871 · Klipper3d/klipper · GitHub

Some fairly disruptive stuff is going to happen for folks using the testing branch. Kevin refactored the probing code so that I can (hopefully) re-use the bulk of it without having to copy/paste. He has also started thinking about fully refactoring homing. This would be “good stuff” looking forward and I don’t want to get in the way of that.

To make it easier for the coming refactor it would be much simpler if the load cell stuff was purely a probe and did not implement an ‘endstop’ or interact with the homing code. Removing this functionality will mean that:

  • The QUERY_ENDSTOPS and QUERY_PROBE commands will no longer work
  • To home the Z axis we will have to use a custom homing macro and [homing_override] to home the Z axis.

Because of the breakage of QUERY_ENDSTOPS and QUERY_PROBE there will have to be an alternative method to statically test that the probe works. I’m thinking of a command like LOAD_CELL_PROBE. But this will come a bit later once the refactoring is complete.

For the first item we will need a command that can do probing in a way similar to how endstops work. The load cell probe can evaluate the results of the probe as ‘failed’ and require a re-try. During that retry the user can add gcode to clean the nozzle. But that would be invalid to invoke without the machine being homed. So we would end up in a catch-22 situation. A custom command will be used that allows control over probe failure. Luckily I was already building something like this to use for data acquisition and testing. This will be a synonym for PROBE but support additional load cell specific options.

I cant easily do all of this all at once and get it reviewed efficiently. So I’m going to ship the change that breaks QUERY_ENDSTOPS first, then the change that breaks homing. Once all that looks correct I’ll ship the new diagnostic tool and updates to the directions to explain how to do the homing macros.

Hopefully this all gets turns around in a week or two.