Skip to content

Commit

Permalink
Fix NAN mesh entries with ABL_BILINEAR_SUBDIVISION (MarlinFirmware#20143
Browse files Browse the repository at this point in the history
)
  • Loading branch information
sjasonsmith authored and dpreed committed Feb 5, 2021
1 parent f12e969 commit fdee63d
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Marlin/src/feature/bedlevel/abl/abl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,14 @@ void print_bilinear_leveling_grid() {
#define LINEAR_EXTRAPOLATION(E, I) ((E) * 2 - (I))
float bed_level_virt_coord(const uint8_t x, const uint8_t y) {
uint8_t ep = 0, ip = 1;
if (x > GRID_MAX_POINTS_X + 1 || y > GRID_MAX_POINTS_Y + 1) {
// The requested point requires extrapolating two points beyond the mesh.
// These values are only requested for the edges of the mesh, which are always an actual mesh point,
// and do not require interpolation. When interpolation is not needed, this "Mesh + 2" point is
// cancelled out in bed_level_virt_cmr and does not impact the result. Return 0.0 rather than
// making this function more complex by extrapolating two points.
return 0.0;
}
if (!x || x == ABL_TEMP_POINTS_X - 1) {
if (x) {
ep = GRID_MAX_POINTS_X - 1;
Expand Down

0 comments on commit fdee63d

Please sign in to comment.