Browse Source

Support for "mechanical probe" with Allen Key as a special case

pull/1/head
esenapaj 9 years ago
committed by Scott Lahteine
parent
commit
2eb1b102f8
  1. 8
      Marlin/Conditionals.h
  2. 4
      Marlin/Configuration.h
  3. 6
      Marlin/Marlin_main.cpp
  4. 12
      Marlin/SanityCheck.h
  5. 4
      Marlin/example_configurations/Felix/Configuration.h
  6. 4
      Marlin/example_configurations/Felix/Configuration_DUAL.h
  7. 4
      Marlin/example_configurations/Hephestos/Configuration.h
  8. 4
      Marlin/example_configurations/Hephestos_2/Configuration.h
  9. 4
      Marlin/example_configurations/K8200/Configuration.h
  10. 4
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  11. 4
      Marlin/example_configurations/RigidBot/Configuration.h
  12. 4
      Marlin/example_configurations/SCARA/Configuration.h
  13. 4
      Marlin/example_configurations/TAZ4/Configuration.h
  14. 4
      Marlin/example_configurations/WITBOX/Configuration.h
  15. 4
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  16. 6
      Marlin/example_configurations/delta/biv2.5/Configuration.h
  17. 6
      Marlin/example_configurations/delta/generic/Configuration.h
  18. 6
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  19. 6
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  20. 4
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  21. 4
      Marlin/example_configurations/makibox/Configuration.h
  22. 4
      Marlin/example_configurations/tvrrug/Round2/Configuration.h

8
Marlin/Conditionals.h

@ -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) \

4
Marlin/Configuration.h

@ -626,6 +626,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

6
Marlin/Marlin_main.cpp

@ -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)

12
Marlin/SanityCheck.h

@ -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

4
Marlin/example_configurations/Felix/Configuration.h

@ -608,6 +608,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/Felix/Configuration_DUAL.h

@ -605,6 +605,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/Hephestos/Configuration.h

@ -618,6 +618,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/Hephestos_2/Configuration.h

@ -620,6 +620,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/K8200/Configuration.h

@ -643,6 +643,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h

@ -626,6 +626,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/RigidBot/Configuration.h

@ -620,6 +620,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/SCARA/Configuration.h

@ -634,6 +634,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/TAZ4/Configuration.h

@ -647,6 +647,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/WITBOX/Configuration.h

@ -618,6 +618,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/adafruit/ST7565/Configuration.h

@ -626,6 +626,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

6
Marlin/example_configurations/delta/biv2.5/Configuration.h

@ -665,7 +665,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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

6
Marlin/example_configurations/delta/generic/Configuration.h

@ -665,7 +665,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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

6
Marlin/example_configurations/delta/kossel_mini/Configuration.h

@ -665,7 +665,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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

6
Marlin/example_configurations/delta/kossel_pro/Configuration.h

@ -656,7 +656,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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

4
Marlin/example_configurations/delta/kossel_xl/Configuration.h

@ -658,6 +658,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/makibox/Configuration.h

@ -629,6 +629,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

4
Marlin/example_configurations/tvrrug/Round2/Configuration.h

@ -616,6 +616,10 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
//#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!

Loading…
Cancel
Save