Browse Source

Merge pull request #3082 from thinkyhead/updated_2820

This is quite comprehensive. If probes are disabled in any case when they shouldn't be, I'm sure we will hear about it soon.
Scott Lahteine 8 years ago
parent
commit
1cc316f1fd

+ 5
- 0
Marlin/Conditionals.h View File

596
     #endif
596
     #endif
597
   #endif
597
   #endif
598
 
598
 
599
+  #if ( (HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE ) && \
600
+    ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED) )
601
+    #define HAS_Z_MIN_PROBE
602
+  #endif
603
+
599
 #endif //CONFIGURATION_LCD
604
 #endif //CONFIGURATION_LCD
600
 #endif //CONDITIONALS_H
605
 #endif //CONDITIONALS_H

+ 63
- 40
Marlin/Configuration.h View File

336
 //#define DISABLE_MAX_ENDSTOPS
336
 //#define DISABLE_MAX_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
338
 
338
 
339
-// If you want to enable the Z probe pin, but disable its use, uncomment the line below.
340
-// This only affects a Z probe endstop if you have separate Z min endstop as well and have
341
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
342
-// this has no effect.
339
+//===========================================================================
340
+//============================= Z Probe Options =============================
341
+//===========================================================================
342
+
343
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
344
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
345
+//
346
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
347
+//
348
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
349
+// Example: To park the head outside the bed area when homing with G28.
350
+//
351
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
352
+//
353
+// For a servo-based Z probe, you must set up servo support below, including
354
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
355
+//
356
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
357
+// - Use 5V for powered (usu. inductive) sensors.
358
+// - Otherwise connect:
359
+//   - normally-closed switches to GND and D32.
360
+//   - normally-open switches to 5V and D32.
361
+//
362
+// Normally-closed switches are advised and are the default.
363
+//
364
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
365
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
366
+// default pin for all RAMPS-based boards. Some other boards map differently.
367
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
368
+//
369
+// WARNING:
370
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
371
+// Use with caution and do your homework.
372
+//
373
+//#define Z_MIN_PROBE_ENDSTOP
374
+
375
+// Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
376
+// The Z_MIN_PIN will then be used for both Z-homing and probing.
377
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
378
+
379
+// To use a probe you must enable one of the two options above!
380
+
381
+// This option disables the use of the Z_MIN_PROBE_PIN
382
+// To enable the Z probe pin but disable its use, uncomment the line below. This only affects a
383
+// Z probe switch if you have a separate Z min endstop also and have activated Z_MIN_PROBE_ENDSTOP above.
384
+// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
343
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
385
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
344
 
386
 
345
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
387
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
520
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
562
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
521
                                                                              // Useful to retract a deployable Z probe.
563
                                                                              // Useful to retract a deployable Z probe.
522
 
564
 
523
-  //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
524
-  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
565
+  // Probes are sensors/switches that need to be activated before they can be used
566
+  // and deactivated after the use.
567
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
568
+
569
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
570
+  // when the hardware endstops are active.
571
+  //#define FIX_MOUNTED_PROBE
572
+
573
+  // A Servo Probe can be defined in the servo section below.
574
+
575
+  // An Allen Key Probe is currently predefined only in the delta example configurations.
525
 
576
 
577
+  //#define Z_PROBE_SLED // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
578
+  //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
526
 
579
 
527
-  //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
528
-  //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
580
+  // If you've enabled AUTO_BED_LEVELING_FEATURE and are using the Z Probe for Z Homing,
581
+  // it is highly recommended you leave Z_SAFE_HOMING enabled!
529
 
582
 
530
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
583
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
584
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
531
                           // When defined, it will:
585
                           // When defined, it will:
532
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
586
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
533
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
587
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
541
 
595
 
542
   #endif
596
   #endif
543
 
597
 
544
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
545
-  // If you would like to use both a Z probe and a Z min endstop together,
546
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
547
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
548
-  // Example: To park the head outside the bed area when homing with G28.
549
-  //
550
-  // WARNING:
551
-  // The Z min endstop will need to set properly as it would without a Z probe
552
-  // to prevent head crashes and premature stopping during a print.
553
-  //
554
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
555
-  // defined in the pins_XXXXX.h file for your control board.
556
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
557
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
558
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
559
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
560
-  // otherwise connect to ground and D32 for normally closed configuration
561
-  // and 5V and D32 for normally open configurations.
562
-  // Normally closed configuration is advised and assumed.
563
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
564
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
565
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
566
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
567
-  // All other boards will need changes to the respective pins_XXXXX.h file.
568
-  //
569
-  // WARNING:
570
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
571
-  // Use with caution and do your homework.
572
-  //
573
-  //#define Z_MIN_PROBE_ENDSTOP
574
-
575
 #endif // AUTO_BED_LEVELING_FEATURE
598
 #endif // AUTO_BED_LEVELING_FEATURE
576
 
599
 
577
 
600
 

+ 73
- 30
Marlin/Marlin_main.cpp View File

465
   float extrude_min_temp = EXTRUDE_MINTEMP;
465
   float extrude_min_temp = EXTRUDE_MINTEMP;
466
 #endif
466
 #endif
467
 
467
 
468
+#if ENABLED(HAS_Z_MIN_PROBE)
469
+  extern volatile bool z_probe_is_active;
470
+#endif
471
+
468
 #if ENABLED(SDSUPPORT)
472
 #if ENABLED(SDSUPPORT)
469
   #include "SdFatUtil.h"
473
   #include "SdFatUtil.h"
470
   int freeMemory() { return SdFatUtil::FreeRam(); }
474
   int freeMemory() { return SdFatUtil::FreeRam(); }
619
     servo[3].detach();
623
     servo[3].detach();
620
   #endif
624
   #endif
621
 
625
 
622
-  // Set position of Servo Endstops that are defined
623
-  #if HAS_SERVO_ENDSTOPS
626
+   #if HAS_SERVO_ENDSTOPS
627
+
628
+    z_probe_is_active = false;
629
+
630
+    /**
631
+     * Set position of all defined Servo Endstops
632
+     *
633
+     * ** UNSAFE! - NEEDS UPDATE! **
634
+     *
635
+     * The servo might be deployed and positioned too low to stow
636
+     * when starting up the machine or rebooting the board.
637
+     * There's no way to know where the nozzle is positioned until
638
+     * homing has been done - no homing with z-probe without init!
639
+     *
640
+     */
624
     for (int i = 0; i < 3; i++)
641
     for (int i = 0; i < 3; i++)
625
       if (servo_endstop_id[i] >= 0)
642
       if (servo_endstop_id[i] >= 0)
626
         servo[servo_endstop_id[i]].move(servo_endstop_angle[i][1]);
643
         servo[servo_endstop_id[i]].move(servo_endstop_angle[i][1]);
627
-  #endif
644
+
645
+  #endif // HAS_SERVO_ENDSTOPS
628
 
646
 
629
 }
647
 }
630
 
648
 
1458
     refresh_cmd_timeout();
1476
     refresh_cmd_timeout();
1459
   }
1477
   }
1460
 
1478
 
1479
+  #if ENABLED(HAS_Z_MIN_PROBE)
1480
+
1461
   static void deploy_z_probe() {
1481
   static void deploy_z_probe() {
1462
 
1482
 
1463
     #if ENABLED(DEBUG_LEVELING_FEATURE)
1483
     #if ENABLED(DEBUG_LEVELING_FEATURE)
1466
       }
1486
       }
1467
     #endif
1487
     #endif
1468
 
1488
 
1489
+    if (z_probe_is_active) return;
1490
+
1469
     #if HAS_SERVO_ENDSTOPS
1491
     #if HAS_SERVO_ENDSTOPS
1470
 
1492
 
1471
       // Engage Z Servo endstop if enabled
1493
       // Engage Z Servo endstop if enabled
1505
             if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
1527
             if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
1506
               feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE;
1528
               feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE;
1507
 
1529
 
1508
-          // Move to trigger deployment
1509
-          if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
1510
-            feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE;
1511
-          if (Z_PROBE_ALLEN_KEY_DEPLOY_3_X != Z_PROBE_ALLEN_KEY_DEPLOY_2_X)
1512
-            destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_X;
1513
-          if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Y != Z_PROBE_ALLEN_KEY_DEPLOY_2_Y)
1514
-            destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Y;
1515
-          if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z)
1516
-            destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z;
1517
-
1518
-          prepare_move_raw();
1519
-
1520
-        #endif
1521
-      }
1530
+            // Move to trigger deployment
1531
+            if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
1532
+              feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE;
1533
+            if (Z_PROBE_ALLEN_KEY_DEPLOY_3_X != Z_PROBE_ALLEN_KEY_DEPLOY_2_X)
1534
+              destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_X;
1535
+            if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Y != Z_PROBE_ALLEN_KEY_DEPLOY_2_Y)
1536
+              destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Y;
1537
+            if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z)
1538
+              destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z;
1539
+
1540
+            prepare_move_raw();
1541
+          #endif
1542
+        }
1522
 
1543
 
1523
       // Partially Home X,Y for safety
1544
       // Partially Home X,Y for safety
1524
       destination[X_AXIS] = destination[X_AXIS] * 0.75;
1545
       destination[X_AXIS] = destination[X_AXIS] * 0.75;
1545
 
1566
 
1546
     #endif // Z_PROBE_ALLEN_KEY
1567
     #endif // Z_PROBE_ALLEN_KEY
1547
 
1568
 
1569
+    #if ENABLED(FIX_MOUNTED_PROBE)
1570
+      // Noting to be done. Just set z_probe_is_active
1571
+    #endif
1572
+
1573
+    z_probe_is_active = true;
1574
+
1548
   }
1575
   }
1549
 
1576
 
1550
   static void stow_z_probe(bool doRaise = true) {
1577
   static void stow_z_probe(bool doRaise = true) {
1554
       }
1581
       }
1555
     #endif
1582
     #endif
1556
 
1583
 
1584
+    if (!z_probe_is_active) return;
1585
+
1557
     #if HAS_SERVO_ENDSTOPS
1586
     #if HAS_SERVO_ENDSTOPS
1558
 
1587
 
1559
       // Retract Z Servo endstop if enabled
1588
       // Retract Z Servo endstop if enabled
1638
           Stop();
1667
           Stop();
1639
         }
1668
         }
1640
     #endif // Z_PROBE_ALLEN_KEY
1669
     #endif // Z_PROBE_ALLEN_KEY
