From 7d825de214227de79a75f9e43d8b19d5344819f5 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 22 Nov 2017 11:18:39 +0100 Subject: [PATCH 1/4] show live adjust Z option in main menu when running First layer calibration --- Firmware/ultralcd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index c808892c..e899df1a 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -4817,7 +4817,7 @@ static void lcd_main_menu() }*/ - if ( ( IS_SD_PRINTING || is_usb_printing ) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag) + if ( ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LCD_COMMAND_V2_CAL) ) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag) { MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8 } From 6bd221ad3ba68ac7563e4d0ea26172142f40ba87 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 22 Nov 2017 16:07:03 +0100 Subject: [PATCH 2/4] Y distance between nozzle and PINDA corrected --- Firmware/Configuration_prusa.h | 2 +- Firmware/mesh_bed_calibration.cpp | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 3b95a82e..16d8b18a 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -317,7 +317,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define MESH_HOME_Z_SEARCH 5 //Z lift for homing, mesh bed leveling etc. #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right -#define Y_PROBE_OFFSET_FROM_EXTRUDER 9 // Z probe to nozzle Y offset: -front +behind +#define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) #endif diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 3d4e4be4..73e4fe8f 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -56,11 +56,6 @@ const float bed_skew_angle_extreme = (0.25f * M_PI / 180.f); // Positions of the bed reference points in the machine coordinates, referenced to the P.I.N.D.A sensor. // The points are the following: center front, center right, center rear, center left. const float bed_ref_points_4[] PROGMEM = { - //115.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, - //216.f - BED_ZERO_REF_X, 104.4f - BED_ZERO_REF_Y, - //115.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y, - //13.f - BED_ZERO_REF_X, 104.4f - BED_ZERO_REF_Y - 13.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, 221.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, 221.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y, From 6d0574dd0fda5c135fe3a7f4d4721df96684b008 Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 22 Nov 2017 19:13:34 +0100 Subject: [PATCH 3/4] changed Y_MIN and probe points coordinates --- Firmware/Configuration_prusa.h | 2 +- Firmware/mesh_bed_calibration.cpp | 32 +++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Firmware/Configuration_prusa.h b/Firmware/Configuration_prusa.h index 16d8b18a..86b45c0e 100644 --- a/Firmware/Configuration_prusa.h +++ b/Firmware/Configuration_prusa.h @@ -49,7 +49,7 @@ const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define X_MAX_POS 255 #define X_MIN_POS 0 #define Y_MAX_POS 210 -#define Y_MIN_POS -12 //orig -4 +#define Y_MIN_POS -4 //orig -4 #define Z_MAX_POS 210 #define Z_MIN_POS 0.15 diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 73e4fe8f..21420b86 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -20,7 +20,7 @@ float world2machine_shift[2]; #define WEIGHT_FIRST_ROW_Y_LOW (0.0f) #define BED_ZERO_REF_X (- 22.f + X_PROBE_OFFSET_FROM_EXTRUDER) // -22 + 23 = 1 -#define BED_ZERO_REF_Y (- 0.6f + Y_PROBE_OFFSET_FROM_EXTRUDER) // -0.6 + 9 = 8.4 +#define BED_ZERO_REF_Y (- 0.6f + Y_PROBE_OFFSET_FROM_EXTRUDER) // -0.6 + 5 = 4.4 // Scaling of the real machine axes against the programmed dimensions in the firmware. // The correction is tiny, here around 0.5mm on 250mm length. @@ -56,24 +56,24 @@ const float bed_skew_angle_extreme = (0.25f * M_PI / 180.f); // Positions of the bed reference points in the machine coordinates, referenced to the P.I.N.D.A sensor. // The points are the following: center front, center right, center rear, center left. const float bed_ref_points_4[] PROGMEM = { - 13.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, - 221.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, - 221.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y, - 13.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y + 13.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, + 221.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, + 221.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y, + 13.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y }; const float bed_ref_points[] PROGMEM = { - 13.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, - 115.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, - 216.f - BED_ZERO_REF_X, 8.4f - BED_ZERO_REF_Y, + 13.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, + 115.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, + 216.f - BED_ZERO_REF_X, 10.4f - BED_ZERO_REF_Y, - 216.f - BED_ZERO_REF_X, 104.4f - BED_ZERO_REF_Y, - 115.f - BED_ZERO_REF_X, 104.4f - BED_ZERO_REF_Y, - 13.f - BED_ZERO_REF_X, 104.4f - BED_ZERO_REF_Y, + 216.f - BED_ZERO_REF_X, 106.4f - BED_ZERO_REF_Y, + 115.f - BED_ZERO_REF_X, 106.4f - BED_ZERO_REF_Y, + 13.f - BED_ZERO_REF_X, 106.4f - BED_ZERO_REF_Y, - 13.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y, - 115.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y, - 216.f - BED_ZERO_REF_X, 200.4f - BED_ZERO_REF_Y + 13.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y, + 115.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y, + 216.f - BED_ZERO_REF_X, 202.4f - BED_ZERO_REF_Y }; #else @@ -958,7 +958,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) current_position[Y_AXIS] = y0; for (i = 0; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = ! dir_positive; if (endstop_z_hit_on_purpose()) @@ -966,7 +966,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } for (i = 0; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = ! dir_positive; if (endstop_z_hit_on_purpose()) From ba1bb4aea31f8bcf975e64858c9ddc890b5f969a Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 22 Nov 2017 19:18:32 +0100 Subject: [PATCH 4/4] whitespace --- Firmware/mesh_bed_calibration.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 21420b86..6f806448 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -958,7 +958,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) current_position[Y_AXIS] = y0; for (i = 0; i < nsteps_y; current_position[Y_AXIS] += (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = ! dir_positive; if (endstop_z_hit_on_purpose()) @@ -966,7 +966,7 @@ inline bool find_bed_induction_sensor_point_xy(int verbosity_level) } for (i = 0; i < nsteps_y; current_position[Y_AXIS] -= (y1 - y0) / float(nsteps_y - 1), ++ i) { // Run with a slightly decreasing Z axis, zig-zag movement. Stop at the Z end-stop. - current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); + current_position[Z_AXIS] -= FIND_BED_INDUCTION_SENSOR_POINT_Z_STEP / float(nsteps_y); go_xyz(dir_positive ? x1 : x0, current_position[Y_AXIS], current_position[Z_AXIS], feedrate); dir_positive = ! dir_positive; if (endstop_z_hit_on_purpose())