Browse Source

Merge pull request #7221 from thinkyhead/bf_fix_reachable

Fix for issues #6997 and #7152
Scott Lahteine 8 years ago
parent
commit
760bf49a00

+ 37
- 35
Marlin/Marlin_main.cpp View File

2299
    *   - Raise to the BETWEEN height
2299
    *   - Raise to the BETWEEN height
2300
    * - Return the probed Z position
2300
    * - Return the probed Z position
2301
    */
2301
    */
2302
-  float probe_pt(const float &x, const float &y, const bool stow, const uint8_t verbose_level) {
2302
+  float probe_pt(const float &lx, const float &ly, const bool stow, const uint8_t verbose_level, const bool printable=true) {
2303
     #if ENABLED(DEBUG_LEVELING_FEATURE)
2303
     #if ENABLED(DEBUG_LEVELING_FEATURE)
2304
       if (DEBUGGING(LEVELING)) {
2304
       if (DEBUGGING(LEVELING)) {
2305
-        SERIAL_ECHOPAIR(">>> probe_pt(", x);
2306
-        SERIAL_ECHOPAIR(", ", y);
2305
+        SERIAL_ECHOPAIR(">>> probe_pt(", lx);
2306
+        SERIAL_ECHOPAIR(", ", ly);
2307
         SERIAL_ECHOPAIR(", ", stow ? "" : "no ");
2307
         SERIAL_ECHOPAIR(", ", stow ? "" : "no ");
2308
         SERIAL_ECHOLNPGM("stow)");
2308
         SERIAL_ECHOLNPGM("stow)");
2309
         DEBUG_POS("", current_position);
2309
         DEBUG_POS("", current_position);
2310
       }
2310
       }
2311
     #endif
2311
     #endif
2312
 
2312
 
2313
-    if (!position_is_reachable_by_probe_xy(x, y)) return NAN;
2313
+    const float nx = lx - (X_PROBE_OFFSET_FROM_EXTRUDER), ny = ly - (Y_PROBE_OFFSET_FROM_EXTRUDER);
2314
+
2315
+    if (printable)
2316
+      if (!position_is_reachable_by_probe_xy(lx, ly)) return NAN;
2317
+    else
2318
+      if (!position_is_reachable_xy(nx, ny)) return NAN;
2314
 
2319
 
2315
     const float old_feedrate_mm_s = feedrate_mm_s;
2320
     const float old_feedrate_mm_s = feedrate_mm_s;
2316
 
2321
 
2325
     feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S;
2330
     feedrate_mm_s = XY_PROBE_FEEDRATE_MM_S;
2326
 
2331
 
2327
     // Move the probe to the given XY
2332
     // Move the probe to the given XY
2328
-    do_blocking_move_to_xy(x - (X_PROBE_OFFSET_FROM_EXTRUDER), y - (Y_PROBE_OFFSET_FROM_EXTRUDER));
2333
+    do_blocking_move_to_xy(nx, ny);
2329
 
2334
 
2330
     if (DEPLOY_PROBE()) return NAN;
2335
     if (DEPLOY_PROBE()) return NAN;
2331
 
2336
 
2338
 
2343
 
2339
     if (verbose_level > 2) {
2344
     if (verbose_level > 2) {
2340
       SERIAL_PROTOCOLPGM("Bed X: ");
2345
       SERIAL_PROTOCOLPGM("Bed X: ");
2341
-      SERIAL_PROTOCOL_F(x, 3);
2346
+      SERIAL_PROTOCOL_F(lx, 3);
2342
       SERIAL_PROTOCOLPGM(" Y: ");
2347
       SERIAL_PROTOCOLPGM(" Y: ");
2343
-      SERIAL_PROTOCOL_F(y, 3);
2348
+      SERIAL_PROTOCOL_F(ly, 3);
2344
       SERIAL_PROTOCOLPGM(" Z: ");
2349
       SERIAL_PROTOCOLPGM(" Z: ");
2345
       SERIAL_PROTOCOL_F(measured_z, 3);
2350
       SERIAL_PROTOCOL_F(measured_z, 3);
2346
       SERIAL_EOL();
2351
       SERIAL_EOL();
5136
      *      P3     Probe all positions: center, towers and opposite towers. Set all.
5141
      *      P3     Probe all positions: center, towers and opposite towers. Set all.
5137
      *      P4-P7  Probe all positions at different locations and average them.
5142
      *      P4-P7  Probe all positions at different locations and average them.
5138
      *
5143
      *
5139
-     *   T   Don't calibrate tower angle corrections
5144
+     *   T0  Don't calibrate tower angle corrections
5140
      *
5145
      *
5141
      *   Cn.nn Calibration precision; when omitted calibrates to maximum precision
5146
      *   Cn.nn Calibration precision; when omitted calibrates to maximum precision
5142
      *
5147
      *
5185
         return;
5190
         return;
5186
       }
5191
       }
5187
 
5192
 
5188
-      const bool towers_set           = !parser.boolval('T'),
5193
+      const bool towers_set           = parser.boolval('T', true),
5189
                  stow_after_each      = parser.boolval('E'),
5194
                  stow_after_each      = parser.boolval('E'),
5190
                  _1p_calibration      = probe_points == 1,
5195
                  _1p_calibration      = probe_points == 1,
5191
                  _4p_calibration      = probe_points == 2,
5196
                  _4p_calibration      = probe_points == 2,
5198
                  _7p_quadruple_circle = probe_points == 7,
5203
                  _7p_quadruple_circle = probe_points == 7,
5199
                  _7p_multi_circle     = _7p_double_circle || _7p_triple_circle || _7p_quadruple_circle,
5204
                  _7p_multi_circle     = _7p_double_circle || _7p_triple_circle || _7p_quadruple_circle,
5200
                  _7p_intermed_points  = _7p_calibration && !_7p_half_circle;
5205
                  _7p_intermed_points  = _7p_calibration && !_7p_half_circle;
5201
-
5202
-      if (!_1p_calibration) {  // test if the outer radius is reachable
5203
-        const float circles = (_7p_quadruple_circle ? 1.5 :
5204
-                               _7p_triple_circle    ? 1.0 :
5205
-                               _7p_double_circle    ? 0.5 : 0),
5206
-                    radius = (1 + circles * 0.1) * delta_calibration_radius;
5207
-        for (uint8_t axis = 1; axis < 13; ++axis) {
5208
-          if (!position_is_reachable_xy(cos(RADIANS(180 + 30 * axis)) * radius, sin(RADIANS(180 + 30 * axis)) * radius)) {
5209
-            SERIAL_PROTOCOLLNPGM("?(M665 B)ed radius is implausible.");
5210
-            return;
5211
-          }
5212
-        }
5213
-      }
5214
-
5215
       const static char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h";
5206
       const static char save_message[] PROGMEM = "Save with M500 and/or copy to Configuration.h";
5216
       const float dx = (X_PROBE_OFFSET_FROM_EXTRUDER),
5207
       const float dx = (X_PROBE_OFFSET_FROM_EXTRUDER),
5217
                   dy = (Y_PROBE_OFFSET_FROM_EXTRUDER);
5208
                   dy = (Y_PROBE_OFFSET_FROM_EXTRUDER);
5230
             alpha_old = delta_tower_angle_trim[A_AXIS],
5221
             alpha_old = delta_tower_angle_trim[A_AXIS],
5231
             beta_old = delta_tower_angle_trim[B_AXIS];
5222
             beta_old = delta_tower_angle_trim[B_AXIS];
5232
 
5223
 
5224
+       if (!_1p_calibration) {  // test if the outer radius is reachable
5225
+        const float circles = (_7p_quadruple_circle ? 1.5 :
5226
+                               _7p_triple_circle    ? 1.0 :
5227
+                               _7p_double_circle    ? 0.5 : 0),
5228
+                    r = (1 + circles * 0.1) * delta_calibration_radius;
5229
+        for (uint8_t axis = 1; axis < 13; ++axis) {
5230
+          const float a = RADIANS(180 + 30 * axis);
5231
+          if (!position_is_reachable_xy(cos(a) * r, sin(a) * r)) {
5232
+            SERIAL_PROTOCOLLNPGM("?(M665 B)ed radius is implausible.");
5233
+            return;
5234
+          }
5235
+        }
5236
+      }
5233
       SERIAL_PROTOCOLLNPGM("G33 Auto Calibrate");
5237
       SERIAL_PROTOCOLLNPGM("G33 Auto Calibrate");
5234
 
5238
 
5235
       stepper.synchronize();
5239
       stepper.synchronize();
5269
         SERIAL_EOL();
5273
         SERIAL_EOL();
5270
       }
5274
       }
