Fix error checking in M421

This commit is contained in:
Scott Lahteine 2016-05-14 17:12:44 -07:00
parent bc5a547d55
commit 13175ce7da
2 changed files with 14 additions and 11 deletions

View file

@ -5851,19 +5851,22 @@ inline void gcode_M410() { stepper.quick_stop(); }
if ((hasY = code_seen('Y'))) y = code_value(); if ((hasY = code_seen('Y'))) y = code_value();
if ((hasZ = code_seen('Z'))) z = code_value(); if ((hasZ = code_seen('Z'))) z = code_value();
if (!hasX || !hasY || !hasZ) { if (hasX && hasY && hasZ) {
int8_t ix = mbl.select_x_index(x),
iy = mbl.select_y_index(y);
if (ix >= 0 && iy >= 0)
mbl.set_z(ix, iy, z);
else {
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM(MSG_ERR_MESH_XY);
}
}
else {
SERIAL_ERROR_START; SERIAL_ERROR_START;
SERIAL_ERRORLNPGM(MSG_ERR_M421_REQUIRES_XYZ); SERIAL_ERRORLNPGM(MSG_ERR_M421_REQUIRES_XYZ);
err = true;
} }
if (x >= MESH_NUM_X_POINTS || y >= MESH_NUM_Y_POINTS) {
SERIAL_ERROR_START;
SERIAL_ERRORLNPGM(MSG_ERR_MESH_INDEX_OOB);
err = true;
}
if (!err) mbl.set_z(mbl.select_x_index(x), mbl.select_y_index(y), z);
} }
#endif #endif

View file

@ -148,7 +148,7 @@
#define MSG_Z_PROBE "z_probe: " #define MSG_Z_PROBE "z_probe: "
#define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)" #define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
#define MSG_ERR_M421_REQUIRES_XYZ "M421 requires XYZ parameters" #define MSG_ERR_M421_REQUIRES_XYZ "M421 requires XYZ parameters"
#define MSG_ERR_MESH_INDEX_OOB "Mesh XY index is out of bounds" #define MSG_ERR_MESH_XY "Mesh XY cannot be resolved"
#define MSG_ERR_M428_TOO_FAR "Too far from reference point" #define MSG_ERR_M428_TOO_FAR "Too far from reference point"
#define MSG_ERR_M303_DISABLED "PIDTEMP disabled" #define MSG_ERR_M303_DISABLED "PIDTEMP disabled"
#define MSG_M119_REPORT "Reporting endstop status" #define MSG_M119_REPORT "Reporting endstop status"