Skip to content

Commit

Permalink
🩹 Inverted probe pin flag (K8400) (MarlinFirmware#25085)
Browse files Browse the repository at this point in the history
  • Loading branch information
ellensp authored and SMHRambo committed Feb 7, 2023
1 parent 46dc2cf commit 30682f7
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 18 deletions.
14 changes: 0 additions & 14 deletions Marlin/src/inc/Conditionals_LCD.h
Original file line number Diff line number Diff line change
Expand Up @@ -1069,20 +1069,6 @@
#ifndef Z_PROBE_SERVO_NR
#define Z_PROBE_SERVO_NR 0
#endif
#ifdef DEACTIVATE_SERVOS_AFTER_MOVE
#error "BLTOUCH requires DEACTIVATE_SERVOS_AFTER_MOVE to be to disabled. Please update your Configuration.h file."
#endif

// Always disable probe pin inverting for BLTouch
#if Z_MIN_PROBE_ENDSTOP_INVERTING
#error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false. Please update your Configuration.h file."
#endif

#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#if Z_MIN_ENDSTOP_INVERTING
#error "BLTOUCH requires Z_MIN_ENDSTOP_INVERTING set to false. Please update your Configuration.h file."
#endif
#endif
#endif

/**
Expand Down
44 changes: 40 additions & 4 deletions Marlin/src/inc/SanityCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -1777,7 +1777,29 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
#if BLTOUCH_DELAY < 200
#error "BLTOUCH_DELAY less than 200 is unsafe and is not supported."
#endif
#endif

#ifdef DEACTIVATE_SERVOS_AFTER_MOVE
#error "BLTOUCH requires DEACTIVATE_SERVOS_AFTER_MOVE to be to disabled. Please update your Configuration.h file."
#endif

#if HAS_INVERTED_PROBE
#if !Z_MIN_PROBE_ENDSTOP_INVERTING
#error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to true."
#endif
#elif Z_MIN_PROBE_ENDSTOP_INVERTING
#error "BLTOUCH requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false."
#endif
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#if HAS_INVERTED_PROBE
#if !Z_MIN_ENDSTOP_INVERTING
#error "BLTOUCH requires Z_MIN_ENDSTOP_INVERTING set to true."
#endif
#elif Z_MIN_ENDSTOP_INVERTING
#error "BLTOUCH requires Z_MIN_ENDSTOP_INVERTING set to false."
#endif
#endif

#endif // BLTOUCH

#if ENABLED(RACK_AND_PINION_PROBE) && !(defined(Z_PROBE_DEPLOY_X) && defined(Z_PROBE_RETRACT_X))
#error "RACK_AND_PINION_PROBE requires Z_PROBE_DEPLOY_X and Z_PROBE_RETRACT_X."
Expand All @@ -1795,14 +1817,28 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
#error "TOUCH_MI_PROBE requires Z_AFTER_PROBING to be disabled."
#elif Z_HOMING_HEIGHT < 10
#error "TOUCH_MI_PROBE requires Z_HOMING_HEIGHT >= 10."
#elif Z_MIN_PROBE_ENDSTOP_INVERTING
#error "TOUCH_MI_PROBE requires Z_MIN_PROBE_ENDSTOP_INVERTING to be set to false."
#elif DISABLED(BABYSTEP_ZPROBE_OFFSET)
#error "TOUCH_MI_PROBE requires BABYSTEPPING with BABYSTEP_ZPROBE_OFFSET."
#elif !HAS_RESUME_CONTINUE
#error "TOUCH_MI_PROBE currently requires an LCD controller or EMERGENCY_PARSER."
#endif
#endif
#if HAS_INVERTED_PROBE
#if !Z_MIN_PROBE_ENDSTOP_INVERTING
#error "TOUCH_MI_PROBE requires Z_MIN_PROBE_ENDSTOP_INVERTING set to true."
#endif
#elif Z_MIN_PROBE_ENDSTOP_INVERTING
#error "TOUCH_MI_PROBE requires Z_MIN_PROBE_ENDSTOP_INVERTING set to false."
#endif
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#if HAS_INVERTED_PROBE
#if !Z_MIN_ENDSTOP_INVERTING
#error "TOUCH_MI_PROBE requires Z_MIN_ENDSTOP_INVERTING set to true."
#endif
#elif Z_MIN_ENDSTOP_INVERTING
#error "TOUCH_MI_PROBE requires Z_MIN_ENDSTOP_INVERTING set to false."
#endif
#endif
#endif // TOUCH_MI_PROBE

/**
* Mag mounted probe requirements
Expand Down
4 changes: 4 additions & 0 deletions Marlin/src/pins/ramps/pins_K8400.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@
#define X_STOP_PIN 3
#define Y_STOP_PIN 14

#if EITHER(BLTOUCH, TOUCH_MI_PROBE)
#define HAS_INVERTED_PROBE
#endif

#include "pins_3DRAG.h" // ... RAMPS

//
Expand Down

0 comments on commit 30682f7

Please sign in to comment.