1670
+
1671
+    #if ENABLED(FIX_MOUNTED_PROBE)
1672
+      // Noting to be done. Just set z_probe_is_active
1673
+    #endif
1674
+
1675
+    z_probe_is_active = false;
1641
   }
1676
   }
1677
+  #endif // HAS_Z_MIN_PROBE
1642
 
1678
 
1643
   enum ProbeAction {
1679
   enum ProbeAction {
1644
     ProbeStay          = 0,
1680
     ProbeStay          = 0,
1830
         SERIAL_EOL;
1866
         SERIAL_EOL;
1831
       }
1867
       }
1832
     #endif
1868
     #endif
1869
+
1870
+    if (z_probe_is_active == dock) return;
1871
+
1833
     if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) {
1872
     if (!axis_known_position[X_AXIS] || !axis_known_position[Y_AXIS]) {
1834
       unknown_position_error();
1873
       unknown_position_error();
1835
       return;
1874
       return;
1850
       digitalWrite(SLED_PIN, HIGH); // turn on magnet
1889
       digitalWrite(SLED_PIN, HIGH); // turn on magnet
1851
     }
1890
     }
1852
     do_blocking_move_to_x(oldXpos); // return to position before docking
1891
     do_blocking_move_to_x(oldXpos); // return to position before docking
1892
+
1893
+    z_probe_is_active = dock;
1853
   }
1894
   }
1854
 
1895
 
1855
 #endif // Z_PROBE_SLED
1896
 #endif // Z_PROBE_SLED
1890
       if (axis == Z_AXIS) {
1931
       if (axis == Z_AXIS) {
1891
         if (axis_home_dir < 0) dock_sled(false);
1932
         if (axis_home_dir < 0) dock_sled(false);
1892
       }
1933
       }
1893
-    #endif
1894
-
1895
-    #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
1934
+    #elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
1896
 
1935
 
1897
       // Deploy a Z probe if there is one, and homing towards the bed
1936
       // Deploy a Z probe if there is one, and homing towards the bed
1898
       if (axis == Z_AXIS) {
1937
       if (axis == Z_AXIS) {
1903
 
1942
 
1904
     #if HAS_SERVO_ENDSTOPS
1943
     #if HAS_SERVO_ENDSTOPS
1905
       // Engage Servo endstop if enabled
1944
       // Engage Servo endstop if enabled
1906
-      if (axis != Z_AXIS && servo_endstop_id[axis] >= 0)
1945
+      if (axis != Z_AXIS && servo_endstop_id[axis] >= 0) {
1907
         servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][0]);
1946
         servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][0]);
1947
+        z_probe_is_active = true;
1948
+      }
1908
     #endif
1949
     #endif
1909
 
1950
 
1910
     // Set a flag for Z motor locking
1951
     // Set a flag for Z motor locking
2037
       if (axis == Z_AXIS) {
2078
       if (axis == Z_AXIS) {
2038
         if (axis_home_dir < 0) dock_sled(true);
2079
         if (axis_home_dir < 0) dock_sled(true);
2039
       }
2080
       }
2040
-    #endif
2041
-
2042
-    #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED)
2081
+    #elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
2043
 
2082
 
2044
       // Deploy a Z probe if there is one, and homing towards the bed
2083
       // Deploy a Z probe if there is one, and homing towards the bed
2045
       if (axis == Z_AXIS) {
2084
       if (axis == Z_AXIS) {
2066
             }
2105
             }
2067
           #endif
2106
           #endif
2068
           servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][1]);
2107
           servo[servo_endstop_id[axis]].move(servo_endstop_angle[axis][1]);
2108
+          z_probe_is_active = false;
2069
         }
2109
         }
2070
       #endif
2110
       #endif
2071
     }
2111
     }
3194
       #if ENABLED(Z_PROBE_ALLEN_KEY)
3234
       #if ENABLED(Z_PROBE_ALLEN_KEY)
3195
         stow_z_probe();
3235
         stow_z_probe();
3196
       #elif Z_RAISE_AFTER_PROBING > 0
3236
       #elif Z_RAISE_AFTER_PROBING > 0
3197
-        raise_z_after_probing();
3237
+        raise_z_after_probing(); // ???
3198
       #endif
3238
       #endif
3199
     #else // !DELTA
3239
     #else // !DELTA
3200
       if (verbose_level > 0)
3240
       if (verbose_level > 0)
3278
         }
3318
         }
3279
       #endif
3319
       #endif
3280
       enqueue_and_echo_commands_P(PSTR(Z_PROBE_END_SCRIPT));
3320
       enqueue_and_echo_commands_P(PSTR(Z_PROBE_END_SCRIPT));
3321
+      #if ENABLED(HAS_Z_MIN_PROBE)
3322
+        z_probe_is_active = false;
3323
+      #endif
3281
       st_synchronize();
3324
       st_synchronize();
3282
     #endif
3325
     #endif
3283
 
3326
 
3291
 
3334
 
3292
   }
3335
   }
3293
 
3336
 
3294
-  #if DISABLED(Z_PROBE_SLED)
3337
+  #if DISABLED(Z_PROBE_SLED) // could be avoided
3295
 
3338
 
3296
     /**
3339
     /**
3297
      * G30: Do a single Z probe at the current XY
3340
      * G30: Do a single Z probe at the current XY
3300
       #if HAS_SERVO_ENDSTOPS
3343
       #if HAS_SERVO_ENDSTOPS
3301
         raise_z_for_servo();
3344
         raise_z_for_servo();
3302
       #endif
3345
       #endif
3303
-      deploy_z_probe(); // Engage Z Servo endstop if available
3346
+      deploy_z_probe(); // Engage Z Servo endstop if available. Z_PROBE_SLED is missed her.
3304
 
3347
 
3305
       st_synchronize();
3348
       st_synchronize();
3306
       // TODO: clear the leveling matrix or the planner will be set incorrectly
3349
       // TODO: clear the leveling matrix or the planner will be set incorrectly
3307
-      setup_for_endstop_move();
3350
+      setup_for_endstop_move(); // to late. Must be done before deploying.
3308
 
3351
 
3309
       feedrate = homing_feedrate[Z_AXIS];
3352
       feedrate = homing_feedrate[Z_AXIS];
3310
 
3353
 
3317
       SERIAL_PROTOCOL(current_position[Z_AXIS] + 0.0001);
3360
       SERIAL_PROTOCOL(current_position[Z_AXIS] + 0.0001);
3318
       SERIAL_EOL;
3361
       SERIAL_EOL;
3319
 
3362
 
3320
-      clean_up_after_endstop_move();
3363
+      clean_up_after_endstop_move(); // to early. must be done after the stowing.
3321
 
3364
 
3322
       #if HAS_SERVO_ENDSTOPS
3365
       #if HAS_SERVO_ENDSTOPS
3323
         raise_z_for_servo();
3366
         raise_z_for_servo();
3324
       #endif
3367
       #endif
3325
-      stow_z_probe(false); // Retract Z Servo endstop if available
3368
+      stow_z_probe(false); // Retract Z Servo endstop if available. Z_PROBE_SLED is missed her.
3326
     }
3369
     }
3327
 
3370
 
3328
   #endif //!Z_PROBE_SLED
3371
   #endif //!Z_PROBE_SLED

+ 28
- 0
Marlin/SanityCheck.h View File

128
 #endif
128
 #endif
129
 
129
 
130
 /**
130
 /**
131
+ * Probes
132
+ */
133
+
134
+  /**
135
+   * A probe needs a pin
136
+   */
137
+#if (!((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) || HAS_Z_PROBE )) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
138
+  #error A probe needs a pin! [Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN || HAS_Z_PROBE]
139
+#endif
140
+
141
+#if ((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) && HAS_Z_PROBE) && ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
142
+  #error A probe should not be connected to more then one pin! [Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN || HAS_Z_PROBE]
143
+#endif
144
+
145
+  /**
146
+    * Require one kind of probe
147
+    */
148
+#if ENABLED(AUTO_BED_LEVELING_FEATURE) && !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
149
+  #error For AUTO_BED_LEVELING_FEATURE define one kind of probe! {Servo | Z_PROBE_ALLEN_KEY | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
150
+#endif
151
+
152
+#if ENABLED(Z_SAFE_HOMING)&& !( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED))
153
+  #error For Z_SAFE_HOMING define one kind of probe! {Servo | Z_PROBE_ALLEN_KEY | Z_PROBE_SLED | FIX_MOUNTED_PROBE]
154
+#endif
155
+
156
+// To do: Fail with more then one probe defined
157
+
158
+/**
131
  * Auto Bed Leveling
159
  * Auto Bed Leveling
132
  */
160
  */
133
 #if ENABLED(AUTO_BED_LEVELING_FEATURE)
161
 #if ENABLED(AUTO_BED_LEVELING_FEATURE)

+ 57
- 33
Marlin/example_configurations/Felix/Configuration.h View File

318
 #define DISABLE_MAX_ENDSTOPS
318
 #define DISABLE_MAX_ENDSTOPS
319
 //#define DISABLE_MIN_ENDSTOPS
319
 //#define DISABLE_MIN_ENDSTOPS
320
 
320
 
321
+//===========================================================================
322
+//============================= Z Probe Options =============================
323
+//===========================================================================
324
+
325
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
326
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
327
+//
328
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
329
+//
330
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
331
+// Example: To park the head outside the bed area when homing with G28.
332
+//
333
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
334
+//
335
+// For a servo-based Z probe, you must set up servo support below, including
336
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
337
+//
338
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
339
+// - Use 5V for powered (usu. inductive) sensors.
340
+// - Otherwise connect:
341
+//   - normally-closed switches to GND and D32.
342
+//   - normally-open switches to 5V and D32.
343
+//
344
+// Normally-closed switches are advised and are the default.
345
+//
346
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
347
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
348
+// default pin for all RAMPS-based boards. Some other boards map differently.
349
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
350
+//
351
+// WARNING:
352
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
353
+// Use with caution and do your homework.
354
+//
355
+//#define Z_MIN_PROBE_ENDSTOP
356
+
357
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
358
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
359
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
360
+// If you want to use a probe you do have to define one of the two defines above!
361
+
321
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
362
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
322
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
363
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
323
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
364
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
324
 // this has no effect.
365
 // this has no effect.
366
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
325
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
367
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
326
 
368
 
327
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
369
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
502
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
544
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
503
                                                                              // Useful to retract a deployable Z probe.
545
                                                                              // Useful to retract a deployable Z probe.
504
 
546
 
