Merge pull request #3491 from thinkyhead/rc_mechanical_probe
Support for "mechanical probe" with Allen Key as a special case
This commit is contained in:
commit
f8e10ff1d8
22 changed files with 97 additions and 13 deletions
|
@ -366,6 +366,13 @@
|
|||
#define Z_SAFE_HOMING
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable MECHANICAL_PROBE for Z_PROBE_ALLEN_KEY, for older configs
|
||||
*/
|
||||
#if ENABLED(Z_PROBE_ALLEN_KEY)
|
||||
#define MECHANICAL_PROBE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Avoid double-negatives for enabling features
|
||||
*/
|
||||
|
@ -709,6 +716,7 @@
|
|||
#if ( (HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE ) \
|
||||
&& ( \
|
||||
ENABLED(FIX_MOUNTED_PROBE) \
|
||||
|| ENABLED(MECHANICAL_PROBE) \
|
||||
|| HAS_Z_ENDSTOP_SERVO \
|
||||
|| ENABLED(Z_PROBE_ALLEN_KEY) \
|
||||
|| ENABLED(Z_PROBE_SLED) \
|
||||
|
|
|
@ -627,6 +627,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -1763,7 +1763,7 @@ static void setup_for_endstop_move() {
|
|||
#endif // Z_PROBE_ALLEN_KEY
|
||||
|
||||
#if ENABLED(FIX_MOUNTED_PROBE)
|
||||
// Noting to be done. Just set z_probe_is_active
|
||||
// Nothing to do here. Just clear z_probe_is_active
|
||||
#endif
|
||||
|
||||
z_probe_is_active = false;
|
||||
|
@ -3097,7 +3097,7 @@ inline void gcode_G28() {
|
|||
|
||||
#if ENABLED(Z_PROBE_SLED)
|
||||
dock_sled(false); // engage (un-dock) the Z probe
|
||||
#elif ENABLED(Z_PROBE_ALLEN_KEY) || (ENABLED(DELTA) && SERVO_LEVELING)
|
||||
#elif ENABLED(MECHANICAL_PROBE) || (ENABLED(DELTA) && SERVO_LEVELING)
|
||||
deploy_z_probe();
|
||||
#endif
|
||||
|
||||
|
@ -3357,7 +3357,7 @@ inline void gcode_G28() {
|
|||
#if ENABLED(Z_PROBE_ALLEN_KEY) || SERVO_LEVELING
|
||||
stow_z_probe();
|
||||
#elif Z_RAISE_AFTER_PROBING > 0
|
||||
raise_z_after_probing(); // ???
|
||||
raise_z_after_probing(); // for non Allen Key probes, such as simple mechanical probe
|
||||
#endif
|
||||
#else // !DELTA
|
||||
if (verbose_level > 0)
|
||||
|
|
|
@ -172,23 +172,23 @@
|
|||
/**
|
||||
* A probe needs a pin
|
||||
*/
|
||||
#if (!((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE )) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
|
||||
#if (!((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE )) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_SLED))
|
||||
#error A probe needs a pin! [Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN || HAS_Z_PROBE]
|
||||
#endif
|
||||
|
||||
#if ((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) && HAS_Z_PROBE) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
|
||||
#if ((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) && HAS_Z_PROBE) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_SLED))
|
||||
#error A probe should not be connected to more then one pin! [Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN || HAS_Z_PROBE]
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Require one kind of probe
|
||||
*/
|
||||
#if ENABLED(AUTO_BED_LEVELING_FEATURE) && !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
|
||||
#error For AUTO_BED_LEVELING_FEATURE define one kind of probe! {Servo | Z_PROBE_ALLEN_KEY | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
|
||||
#if ENABLED(AUTO_BED_LEVELING_FEATURE) && !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_SLED))
|
||||
#error For AUTO_BED_LEVELING_FEATURE define one kind of probe! [Servo | MECHANICAL_PROBE | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
|
||||
#endif
|
||||
|
||||
#if ENABLED(Z_SAFE_HOMING)&& !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
|
||||
#error For Z_SAFE_HOMING define one kind of probe! {Servo | Z_PROBE_ALLEN_KEY | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
|
||||
#if ENABLED(Z_SAFE_HOMING)&& !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_SLED))
|
||||
#error For Z_SAFE_HOMING define one kind of probe! [Servo | MECHANICAL_PROBE | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
|
||||
#endif
|
||||
|
||||
// To do: Fail with more then one probe defined
|
||||
|
|
|
@ -609,6 +609,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -606,6 +606,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -619,6 +619,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -621,6 +621,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -644,6 +644,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -627,6 +627,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -621,6 +621,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -635,6 +635,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -648,6 +648,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -619,6 +619,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -627,6 +627,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -666,7 +666,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// Allen key retractable Z probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
|
||||
//#define Z_PROBE_ALLEN_KEY
|
||||
|
||||
|
|
|
@ -666,7 +666,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// Allen key retractable Z probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
|
||||
//#define Z_PROBE_ALLEN_KEY
|
||||
|
||||
|
|
|
@ -666,7 +666,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// Allen key retractable Z probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
|
||||
#define Z_PROBE_ALLEN_KEY
|
||||
|
||||
|
|
|
@ -657,7 +657,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// Allen key retractable Z probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
|
||||
// Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
|
||||
#define Z_PROBE_ALLEN_KEY
|
||||
|
||||
|
|
|
@ -659,6 +659,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -630,6 +630,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
|
@ -617,6 +617,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
|
|||
//#define Z_PROBE_SLED
|
||||
//#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
|
||||
|
||||
// A Mechanical Probe is any probe that either doesn't deploy or needs manual deployment
|
||||
// For example any setup that uses the nozzle itself as a probe.
|
||||
//#define MECHANICAL_PROBE
|
||||
|
||||
// If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
|
||||
// it is highly recommended you leave Z_SAFE_HOMING enabled!
|
||||
|
||||
|
|
Reference in a new issue