소스 검색

Use extra G35 BLTouch HS Mode clearance in Tramming Wizard (#20057)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
qwewer0 3 년 전
부모
커밋
c753d2b7f4
No account linked to committer's email address
3개의 변경된 파일7개의 추가작업 그리고 13개의 파일을 삭제
  1. 1
    2
      Marlin/src/gcode/bedlevel/G35.cpp
  2. 4
    0
      Marlin/src/lcd/menu/menu_tramming.cpp
  3. 2
    11
      Marlin/src/module/probe.cpp

+ 1
- 2
Marlin/src/gcode/bedlevel/G35.cpp 파일 보기

@@ -120,8 +120,7 @@ void GcodeSuite::G35() {
120 120
     // In BLTOUCH HS mode, the probe travels in a deployed state.
121 121
     // Users of G35 might have a badly misaligned bed, so raise Z by the
122 122
     // length of the deployed pin (BLTOUCH stroke < 7mm)
123
-    current_position.z = (Z_CLEARANCE_BETWEEN_PROBES) + (7 * ENABLED(BLTOUCH_HS_MODE));
124
-
123
+    do_blocking_move_to_z((Z_CLEARANCE_BETWEEN_PROBES) + TERN0(BLTOUCH_HS_MODE, 7));
125 124
     const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[i], PROBE_PT_RAISE, 0, true);
126 125
 
127 126
     if (isnan(z_probed_height)) {

+ 4
- 0
Marlin/src/lcd/menu/menu_tramming.cpp 파일 보기

@@ -43,6 +43,10 @@ float z_measured[G35_PROBE_COUNT] = { 0 };
43 43
 static uint8_t tram_index = 0;
44 44
 
45 45
 bool probe_single_point() {
46
+  // In BLTOUCH HS mode, the probe travels in a deployed state.
47
+  // Users of Tramming Wizard might have a badly misaligned bed, so raise Z by the
48
+  // length of the deployed pin (BLTOUCH stroke < 7mm)
49
+  do_blocking_move_to_z((Z_CLEARANCE_BETWEEN_PROBES) + TERN0(BLTOUCH_HS_MODE, 7));
46 50
   const float z_probed_height = probe.probe_at_point(screws_tilt_adjust_pos[tram_index], PROBE_PT_RAISE, 0, true);
47 51
   DEBUG_ECHOLNPAIR("probe_single_point: ", z_probed_height, "mm");
48 52
   z_measured[tram_index] = z_probed_height;

+ 2
- 11
Marlin/src/module/probe.cpp 파일 보기

@@ -667,8 +667,8 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise
667 667
     if (bltouch.triggered()) bltouch._reset();
668 668
   #endif
669 669
 
670
-  // TODO: Adapt for SCARA, where the offset rotates
671
-  xyz_pos_t npos = { rx, ry };
670
+  // On delta keep Z below clip height or do_blocking_move_to will abort
671
+  xyz_pos_t npos = { rx, ry, _MIN(TERN(DELTA, delta_clip_start_height, current_position.z), current_position.z) };
672 672
   if (probe_relative) {                                     // The given position is in terms of the probe
673 673
     if (!can_reach(npos)) {
674 674
       if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Position Not Reachable");
@@ -678,15 +678,6 @@ float Probe::probe_at_point(const float &rx, const float &ry, const ProbePtRaise
678 678
   }
679 679
   else if (!position_is_reachable(npos)) return NAN;        // The given position is in terms of the nozzle
680 680
 
681
-  npos.z =
682
-    #if ENABLED(DELTA)
683
-      // Move below clip height or xy move will be aborted by do_blocking_move_to
684
-      _MIN(current_position.z, delta_clip_start_height)
685
-    #else
686
-      current_position.z
687
-    #endif
688
-  ;
689
-
690 681
   const float old_feedrate_mm_s = feedrate_mm_s;
691 682
   feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S;
692 683
 

Loading…
취소
저장