5271
 
5275
 
5272
-      home_offset[Z_AXIS] -= probe_pt(dx, dy, stow_after_each, 1); // 1st probe to set height
5273
-      do_probe_raise(Z_CLEARANCE_BETWEEN_PROBES);
5274
-
5276
+      home_offset[Z_AXIS] -= probe_pt(dx, dy, stow_after_each, 1, false); // 1st probe to set height
5277
+      
5275
       do {
5278
       do {
5276
 
5279
 
5277
-        float z_at_pt[13] = { 0.0 }, S1 = 0.0, S2 = 0.0;
5278
-        int16_t N = 0;
5280
+        float z_at_pt[13] = { 0.0 };
5279
 
5281
 
5280
         test_precision = zero_std_dev_old != 999.0 ? (zero_std_dev + zero_std_dev_old) / 2 : zero_std_dev;
5282
         test_precision = zero_std_dev_old != 999.0 ? (zero_std_dev + zero_std_dev_old) / 2 : zero_std_dev;
5281
 
5283
 
5284
         // Probe the points
5286
         // Probe the points
5285
 
5287
 
5286
         if (!_7p_half_circle && !_7p_triple_circle) { // probe the center
5288
         if (!_7p_half_circle && !_7p_triple_circle) { // probe the center
5287
-          z_at_pt[0] += probe_pt(dx, dy, stow_after_each, 1);
5289
+          z_at_pt[0] += probe_pt(dx, dy, stow_after_each, 1, false);
5288
         }
5290
         }
5289
         if (_7p_calibration) { // probe extra center points
5291
         if (_7p_calibration) { // probe extra center points
5290
           for (int8_t axis = _7p_multi_circle ? 11 : 9; axis > 0; axis -= _7p_multi_circle ? 2 : 4) {
5292
           for (int8_t axis = _7p_multi_circle ? 11 : 9; axis > 0; axis -= _7p_multi_circle ? 2 : 4) {
5291
             const float a = RADIANS(180 + 30 * axis), r = delta_calibration_radius * 0.1;
5293
             const float a = RADIANS(180 + 30 * axis), r = delta_calibration_radius * 0.1;
5292
-            z_at_pt[0] += probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1);
5294
+            z_at_pt[0] += probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1, false);
5293
           }
5295
           }
5294
           z_at_pt[0] /= float(_7p_double_circle ? 7 : probe_points);
5296
           z_at_pt[0] /= float(_7p_double_circle ? 7 : probe_points);
5295
         }
5297
         }
