diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h index 3c775a115..5ea664bb8 100644 --- a/Marlin/Conditionals_LCD.h +++ b/Marlin/Conditionals_LCD.h @@ -373,6 +373,13 @@ */ #define HAS_Z_SERVO_ENDSTOP (defined(Z_ENDSTOP_SERVO_NR) && Z_ENDSTOP_SERVO_NR >= 0) + /** + * UBL has its own manual probing, so this just causes trouble. + */ + #if ENABLED(AUTO_BED_LEVELING_UBL) + #undef PROBE_MANUALLY + #endif + /** * Set a flag for any enabled probe */ diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index 9d505d87f..d09616937 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -351,6 +351,9 @@ int16_t code_value_temp_diff(); void refresh_zprobe_zoffset(const bool no_babystep=false); #define DEPLOY_PROBE() set_probe_deployed(true) #define STOW_PROBE() set_probe_deployed(false) +#else + #define DEPLOY_PROBE() + #define STOW_PROBE() #endif #if ENABLED(HOST_KEEPALIVE_FEATURE) diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 9ddda7cbc..a63bbfdad 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -463,16 +463,16 @@ static_assert(1 >= 0 #if ENABLED(BLTOUCH) + 1 #endif - #if ENABLED(Z_PROBE_ALLEN_KEY) + #if ENABLED(SOLENOID_PROBE) + 1 #endif - #if ENABLED(Z_PROBE_SLED) + #if ENABLED(Z_PROBE_ALLEN_KEY) + 1 #endif - #if ENABLED(SOLENOID_PROBE) + #if ENABLED(Z_PROBE_SLED) + 1 #endif - , "Please enable only one probe: PROBE_MANUALLY, FIX_MOUNTED_PROBE, Z Servo, BLTOUCH, Z_PROBE_ALLEN_KEY, or Z_PROBE_SLED." + , "Please enable only one probe option: PROBE_MANUALLY, FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." ); @@ -547,9 +547,13 @@ static_assert(1 >= 0 * Require some kind of probe for bed leveling and probe testing */ #if HAS_ABL - #error "Auto Bed Leveling requires a probe! Define a Z Servo, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or FIX_MOUNTED_PROBE." + #if ENABLED(AUTO_BED_LEVELING_UBL) + #error "Unified Bed Leveling requires a probe: FIX_MOUNTED_PROBE, BLTOUCH, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo." + #else + #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." + #endif #elif ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) - #error "Z_MIN_PROBE_REPEATABILITY_TEST requires a probe! Define a Z Servo, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or FIX_MOUNTED_PROBE." + #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." #endif #endif diff --git a/Marlin/ubl_G29.cpp b/Marlin/ubl_G29.cpp index 5f20c59b2..42a95ef56 100644 --- a/Marlin/ubl_G29.cpp +++ b/Marlin/ubl_G29.cpp @@ -640,10 +640,10 @@ ubl.state.z_offset = code_value_float(); // do the simple case. Just lock in the specified value else { ubl.save_ubl_active_state_and_disable(); - //measured_z = probe_pt(x_pos + X_PROBE_OFFSET_FROM_EXTRUDER, y_pos + Y_PROBE_OFFSET_FROM_EXTRUDER, ProbeDeployAndStow, g29_verbose_level); + //float measured_z = probe_pt(x_pos + X_PROBE_OFFSET_FROM_EXTRUDER, y_pos + Y_PROBE_OFFSET_FROM_EXTRUDER, ProbeDeployAndStow, g29_verbose_level); ubl.has_control_of_lcd_panel = true; // Grab the LCD Hardware - measured_z = 1.5; + float measured_z = 1.5; do_blocking_move_to_z(measured_z); // Get close to the bed, but leave some space so we don't damage anything // The user is not going to be locking in a new Z-Offset very often so // it won't be that painful to spin the Encoder Wheel for 1.5mm @@ -1185,9 +1185,12 @@ SERIAL_PROTOCOL_F(planner.z_fade_height, 4); SERIAL_EOL; #endif - SERIAL_PROTOCOLPGM("zprobe_zoffset: "); - SERIAL_PROTOCOL_F(zprobe_zoffset, 7); - SERIAL_EOL; + + #if HAS_BED_PROBE + SERIAL_PROTOCOLPGM("zprobe_zoffset: "); + SERIAL_PROTOCOL_F(zprobe_zoffset, 7); + SERIAL_EOL; + #endif SERIAL_ECHOLNPAIR("UBL_MESH_MIN_X " STRINGIFY(UBL_MESH_MIN_X) "=", UBL_MESH_MIN_X); SERIAL_ECHOLNPAIR("UBL_MESH_MIN_Y " STRINGIFY(UBL_MESH_MIN_Y) "=", UBL_MESH_MIN_Y);