Add NOZZLE_AS_PROBE (no probe offsets) (#15929)
This commit is contained in:
		
				
					committed by
					
						 Scott Lahteine
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							9c021158e5
						
					
				
				
					commit
					1c9ccce520
				
			| @@ -59,6 +59,8 @@ void safe_delay(millis_t ms) { | ||||
|     SERIAL_ECHOLNPGM("Probe: " | ||||
|       #if ENABLED(PROBE_MANUALLY) | ||||
|         "PROBE_MANUALLY" | ||||
|       #elif ENABLED(NOZZLE_AS_PROBE) | ||||
|         "NOZZLE_AS_PROBE" | ||||
|       #elif ENABLED(FIX_MOUNTED_PROBE) | ||||
|         "FIX_MOUNTED_PROBE" | ||||
|       #elif ENABLED(BLTOUCH) | ||||
|   | ||||
| @@ -403,13 +403,14 @@ G29_TYPE GcodeSuite::G29() { | ||||
|       } | ||||
|       else { | ||||
|         probe_position_lf.set( | ||||
|           parser.seenval('L') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MAX(X_CENTER - (X_BED_SIZE) / 2,      x_min), | ||||
|           parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MAX(Y_CENTER - (Y_BED_SIZE) / 2,      y_min) | ||||
|           parser.seenval('L') ? (int)RAW_X_POSITION(parser.value_linear_units()) : (_MAX(x_min, X_CENTER - (X_BED_SIZE) / 2)      + MIN_PROBE_EDGE_LEFT), | ||||
|           parser.seenval('F') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : (_MAX(y_min, Y_CENTER - (Y_BED_SIZE) / 2)      + MIN_PROBE_EDGE_FRONT) | ||||
|         ); | ||||
|         probe_position_rb.set( | ||||
|           parser.seenval('R') ? (int)RAW_X_POSITION(parser.value_linear_units()) : _MIN(probe_position_lf.x + X_BED_SIZE, x_max), | ||||
|           parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : _MIN(probe_position_lf.y + Y_BED_SIZE, y_max) | ||||
|           parser.seenval('R') ? (int)RAW_X_POSITION(parser.value_linear_units()) : (_MIN(x_max, probe_position_lf.x + X_BED_SIZE) - MIN_PROBE_EDGE_RIGHT), | ||||
|           parser.seenval('B') ? (int)RAW_Y_POSITION(parser.value_linear_units()) : (_MIN(y_max, probe_position_lf.y + Y_BED_SIZE) - MIN_PROBE_EDGE_BACK) | ||||
|         ); | ||||
|         SERIAL_ECHOLN("Set Trail 1"); | ||||
|       } | ||||
|  | ||||
|       if ( | ||||
|   | ||||
| @@ -496,7 +496,7 @@ | ||||
| /** | ||||
|  * Set flags for enabled probes | ||||
|  */ | ||||
| #define HAS_BED_PROBE (HAS_Z_SERVO_PROBE || ANY(FIX_MOUNTED_PROBE, TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, SOLENOID_PROBE, SENSORLESS_PROBING, RACK_AND_PINION_PROBE)) | ||||
| #define HAS_BED_PROBE (HAS_Z_SERVO_PROBE || ANY(FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, SOLENOID_PROBE, SENSORLESS_PROBING, RACK_AND_PINION_PROBE)) | ||||
| #define PROBE_SELECTED (HAS_BED_PROBE || EITHER(PROBE_MANUALLY, MESH_BED_LEVELING)) | ||||
|  | ||||
| #if HAS_BED_PROBE | ||||
|   | ||||
| @@ -1483,6 +1483,10 @@ | ||||
|   #undef MIN_PROBE_EDGE_RIGHT | ||||
|   #undef MIN_PROBE_EDGE_FRONT | ||||
|   #undef MIN_PROBE_EDGE_BACK | ||||
|   #define MIN_PROBE_EDGE_LEFT 0 | ||||
|   #define MIN_PROBE_EDGE_RIGHT 0 | ||||
|   #define MIN_PROBE_EDGE_FRONT 0 | ||||
|   #define MIN_PROBE_EDGE_BACK 0 | ||||
| #else | ||||
|   #ifndef MIN_PROBE_EDGE_LEFT | ||||
|     #define MIN_PROBE_EDGE_LEFT MIN_PROBE_EDGE | ||||
|   | ||||
| @@ -1082,6 +1082,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS | ||||
| #if 1 < 0 \ | ||||
|   + ENABLED(PROBE_MANUALLY) \ | ||||
|   + ENABLED(FIX_MOUNTED_PROBE) \ | ||||
|   + ENABLED(NOZZLE_AS_PROBE) \ | ||||
|   + (HAS_Z_SERVO_PROBE && DISABLED(BLTOUCH)) \ | ||||
|   + ENABLED(BLTOUCH) \ | ||||
|   + ENABLED(TOUCH_MI_PROBE) \ | ||||
| @@ -1090,7 +1091,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS | ||||
|   + ENABLED(Z_PROBE_SLED) \ | ||||
|   + ENABLED(RACK_AND_PINION_PROBE) \ | ||||
|   + ENABLED(SENSORLESS_PROBING) | ||||
|   #error "Please enable only one probe option: PROBE_MANUALLY, SENSORLESS_PROBING, BLTOUCH, FIX_MOUNTED_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." | ||||
|   #error "Please enable only one probe option: PROBE_MANUALLY, SENSORLESS_PROBING, BLTOUCH, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." | ||||
| #endif | ||||
|  | ||||
| #if HAS_BED_PROBE | ||||
| @@ -1221,11 +1222,11 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS | ||||
|    * Require some kind of probe for bed leveling and probe testing | ||||
|    */ | ||||
|   #if HAS_ABL_NOT_UBL && !PROBE_SELECTED | ||||
|     #error "Auto Bed Leveling requires one of these: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or a Z Servo." | ||||
|     #error "Auto Bed Leveling requires one of these: PROBE_MANUALLY, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or a Z Servo." | ||||
|   #endif | ||||
|  | ||||
|   #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) | ||||
|     #error "Z_MIN_PROBE_REPEATABILITY_TEST requires a probe: FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." | ||||
|     #error "Z_MIN_PROBE_REPEATABILITY_TEST requires a probe: FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." | ||||
|   #endif | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -358,7 +358,7 @@ bool set_probe_deployed(const bool deploy) { | ||||
|   // Make room for probe to deploy (or stow) | ||||
|   // Fix-mounted probe should only raise for deploy | ||||
|   // unless PAUSE_BEFORE_DEPLOY_STOW is enabled | ||||
|   #if ENABLED(FIX_MOUNTED_PROBE) && DISABLED(PAUSE_BEFORE_DEPLOY_STOW) | ||||
|   #if EITHER(FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE) && DISABLED(PAUSE_BEFORE_DEPLOY_STOW) | ||||
|     const bool deploy_stow_condition = deploy; | ||||
|   #else | ||||
|     constexpr bool deploy_stow_condition = true; | ||||
|   | ||||
| @@ -85,6 +85,8 @@ | ||||
|     return ( | ||||
|       #if IS_KINEMATIC | ||||
|         (X_CENTER) - probe_radius() | ||||
|       #elif ENABLED(NOZZLE_AS_PROBE) | ||||
|         _MAX(MIN_PROBE_EDGE_LEFT, X_MIN_POS) | ||||
|       #else | ||||
|         _MAX((X_MIN_BED) + (MIN_PROBE_EDGE_LEFT), (X_MIN_POS) + probe_offset.x) | ||||
|       #endif | ||||
| @@ -94,6 +96,8 @@ | ||||
|     return ( | ||||
|       #if IS_KINEMATIC | ||||
|         (X_CENTER) + probe_radius() | ||||
|       #elif ENABLED(NOZZLE_AS_PROBE) | ||||
|         _MAX(MIN_PROBE_EDGE_RIGHT, X_MAX_POS) | ||||
|       #else | ||||
|         _MIN((X_MAX_BED) - (MIN_PROBE_EDGE_RIGHT), (X_MAX_POS) + probe_offset.x) | ||||
|       #endif | ||||
| @@ -103,6 +107,8 @@ | ||||
|     return ( | ||||
|       #if IS_KINEMATIC | ||||
|         (Y_CENTER) - probe_radius() | ||||
|       #elif ENABLED(NOZZLE_AS_PROBE) | ||||
|         _MIN(MIN_PROBE_EDGE_FRONT, Y_MIN_POS) | ||||
|       #else | ||||
|         _MAX((Y_MIN_BED) + (MIN_PROBE_EDGE_FRONT), (Y_MIN_POS) + probe_offset.y) | ||||
|       #endif | ||||
| @@ -112,6 +118,8 @@ | ||||
|     return ( | ||||
|       #if IS_KINEMATIC | ||||
|         (Y_CENTER) + probe_radius() | ||||
|       #elif ENABLED(NOZZLE_AS_PROBE) | ||||
|         _MAX(MIN_PROBE_EDGE_BACK, Y_MAX_POS) | ||||
|       #else | ||||
|         _MIN((Y_MAX_BED) - (MIN_PROBE_EDGE_BACK), (Y_MAX_POS) + probe_offset.y) | ||||
|       #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user