5305
             for (float circles = -offset_circles ; circles <= offset_circles; circles++) {
5307
             for (float circles = -offset_circles ; circles <= offset_circles; circles++) {
5306
               const float a = RADIANS(180 + 30 * axis),
5308
               const float a = RADIANS(180 + 30 * axis),
5307
                           r = delta_calibration_radius * (1 + circles * (zig_zag ? 0.1 : -0.1));
5309
                           r = delta_calibration_radius * (1 + circles * (zig_zag ? 0.1 : -0.1));
5308
-              z_at_pt[axis] += probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1);
5310
+              z_at_pt[axis] += probe_pt(cos(a) * r + dx, sin(a) * r + dy, stow_after_each, 1, false);
5309
             }
5311
             }
5310
             zig_zag = !zig_zag;
5312
             zig_zag = !zig_zag;
5311
             z_at_pt[axis] /= (2 * offset_circles + 1);
5313
             z_at_pt[axis] /= (2 * offset_circles + 1);
5312
           }
5314
           }
5313
         }
5315
         }
5314
         if (_7p_intermed_points) // average intermediates to tower and opposites
5316
         if (_7p_intermed_points) // average intermediates to tower and opposites
5315
-          for (uint8_t axis = 1; axis <= 11; axis += 2)
5317
+          for (uint8_t axis = 1; axis < 13; axis += 2)
5316
             z_at_pt[axis] = (z_at_pt[axis] + (z_at_pt[axis + 1] + z_at_pt[(axis + 10) % 12 + 1]) / 2.0) / 2.0;
5318
             z_at_pt[axis] = (z_at_pt[axis] + (z_at_pt[axis + 1] + z_at_pt[(axis + 10) % 12 + 1]) / 2.0) / 2.0;
5317
 
5319
 
5318
-        S1 += z_at_pt[0];
5319
-        S2 += sq(z_at_pt[0]);
5320
-        N++;
5320
+        float S1 = z_at_pt[0],
5321
+              S2 = sq(z_at_pt[0]);
5322
+        int16_t N = 1;
5321
         if (!_1p_calibration) // std dev from zero plane
5323
         if (!_1p_calibration) // std dev from zero plane
