Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2021-03-04 13:10:17 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-03-04 13:10:17 +0300
commit991e7392ba5642d4f46a8d9f24219fbe0a69a329 (patch)
tree8fef71f5d689a1689a04e390db50fc039a293d9f /src/Endstops/ZProbe.h
parent1b2bdeb28c3231a645707c1ee9207e81f4a0c3c9 (diff)
Implemented fast-then-slow G30 probing
Diffstat (limited to 'src/Endstops/ZProbe.h')
-rw-r--r--src/Endstops/ZProbe.h10
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