Apply GRID_LOOP
This commit is contained in:
		| @@ -49,14 +49,13 @@ | ||||
|   void unified_bed_leveling::report_current_mesh() { | ||||
|     if (!leveling_is_valid()) return; | ||||
|     SERIAL_ECHO_MSG("  G29 I99"); | ||||
|     LOOP_L_N(x, GRID_MAX_POINTS_X) | ||||
|       for (uint8_t y = 0;  y < GRID_MAX_POINTS_Y; y++) | ||||
|         if (!isnan(z_values[x][y])) { | ||||
|           SERIAL_ECHO_START(); | ||||
|           SERIAL_ECHOPAIR("  M421 I", int(x), " J", int(y)); | ||||
|           SERIAL_ECHOLNPAIR_F_P(SP_Z_STR, z_values[x][y], 4); | ||||
|           serial_delay(75); // Prevent Printrun from exploding | ||||
|         } | ||||
|     GRID_LOOP(x, y) | ||||
|       if (!isnan(z_values[x][y])) { | ||||
|         SERIAL_ECHO_START(); | ||||
|         SERIAL_ECHOPAIR("  M421 I", int(x), " J", int(y)); | ||||
|         SERIAL_ECHOLNPAIR_F_P(SP_Z_STR, z_values[x][y], 4); | ||||
|         serial_delay(75); // Prevent Printrun from exploding | ||||
|       } | ||||
|   } | ||||
|  | ||||
|   void unified_bed_leveling::report_state() { | ||||
|   | ||||
| @@ -155,21 +155,18 @@ void GcodeSuite::M420() { | ||||
|  | ||||
|             // Get the sum and average of all mesh values | ||||
|             float mesh_sum = 0; | ||||
|             for (uint8_t x = GRID_MAX_POINTS_X; x--;) | ||||
|               for (uint8_t y = GRID_MAX_POINTS_Y; y--;) | ||||
|                 mesh_sum += Z_VALUES(x, y); | ||||
|             GRID_LOOP(x, y) mesh_sum += Z_VALUES(x, y); | ||||
|             const float zmean = mesh_sum / float(GRID_MAX_POINTS); | ||||
|  | ||||
|           #else | ||||
|  | ||||
|             // Find the low and high mesh values | ||||
|             float lo_val = 100, hi_val = -100; | ||||
|             for (uint8_t x = GRID_MAX_POINTS_X; x--;) | ||||
|               for (uint8_t y = GRID_MAX_POINTS_Y; y--;) { | ||||
|                 const float z = Z_VALUES(x, y); | ||||
|                 NOMORE(lo_val, z); | ||||
|                 NOLESS(hi_val, z); | ||||
|               } | ||||
|             GRID_LOOP(x, y) { | ||||
|               const float z = Z_VALUES(x, y); | ||||
|               NOMORE(lo_val, z); | ||||
|               NOLESS(hi_val, z); | ||||
|             } | ||||
|             // Take the mean of the lowest and highest | ||||
|             const float zmean = (lo_val + hi_val) / 2.0 + cval; | ||||
|  | ||||
| @@ -179,13 +176,12 @@ void GcodeSuite::M420() { | ||||
|           if (!NEAR_ZERO(zmean)) { | ||||
|             set_bed_leveling_enabled(false); | ||||
|             // Subtract the mean from all values | ||||
|             for (uint8_t x = GRID_MAX_POINTS_X; x--;) | ||||
|               for (uint8_t y = GRID_MAX_POINTS_Y; y--;) { | ||||
|                 Z_VALUES(x, y) -= zmean; | ||||
|                 #if ENABLED(EXTENSIBLE_UI) | ||||
|                   ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y)); | ||||
|                 #endif | ||||
|               } | ||||
|             GRID_LOOP(x, y) { | ||||
|               Z_VALUES(x, y) -= zmean; | ||||
|               #if ENABLED(EXTENSIBLE_UI) | ||||
|                 ExtUI::onMeshUpdate(x, y, Z_VALUES(x, y)); | ||||
|               #endif | ||||
|             } | ||||
|             #if ENABLED(ABL_BILINEAR_SUBDIVISION) | ||||
|               bed_level_virt_interpolate(); | ||||
|             #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user