5322
           for (uint8_t axis = (_4p_opposite_points ? 3 : 1); axis < 13; axis += (_4p_calibration ? 4 : 2)) {
5324
           for (uint8_t axis = (_4p_opposite_points ? 3 : 1); axis < 13; axis += (_4p_calibration ? 4 : 2)) {
5323
             S1 += z_at_pt[axis];
5325
             S1 += z_at_pt[axis];

+ 28
- 24
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h View File

461
   // and processor overload (too many expensive sqrt calls).
461
   // and processor overload (too many expensive sqrt calls).
462
   #define DELTA_SEGMENTS_PER_SECOND 160
462
   #define DELTA_SEGMENTS_PER_SECOND 160
463
 
463
 
464
-  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
465
-
466
-  // Center-to-center distance of the holes in the diagonal push rods.
467
-  #define DELTA_DIAGONAL_ROD 218.0 // mm
468
-
469
-  // Horizontal distance bridged by diagonal push rods when effector is centered.
470
-  #define DELTA_RADIUS 100.00 //mm  Get this value from auto calibrate
471
-
472
-  // height from z=0 to home position
473
-  #define DELTA_HEIGHT 295.00 // get this value from auto calibrate - use G33 P1 at 1st time calibration
474
-
475
-  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
476
-  #define DELTA_PRINTABLE_RADIUS 85.0
464
+  // After homing move down to a height where XY movement is unconstrained
465
+  //#define DELTA_HOME_TO_SAFE_ZONE
477
 
466
 
478
   // Delta calibration menu
467
   // Delta calibration menu
479
   // uncomment to add three points calibration menu option.
468
   // uncomment to add three points calibration menu option.
480
   // See http://minow.blogspot.com/index.html#4918805519571907051
469
   // See http://minow.blogspot.com/index.html#4918805519571907051
481
   #define DELTA_CALIBRATION_MENU
470
   #define DELTA_CALIBRATION_MENU
482
 
471
 
483
-  // set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 if DELTA_AUTO_CALIBRATION enabled
484
-  #define DELTA_CALIBRATION_RADIUS ((DELTA_PRINTABLE_RADIUS) * 0.869) // mm
485
-
486
-  // G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
472
+  // uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
487
   #define DELTA_AUTO_CALIBRATION
473
   #define DELTA_AUTO_CALIBRATION
474
+
475
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
476
+
488
   #if ENABLED(DELTA_AUTO_CALIBRATION)
477
   #if ENABLED(DELTA_AUTO_CALIBRATION)
489
-    #define DELTA_CALIBRATION_DEFAULT_POINTS 4 // set the default number of probe points : n*n (-7 -> +7)
478
+    // set the default number of probe points : n*n (1 -> 7)
479
+    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
490
   #endif
480
   #endif
491
 
481
 
492
-  // After homing move down to a height where XY movement is unconstrained
493
-  #define DELTA_HOME_TO_SAFE_ZONE
482
+  #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
483
+    // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
484
+    #define DELTA_CALIBRATION_RADIUS 73.5 // mm
485
+  #endif
486
+
487
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
488
+  #define DELTA_PRINTABLE_RADIUS 85.0 // mm
494
 
489
 
495
-  #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
490
+  // Center-to-center distance of the holes in the diagonal push rods.
491
+  #define DELTA_DIAGONAL_ROD 218.0 // mm
492
+
493
+  // height from z=0 to home position
494
+  #define DELTA_HEIGHT 295.00 // get this value from auto calibrate
495
+
496
+  #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
496
 
497
 
498
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
499
+  #define DELTA_RADIUS 101.0 //mm  Get this value from auto calibrate
500
+  
497
   // Trim adjustments for individual towers
501
   // Trim adjustments for individual towers
498
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
502
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
499
   // measured in degrees anticlockwise looking from above the printer
503
   // measured in degrees anticlockwise looking from above the printer
500
-  #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
504
+  #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
501
 
505
 
502
   // delta radius and diaginal rod adjustments measured in mm
506
   // delta radius and diaginal rod adjustments measured in mm
503
-  //#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
504
-  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
507
+  //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
508
+  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
505
 
509
 
506
 #endif
510
 #endif
507
 
511
 

+ 28
- 31
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h View File

461
   // and processor overload (too many expensive sqrt calls).
461
   // and processor overload (too many expensive sqrt calls).
462
   #define DELTA_SEGMENTS_PER_SECOND 160
462
   #define DELTA_SEGMENTS_PER_SECOND 160
463
 
463
 
464
-  // Center-to-center distance of the holes in the diagonal push rods.
465
-  #define DELTA_DIAGONAL_ROD 218.0 // mm
466
-
467
-  // Horizontal offset from middle of printer to smooth rod center.
468
-  #define DELTA_SMOOTH_ROD_OFFSET 150.0 // mm
469
-
470
-  // Horizontal offset of the universal joints on the end effector.
471
-  #define DELTA_EFFECTOR_OFFSET 24.0 // mm
472
-
473
-  // Horizontal offset of the universal joints on the carriages.
474
-  #define DELTA_CARRIAGE_OFFSET 22.0 // mm
475
-
476
-  // Horizontal distance bridged by diagonal push rods when effector is centered.
477
-  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET) //mm  Get this value from auto calibrate
478
-
479
-  // height from z=0.00 to home position
480
-  #define DELTA_HEIGHT 280 // get this value from auto calibrate - use G33 P1 at 1st time calibration
481
-
482
-  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
483
-  #define DELTA_PRINTABLE_RADIUS 85.0
464
+  // After homing move down to a height where XY movement is unconstrained
465
+  //#define DELTA_HOME_TO_SAFE_ZONE
484
 
466
 
485
   // Delta calibration menu
467
   // Delta calibration menu
486
   // uncomment to add three points calibration menu option.
468
   // uncomment to add three points calibration menu option.
487
   // See http://minow.blogspot.com/index.html#4918805519571907051
469
   // See http://minow.blogspot.com/index.html#4918805519571907051
488
   //#define DELTA_CALIBRATION_MENU
470
   //#define DELTA_CALIBRATION_MENU
489
 
471
 
490
-  // set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 if DELTA_AUTO_CALIBRATION enabled
491
-  #define DELTA_CALIBRATION_RADIUS ((DELTA_PRINTABLE_RADIUS) * 0.869) // mm
492
-
493
-  // G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
472
+  // uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
494
   //#define DELTA_AUTO_CALIBRATION
473
   //#define DELTA_AUTO_CALIBRATION
474
+
475
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
476
+
495
   #if ENABLED(DELTA_AUTO_CALIBRATION)
477
   #if ENABLED(DELTA_AUTO_CALIBRATION)
496
-    #define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-7 -> +7)
478
+    // set the default number of probe points : n*n (1 -> 7)
479
+    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
497
   #endif
480
   #endif
498
 
481
 
499
-  // After homing move down to a height where XY movement is unconstrained
500
-  //#define DELTA_HOME_TO_SAFE_ZONE
482
+  #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
483
+    // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
484
+    #define DELTA_CALIBRATION_RADIUS 73.5 // mm
485
+  #endif
486
+
487
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
488
+  #define DELTA_PRINTABLE_RADIUS 85.0 // mm
489
+
490
+  // Center-to-center distance of the holes in the diagonal push rods.
491
+  #define DELTA_DIAGONAL_ROD 218.0 // mm
492
+
493
+  // height from z=0 to home position
494
+  #define DELTA_HEIGHT 280.00 // get this value from auto calibrate
501
 
495
 
502
-  #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
496
+  #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
503
 
497
 
498
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
499
+  #define DELTA_RADIUS 101.0 //mm  Get this value from auto calibrate
500
+  
504
   // Trim adjustments for individual towers
501
   // Trim adjustments for individual towers
505
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
502
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
506
   // measured in degrees anticlockwise looking from above the printer
503
   // measured in degrees anticlockwise looking from above the printer
507
-  #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
504
+  #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
508
 
505
 
509
   // delta radius and diaginal rod adjustments measured in mm
506
   // delta radius and diaginal rod adjustments measured in mm
510
-  //#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
511
-  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
507
+  //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
508
+  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
512
 
509
 
513
 #endif
510
 #endif
514
 
511
 

+ 29
- 31
Marlin/example_configurations/delta/generic/Configuration.h View File

451
   // and processor overload (too many expensive sqrt calls).
451
   // and processor overload (too many expensive sqrt calls).
452
   #define DELTA_SEGMENTS_PER_SECOND 200
452
   #define DELTA_SEGMENTS_PER_SECOND 200
453
 
453
 
454
-  // Center-to-center distance of the holes in the diagonal push rods.
455
-  #define DELTA_DIAGONAL_ROD 250.0 // mm
456
-
457
-  // Horizontal offset from middle of printer to smooth rod center.
458
-  #define DELTA_SMOOTH_ROD_OFFSET 175.0 // mm
459
-
460
-  // Horizontal offset of the universal joints on the end effector.
461
-  #define DELTA_EFFECTOR_OFFSET 33.0 // mm
462
-
463
-  // Horizontal offset of the universal joints on the carriages.
464
-  #define DELTA_CARRIAGE_OFFSET 18.0 // mm
465
-
466
-  // Horizontal distance bridged by diagonal push rods when effector is centered.
467
-  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET) //mm  Get this value from auto calibrate
468
-
469
-  // height from z=0.00 to home position
470
-  #define DELTA_HEIGHT 250 // get this value from auto calibrate - use G33 P1 at 1st time calibration
471
-
472
-  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
473
-  #define DELTA_PRINTABLE_RADIUS 140.0
454
+  // After homing move down to a height where XY movement is unconstrained
455
+  //#define DELTA_HOME_TO_SAFE_ZONE
474
 
