Scott Lahteine
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
9 additions and
14 deletions
-
Marlin/src/feature/bedlevel/bedlevel.cpp
-
Marlin/src/feature/bedlevel/ubl/ubl.h
-
Marlin/src/gcode/bedlevel/M420.cpp
|
@ -53,7 +53,7 @@ bool leveling_is_valid() { |
|
|
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) |
|
|
#elif ENABLED(AUTO_BED_LEVELING_BILINEAR) |
|
|
!!bilinear_grid_spacing[X_AXIS] |
|
|
!!bilinear_grid_spacing[X_AXIS] |
|
|
#elif ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
#elif ENABLED(AUTO_BED_LEVELING_UBL) |
|
|
true |
|
|
ubl.mesh_is_valid() |
|
|
#else // 3POINT, LINEAR
|
|
|
#else // 3POINT, LINEAR
|
|
|
true |
|
|
true |
|
|
#endif |
|
|
#endif |
|
|
|
@ -363,17 +363,11 @@ class unified_bed_leveling { |
|
|
static void line_to_destination_cartesian(const float &fr, const uint8_t e); |
|
|
static void line_to_destination_cartesian(const float &fr, const uint8_t e); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
#define _CMPZ(a,b) (z_values[a][b] == z_values[a][b+1]) |
|
|
inline static bool mesh_is_valid() { |
|
|
#define CMPZ(a) (_CMPZ(a, 0) && _CMPZ(a, 1)) |
|
|
for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) |
|
|
#define ZZER(a) (z_values[a][0] == 0) |
|
|
for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) |
|
|
|
|
|
if (isnan(z_values[x][y])) return false; |
|
|
FORCE_INLINE bool mesh_is_valid() { |
|
|
return true; |
|
|
return !( |
|
|
|
|
|
( CMPZ(0) && CMPZ(1) && CMPZ(2) // adjacent z values all equal?
|
|
|
|
|
|
&& ZZER(0) && ZZER(1) && ZZER(2) // all zero at the edge?
|
|
|
|
|
|
) |
|
|
|
|
|
|| isnan(z_values[0][0]) |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
}; // class unified_bed_leveling
|
|
|
}; // class unified_bed_leveling
|
|
|
|
@ -96,8 +96,9 @@ void GcodeSuite::M420() { |
|
|
// L or V display the map info
|
|
|
// L or V display the map info
|
|
|
if (parser.seen('L') || parser.seen('V')) { |
|
|
if (parser.seen('L') || parser.seen('V')) { |
|
|
ubl.display_map(parser.byteval('T')); |
|
|
ubl.display_map(parser.byteval('T')); |
|
|
SERIAL_ECHOLNPAIR("ubl.mesh_is_valid = ", ubl.mesh_is_valid()); |
|
|
SERIAL_ECHOPGM("Mesh is "); |
|
|
SERIAL_ECHOLNPAIR("ubl.storage_slot = ", ubl.storage_slot); |
|
|
if (!ubl.mesh_is_valid()) SERIAL_ECHOPGM("in"); |
|
|
|
|
|
SERIAL_ECHOLNPAIR("valid\nStorage slot: ", ubl.storage_slot); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#endif // AUTO_BED_LEVELING_UBL
|
|
|
#endif // AUTO_BED_LEVELING_UBL
|
|
|