547
+  // Probes are sensors/switches that need to be activated before they can be used
548
+  // and deactivated after the use.
549
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
550
+
551
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
552
+  // when the hardware endstops are active.
553
+  //#define FIX_MOUNTED_PROBE
554
+
555
+  // A Servo Probe can be defined in the servo section below.
556
+
557
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
558
+
505
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
559
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
506
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
560
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
507
 
561
 
509
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
563
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
510
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
564
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
511
 
565
 
512
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
566
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
567
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
513
                           // When defined, it will:
568
                           // When defined, it will:
514
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
569
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
515
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
570
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
523
 
578
 
524
   #endif
579
   #endif
525
 
580
 
526
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
527
-  // If you would like to use both a Z probe and a Z min endstop together,
528
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
529
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
530
-  // Example: To park the head outside the bed area when homing with G28.
531
-  //
532
-  // WARNING:
533
-  // The Z min endstop will need to set properly as it would without a Z probe
534
-  // to prevent head crashes and premature stopping during a print.
535
-  //
536
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
537
-  // defined in the pins_XXXXX.h file for your control board.
538
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
539
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
540
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
541
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
542
-  // otherwise connect to ground and D32 for normally closed configuration
543
-  // and 5V and D32 for normally open configurations.
544
-  // Normally closed configuration is advised and assumed.
545
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
546
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
547
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
548
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
549
-  // All other boards will need changes to the respective pins_XXXXX.h file.
550
-  //
551
-  // WARNING:
552
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
553
-  // Use with caution and do your homework.
554
-  //
555
-  //#define Z_MIN_PROBE_ENDSTOP
556
-
557
 #endif // AUTO_BED_LEVELING_FEATURE
581
 #endif // AUTO_BED_LEVELING_FEATURE
558
 
582
 
559
 
583
 

+ 57
- 33
Marlin/example_configurations/Felix/Configuration_DUAL.h View File

315
 #define DISABLE_MAX_ENDSTOPS
315
 #define DISABLE_MAX_ENDSTOPS
316
 //#define DISABLE_MIN_ENDSTOPS
316
 //#define DISABLE_MIN_ENDSTOPS
317
 
317
 
318
+//===========================================================================
319
+//============================= Z Probe Options =============================
320
+//===========================================================================
321
+
322
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
323
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
324
+//
325
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
326
+//
327
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
328
+// Example: To park the head outside the bed area when homing with G28.
329
+//
330
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
331
+//
332
+// For a servo-based Z probe, you must set up servo support below, including
333
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
334
+//
335
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
336
+// - Use 5V for powered (usu. inductive) sensors.
337
+// - Otherwise connect:
338
+//   - normally-closed switches to GND and D32.
339
+//   - normally-open switches to 5V and D32.
340
+//
341
+// Normally-closed switches are advised and are the default.
342
+//
343
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
344
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
345
+// default pin for all RAMPS-based boards. Some other boards map differently.
346
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
347
+//
348
+// WARNING:
349
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
350
+// Use with caution and do your homework.
351
+//
352
+//#define Z_MIN_PROBE_ENDSTOP
353
+
354
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
355
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
356
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
357
+// If you want to use a probe you do have to define one of the two defines above!
358
+
318
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
359
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
319
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
360
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
320
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
361
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
321
 // this has no effect.
362
 // this has no effect.
363
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
322
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
364
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
323
 
365
 
324
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
366
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
499
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
541
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
500
                                                                              // Useful to retract a deployable Z probe.
542
                                                                              // Useful to retract a deployable Z probe.
501
 
543
 
544
+  // Probes are sensors/switches that need to be activated before they can be used
545
+  // and deactivated after the use.
546
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
547
+
548
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
549
+  // when the hardware endstops are active.
550
+  //#define FIX_MOUNTED_PROBE
551
+
552
+  // A Servo Probe can be defined in the servo section below.
553
+
554
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
555
+
502
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
556
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
503
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
557
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
504
 
558
 
506
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
560
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
507
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
561
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
508
 
562
 
509
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
563
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
564
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
510
                           // When defined, it will:
565
                           // When defined, it will:
511
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
566
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
512
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
567
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
520
 
575
 
521
   #endif
576
   #endif
522
 
577
 
523
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
524
-  // If you would like to use both a Z probe and a Z min endstop together,
525
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
526
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
527
-  // Example: To park the head outside the bed area when homing with G28.
528
-  //
529
-  // WARNING:
530
-  // The Z min endstop will need to set properly as it would without a Z probe
531
-  // to prevent head crashes and premature stopping during a print.
532
-  //
533
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
534
-  // defined in the pins_XXXXX.h file for your control board.
535
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
536
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
537
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
538
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
539
-  // otherwise connect to ground and D32 for normally closed configuration
540
-  // and 5V and D32 for normally open configurations.
541
-  // Normally closed configuration is advised and assumed.
542
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
543
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
544
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
545
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
546
-  // All other boards will need changes to the respective pins_XXXXX.h file.
547
-  //
548
-  // WARNING:
549
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
550
-  // Use with caution and do your homework.
551
-  //
552
-  //#define Z_MIN_PROBE_ENDSTOP
553
-
554
 #endif // AUTO_BED_LEVELING_FEATURE
578
 #endif // AUTO_BED_LEVELING_FEATURE
555
 
579
 
556
 
580
 

+ 57
- 33
Marlin/example_configurations/Hephestos/Configuration.h View File

328
 //#define DISABLE_MAX_ENDSTOPS
328
 //#define DISABLE_MAX_ENDSTOPS
329
 //#define DISABLE_MIN_ENDSTOPS
329
 //#define DISABLE_MIN_ENDSTOPS
330
 
330
 
331
+//===========================================================================
332
+//============================= Z Probe Options =============================
333
+//===========================================================================
334
+
335
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
336
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
337
+//
338
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
339
+//
340
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
341
+// Example: To park the head outside the bed area when homing with G28.
342
+//
343
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
344
+//
345
+// For a servo-based Z probe, you must set up servo support below, including
346
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
347
+//
348
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
349
+// - Use 5V for powered (usu. inductive) sensors.
350
+// - Otherwise connect:
351
+//   - normally-closed switches to GND and D32.
352
+//   - normally-open switches to 5V and D32.
353
+//
354
+// Normally-closed switches are advised and are the default.
355
+//
356
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
357
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
358
+// default pin for all RAMPS-based boards. Some other boards map differently.
359
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
360
+//
361
+// WARNING:
362
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
363
+// Use with caution and do your homework.
364
+//
365
+//#define Z_MIN_PROBE_ENDSTOP
366
+
367
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
368
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
369
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
370
+// If you want to use a probe you do have to define one of the two defines above!
371
+
331
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
372
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
332
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
373
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
333
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
374
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
334
 // this has no effect.
375
 // this has no effect.
376
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
335
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
377
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
336
 
378
 
337
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
379
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
512
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
554
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
513
                                                                              // Useful to retract a deployable Z probe.
555
                                                                              // Useful to retract a deployable Z probe.
514
 
556
 
557
+  // Probes are sensors/switches that need to be activated before they can be used
558
+  // and deactivated after the use.
559
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
560
+
561
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
562
+  // when the hardware endstops are active.
563
+  //#define FIX_MOUNTED_PROBE
564
+
565
+  // A Servo Probe can be defined in the servo section below.
566
+
567
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
568
+
515
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
569
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
516
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
570
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
517
 
571
 
519
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
573
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
520
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
574
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
521
 
575
 
522
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
576
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
577
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
523
                           // When defined, it will:
578
                           // When defined, it will:
524
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
579
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
525
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
580
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
533
 
588
 
534
   #endif
589
   #endif
535
 
590
 
536
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
537
-  // If you would like to use both a Z probe and a Z min endstop together,
538
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
539
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
540
-  // Example: To park the head outside the bed area when homing with G28.
541
-  //
542
-  // WARNING:
543
-  // The Z min endstop will need to set properly as it would without a Z probe
544
-  // to prevent head crashes and premature stopping during a print.
545
-  //
546
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
547
-  // defined in the pins_XXXXX.h file for your control board.
548
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
549
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
550
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
551
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
552
-  // otherwise connect to ground and D32 for normally closed configuration
553
-  // and 5V and D32 for normally open configurations.
554
-  // Normally closed configuration is advised and assumed.
555
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
556
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
557
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
558
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
559
-  // All other boards will need changes to the respective pins_XXXXX.h file.
560
-  //
561
-  // WARNING:
562
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
563
-  // Use with caution and do your homework.
564
-  //
565
-  //#define Z_MIN_PROBE_ENDSTOP
566
-
567
 #endif // AUTO_BED_LEVELING_FEATURE
591
 #endif // AUTO_BED_LEVELING_FEATURE
568
 
592
 
569
 
593
 

+ 43
- 32
Marlin/example_configurations/Hephestos_2/Configuration.h View File

331
 #define DISABLE_MAX_ENDSTOPS
331
 #define DISABLE_MAX_ENDSTOPS
332
 //#define DISABLE_MIN_ENDSTOPS
332
 //#define DISABLE_MIN_ENDSTOPS
333
 
333
 
334
+//===========================================================================
335
+//============================= Z Probe Options =============================
336
+//===========================================================================
337
+
338
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
339
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
340
+//
341
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
342
+//
343
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
344
+// Example: To park the head outside the bed area when homing with G28.
345
+//
346
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
347
+//
348
+// For a servo-based Z probe, you must set up servo support below, including
349
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
350
+//
351
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
352
+// - Use 5V for powered (usu. inductive) sensors.
353
+// - Otherwise connect:
354
+//   - normally-closed switches to GND and D32.
355
+//   - normally-open switches to 5V and D32.
356
+//
357
+// Normally-closed switches are advised and are the default.
358
+//
359
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
360
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
361
+// default pin for all RAMPS-based boards. Some other boards map differently.
362
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
363
+//
364
+// WARNING:
365
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
366
+// Use with caution and do your homework.
367
+//
368
+//#define Z_MIN_PROBE_ENDSTOP
369
+
370
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
371
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
372
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
373
+// If you want to use a probe you do have to define one of the two defines above!
374
+
334
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
375
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
335
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
376
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
336
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
377
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
337
 // this has no effect.
378
 // this has no effect.
379
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
338
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
380
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
339
 
381
 
340
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
382
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
536
 
578
 
537
   #endif
579
   #endif
538
 
580
 
