diff --git a/Firmware/xyzcal.cpp b/Firmware/xyzcal.cpp index 64b0935a7..9293c2e81 100644 --- a/Firmware/xyzcal.cpp +++ b/Firmware/xyzcal.cpp @@ -699,31 +699,29 @@ uint8_t xyzcal_find_pattern_12x12_in_32x32(uint8_t* pixels, uint16_t* pattern, u const uint16_t xyzcal_point_pattern_10[12] PROGMEM = {0x000, 0x0f0, 0x1f8, 0x3fc, 0x7fe, 0x7fe, 0x7fe, 0x7fe, 0x3fc, 0x1f8, 0x0f0, 0x000}; const uint16_t xyzcal_point_pattern_08[12] PROGMEM = {0x000, 0x000, 0x0f0, 0x1f8, 0x3fc, 0x3fc, 0x3fc, 0x3fc, 0x1f8, 0x0f0, 0x000, 0x000}; -bool xyzcal_searchZ(void) -{ - //@size=118 +bool xyzcal_searchZ(void) { + //@size=118 DBG(_n("xyzcal_searchZ x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); int16_t x0 = _X; int16_t y0 = _Y; - int16_t z0 = _Z; + int16_t z = _Z; // int16_t min_z = -6000; // int16_t dz = 100; - int16_t z = z0; - while (z > -2300) //-6mm + 0.25mm - { + while (z > -2300) { //-6mm + 0.25mm uint16_t ad = 0; - if (xyzcal_spiral8(x0, y0, z, 100, 900, 320, 1, &ad)) //dz=100 radius=900 delay=400 - { - int16_t x_on = _X; - int16_t y_on = _Y; - int16_t z_on = _Z; + if (xyzcal_spiral8(x0, y0, z, 100, 900, 320, 1, &ad)) { //dz=100 radius=900 delay=400 //@size=82 - DBG(_n(" ON-SIGNAL at x=%d y=%d z=%d ad=%d\n"), x_on, y_on, z_on, ad); + DBG(_n(" ON-SIGNAL at x=%d y=%d z=%d ad=%d\n"), _X, _Y, _Z, ad); + + /// return to starting XY position + /// magic constant, lowers min_z after searchZ to obtain more dense data in scan + const pos_i16_t lower_z = 72; + xyzcal_lineXYZ_to(x0, y0, _Z - lower_z, 200, 0); return true; } z -= 400; } - //@size=138 + //@size=138 DBG(_n("xyzcal_searchZ no signal\n x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); return false; } @@ -972,14 +970,10 @@ bool xyzcal_find_bed_induction_sensor_point_xy(void){ //@size=258 DBG(_n("xyzcal_find_bed_induction_sensor_point_xy x=%ld y=%ld z=%ld\n"), count_position[X_AXIS], count_position[Y_AXIS], count_position[Z_AXIS]); st_synchronize(); - ///< magic constant, lowers min_z after searchZ to obtain more dense data in scan - const pos_i16_t lower_z = 72; xyzcal_meassure_enter(); - if (xyzcal_searchZ()){ - xyzcal_lineXYZ_to(_X, _Y, _Z - lower_z, 200, 0); + if (xyzcal_searchZ()) ret = xyzcal_scan_and_process(); - } xyzcal_meassure_leave(); return ret; }