Add calculation of difference between auto-correct bed level plane, and measured topo map.
This commit is contained in:
parent
f7659f02bb
commit
62302ceb9e
1 changed files with 38 additions and 4 deletions
|
@ -2773,6 +2773,9 @@ inline void gcode_G28() {
|
|||
}
|
||||
}
|
||||
|
||||
if (!dryrun) set_bed_level_equation_lsq(plane_equation_coefficients);
|
||||
free(plane_equation_coefficients);
|
||||
|
||||
// Show the Topography map if enabled
|
||||
if (do_topography_map) {
|
||||
|
||||
|
@ -2783,10 +2786,22 @@ inline void gcode_G28() {
|
|||
SERIAL_PROTOCOLPGM("|...Front...|\n");
|
||||
SERIAL_PROTOCOLPGM("+-----------+\n");
|
||||
|
||||
float min_diff = 999;
|
||||
|
||||
for (int yy = auto_bed_leveling_grid_points - 1; yy >= 0; yy--) {
|
||||
for (int xx = 0; xx < auto_bed_leveling_grid_points; xx++) {
|
||||
int ind = yy * auto_bed_leveling_grid_points + xx;
|
||||
float diff = eqnBVector[ind] - mean;
|
||||
|
||||
float x_tmp = eqnAMatrix[ind + 0 * abl2],
|
||||
y_tmp = eqnAMatrix[ind + 1 * abl2],
|
||||
z_tmp = 0;
|
||||
|
||||
apply_rotation_xyz(plan_bed_level_matrix,x_tmp,y_tmp,z_tmp);
|
||||
|
||||
if (eqnBVector[ind] - z_tmp < min_diff)
|
||||
min_diff = eqnBVector[ind] - z_tmp;
|
||||
|
||||
if (diff >= 0.0)
|
||||
SERIAL_PROTOCOLPGM(" +"); // Include + for column alignment
|
||||
else
|
||||
|
@ -2797,12 +2812,31 @@ inline void gcode_G28() {
|
|||
} // yy
|
||||
SERIAL_EOL;
|
||||
|
||||
SERIAL_PROTOCOLPGM(" \nCorrected Bed Height vs. Bed Topology: \n");
|
||||
|
||||
for (int yy = auto_bed_leveling_grid_points - 1; yy >= 0; yy--) {
|
||||
for (int xx = 0; xx < auto_bed_leveling_grid_points; xx++) {
|
||||
int ind = yy * auto_bed_leveling_grid_points + xx;
|
||||
float x_tmp = eqnAMatrix[ind + 0 * abl2],
|
||||
y_tmp = eqnAMatrix[ind + 1 * abl2],
|
||||
z_tmp = 0;
|
||||
|
||||
apply_rotation_xyz(plan_bed_level_matrix,x_tmp,y_tmp,z_tmp);
|
||||
|
||||
float diff = eqnBVector[ind] - z_tmp - min_diff;
|
||||
if (diff >= 0.0)
|
||||
SERIAL_PROTOCOLPGM(" +");
|
||||
// Include + for column alignment
|
||||
else
|
||||
SERIAL_PROTOCOLCHAR(' ');
|
||||
SERIAL_PROTOCOL_F(diff, 5);
|
||||
} // xx
|
||||
SERIAL_EOL;
|
||||
} // yy
|
||||
SERIAL_EOL;
|
||||
|
||||
} //do_topography_map
|
||||
|
||||
|
||||
if (!dryrun) set_bed_level_equation_lsq(plane_equation_coefficients);
|
||||
free(plane_equation_coefficients);
|
||||
|
||||
#endif //!DELTA
|
||||
|
||||
#else // !AUTO_BED_LEVELING_GRID
|
||||
|
|
Reference in a new issue