456
 
475
   // Delta calibration menu
457
   // Delta calibration menu
458
+  // uncomment to add three points calibration menu option.
476
   // See http://minow.blogspot.com/index.html#4918805519571907051
459
   // See http://minow.blogspot.com/index.html#4918805519571907051
477
   //#define DELTA_CALIBRATION_MENU
460
   //#define DELTA_CALIBRATION_MENU
478
 
461
 
479
-  // set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 if DELTA_AUTO_CALIBRATION enabled
480
-  #define DELTA_CALIBRATION_RADIUS ((DELTA_PRINTABLE_RADIUS) * 0.869) // mm
481
-
482
-  // G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
462
+  // uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
483
   //#define DELTA_AUTO_CALIBRATION
463
   //#define DELTA_AUTO_CALIBRATION
464
+
465
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
466
+
484
   #if ENABLED(DELTA_AUTO_CALIBRATION)
467
   #if ENABLED(DELTA_AUTO_CALIBRATION)
485
-    #define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-7 -> +7)
468
+    // set the default number of probe points : n*n (1 -> 7)
469
+    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
486
   #endif
470
   #endif
487
 
471
 
488
-  // After homing move down to a height where XY movement is unconstrained
489
-  //#define DELTA_HOME_TO_SAFE_ZONE
472
+  #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
473
+    // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
474
+    #define DELTA_CALIBRATION_RADIUS 121.5 // mm
475
+  #endif
476
+
477
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
478
+  #define DELTA_PRINTABLE_RADIUS 140.0 // mm
479
+
480
+  // Center-to-center distance of the holes in the diagonal push rods.
481
+  #define DELTA_DIAGONAL_ROD 250.0 // mm
482
+
483
+  // height from z=0 to home position
484
+  #define DELTA_HEIGHT 250.00 // get this value from auto calibrate
490
 