539
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
540
-  // If you would like to use both a Z probe and a Z min endstop together,
541
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
542
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
543
-  // Example: To park the head outside the bed area when homing with G28.
544
-  //
545
-  // WARNING:
546
-  // The Z min endstop will need to set properly as it would without a Z probe
547
-  // to prevent head crashes and premature stopping during a print.
548
-  //
549
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
550
-  // defined in the pins_XXXXX.h file for your control board.
551
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
552
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
553
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
554
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
555
-  // otherwise connect to ground and D32 for normally closed configuration
556
-  // and 5V and D32 for normally open configurations.
557
-  // Normally closed configuration is advised and assumed.
558
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
559
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
560
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
561
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
562
-  // All other boards will need changes to the respective pins_XXXXX.h file.
563
-  //
564
-  // WARNING:
565
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
566
-  // Use with caution and do your homework.
567
-  //
568
-  //#define Z_MIN_PROBE_ENDSTOP
569
-
570
 #endif // AUTO_BED_LEVELING_FEATURE
581
 #endif // AUTO_BED_LEVELING_FEATURE
571
 
582
 
572
 
583
 

+ 57
- 33
Marlin/example_configurations/K8200/Configuration.h View File

351
 #define DISABLE_MAX_ENDSTOPS
351
 #define DISABLE_MAX_ENDSTOPS
352
 //#define DISABLE_MIN_ENDSTOPS
352
 //#define DISABLE_MIN_ENDSTOPS
353
 
353
 
354
+//===========================================================================
355
+//============================= Z Probe Options =============================
356
+//===========================================================================
357
+
358
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
359
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
360
+//
361
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
362
+//
363
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
364
+// Example: To park the head outside the bed area when homing with G28.
365
+//
366
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
367
+//
368
+// For a servo-based Z probe, you must set up servo support below, including
369
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
370
+//
371
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
372
+// - Use 5V for powered (usu. inductive) sensors.
373
+// - Otherwise connect:
374
+//   - normally-closed switches to GND and D32.
375
+//   - normally-open switches to 5V and D32.
376
+//
377
+// Normally-closed switches are advised and are the default.
378
+//
379
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
380
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
381
+// default pin for all RAMPS-based boards. Some other boards map differently.
382
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
383
+//
384
+// WARNING:
385
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
386
+// Use with caution and do your homework.
387
+//
388
+//#define Z_MIN_PROBE_ENDSTOP
389
+
390
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
391
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
392
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
393
+// If you want to use a probe you do have to define one of the two defines above!
394
+
354
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
395
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
355
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
396
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
356
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
397
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
357
 // this has no effect.
398
 // this has no effect.
399
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
358
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
400
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
359
 
401
 
360
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
402
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
535
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
577
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
536
                                                                              // Useful to retract a deployable Z probe.
578
                                                                              // Useful to retract a deployable Z probe.
537
 
579
 
580
+  // Probes are sensors/switches that need to be activated before they can be used
581
+  // and deactivated after the use.
582
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
583
+
584
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
585
+  // when the hardware endstops are active.
586
+  //#define FIX_MOUNTED_PROBE
587
+
588
+  // A Servo Probe can be defined in the servo section below.
589
+
590
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
591
+
538
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
592
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
539
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
593
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
540
 
594
 
542
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
596
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
543
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
597
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
544
 
598
 
545
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
599
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
600
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
546
                           // When defined, it will:
601
                           // When defined, it will:
547
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
602
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
548
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
603
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
556
 
611
 
557
   #endif
612
   #endif
558
 
613
 
559
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
560
-  // If you would like to use both a Z probe and a Z min endstop together,
561
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
562
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
563
-  // Example: To park the head outside the bed area when homing with G28.
564
-  //
565
-  // WARNING:
566
-  // The Z min endstop will need to set properly as it would without a Z probe
567
-  // to prevent head crashes and premature stopping during a print.
568
-  //
569
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
570
-  // defined in the pins_XXXXX.h file for your control board.
571
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
572
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
573
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
574
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
575
-  // otherwise connect to ground and D32 for normally closed configuration
576
-  // and 5V and D32 for normally open configurations.
577
-  // Normally closed configuration is advised and assumed.
578
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
579
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
580
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
581
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
582
-  // All other boards will need changes to the respective pins_XXXXX.h file.
583
-  //
584
-  // WARNING:
585
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
586
-  // Use with caution and do your homework.
587
-  //
588
-  //#define Z_MIN_PROBE_ENDSTOP
589
-
590
 #endif // AUTO_BED_LEVELING_FEATURE
614
 #endif // AUTO_BED_LEVELING_FEATURE
591
 
615
 
592
 
616
 

+ 57
- 33
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h View File

336
 //#define DISABLE_MAX_ENDSTOPS
336
 //#define DISABLE_MAX_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
338
 
338
 
339
+//===========================================================================
340
+//============================= Z Probe Options =============================
341
+//===========================================================================
342
+
343
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
344
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
345
+//
346
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
347
+//
348
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
349
+// Example: To park the head outside the bed area when homing with G28.
350
+//
351
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
352
+//
353
+// For a servo-based Z probe, you must set up servo support below, including
354
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
355
+//
356
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
357
+// - Use 5V for powered (usu. inductive) sensors.
358
+// - Otherwise connect:
359
+//   - normally-closed switches to GND and D32.
360
+//   - normally-open switches to 5V and D32.
361
+//
362
+// Normally-closed switches are advised and are the default.
363
+//
364
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
365
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
366
+// default pin for all RAMPS-based boards. Some other boards map differently.
367
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
368
+//
369
+// WARNING:
370
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
371
+// Use with caution and do your homework.
372
+//
373
+//#define Z_MIN_PROBE_ENDSTOP
374
+
375
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
376
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
377
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
378
+// If you want to use a probe you do have to define one of the two defines above!
379
+
339
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
380
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
340
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
381
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
341
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
382
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
342
 // this has no effect.
383
 // this has no effect.
384
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
343
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
385
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
344
 
386
 
345
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
387
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
520
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
562
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
521
                                                                              // Useful to retract a deployable Z probe.
563
                                                                              // Useful to retract a deployable Z probe.
522
 
564
 
565
+  // Probes are sensors/switches that need to be activated before they can be used
566
+  // and deactivated after the use.
567
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
568
+
569
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
570
+  // when the hardware endstops are active.
571
+  //#define FIX_MOUNTED_PROBE
572
+
573
+  // A Servo Probe can be defined in the servo section below.
574
+
575
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
576
+
523
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
577
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
524
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
578
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
525
 
579
 
527
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
581
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
528
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
582
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
529
 
583
 
530
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
584
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
585
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
531
                           // When defined, it will:
586
                           // When defined, it will:
532
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
587
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
533
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
588
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
541
 
596
 
542
   #endif
597
   #endif
543
 
598
 
544
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
545
-  // If you would like to use both a Z probe and a Z min endstop together,
546
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
547
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
548
-  // Example: To park the head outside the bed area when homing with G28.
549
-  //
550
-  // WARNING:
551
-  // The Z min endstop will need to set properly as it would without a Z probe
552
-  // to prevent head crashes and premature stopping during a print.
553
-  //
554
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
555
-  // defined in the pins_XXXXX.h file for your control board.
556
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
557
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
558
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
559
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
560
-  // otherwise connect to ground and D32 for normally closed configuration
561
-  // and 5V and D32 for normally open configurations.
562
-  // Normally closed configuration is advised and assumed.
563
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
564
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
565
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
566
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
567
-  // All other boards will need changes to the respective pins_XXXXX.h file.
568
-  //
569
-  // WARNING:
570
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
571
-  // Use with caution and do your homework.
572
-  //
573
-  //#define Z_MIN_PROBE_ENDSTOP
574
-
575
 #endif // AUTO_BED_LEVELING_FEATURE
599
 #endif // AUTO_BED_LEVELING_FEATURE
576
 
600
 
577
 
601
 

+ 57
- 33
Marlin/example_configurations/RigidBot/Configuration.h View File

330
 //#define DISABLE_MAX_ENDSTOPS
330
 //#define DISABLE_MAX_ENDSTOPS
331
 //#define DISABLE_MIN_ENDSTOPS
331
 //#define DISABLE_MIN_ENDSTOPS
332
 
332
 
333
+//===========================================================================
334
+//============================= Z Probe Options =============================
335
+//===========================================================================
336
+
337
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
338
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
339
+//
340
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
341
+//
342
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
343
+// Example: To park the head outside the bed area when homing with G28.
344
+//
345
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
346
+//
347
+// For a servo-based Z probe, you must set up servo support below, including
348
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
349
+//
350
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
351
+// - Use 5V for powered (usu. inductive) sensors.
352
+// - Otherwise connect:
353
+//   - normally-closed switches to GND and D32.
354
+//   - normally-open switches to 5V and D32.
355
+//
356
+// Normally-closed switches are advised and are the default.
357
+//
358
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
359
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
360
+// default pin for all RAMPS-based boards. Some other boards map differently.
361
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
362
+//
363
+// WARNING:
364
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
365
+// Use with caution and do your homework.
366
+//
367
+//#define Z_MIN_PROBE_ENDSTOP
368
+
369
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
370
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
371
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
372
+// If you want to use a probe you do have to define one of the two defines above!
373
+
333
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
374
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
334
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
375
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
335
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
376
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
336
 // this has no effect.
377
 // this has no effect.
378
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
337
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
379
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
338
 
380
 
339
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
381
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
514
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
556
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
515
                                                                              // Useful to retract a deployable Z probe.
557
                                                                              // Useful to retract a deployable Z probe.
516
 
558
 
559
+  // Probes are sensors/switches that need to be activated before they can be used
560
+  // and deactivated after the use.
561
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
562
+
563
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
564
+  // when the hardware endstops are active.
565
+  //#define FIX_MOUNTED_PROBE
566
+
567
+  // A Servo Probe can be defined in the servo section below.
568
+
569
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
570
+
517
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
571
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
518
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
572
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
519
 
573
 
521
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
575
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
522
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
576
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
523
 
577
 
524
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
578
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
579
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
525
                           // When defined, it will:
580
                           // When defined, it will:
526
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
581
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
527
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
582
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
535
 
590
 
536
   #endif
591
   #endif
537
 
592
 
538
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
539
-  // If you would like to use both a Z probe and a Z min endstop together,
540
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
541
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
542
-  // Example: To park the head outside the bed area when homing with G28.
543
-  //
544
-  // WARNING:
545
-  // The Z min endstop will need to set properly as it would without a Z probe
546
-  // to prevent head crashes and premature stopping during a print.
547
-  //
548
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
549
-  // defined in the pins_XXXXX.h file for your control board.
550
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
551
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
552
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
553
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
554
-  // otherwise connect to ground and D32 for normally closed configuration
555
-  // and 5V and D32 for normally open configurations.
556
-  // Normally closed configuration is advised and assumed.
557
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
558
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
559
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
560
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
561
-  // All other boards will need changes to the respective pins_XXXXX.h file.
562
-  //
563
-  // WARNING:
564
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
565
-  // Use with caution and do your homework.
566
-  //
567
-  //#define Z_MIN_PROBE_ENDSTOP
568
-
569
 #endif // AUTO_BED_LEVELING_FEATURE
