Aim: Test probes in update_endstops only when activated
Changes:
Configurations
Add define for FIX_MOUNTED_PROBE to handle the situation where formerly ENDSTOPS_ONLY_FOR_HOMING had to be set, or lowering the nozzle below Z_PROBE_OFFSET_FROM_EXTRUDER could give an "endstop hit" message.
Add define for Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to indicate a common situation, that we have a probe but it is connected to an endstop pin
Add some comments
Shift some entries to have related things together.
Conditionals.h
We have a probe (HAS_Z_MIN_PROBE) if one of the pins is defined AND one of the probes is defined.
SanityCheck.h
Add some tests if the probe is connected and if we have defined a probe.
stepper.cpp
Changes to test the probe only when it is deployed (z_probe_is_active).
Test update_endstops() when the probe is deployed.
MarlinMain.cpp
a. set and reset z_probe_is_active in deploy_z_probe(), stow_z_probe() and dock_sled()
b. set and reset z_probe_is_active in the case a z-servo is moved to a defined position. The only remaining unhandled servo move is in M280 where we do not end in a defined position. If you want to handle a probe use M401/402
c. skip deploying/stowing when already deployed/stowed in the dedicated deploy/stow functions.
d. Handle the new FIX_MOUNTED_PROBE in parallel to a servo driven probe/endstop.
To do: In another PR. handle all probes in deploy/stow_z_probe.
Sort out SERVO_LEVELING vs. HAS_SERVO_ENDSTOPS.
If Marlin is blocking the serial input or command queue for any length
of time (for example more than 2 seconds), it needs to send a message
to serial out to inform the host that it is busy. Marlin should only
send these messages out when busy, and preferably not when trying to
print formatted output.
rebased
corrected spelling
changed to #elif for error
Still with MIN_Z_HEIGHT_FOR_HOMING but con be done with (folder wide) search-replace when we have a better name.
Renamed `WARN_REDUCED_ACCURACY` to `DISABLE_REDUCED_ACCURACY_WARNING`
Changed the condition for blinking from
```
#if ENABLED(WARN_REDUCED_ACCURACY)
```
to
```
#if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING)
```
* Configuration.h:
* updated header comment
* new UUID feature used
* sync to default config
* typos fixed
* changes better documented
* reflect change in SDSUPPORT feature
* Configuration_adv.h
* updated header comment
* thermal protection tuned to work with K8200
* homing tuned
* sync to default config
* typos fixed
* changes better documented
* reflect change in LCD features
* use long filenames
* use Watchdog
* use Babystepping
* use Auto Filament Change
Currently we use the probe exclusively as a device to find the build platform(bed).
For the currently supported setups this means, we use it as a additional min-endstop.
A triggered when not deployed probe disturbs the homing process for max-endstops.
Rename ENDSTOPPULLUP_ZPROBE to ENDSTOPPULLUP_ZMIN_PROBE
Rename Z_PROBE_ENDSTOP_INVERTING to Z_MIN_PROBE_ENDSTOP_INVERTING
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Rename DISABLE_Z_PROBE_ENDSTOP to DISABLE_Z_MIN_PROBE_ENDSTOP
Rename Z_PROBE_REPEATABILITY_TEST to Z_MIN_PROBE_REPEATABILITY_TEST
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Adjust comments accordingly
Remove Z_MAX check for the probe in update_endstops().
Using an delta related idea of @clefranc from #61,
extended to the general change for all setups.
Tested with Prusa i3, max-z-endstop and permanently triggered z-probe.
Worked for @clefranc's delta.