485
 
491
-  #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
486
+  #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
492
 
487
 
488
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
489
+  #define DELTA_RADIUS 124.0 //mm  Get this value from auto calibrate
490
+  
493
   // Trim adjustments for individual towers
491
   // Trim adjustments for individual towers
494
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
492
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
495
   // measured in degrees anticlockwise looking from above the printer
493
   // measured in degrees anticlockwise looking from above the printer
496
-  #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
494
+  #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
497
 
495
 
498
   // delta radius and diaginal rod adjustments measured in mm
496
   // delta radius and diaginal rod adjustments measured in mm
499
-  //#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
500
-  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
497
+  //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
498
+  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
501
 
499
 
502
 #endif
500
 #endif
503
 
501
 

+ 29
- 31
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

451
   // and processor overload (too many expensive sqrt calls).
451
   // and processor overload (too many expensive sqrt calls).
452
   #define DELTA_SEGMENTS_PER_SECOND 200
452
   #define DELTA_SEGMENTS_PER_SECOND 200
453
 
453
 
454
-  // Center-to-center distance of the holes in the diagonal push rods.
455
-  #define DELTA_DIAGONAL_ROD 215.0 // mm
456
-
457
-  // Horizontal offset from middle of printer to smooth rod center.
458
-  #define DELTA_SMOOTH_ROD_OFFSET 145.0 // mm
459
-
460
-  // Horizontal offset of the universal joints on the end effector.
461
-  #define DELTA_EFFECTOR_OFFSET 19.9 // mm
462
-
463
-  // Horizontal offset of the universal joints on the carriages.
464
-  #define DELTA_CARRIAGE_OFFSET 19.5 // mm
465
-
466
-  // Horizontal distance bridged by diagonal push rods when effector is centered.
467
-  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET) //mm  Get this value from auto calibrate
468
-
469
-  // height from z=0.00 to home position
470
-  #define DELTA_HEIGHT 250 // get this value from auto calibrate - use G33 P1 at 1st time calibration
471
-
472
-  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
473
-  #define DELTA_PRINTABLE_RADIUS 90.0
454
+  // After homing move down to a height where XY movement is unconstrained
455
+  //#define DELTA_HOME_TO_SAFE_ZONE
474
 
456
 
475
   // Delta calibration menu
457
   // Delta calibration menu
458
+  // uncomment to add three points calibration menu option.
476
   // See http://minow.blogspot.com/index.html#4918805519571907051
459
   // See http://minow.blogspot.com/index.html#4918805519571907051
477
   //#define DELTA_CALIBRATION_MENU
460
   //#define DELTA_CALIBRATION_MENU
478
 
461
 
479
-  // set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 if DELTA_AUTO_CALIBRATION enabled
480
-  #define DELTA_CALIBRATION_RADIUS ((DELTA_PRINTABLE_RADIUS) * 0.869) // mm
481
-
482
-  // G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
462
+  // uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
483
   //#define DELTA_AUTO_CALIBRATION
463
   //#define DELTA_AUTO_CALIBRATION
464
+
465
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
466
+
484
   #if ENABLED(DELTA_AUTO_CALIBRATION)
467
   #if ENABLED(DELTA_AUTO_CALIBRATION)
485
-    #define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-7 -> +7)
468
+    // set the default number of probe points : n*n (1 -> 7)
469
+    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
486
   #endif
470
   #endif
487
 
471
 
488
-  // After homing move down to a height where XY movement is unconstrained
489
-  //#define DELTA_HOME_TO_SAFE_ZONE
472
+  #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
473
+    // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
474
+    #define DELTA_CALIBRATION_RADIUS 78.0 // mm
475
+  #endif
476
+
477
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
478
+  #define DELTA_PRINTABLE_RADIUS 90.0 // mm
479
+
480
+  // Center-to-center distance of the holes in the diagonal push rods.
481
+  #define DELTA_DIAGONAL_ROD 215.0 // mm
482
+
483
+  // height from z=0 to home position
484
+  #define DELTA_HEIGHT 250.00 // get this value from auto calibrate
490
 
485
 
491
-  #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
486
+  #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
492
 
487
 
488
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
489
+  #define DELTA_RADIUS 105.2 //mm  Get this value from auto calibrate
490
+  
493
   // Trim adjustments for individual towers
491
   // Trim adjustments for individual towers
494
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
492
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
495
   // measured in degrees anticlockwise looking from above the printer
493
   // measured in degrees anticlockwise looking from above the printer
496
-  #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
494
+  #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
497
 
495
 
498
   // delta radius and diaginal rod adjustments measured in mm
496
   // delta radius and diaginal rod adjustments measured in mm
499
-  //#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
500
-  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
497
+  //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
498
+  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
501
 
