|
@ -1772,8 +1772,6 @@ inline void gcode_G28() { |
|
|
|
|
|
|
|
|
inline void gcode_G29() { |
|
|
inline void gcode_G29() { |
|
|
|
|
|
|
|
|
float x_tmp, y_tmp, z_tmp, real_z; |
|
|
|
|
|
|
|
|
|
|
|
// Prevent user from running a G29 without first homing in X and Y
|
|
|
// Prevent user from running a G29 without first homing in X and Y
|
|
|
if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) { |
|
|
if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) { |
|
|
LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN); |
|
|
LCD_MESSAGEPGM(MSG_POSITION_UNKNOWN); |
|
@ -1782,28 +1780,26 @@ inline void gcode_G28() { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
bool enhanced_g29 = code_seen('E') || code_seen('e'); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef AUTO_BED_LEVELING_GRID |
|
|
|
|
|
|
|
|
|
|
|
// Example Syntax: G29 N4 V2 E T
|
|
|
|
|
|
int verbose_level = 1; |
|
|
int verbose_level = 1; |
|
|
|
|
|
float x_tmp, y_tmp, z_tmp, real_z; |
|
|
bool topo_flag = code_seen('T') || code_seen('t'); |
|
|
|
|
|
|
|
|
|
|
|
if (code_seen('V') || code_seen('v')) { |
|
|
if (code_seen('V') || code_seen('v')) { |
|
|
verbose_level = code_value(); |
|
|
verbose_level = code_value_long(); |
|
|
if (verbose_level < 0 || verbose_level > 4) { |
|
|
if (verbose_level < 0 || verbose_level > 4) { |
|
|
SERIAL_PROTOCOLPGM("?(V)erbose Level is implausible (0-4).\n"); |
|
|
SERIAL_PROTOCOLPGM("?(V)erbose Level is implausible (0-4).\n"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (verbose_level > 0) { |
|
|
|
|
|
SERIAL_PROTOCOLPGM("G29 Enhanced Auto Bed Leveling Code V1.25:\n"); |
|
|
|
|
|
SERIAL_PROTOCOLPGM("Full support at: http://3dprintboard.com/forum.php\n"); |
|
|
|
|
|
if (verbose_level > 2) topo_flag = true; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
bool enhanced_g29 = code_seen('E') || code_seen('e'); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef AUTO_BED_LEVELING_GRID |
|
|
|
|
|
|
|
|
|
|
|
bool topo_flag = verbose_level > 2 || code_seen('T') || code_seen('t'); |
|
|
|
|
|
|
|
|
|
|
|
if (verbose_level > 0) |
|
|
|
|
|
SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling\n"); |
|
|
|
|
|
|
|
|
int auto_bed_leveling_grid_points = code_seen('P') ? code_value_long() : AUTO_BED_LEVELING_GRID_POINTS; |
|
|
int auto_bed_leveling_grid_points = code_seen('P') ? code_value_long() : AUTO_BED_LEVELING_GRID_POINTS; |
|
|
if (auto_bed_leveling_grid_points < 2 || auto_bed_leveling_grid_points > AUTO_BED_LEVELING_GRID_POINTS) { |
|
|
if (auto_bed_leveling_grid_points < 2 || auto_bed_leveling_grid_points > AUTO_BED_LEVELING_GRID_POINTS) { |
|
|
SERIAL_PROTOCOLPGM("?Number of probed (P)oints is implausible (2 minimum).\n"); |
|
|
SERIAL_PROTOCOLPGM("?Number of probed (P)oints is implausible (2 minimum).\n"); |
|
|