diff options
author | David Crocker <dcrocker@eschertech.com> | 2021-03-04 13:10:17 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2021-03-04 13:10:17 +0300 |
commit | 991e7392ba5642d4f46a8d9f24219fbe0a69a329 (patch) | |
tree | 8fef71f5d689a1689a04e390db50fc039a293d9f /src/Endstops/ZProbe.h | |
parent | 1b2bdeb28c3231a645707c1ee9207e81f4a0c3c9 (diff) |
Implemented fast-then-slow G30 probing
Diffstat (limited to 'src/Endstops/ZProbe.h')
-rw-r--r-- | src/Endstops/ZProbe.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Endstops/ZProbe.h b/src/Endstops/ZProbe.h index 23fe8116..d1a0df38 100644 --- a/src/Endstops/ZProbe.h +++ b/src/Endstops/ZProbe.h @@ -40,7 +40,8 @@ public: float GetActualTriggerHeight() const noexcept; float GetDiveHeight() const noexcept { return diveHeight; } float GetStartingHeight() const noexcept { return diveHeight + GetActualTriggerHeight(); } - float GetProbingSpeed() const noexcept { return probeSpeed; } + float GetProbingSpeed(int tapsDone) const noexcept { return probeSpeeds[(tapsDone < 0) ? 0 : 1]; } + float HasTwoProbingSpeeds() const noexcept { return probeSpeeds[1] != probeSpeeds[0]; } float GetTravelSpeed() const noexcept { return travelSpeed; } float GetRecoveryTime() const noexcept { return recoveryTime; } float GetTolerance() const noexcept { return tolerance; } @@ -71,11 +72,12 @@ protected: OBJECT_MODEL_ARRAY(offsets) OBJECT_MODEL_ARRAY(value) OBJECT_MODEL_ARRAY(temperatureCoefficients) + OBJECT_MODEL_ARRAY(speeds) uint8_t number; ZProbeType type; - int8_t sensor; // the sensor number used for temperature calibration - int16_t adcValue; // the target ADC value, after inversion if enabled + int8_t sensor; // the sensor number used for temperature calibration + int16_t adcValue; // the target ADC value, after inversion if enabled union { struct @@ -92,7 +94,7 @@ protected: float calibTemperature; // the temperature at which we did the calibration float temperatureCoefficients[2]; // the variation of height with bed temperature and with the square of temperature float diveHeight; // the dive height we use when probing - float probeSpeed; // the initial speed of probing + float probeSpeeds[2]; // the initial speed of probing float travelSpeed; // the speed at which we travel to the probe point float recoveryTime; // Z probe recovery time float tolerance; // maximum difference between probe heights when doing >1 taps |