593
 #endif // AUTO_BED_LEVELING_FEATURE
570
 
594
 
571
 
595
 

+ 57
- 33
Marlin/example_configurations/SCARA/Configuration.h View File

344
 //#define DISABLE_MAX_ENDSTOPS
344
 //#define DISABLE_MAX_ENDSTOPS
345
 //#define DISABLE_MIN_ENDSTOPS
345
 //#define DISABLE_MIN_ENDSTOPS
346
 
346
 
347
+//===========================================================================
348
+//============================= Z Probe Options =============================
349
+//===========================================================================
350
+
351
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
352
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
353
+//
354
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
355
+//
356
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
357
+// Example: To park the head outside the bed area when homing with G28.
358
+//
359
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
360
+//
361
+// For a servo-based Z probe, you must set up servo support below, including
362
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
363
+//
364
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
365
+// - Use 5V for powered (usu. inductive) sensors.
366
+// - Otherwise connect:
367
+//   - normally-closed switches to GND and D32.
368
+//   - normally-open switches to 5V and D32.
369
+//
370
+// Normally-closed switches are advised and are the default.
371
+//
372
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
373
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
374
+// default pin for all RAMPS-based boards. Some other boards map differently.
375
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
376
+//
377
+// WARNING:
378
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
379
+// Use with caution and do your homework.
380
+//
381
+//#define Z_MIN_PROBE_ENDSTOP
382
+
383
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
384
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
385
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
386
+// If you want to use a probe you do have to define one of the two defines above!
387
+
347
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
388
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
348
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
389
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
349
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
390
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
350
 // this has no effect.
391
 // this has no effect.
392
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
351
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
393
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
352
 
394
 
353
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
395
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
528
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
570
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
529
                                                                              // Useful to retract a deployable Z probe.
571
                                                                              // Useful to retract a deployable Z probe.
530
 
572
 
573
+  // Probes are sensors/switches that need to be activated before they can be used
574
+  // and deactivated after the use.
575
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
576
+
577
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
578
+  // when the hardware endstops are active.
579
+  //#define FIX_MOUNTED_PROBE
580
+
581
+  // A Servo Probe can be defined in the servo section below.
582
+
583
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
584
+
531
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
585
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
532
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
586
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
533
 
587
 
535
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
589
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
536
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
590
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
537
 
591
 
538
-  //#define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
592
+  //#define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
593
+                            // This feature is meant to avoid Z homing with Z probe outside the bed area.
539
                             // When defined, it will:
594
                             // When defined, it will:
540
                             // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
595
                             // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
541
                             // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
596
                             // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
549
 
604
 
550
   #endif
605
   #endif
551
 
606
 
552
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
553
-  // If you would like to use both a Z probe and a Z min endstop together,
554
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
555
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
556
-  // Example: To park the head outside the bed area when homing with G28.
557
-  //
558
-  // WARNING:
559
-  // The Z min endstop will need to set properly as it would without a Z probe
560
-  // to prevent head crashes and premature stopping during a print.
561
-  //
562
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
563
-  // defined in the pins_XXXXX.h file for your control board.
564
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
565
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
566
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
567
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
568
-  // otherwise connect to ground and D32 for normally closed configuration
569
-  // and 5V and D32 for normally open configurations.
570
-  // Normally closed configuration is advised and assumed.
571
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
572
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
573
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
574
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
575
-  // All other boards will need changes to the respective pins_XXXXX.h file.
576
-  //
577
-  // WARNING:
578
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
579
-  // Use with caution and do your homework.
580
-  //
581
-  //#define Z_MIN_PROBE_ENDSTOP
582
-
583
 #endif // AUTO_BED_LEVELING_FEATURE
607
 #endif // AUTO_BED_LEVELING_FEATURE
584
 
608
 
585
 
609
 

+ 57
- 2
Marlin/example_configurations/TAZ4/Configuration.h View File

356
 #define DISABLE_MAX_ENDSTOPS
356
 #define DISABLE_MAX_ENDSTOPS
357
 //#define DISABLE_MIN_ENDSTOPS
357
 //#define DISABLE_MIN_ENDSTOPS
358
 
358
 
359
+//===========================================================================
360
+//============================= Z Probe Options =============================
361
+//===========================================================================
362
+
363
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
364
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
365
+//
366
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
367
+//
368
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
369
+// Example: To park the head outside the bed area when homing with G28.
370
+//
371
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
372
+//
373
+// For a servo-based Z probe, you must set up servo support below, including
374
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
375
+//
376
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
377
+// - Use 5V for powered (usu. inductive) sensors.
378
+// - Otherwise connect:
379
+//   - normally-closed switches to GND and D32.
380
+//   - normally-open switches to 5V and D32.
381
+//
382
+// Normally-closed switches are advised and are the default.
383
+//
384
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
385
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
386
+// default pin for all RAMPS-based boards. Some other boards map differently.
387
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
388
+//
389
+// WARNING:
390
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
391
+// Use with caution and do your homework.
392
+//
393
+//#define Z_MIN_PROBE_ENDSTOP
394
+
395
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
396
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
397
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
398
+// If you want to use a probe you do have to define one of the two defines above!
399
+
359
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
400
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
360
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
401
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
361
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
402
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
362
 // this has no effect.
403
 // this has no effect.
404
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
363
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
405
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
364
 
406
 
365
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
407
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
540
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
582
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
541
                                                                              // Useful to retract a deployable Z probe.
583
                                                                              // Useful to retract a deployable Z probe.
542
 
584
 
585
+  // Probes are sensors/switches that need to be activated before they can be used
586
+  // and deactivated after the use.
587
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
588
+
589
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
590
+  // when the hardware endstops are active.
591
+  //#define FIX_MOUNTED_PROBE
592
+
593
+  // A Servo Probe can be defined in the servo section below.
594
+
595
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
596
+
543
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
597
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
544
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
598
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
545
 
599
 
547
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
601
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
548
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
602
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
549
 
603
 
550
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
604
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
605
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
551
                           // When defined, it will:
606
                           // When defined, it will:
552
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
607
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
553
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
608
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.

+ 57
- 33
Marlin/example_configurations/WITBOX/Configuration.h View File

328
 //#define DISABLE_MAX_ENDSTOPS
328
 //#define DISABLE_MAX_ENDSTOPS
329
 //#define DISABLE_MIN_ENDSTOPS
329
 //#define DISABLE_MIN_ENDSTOPS
330
 
330
 
331
+//===========================================================================
332
+//============================= Z Probe Options =============================
333
+//===========================================================================
334
+
335
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
336
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
337
+//
338
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
339
+//
340
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
341
+// Example: To park the head outside the bed area when homing with G28.
342
+//
343
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
344
+//
345
+// For a servo-based Z probe, you must set up servo support below, including
346
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
347
+//
348
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
349
+// - Use 5V for powered (usu. inductive) sensors.
350
+// - Otherwise connect:
351
+//   - normally-closed switches to GND and D32.
352
+//   - normally-open switches to 5V and D32.
353
+//
354
+// Normally-closed switches are advised and are the default.
355
+//
356
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
357
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
358
+// default pin for all RAMPS-based boards. Some other boards map differently.
359
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
360
+//
361
+// WARNING:
362
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
363
+// Use with caution and do your homework.
364
+//
365
+//#define Z_MIN_PROBE_ENDSTOP
366
+
367
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
368
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
369
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
370
+// If you want to use a probe you do have to define one of the two defines above!
371
+
331
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
372
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
332
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
373
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
333
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
374
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
334
 // this has no effect.
375
 // this has no effect.
376
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
335
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
377
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
336
 
378
 
337
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
379
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
512
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
554
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
513
                                                                              // Useful to retract a deployable Z probe.
555
                                                                              // Useful to retract a deployable Z probe.
514
 
556
 
557
+  // Probes are sensors/switches that need to be activated before they can be used
558
+  // and deactivated after the use.
559
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
560
+
561
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
562
+  // when the hardware endstops are active.
563
+  //#define FIX_MOUNTED_PROBE
564
+
565
+  // A Servo Probe can be defined in the servo section below.
566
+
567
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
568
+
515
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
569
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
516
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
570
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
517
 
571
 
519
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
573
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
520
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
574
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
521
 
575
 
522
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
576
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
577
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
523
                           // When defined, it will:
578
                           // When defined, it will:
524
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
579
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
525
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
580
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
533
 
588
 
534
   #endif
589
   #endif
535
 
590
 
536
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
537
-  // If you would like to use both a Z probe and a Z min endstop together,
538
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
539
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
540
-  // Example: To park the head outside the bed area when homing with G28.
541
-  //
542
-  // WARNING:
543
-  // The Z min endstop will need to set properly as it would without a Z probe
544
-  // to prevent head crashes and premature stopping during a print.
545
-  //
546
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
547
-  // defined in the pins_XXXXX.h file for your control board.
548
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
549
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
550
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
551
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
552
-  // otherwise connect to ground and D32 for normally closed configuration
553
-  // and 5V and D32 for normally open configurations.
554
-  // Normally closed configuration is advised and assumed.
555
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
556
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
557
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
558
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
559
-  // All other boards will need changes to the respective pins_XXXXX.h file.
560
-  //
561
-  // WARNING:
562
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
563
-  // Use with caution and do your homework.
564
-  //
565
-  //#define Z_MIN_PROBE_ENDSTOP
566
-
567
 #endif // AUTO_BED_LEVELING_FEATURE
591
 #endif // AUTO_BED_LEVELING_FEATURE
568
 
592
 
569
 
593
 

+ 57
- 33
Marlin/example_configurations/adafruit/ST7565/Configuration.h View File

336
 //#define DISABLE_MAX_ENDSTOPS
336
 //#define DISABLE_MAX_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
337
 //#define DISABLE_MIN_ENDSTOPS
338
 
338
 