499
 
502
 #endif
500
 #endif
503
 
501
 

+ 29
- 31
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

437
   // and processor overload (too many expensive sqrt calls).
437
   // and processor overload (too many expensive sqrt calls).
438
   #define DELTA_SEGMENTS_PER_SECOND 160
438
   #define DELTA_SEGMENTS_PER_SECOND 160
439
 
439
 
440
-  // Center-to-center distance of the holes in the diagonal push rods.
441
-  #define DELTA_DIAGONAL_ROD 301.0 // mm
442
-
443
-  // Horizontal offset from middle of printer to smooth rod center.
444
-  #define DELTA_SMOOTH_ROD_OFFSET 212.357 // mm
445
-
446
-  // Horizontal offset of the universal joints on the end effector.
447
-  #define DELTA_EFFECTOR_OFFSET 30.0 // mm
448
-
449
-  // Horizontal offset of the universal joints on the carriages.
450
-  #define DELTA_CARRIAGE_OFFSET 30.0 // mm
451
-
452
-  // Horizontal distance bridged by diagonal push rods when effector is centered.
453
-  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET) //mm  Get this value from auto calibrate
454
-
455
-  // height from z=0.00 to home position
456
-  #define DELTA_HEIGHT 277 // get this value from auto calibrate - use G33 P1 at 1st time calibration
457
-
458
-  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
459
-  #define DELTA_PRINTABLE_RADIUS 127.0
440
+  // After homing move down to a height where XY movement is unconstrained
441
+  //#define DELTA_HOME_TO_SAFE_ZONE
460
 
442
 
461
   // Delta calibration menu
443
   // Delta calibration menu
444
+  // uncomment to add three points calibration menu option.
462
   // See http://minow.blogspot.com/index.html#4918805519571907051
445
   // See http://minow.blogspot.com/index.html#4918805519571907051
463
   //#define DELTA_CALIBRATION_MENU
446
   //#define DELTA_CALIBRATION_MENU
464
 
447
 
465
-  // set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 if DELTA_AUTO_CALIBRATION enabled
466
-  #define DELTA_CALIBRATION_RADIUS ((DELTA_PRINTABLE_RADIUS) * 0.869) // mm
467
-
468
-  // G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
448
+  // uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
469
   //#define DELTA_AUTO_CALIBRATION
449
   //#define DELTA_AUTO_CALIBRATION
450
+
451
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
452
+
470
   #if ENABLED(DELTA_AUTO_CALIBRATION)
453
   #if ENABLED(DELTA_AUTO_CALIBRATION)
471
-    #define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-7 -> +7)
454
+    // set the default number of probe points : n*n (1 -> 7)
455
+    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
472
   #endif
456
   #endif
473
 
457
 
474
-  // After homing move down to a height where XY movement is unconstrained
475
-  //#define DELTA_HOME_TO_SAFE_ZONE
458
+  #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
459
+    // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
460
+    #define DELTA_CALIBRATION_RADIUS 110.0 // mm
461
+  #endif
462
+
463
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
464
+  #define DELTA_PRINTABLE_RADIUS 127.0 // mm
465
+
466
+  // Center-to-center distance of the holes in the diagonal push rods.
467
+  #define DELTA_DIAGONAL_ROD 301.0 // mm
468
+
469
+  // height from z=0 to home position
470
+  #define DELTA_HEIGHT 277.00 // get this value from auto calibrate
476
 
471
 
477
-  #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
472
+  #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
478
 
473
 
474
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
475
+  #define DELTA_RADIUS 152.357 //mm  Get this value from auto calibrate
476
+  
479
   // Trim adjustments for individual towers
477
   // Trim adjustments for individual towers
480
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
478
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
481
   // measured in degrees anticlockwise looking from above the printer
479
   // measured in degrees anticlockwise looking from above the printer
482
-  #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
480
+  #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
483
 
481
 
484
   // delta radius and diaginal rod adjustments measured in mm
482
   // delta radius and diaginal rod adjustments measured in mm
485
-  //#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
486
-  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
483
+  //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
484
+  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
487
 
485
 
488
 #endif
486
 #endif
489
 
487
 

+ 29
- 31
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

455
   // and processor overload (too many expensive sqrt calls).
455
   // and processor overload (too many expensive sqrt calls).
456
   #define DELTA_SEGMENTS_PER_SECOND 160
456
   #define DELTA_SEGMENTS_PER_SECOND 160
457
 
457
 
