From 495516395997c47b09735132ccb109338e6676e5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sat, 21 May 2016 19:22:08 -0700 Subject: [PATCH] Propose simpler probe index methods --- Marlin/mesh_bed_leveling.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Marlin/mesh_bed_leveling.h b/Marlin/mesh_bed_leveling.h index 34b1312457..9d0b258b2d 100644 --- a/Marlin/mesh_bed_leveling.h +++ b/Marlin/mesh_bed_leveling.h @@ -64,17 +64,13 @@ } int8_t probe_index_x(float x) { - for (int8_t px = MESH_NUM_X_POINTS; px--;) - if (fabs(x - get_probe_x(px)) <= (MESH_X_DIST) / 2) - return px; - return -1; + int8_t px = int(x - (MESH_MIN_X) + (MESH_X_DIST) / 2) / (MESH_X_DIST); + return (px >= 0 && px < (MESH_NUM_X_POINTS)) ? px : -1; } int8_t probe_index_y(float y) { - for (int8_t py = MESH_NUM_Y_POINTS; py--;) - if (fabs(y - get_probe_y(py)) <= (MESH_Y_DIST) / 2) - return py; - return -1; + int8_t py = int(y - (MESH_MIN_Y) + (MESH_Y_DIST) / 2) / (MESH_Y_DIST); + return (py >= 0 && py < (MESH_NUM_Y_POINTS)) ? py : -1; } float calc_z0(float a0, float a1, float z1, float a2, float z2) {