339
+//===========================================================================
340
+//============================= Z Probe Options =============================
341
+//===========================================================================
342
+
343
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
344
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
345
+//
346
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
347
+//
348
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
349
+// Example: To park the head outside the bed area when homing with G28.
350
+//
351
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
352
+//
353
+// For a servo-based Z probe, you must set up servo support below, including
354
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
355
+//
356
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
357
+// - Use 5V for powered (usu. inductive) sensors.
358
+// - Otherwise connect:
359
+//   - normally-closed switches to GND and D32.
360
+//   - normally-open switches to 5V and D32.
361
+//
362
+// Normally-closed switches are advised and are the default.
363
+//
364
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
365
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
366
+// default pin for all RAMPS-based boards. Some other boards map differently.
367
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
368
+//
369
+// WARNING:
370
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
371
+// Use with caution and do your homework.
372
+//
373
+//#define Z_MIN_PROBE_ENDSTOP
374
+
375
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
376
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
377
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
378
+// If you want to use a probe you do have to define one of the two defines above!
379
+
339
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
380
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
340
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
381
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
341
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
382
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
342
 // this has no effect.
383
 // this has no effect.
384
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
343
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
385
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
344
 
386
 
345
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
387
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
520
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
562
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
521
                                                                              // Useful to retract a deployable Z probe.
563
                                                                              // Useful to retract a deployable Z probe.
522
 
564
 
565
+  // Probes are sensors/switches that need to be activated before they can be used
566
+  // and deactivated after the use.
567
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
568
+
569
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
570
+  // when the hardware endstops are active.
571
+  //#define FIX_MOUNTED_PROBE
572
+
573
+  // A Servo Probe can be defined in the servo section below.
574
+
575
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
576
+
523
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
577
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
524
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
578
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
525
 
579
 
527
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
581
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
528
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
582
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
529
 
583
 
530
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
584
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
585
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
531
                           // When defined, it will:
586
                           // When defined, it will:
532
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
587
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
533
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
588
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
541
 
596
 
542
   #endif
597
   #endif
543
 
598
 
544
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
545
-  // If you would like to use both a Z probe and a Z min endstop together,
546
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
547
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
548
-  // Example: To park the head outside the bed area when homing with G28.
549
-  //
550
-  // WARNING:
551
-  // The Z min endstop will need to set properly as it would without a Z probe
552
-  // to prevent head crashes and premature stopping during a print.
553
-  //
554
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
555
-  // defined in the pins_XXXXX.h file for your control board.
556
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
557
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
558
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
559
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
560
-  // otherwise connect to ground and D32 for normally closed configuration
561
-  // and 5V and D32 for normally open configurations.
562
-  // Normally closed configuration is advised and assumed.
563
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
564
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
565
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
566
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
567
-  // All other boards will need changes to the respective pins_XXXXX.h file.
568
-  //
569
-  // WARNING:
570
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
571
-  // Use with caution and do your homework.
572
-  //
573
-  //#define Z_MIN_PROBE_ENDSTOP
574
-
575
 #endif // AUTO_BED_LEVELING_FEATURE
599
 #endif // AUTO_BED_LEVELING_FEATURE
576
 
600
 
577
 
601
 

+ 57
- 33
Marlin/example_configurations/delta/biv2.5/Configuration.h View File

371
 //#define DISABLE_MAX_ENDSTOPS
371
 //#define DISABLE_MAX_ENDSTOPS
372
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
372
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
373
 
373
 
374
+//===========================================================================
375
+//============================= Z Probe Options =============================
376
+//===========================================================================
377
+
378
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
379
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
380
+//
381
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
382
+//
383
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
384
+// Example: To park the head outside the bed area when homing with G28.
385
+//
386
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
387
+//
388
+// For a servo-based Z probe, you must set up servo support below, including
389
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
390
+//
391
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
392
+// - Use 5V for powered (usu. inductive) sensors.
393
+// - Otherwise connect:
394
+//   - normally-closed switches to GND and D32.
395
+//   - normally-open switches to 5V and D32.
396
+//
397
+// Normally-closed switches are advised and are the default.
398
+//
399
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
400
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
401
+// default pin for all RAMPS-based boards. Some other boards map differently.
402
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
403
+//
404
+// WARNING:
405
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
406
+// Use with caution and do your homework.
407
+//
408
+//#define Z_MIN_PROBE_ENDSTOP
409
+
410
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
411
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
412
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
413
+// If you want to use a probe you do have to define one of the two defines above!
414
+
374
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
415
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
375
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
416
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
376
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
417
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
377
 // this has no effect.
418
 // this has no effect.
419
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
378
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
420
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
379
 
421
 
380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
422
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
559
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
601
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
560
                                                                              // Useful to retract a deployable Z probe.
602
                                                                              // Useful to retract a deployable Z probe.
561
 
603
 
604
+  // Probes are sensors/switches that need to be activated before they can be used
605
+  // and deactivated after the use.
606
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
607
+
608
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
609
+  // when the hardware endstops are active.
610
+  //#define FIX_MOUNTED_PROBE
611
+
612
+  // A Servo Probe can be defined in the servo section below.
613
+
614
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
615
+
562
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
616
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
563
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
617
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
564
 
618
 
647
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
701
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
648
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
702
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
649
 
703
 
650
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
704
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
705
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
651
                           // When defined, it will:
706
                           // When defined, it will:
652
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
707
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
653
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
708
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
661
 
716
 
662
   #endif
717
   #endif
663
 
718
 
664
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
665
-  // If you would like to use both a Z probe and a Z min endstop together,
666
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
667
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
668
-  // Example: To park the head outside the bed area when homing with G28.
669
-  //
670
-  // WARNING:
671
-  // The Z min endstop will need to set properly as it would without a Z probe
672
-  // to prevent head crashes and premature stopping during a print.
673
-  //
674
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
675
-  // defined in the pins_XXXXX.h file for your control board.
676
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
677
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
678
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
679
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
680
-  // otherwise connect to ground and D32 for normally closed configuration
681
-  // and 5V and D32 for normally open configurations.
682
-  // Normally closed configuration is advised and assumed.
683
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
684
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
685
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
686
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
687
-  // All other boards will need changes to the respective pins_XXXXX.h file.
688
-  //
689
-  // WARNING:
690
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
691
-  // Use with caution and do your homework.
692
-  //
693
-  //#define Z_MIN_PROBE_ENDSTOP
694
-
695
 #endif // AUTO_BED_LEVELING_FEATURE
719
 #endif // AUTO_BED_LEVELING_FEATURE
696
 
720
 
697
 
721
 

+ 57
- 33
Marlin/example_configurations/delta/generic/Configuration.h View File

371
 //#define DISABLE_MAX_ENDSTOPS
371
 //#define DISABLE_MAX_ENDSTOPS
372
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
372
 #define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
373
 
373
 
374
+//===========================================================================
375
+//============================= Z Probe Options =============================
376
+//===========================================================================
377
+
378
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
379
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
380
+//
381
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
382
+//
383
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
384
+// Example: To park the head outside the bed area when homing with G28.
385
+//
386
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
387
+//
388
+// For a servo-based Z probe, you must set up servo support below, including
389
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
390
+//
391
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
392
+// - Use 5V for powered (usu. inductive) sensors.
393
+// - Otherwise connect:
394
+//   - normally-closed switches to GND and D32.
395
+//   - normally-open switches to 5V and D32.
396
+//
397
+// Normally-closed switches are advised and are the default.
398
+//
399
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
400
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
401
+// default pin for all RAMPS-based boards. Some other boards map differently.
402
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
403
+//
404
+// WARNING:
405
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
406
+// Use with caution and do your homework.
407
+//
408
+#define Z_MIN_PROBE_ENDSTOP
409
+
410
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
411
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
412
+//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
413
+// If you want to use a probe you do have to define one of the two defines above!
414
+
374
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
415
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
375
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
416
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
376
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
417
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
377
 // this has no effect.
418
 // this has no effect.
419
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
378
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
420
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
379
 
421
 
380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
422
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
559
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
601
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
560
                                                                              // Useful to retract a deployable Z probe.
602
                                                                              // Useful to retract a deployable Z probe.
561
 
603
 
604
+  // Probes are sensors/switches that need to be activated before they can be used
605
+  // and deactivated after the use.
606
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
607
+
608
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
609
+  // when the hardware endstops are active.
610
+  //#define FIX_MOUNTED_PROBE
611
+
612
+  // A Servo Probe can be defined in the servo section below.
613
+
614
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
615
+
562
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
616
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
563
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
617
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
564
 
618
 
647
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
701
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
648
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
702
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
649
 
703
 
650
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
704
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
705
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
651
                           // When defined, it will:
706
                           // When defined, it will:
652
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
707
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
653
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
708
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
661
 
716
 
662
   #endif
717
   #endif
663
 
718
 
664
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
665
-  // If you would like to use both a Z probe and a Z min endstop together,
666
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
667
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
668
-  // Example: To park the head outside the bed area when homing with G28.
669
-  //
670
-  // WARNING:
671
-  // The Z min endstop will need to set properly as it would without a Z probe
672
-  // to prevent head crashes and premature stopping during a print.
673
-  //
674
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
675
-  // defined in the pins_XXXXX.h file for your control board.
676
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
677
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
678
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
679
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
680
-  // otherwise connect to ground and D32 for normally closed configuration
681
-  // and 5V and D32 for normally open configurations.
682
-  // Normally closed configuration is advised and assumed.
683
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
684
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
685
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
686
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
687
-  // All other boards will need changes to the respective pins_XXXXX.h file.
688
-  //
689
-  // WARNING:
690
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
691
-  // Use with caution and do your homework.
692
-  //
693
-  //#define Z_MIN_PROBE_ENDSTOP
694
-
695
 #endif // AUTO_BED_LEVELING_FEATURE
719
 #endif // AUTO_BED_LEVELING_FEATURE
696
 
720
 
697
 
721
 

+ 57
- 33
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

371
 //#define DISABLE_MAX_ENDSTOPS
371
 //#define DISABLE_MAX_ENDSTOPS
372
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
372
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
373
 
373
 
374
+//===========================================================================
375
+//============================= Z Probe Options =============================
376
+//===========================================================================
377
+
378
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
379
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
380
+//
381
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
382
+//
383
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
384
+// Example: To park the head outside the bed area when homing with G28.
385
+//
386
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
387
+//
388
+// For a servo-based Z probe, you must set up servo support below, including
389
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
390
+//
391
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
392
+// - Use 5V for powered (usu. inductive) sensors.
393
+// - Otherwise connect:
394
+//   - normally-closed switches to GND and D32.
395
+//   - normally-open switches to 5V and D32.
396
+//
397
+// Normally-closed switches are advised and are the default.
398
+//
399
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
400
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
401
+// default pin for all RAMPS-based boards. Some other boards map differently.
402
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
403
+//
404
+// WARNING:
405
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
406
+// Use with caution and do your homework.
407
+//
408
+//#define Z_MIN_PROBE_ENDSTOP
409
+
410
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
411
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
412
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
413
+// If you want to use a probe you do have to define one of the two defines above!
414
+
374
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
415
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
375
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
416
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
376
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
417
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
377
 // this has no effect.