458
-  // Center-to-center distance of the holes in the diagonal push rods.
459
-  #define DELTA_DIAGONAL_ROD 317.3 + 2.5 // mm
460
-
461
-  // Horizontal offset from middle of printer to smooth rod center.
462
-  #define DELTA_SMOOTH_ROD_OFFSET 220.1 // mm
463
-
464
-  // Horizontal offset of the universal joints on the end effector.
465
-  #define DELTA_EFFECTOR_OFFSET 24.0 // mm
466
-
467
-  // Horizontal offset of the universal joints on the carriages.
468
-  #define DELTA_CARRIAGE_OFFSET 22.0 // mm
469
-
470
-  // Horizontal distance bridged by diagonal push rods when effector is centered.
471
-  #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET - DELTA_EFFECTOR_OFFSET - DELTA_CARRIAGE_OFFSET) //mm  Get this value from auto calibrate
472
-
473
-  // height from z=0.00 to home position
474
-  #define DELTA_HEIGHT 380 // get this value from auto calibrate - use G33 P1 at 1st time calibration
475
-
476
-  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
477
-  #define DELTA_PRINTABLE_RADIUS 140.0
458
+  // After homing move down to a height where XY movement is unconstrained
459
+  //#define DELTA_HOME_TO_SAFE_ZONE
478
 
460
 
479
   // Delta calibration menu
461
   // Delta calibration menu
462
+  // uncomment to add three points calibration menu option.
480
   // See http://minow.blogspot.com/index.html#4918805519571907051
463
   // See http://minow.blogspot.com/index.html#4918805519571907051
481
   //#define DELTA_CALIBRATION_MENU
464
   //#define DELTA_CALIBRATION_MENU
482
 
465
 
483
-  // set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 if DELTA_AUTO_CALIBRATION enabled
484
-  #define DELTA_CALIBRATION_RADIUS ((DELTA_PRINTABLE_RADIUS) * 0.869) // mm
485
-
486
-  // G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
466
+  // uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
487
   //#define DELTA_AUTO_CALIBRATION
467
   //#define DELTA_AUTO_CALIBRATION
468
+
469
+  // NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them
470
+
488
   #if ENABLED(DELTA_AUTO_CALIBRATION)
471
   #if ENABLED(DELTA_AUTO_CALIBRATION)
489
-    #define DELTA_CALIBRATION_DEFAULT_POINTS 3 // set the default number of probe points : n*n (-7 -> +7)
472
+    // set the default number of probe points : n*n (1 -> 7)
473
+    #define DELTA_CALIBRATION_DEFAULT_POINTS 4
490
   #endif
474
   #endif
491
 
475
 
492
-  // After homing move down to a height where XY movement is unconstrained
493
-  //#define DELTA_HOME_TO_SAFE_ZONE
476
+  #if ENABLED(DELTA_AUTO_CALIBRATION) || ENABLED(DELTA_CALIBRATION_MENU)
477
+    // Set the radius for the calibration probe points - max DELTA_PRINTABLE_RADIUS*0.869 for non-eccentric probes
478
+    #define DELTA_CALIBRATION_RADIUS 121.5 // mm
479
+  #endif
494
 
480
 
495
-  #define DELTA_ENDSTOP_ADJ { 0, 0, 0 } // get these from auto calibrate
481
+  // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
482
+  #define DELTA_PRINTABLE_RADIUS 140.0 // mm
496
 
483
 
484
+  // Center-to-center distance of the holes in the diagonal push rods.
485
+  #define DELTA_DIAGONAL_ROD 319.5 // mm
486
+
487
+  // height from z=0 to home position
488
+  #define DELTA_HEIGHT 380.00 // get this value from auto calibrate
489
+
490
+  #define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // get these from auto calibrate
491
+
492
+  // Horizontal distance bridged by diagonal push rods when effector is centered.
493
+  #define DELTA_RADIUS 174.1 //mm  Get this value from auto calibrate
494
+  
497
   // Trim adjustments for individual towers
495
   // Trim adjustments for individual towers
498
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
496
   // tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
499
   // measured in degrees anticlockwise looking from above the printer
497
   // measured in degrees anticlockwise looking from above the printer
500
-  #define DELTA_TOWER_ANGLE_TRIM { 0, 0, 0 } // get these from auto calibrate
498
+  #define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // get these values from auto calibrate
501
 
499
 
502
   // delta radius and diaginal rod adjustments measured in mm
500
   // delta radius and diaginal rod adjustments measured in mm
503
-  //#define DELTA_RADIUS_TRIM_TOWER {0, 0, 0}
504
-  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER {0, 0, 0}
501
+  //#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
502
+  //#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
505
 
503
 
506
 #endif
504
 #endif
507
 
505
 

+ 1
- 1
Marlin/ubl_G29.cpp View File

51
 
51
 
52
   extern float meshedit_done;
52
   extern float meshedit_done;
53
   extern long babysteps_done;
53
   extern long babysteps_done;
54
-  extern float probe_pt(const float &x, const float &y, const bool, const uint8_t);
54
+  extern float probe_pt(const float &lx, const float &ly, const bool, const uint8_t, const bool=true);
55
   extern bool set_probe_deployed(bool);
55
   extern bool set_probe_deployed(bool);
56
   extern void set_bed_leveling_enabled(bool);
56
   extern void set_bed_leveling_enabled(bool);
57
   typedef void (*screenFunc_t)();
57
   typedef void (*screenFunc_t)();

Loading…
Cancel
Save