Merge pull request #522 from PavelSindler/xyz_cal_corrections_3

XYZ cal. for MK25 area for improving calibration point enlarged
This commit is contained in:
PavelSindler 2018-03-05 18:21:18 +01:00 committed by GitHub
commit 4ae71127be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1053,59 +1053,51 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level)
// Do nsteps_y zig-zag movements.
float a, b;
float avg[2] = { 0,0 };
invert_z_endstop(true);
for (int iteration = 0; iteration < 8; iteration++) {
found = false;
invert_z_endstop(true);
found = false;
enable_z_endstop(true);
go_xy(x0, current_position[Y_AXIS], feedrate / 5);
go_xy(init_x_position + 16.0f, current_position[Y_AXIS], feedrate / 5);
update_current_position_xyz();
if (!endstop_z_hit_on_purpose()) {
// SERIAL_ECHOLN("Search X span 0 - not found");
continue;
}
//lcd_show_fullscreen_message_and_wait_P(PSTR("X1 found"));
//lcd_update_enable(true);
// SERIAL_ECHOLN("Search X span 0 - found");
a = current_position[X_AXIS];
enable_z_endstop(false);
go_xy(init_x_position, current_position[Y_AXIS], feedrate / 5);
enable_z_endstop(true);
go_xy(x1, current_position[Y_AXIS], feedrate / 5);
go_xy(init_x_position - 16.0f, current_position[Y_AXIS], feedrate / 5);
update_current_position_xyz();
if (!endstop_z_hit_on_purpose()) {
// SERIAL_ECHOLN("Search X span 1 - not found");
continue;
}
//lcd_show_fullscreen_message_and_wait_P(PSTR("X2 found"));
//lcd_update_enable(true);
// SERIAL_ECHOLN("Search X span 1 - found");
b = current_position[X_AXIS];
// Go to the center.
enable_z_endstop(false);
current_position[X_AXIS] = 0.5f * (a + b);
go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5);
go_xy(current_position[X_AXIS], init_y_position, feedrate / 5);
found = true;
// Search in the Y direction along a cross.
found = false;
enable_z_endstop(true);
go_xy(current_position[X_AXIS], y0, feedrate / 5);
go_xy(current_position[X_AXIS], init_y_position + 16.0f, feedrate / 5);
update_current_position_xyz();
if (!endstop_z_hit_on_purpose()) {
// SERIAL_ECHOLN("Search Y2 span 0 - not found");
continue;
}
//lcd_show_fullscreen_message_and_wait_P(PSTR("Y1 found"));
//lcd_update_enable(true);
// SERIAL_ECHOLN("Search Y2 span 0 - found");
a = current_position[Y_AXIS];
enable_z_endstop(false);
go_xy(current_position[X_AXIS], init_y_position, feedrate / 5);
enable_z_endstop(true);
go_xy(current_position[X_AXIS], y1, feedrate / 5);
go_xy(current_position[X_AXIS], init_y_position - 16.0f, feedrate / 5);
update_current_position_xyz();
if (!endstop_z_hit_on_purpose()) {
// SERIAL_ECHOLN("Search Y2 span 1 - not found");
@ -1113,12 +1105,8 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level)
}
// SERIAL_ECHOLN("Search Y2 span 1 - found");
b = current_position[Y_AXIS];
//lcd_show_fullscreen_message_and_wait_P(PSTR("Y2 found"));
//lcd_update_enable(true);
// Go to the center.
enable_z_endstop(false);
invert_z_endstop(false);
current_position[Y_AXIS] = 0.5f * (a + b);
go_xy(current_position[X_AXIS], current_position[Y_AXIS], feedrate / 5);
@ -1145,6 +1133,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level)
found = true;
}
invert_z_endstop(false);
avg[X_AXIS] *= (1.f / 7.f);
avg[Y_AXIS] *= (1.f / 7.f);
@ -1169,8 +1158,9 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level)
break;
}
}
enable_z_endstop(false);
invert_z_endstop(false);
return found;
}