418
 // this has no effect.
419
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
378
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
420
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
379
 
421
 
380
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
422
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
559
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
601
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
560
                                                                              // Useful to retract a deployable Z probe.
602
                                                                              // Useful to retract a deployable Z probe.
561
 
603
 
604
+  // Probes are sensors/switches that need to be activated before they can be used
605
+  // and deactivated after the use.
606
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
607
+
608
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
609
+  // when the hardware endstops are active.
610
+  //#define FIX_MOUNTED_PROBE
611
+
612
+  // A Servo Probe can be defined in the servo section below.
613
+
614
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
615
+
562
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
616
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
563
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
617
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
564
 
618
 
651
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
705
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
652
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
706
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
653
 
707
 
654
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
708
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
709
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
655
                           // When defined, it will:
710
                           // When defined, it will:
656
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
711
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
657
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
712
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
665
 
720
 
666
   #endif
721
   #endif
667
 
722
 
668
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
669
-  // If you would like to use both a Z probe and a Z min endstop together,
670
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
671
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
672
-  // Example: To park the head outside the bed area when homing with G28.
673
-  //
674
-  // WARNING:
675
-  // The Z min endstop will need to set properly as it would without a Z probe
676
-  // to prevent head crashes and premature stopping during a print.
677
-  //
678
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
679
-  // defined in the pins_XXXXX.h file for your control board.
680
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
681
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
682
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
683
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
684
-  // otherwise connect to ground and D32 for normally closed configuration
685
-  // and 5V and D32 for normally open configurations.
686
-  // Normally closed configuration is advised and assumed.
687
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
688
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
689
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
690
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
691
-  // All other boards will need changes to the respective pins_XXXXX.h file.
692
-  //
693
-  // WARNING:
694
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
695
-  // Use with caution and do your homework.
696
-  //
697
-  //#define Z_MIN_PROBE_ENDSTOP
698
-
699
 #endif // AUTO_BED_LEVELING_FEATURE
723
 #endif // AUTO_BED_LEVELING_FEATURE
700
 
724
 
701
 
725
 

+ 57
- 33
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

358
 //#define DISABLE_MAX_ENDSTOPS
358
 //#define DISABLE_MAX_ENDSTOPS
359
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
359
 //#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing.
360
 
360
 
361
+//===========================================================================
362
+//============================= Z Probe Options =============================
363
+//===========================================================================
364
+
365
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
366
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
367
+//
368
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
369
+//
370
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
371
+// Example: To park the head outside the bed area when homing with G28.
372
+//
373
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
374
+//
375
+// For a servo-based Z probe, you must set up servo support below, including
376
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
377
+//
378
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
379
+// - Use 5V for powered (usu. inductive) sensors.
380
+// - Otherwise connect:
381
+//   - normally-closed switches to GND and D32.
382
+//   - normally-open switches to 5V and D32.
383
+//
384
+// Normally-closed switches are advised and are the default.
385
+//
386
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
387
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
388
+// default pin for all RAMPS-based boards. Some other boards map differently.
389
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
390
+//
391
+// WARNING:
392
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
393
+// Use with caution and do your homework.
394
+//
395
+//#define Z_MIN_PROBE_ENDSTOP
396
+
397
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
398
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
399
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
400
+// If you want to use a probe you do have to define one of the two defines above!
401
+
361
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
402
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
362
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
403
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
363
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
404
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
364
 // this has no effect.
405
 // this has no effect.
406
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
365
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
407
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
366
 
408
 
367
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
409
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
548
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
590
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
549
                                                                              // Useful to retract a deployable Z probe.
591
                                                                              // Useful to retract a deployable Z probe.
550
 
592
 
593
+  // Probes are sensors/switches that need to be activated before they can be used
594
+  // and deactivated after the use.
595
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
596
+
597
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
598
+  // when the hardware endstops are active.
599
+  //#define FIX_MOUNTED_PROBE
600
+
601
+  // A Servo Probe can be defined in the servo section below.
602
+
603
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
604
+
551
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
605
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
552
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
606
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
553
 
607
 
636
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
690
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
637
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
691
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
638
 
692
 
639
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
693
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
694
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
640
                           // When defined, it will:
695
                           // When defined, it will:
641
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
696
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
642
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
697
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
650
 
705
 
651
   #endif
706
   #endif
652
 
707
 
653
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
654
-  // If you would like to use both a Z probe and a Z min endstop together,
655
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
656
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
657
-  // Example: To park the head outside the bed area when homing with G28.
658
-  //
659
-  // WARNING:
660
-  // The Z min endstop will need to set properly as it would without a Z probe
661
-  // to prevent head crashes and premature stopping during a print.
662
-  //
663
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
664
-  // defined in the pins_XXXXX.h file for your control board.
665
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
666
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
667
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
668
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
669
-  // otherwise connect to ground and D32 for normally closed configuration
670
-  // and 5V and D32 for normally open configurations.
671
-  // Normally closed configuration is advised and assumed.
672
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
673
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
674
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
675
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
676
-  // All other boards will need changes to the respective pins_XXXXX.h file.
677
-  //
678
-  // WARNING:
679
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
680
-  // Use with caution and do your homework.
681
-  //
682
-  //#define Z_MIN_PROBE_ENDSTOP
683
-
684
 #endif // AUTO_BED_LEVELING_FEATURE
708
 #endif // AUTO_BED_LEVELING_FEATURE
685
 
709
 
686
 
710
 

+ 57
- 33
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

364
 //#define DISABLE_MAX_ENDSTOPS
364
 //#define DISABLE_MAX_ENDSTOPS
365
 //#define DISABLE_MIN_ENDSTOPS
365
 //#define DISABLE_MIN_ENDSTOPS
366
 
366
 
367
+//===========================================================================
368
+//============================= Z Probe Options =============================
369
+//===========================================================================
370
+
371
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
372
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
373
+//
374
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
375
+//
376
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
377
+// Example: To park the head outside the bed area when homing with G28.
378
+//
379
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
380
+//
381
+// For a servo-based Z probe, you must set up servo support below, including
382
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
383
+//
384
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
385
+// - Use 5V for powered (usu. inductive) sensors.
386
+// - Otherwise connect:
387
+//   - normally-closed switches to GND and D32.
388
+//   - normally-open switches to 5V and D32.
389
+//
390
+// Normally-closed switches are advised and are the default.
391
+//
392
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
393
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
394
+// default pin for all RAMPS-based boards. Some other boards map differently.
395
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
396
+//
397
+// WARNING:
398
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
399
+// Use with caution and do your homework.
400
+//
401
+//#define Z_MIN_PROBE_ENDSTOP
402
+
403
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
404
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
405
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
406
+// If you want to use a probe you do have to define one of the two defines above!
407
+
367
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
408
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
368
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
409
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
369
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
410
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
370
 // this has no effect.
411
 // this has no effect.
412
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
371
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
413
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
372
 
414
 
373
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
415
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
552
 //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
594
 //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
553
                                                                             // Useful to retract a deployable Z probe.
595
                                                                             // Useful to retract a deployable Z probe.
554
 
596
 
597
+  // Probes are sensors/switches that need to be activated before they can be used
598
+  // and deactivated after the use.
599
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
600
+
601
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
602
+  // when the hardware endstops are active.
603
+  //#define FIX_MOUNTED_PROBE
604
+
605
+  // A Servo Probe can be defined in the servo section below.
606
+
607
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
608
+
555
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
609
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
556
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
610
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
557
 
611
 
559
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
613
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
560
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
614
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
561
 
615
 
562
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
616
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
617
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
563
                           // When defined, it will:
618
                           // When defined, it will:
564
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
619
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
565
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
620
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
573
 
628
 
574
   #endif
629
   #endif
575
 
630
 
576
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
577
-  // If you would like to use both a Z probe and a Z min endstop together,
578
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
579
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
580
-  // Example: To park the head outside the bed area when homing with G28.
581
-  //
582
-  // WARNING:
583
-  // The Z min endstop will need to set properly as it would without a Z probe
584
-  // to prevent head crashes and premature stopping during a print.
585
-  //
586
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
587
-  // defined in the pins_XXXXX.h file for your control board.
588
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
589
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
590
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
591
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
592
-  // otherwise connect to ground and D32 for normally closed configuration
593
-  // and 5V and D32 for normally open configurations.
594
-  // Normally closed configuration is advised and assumed.
595
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
596
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
597
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
598
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
599
-  // All other boards will need changes to the respective pins_XXXXX.h file.
600
-  //
601
-  // WARNING:
602
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
603
-  // Use with caution and do your homework.
604
-  //
605
-  //#define Z_MIN_PROBE_ENDSTOP
606
-
607
 #endif // AUTO_BED_LEVELING_FEATURE
631
 #endif // AUTO_BED_LEVELING_FEATURE
608
 
632
 
609
 
633
 

+ 57
- 33
Marlin/example_configurations/makibox/Configuration.h View File

339
 //#define DISABLE_MAX_ENDSTOPS
339
 //#define DISABLE_MAX_ENDSTOPS
340
 //#define DISABLE_MIN_ENDSTOPS
340
 //#define DISABLE_MIN_ENDSTOPS
341
 
341
 
342
+//===========================================================================
343
+//============================= Z Probe Options =============================
344
+//===========================================================================
345
+
346
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
347
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
348
+//
349
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
350
+//
351
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
352
+// Example: To park the head outside the bed area when homing with G28.
353
+//
354
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
355
+//
356
+// For a servo-based Z probe, you must set up servo support below, including
357
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
358
+//
359
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
360
+// - Use 5V for powered (usu. inductive) sensors.
361
+// - Otherwise connect:
362
+//   - normally-closed switches to GND and D32.
363
+//   - normally-open switches to 5V and D32.
364
+//
365
+// Normally-closed switches are advised and are the default.
366
+//
367
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
368
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
369
+// default pin for all RAMPS-based boards. Some other boards map differently.
370
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
371
+//
372
+// WARNING:
373
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
374
+// Use with caution and do your homework.
375
+//
376
+//#define Z_MIN_PROBE_ENDSTOP
377
+
378
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
379
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
380
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
381
+// If you want to use a probe you do have to define one of the two defines above!
382
+
342
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
383
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
343
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
384
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
344
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
385
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
345
 // this has no effect.
386
 // this has no effect.
387
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
346
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
388
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
347
 
389
 
348
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
390
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
523
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
565
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
524
                                                                              // Useful to retract a deployable Z probe.
566
                                                                              // Useful to retract a deployable Z probe.
525
 
567
 
568
+  // Probes are sensors/switches that need to be activated before they can be used
569
+  // and deactivated after the use.
570
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
571
+
572
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
573
+  // when the hardware endstops are active.
574
+  //#define FIX_MOUNTED_PROBE
575
+
576
+  // A Servo Probe can be defined in the servo section below.
577
+
578
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
579
+
526
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
580
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
527
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
581
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
528
 
582
 
530
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
584
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
531
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
585
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
532
 
586
 
533
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
587
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
588
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
534
                           // When defined, it will:
589
                           // When defined, it will:
535
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
590
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
536
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
591
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
544
 
599
 
545
   #endif
600
   #endif
546
 
601
 
547
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
548
-  // If you would like to use both a Z probe and a Z min endstop together,
549
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
550
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
551
-  // Example: To park the head outside the bed area when homing with G28.
552
-  //
553
-  // WARNING:
554
-  // The Z min endstop will need to set properly as it would without a Z probe
555
-  // to prevent head crashes and premature stopping during a print.
556
-  //
557
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
558
-  // defined in the pins_XXXXX.h file for your control board.
559
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
560
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
561
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
562
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
563
-  // otherwise connect to ground and D32 for normally closed configuration
564
-  // and 5V and D32 for normally open configurations.
565
-  // Normally closed configuration is advised and assumed.
566
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
567
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
568
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
569
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
570
-  // All other boards will need changes to the respective pins_XXXXX.h file.
571
-  //
572
-  // WARNING:
573
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
574
-  // Use with caution and do your homework.
575
-  //
576
-  //#define Z_MIN_PROBE_ENDSTOP
577
-
578
 #endif // AUTO_BED_LEVELING_FEATURE
602
 #endif // AUTO_BED_LEVELING_FEATURE
579
 
603
 
580
 
604
 

+ 57
- 33
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

326
 //#define DISABLE_MAX_ENDSTOPS
326
 //#define DISABLE_MAX_ENDSTOPS
327
 //#define DISABLE_MIN_ENDSTOPS
327
 //#define DISABLE_MIN_ENDSTOPS
328
 
328
 
329
+//===========================================================================
330
+//============================= Z Probe Options =============================
331
+//===========================================================================
332
+
333
+// Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z-probe and a Z-min-endstop on the same machine.
334
+// With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
335
+//
336
+// *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
337
+//
338
+// To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
339
+// Example: To park the head outside the bed area when homing with G28.
340
+//
341
+// To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
342
+//
343
+// For a servo-based Z probe, you must set up servo support below, including
344
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
345
+//
346
+// - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
347
+// - Use 5V for powered (usu. inductive) sensors.
348
+// - Otherwise connect:
349
+//   - normally-closed switches to GND and D32.
350
+//   - normally-open switches to 5V and D32.
351
+//
352
+// Normally-closed switches are advised and are the default.
353
+//
354
+// The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
355
+// Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
356
+// default pin for all RAMPS-based boards. Some other boards map differently.
357
+// To set or change the pin for your board, edit the appropriate pins_XXXXX.h file.
358
+//
359
+// WARNING:
360
+// Setting the wrong pin may have unexpected and potentially disastrous consequences.
361
+// Use with caution and do your homework.
362
+//
363
+//#define Z_MIN_PROBE_ENDSTOP
364
+
365
+// If you want to use the Z_MIN_PIN to connect your Z_MIN_PROBE comment out the next define.
366
+// In other words. The z-min-probe is connected to the Z_MIN_PIN and is used for homing and for probing.
367
+#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
368
+// If you want to use a probe you do have to define one of the two defines above!
369
+
329
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
370
 // If you want to enable the Z probe pin, but disable its use, uncomment the line below.
330
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
371
 // This only affects a Z probe endstop if you have separate Z min endstop as well and have
331
-// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe,
372
+// activated Z_MIN_PROBE_ENDSTOP above. If you are using the Z Min endstop on your Z probe,
332
 // this has no effect.
373
 // this has no effect.
374
+// In other words. If a Z_MIN_PROBE_PIN is defined in your pin file - don't use it.
333
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
375
 //#define DISABLE_Z_MIN_PROBE_ENDSTOP
334
 
376
 
335
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
377
 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
510
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
552
   //#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine.
511
                                                                              // Useful to retract a deployable Z probe.
553
                                                                              // Useful to retract a deployable Z probe.
512
 
554
 
555
+  // Probes are sensors/switches that need to be activated before they can be used
556
+  // and deactivated after the use.
557
+  // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, ... . You have to activate one of these for the AUTO_BED_LEVELING_FEATURE
558
+
559
+  // A fix mounted probe, like the normal inductive probe, must be deactivated to go below Z_PROBE_OFFSET_FROM_EXTRUDER
560
+  // when the hardware endstops are active.
561
+  //#define FIX_MOUNTED_PROBE
562
+
563
+  // A Servo Probe can be defined in the servo section below.
564
+
565
+  // A Allen Key Probe is currently predefined only in the delta example configurations.
566
+
513
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
567
   //#define Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell.
514
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
568
   //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
515
 
569
 
517
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
571
   //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
518
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
572
   //it is highly recommended you let this Z_SAFE_HOMING enabled!!!
519
 
573
 
520
-  #define Z_SAFE_HOMING   // This feature is meant to avoid Z homing with Z probe outside the bed area.
574
+  #define Z_SAFE_HOMING   // Use the z-min-probe for homing to z-min - not the z-min-endstop.
575
+                          // This feature is meant to avoid Z homing with Z probe outside the bed area.
521
                           // When defined, it will:
576
                           // When defined, it will:
522
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
577
                           // - Allow Z homing only after X and Y homing AND stepper drivers still enabled.
523
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
578
                           // - If stepper drivers timeout, it will need X and Y homing again before Z homing.
531
 
586
 
532
   #endif
587
   #endif
533
 
588
 
534
-  // Support for a dedicated Z probe endstop separate from the Z min endstop.
535
-  // If you would like to use both a Z probe and a Z min endstop together,
536
-  // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below.
537
-  // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above.
538
-  // Example: To park the head outside the bed area when homing with G28.
539
-  //
540
-  // WARNING:
541
-  // The Z min endstop will need to set properly as it would without a Z probe
542
-  // to prevent head crashes and premature stopping during a print.
543
-  //
544
-  // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN
545
-  // defined in the pins_XXXXX.h file for your control board.
546
-  // If you are using a servo based Z probe, you will need to enable NUM_SERVOS,
547
-  // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below.
548
-  // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin
549
-  // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors,
550
-  // otherwise connect to ground and D32 for normally closed configuration
551
-  // and 5V and D32 for normally open configurations.
552
-  // Normally closed configuration is advised and assumed.
553
-  // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin.
554
-  // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino.
555
-  // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works.
556
-  // D32 is currently selected in the RAMPS 1.3/1.4 pin file.
557
-  // All other boards will need changes to the respective pins_XXXXX.h file.
558
-  //
559
-  // WARNING:
560
-  // Setting the wrong pin may have unexpected and potentially disastrous outcomes.
561
-  // Use with caution and do your homework.
562
-  //
563
-  //#define Z_MIN_PROBE_ENDSTOP
564
-
565
 #endif // AUTO_BED_LEVELING_FEATURE
589
 #endif // AUTO_BED_LEVELING_FEATURE
566
 
590
 
567
 
591
 

+ 18
- 10
Marlin/stepper.cpp View File

39
 //===========================================================================
39
 //===========================================================================
40
 block_t* current_block;  // A pointer to the block currently being traced
40
 block_t* current_block;  // A pointer to the block currently being traced
41
 
41
 
42
+#if ENABLED(HAS_Z_MIN_PROBE)
43
+  volatile bool z_probe_is_active = false;
44
+#endif
42
 
45
 
43
 //===========================================================================
46
 //===========================================================================
44
 //============================= private variables ===========================
47
 //============================= private variables ===========================
425
             }
428
             }
426
           #else // !Z_DUAL_ENDSTOPS
429
           #else // !Z_DUAL_ENDSTOPS
427
 
430
 
428
-            UPDATE_ENDSTOP(Z, MIN);
429
-
431
+            #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && ENABLED(HAS_Z_MIN_PROBE)
432
+              if (z_probe_is_active) UPDATE_ENDSTOP(Z, MIN);
433
+            #else
434
+              UPDATE_ENDSTOP(Z, MIN);
435
+            #endif
430
           #endif // !Z_DUAL_ENDSTOPS
436
           #endif // !Z_DUAL_ENDSTOPS
431
-        #endif // Z_MIN_PIN
432
-
433
-        #if ENABLED(Z_MIN_PROBE_ENDSTOP)
434
-          UPDATE_ENDSTOP(Z, MIN_PROBE);
437
+        #endif
435
 
438
 
436
-          if (TEST_ENDSTOP(Z_MIN_PROBE)) {
437
-            endstops_trigsteps[Z_AXIS] = count_position[Z_AXIS];
438
-            SBI(endstop_hit_bits, Z_MIN_PROBE);
439
+        #if ENABLED(Z_MIN_PROBE_ENDSTOP) && DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && ENABLED(HAS_Z_MIN_PROBE)
440
+          if (z_probe_is_active) {
441
+            UPDATE_ENDSTOP(Z, MIN_PROBE);
442
+            if (TEST_ENDSTOP(Z_MIN_PROBE)) endstop_hit_bits |= _BV(Z_MIN_PROBE);
439
           }
443
           }
440
         #endif
444
         #endif
441
       }
445
       }
649
   if (current_block != NULL) {
653
   if (current_block != NULL) {
650
 
654
 
651
     // Update endstops state, if enabled
655
     // Update endstops state, if enabled
652
-    if (check_endstops) update_endstops();
656
+    #if ENABLED(HAS_Z_MIN_PROBE)
657
+      if (check_endstops || z_probe_is_active) update_endstops();
658
+    #else
659
+      if (check_endstops) update_endstops();
660
+    #endif
653
 
661
 
654
     // Take multiple steps per interrupt (For high speed moves)
662
     // Take multiple steps per interrupt (For high speed moves)
655
     for (int8_t i = 0; i < step_loops; i++) {
663
     for (int8_t i = 0; i < step_loops; i++) {

Loading…
Cancel
Save