Procházet zdrojové kódy

Merge pull request #4065 from thinkyhead/rc_goodbye_xy_servos

Remove support for XY servo endstops
Scott Lahteine před 8 roky
rodič
revize
692a6e7c91

+ 3
- 7
.travis.yml Zobrazit soubor

@@ -90,10 +90,11 @@ script:
90 90
   - opt_enable PIDTEMPBED
91 91
   - build_marlin
92 92
   #
93
-  # Test AUTO_BED_LEVELING & DEBUG_LEVELING_FEATURE
93
+  # Test AUTO_BED_LEVELING_FEATURE & DEBUG_LEVELING_FEATURE with a Servo Probe
94 94
   #
95 95
   - restore_configs
96
-  - opt_enable ENABLE_AUTO_BED_LEVELING DEBUG_LEVELING_FEATURE
96
+  - opt_enable AUTO_BED_LEVELING_FEATURE DEBUG_LEVELING_FEATURE
97
+  - opt_enable NUM_SERVOS Z_ENDSTOP_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE
97 98
   - build_marlin
98 99
   #
99 100
   # Test MESH_BED_LEVELING feature, with LCD
@@ -102,11 +103,6 @@ script:
102 103
   - opt_enable MESH_BED_LEVELING MESH_G28_REST_ORIGIN MANUAL_BED_LEVELING ULTIMAKERCONTROLLER
103 104
   - build_marlin
104 105
   #
105
-  # Test AUTO_BED_LEVELING & DEBUG_LEVELING_FEATURE with Servos
106
-  #
107
-  - opt_enable NUM_SERVOS Z_ENDSTOP_SERVO_NR SERVO_ENDSTOP_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE
108
-  - build_marlin
109
-  #
110 106
   # Test EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER,
111 107
   #   INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT
112 108
   #

+ 3
- 13
Marlin/Conditionals.h Zobrazit soubor

@@ -373,8 +373,8 @@
373 373
     #define MAX_PROBE_Y (min(Y_MAX_POS, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
374 374
   #endif
375 375
 
376
-  #define HAS_Z_ENDSTOP_SERVO (defined(Z_ENDSTOP_SERVO_NR) && Z_ENDSTOP_SERVO_NR >= 0)
377
-  #define SERVO_LEVELING (ENABLED(AUTO_BED_LEVELING_FEATURE) && HAS_Z_ENDSTOP_SERVO)
376
+  #define HAS_Z_SERVO_ENDSTOP (defined(Z_ENDSTOP_SERVO_NR) && Z_ENDSTOP_SERVO_NR >= 0)
377
+  #define SERVO_LEVELING (ENABLED(AUTO_BED_LEVELING_FEATURE) && HAS_Z_SERVO_ENDSTOP)
378 378
 
379 379
   /**
380 380
    * Sled Options
@@ -764,22 +764,12 @@
764 764
   #define HAS_BUZZER (PIN_EXISTS(BEEPER) || defined(LCD_USE_I2C_BUZZER))
765 765
 
766 766
   #if HAS_SERVOS
767
-    #ifndef X_ENDSTOP_SERVO_NR
768
-      #define X_ENDSTOP_SERVO_NR -1
769
-    #endif
770
-    #ifndef Y_ENDSTOP_SERVO_NR
771
-      #define Y_ENDSTOP_SERVO_NR -1
772
-    #endif
773 767
     #ifndef Z_ENDSTOP_SERVO_NR
774 768
       #define Z_ENDSTOP_SERVO_NR -1
775 769
     #endif
776
-    #if X_ENDSTOP_SERVO_NR >= 0 || Y_ENDSTOP_SERVO_NR >= 0 || HAS_Z_ENDSTOP_SERVO
777
-      #define HAS_SERVO_ENDSTOPS
778
-      #define SERVO_ENDSTOP_IDS { X_ENDSTOP_SERVO_NR, Y_ENDSTOP_SERVO_NR, Z_ENDSTOP_SERVO_NR }
779
-    #endif
780 770
   #endif
781 771
 
782
-  #define PROBE_SELECTED (ENABLED(FIX_MOUNTED_PROBE) || ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_ENDSTOP_SERVO || ENABLED(Z_PROBE_SLED))
772
+  #define PROBE_SELECTED (ENABLED(FIX_MOUNTED_PROBE) || ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_SLED))
783 773
 
784 774
   #define PROBE_PIN_CONFIGURED (HAS_Z_MIN_PROBE_PIN || (HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)))
785 775
 

+ 2
- 4
Marlin/Configuration.h Zobrazit soubor

@@ -420,7 +420,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
420 420
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
421 421
 //
422 422
 // For a servo-based Z probe, you must set up servo support below, including
423
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
423
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
424 424
 //
425 425
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
426 426
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1164,10 +1164,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1164 1164
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1165 1165
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1166 1166
 //
1167
-//#define X_ENDSTOP_SERVO_NR 1
1168
-//#define Y_ENDSTOP_SERVO_NR 2
1169 1167
 //#define Z_ENDSTOP_SERVO_NR 0
1170
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1168
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1171 1169
 
1172 1170
 // Servo deactivation
1173 1171
 //

+ 63
- 102
Marlin/Marlin_main.cpp Zobrazit soubor

@@ -391,9 +391,8 @@ static uint8_t target_extruder;
391 391
   };
392 392
 #endif
393 393
 
394
-#if ENABLED(HAS_SERVO_ENDSTOPS)
395
-  const int servo_endstop_id[] = SERVO_ENDSTOP_IDS;
396
-  const int servo_endstop_angle[][2] = SERVO_ENDSTOP_ANGLES;
394
+#if HAS_Z_SERVO_ENDSTOP
395
+  const int z_servo_angle[2] = Z_SERVO_ANGLES;
397 396
 #endif
398 397
 
399 398
 #if ENABLED(BARICUDA)
@@ -488,10 +487,8 @@ static bool send_ok[BUFSIZE];
488 487
 #if HAS_SERVOS
489 488
   Servo servo[NUM_SERVOS];
490 489
   #define MOVE_SERVO(I, P) servo[I].move(P)
491
-  #define SERVO_ENDSTOP_EXISTS(I) (servo_endstop_id[I] >= 0)
492
-  #define MOVE_SERVO_ENDSTOP(I, J) MOVE_SERVO(servo_endstop_id[I], servo_endstop_angle[I][J])
493
-  #define DEPLOY_SERVO_ENDSTOP(I) MOVE_SERVO_ENDSTOP(I, 0)
494
-  #define STOW_SERVO_ENDSTOP(I) MOVE_SERVO_ENDSTOP(I, 1)
490
+  #define DEPLOY_Z_SERVO() MOVE_SERVO(Z_ENDSTOP_SERVO_NR, z_servo_angle[0])
491
+  #define STOW_Z_SERVO() MOVE_SERVO(Z_ENDSTOP_SERVO_NR, z_servo_angle[1])
495 492
 #endif
496 493
 
497 494
 #ifdef CHDK
@@ -749,14 +746,12 @@ void servo_init() {
749 746
     servo[3].detach();
750 747
   #endif
751 748
 
752
-   #if ENABLED(HAS_SERVO_ENDSTOPS)
749
+  #if HAS_Z_SERVO_ENDSTOP
753 750
 
754 751
     endstops.enable_z_probe(false);
755 752
 
756 753
     /**
757
-     * Set position of all defined Servo Endstops
758
-     *
759
-     * ** UNSAFE! - NEEDS UPDATE! **
754
+     * Set position of Z Servo Endstop
760 755
      *
761 756
      * The servo might be deployed and positioned too low to stow
762 757
      * when starting up the machine or rebooting the board.
@@ -764,11 +759,8 @@ void servo_init() {
764 759
      * homing has been done - no homing with z-probe without init!
765 760
      *
766 761
      */
767
-    for (int i = 0; i < 3; i++)
768
-      if (SERVO_ENDSTOP_EXISTS(i))
769
-        STOW_SERVO_ENDSTOP(i);
770
-
771
-  #endif // HAS_SERVO_ENDSTOPS
762
+    STOW_Z_SERVO();
763
+  #endif // HAS_Z_SERVO_ENDSTOP
772 764
 
773 765
 }
774 766
 
@@ -1837,11 +1829,10 @@ static void setup_for_endstop_move() {
1837 1829
 
1838 1830
     if (endstops.z_probe_enabled) return;
1839 1831
 
1840
-    #if ENABLED(HAS_SERVO_ENDSTOPS)
1832
+    #if HAS_Z_SERVO_ENDSTOP
1841 1833
 
1842 1834
       // Engage Z Servo endstop if enabled
1843
-      if (SERVO_ENDSTOP_EXISTS(Z_AXIS))
1844
-        DEPLOY_SERVO_ENDSTOP(Z_AXIS);
1835
+      DEPLOY_Z_SERVO();
1845 1836
 
1846 1837
     #elif ENABLED(Z_PROBE_ALLEN_KEY)
1847 1838
       feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE;
@@ -1925,7 +1916,7 @@ static void setup_for_endstop_move() {
1925 1916
   }
1926 1917
 
1927 1918
   static void stow_z_probe(bool doRaise = true) {
1928
-    #if !(ENABLED(HAS_SERVO_ENDSTOPS) && (Z_RAISE_AFTER_PROBING > 0))
1919
+    #if !(HAS_Z_SERVO_ENDSTOP && (Z_RAISE_AFTER_PROBING > 0))
1929 1920
       UNUSED(doRaise);
1930 1921
     #endif
1931 1922
     #if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -1934,21 +1925,18 @@ static void setup_for_endstop_move() {
1934 1925
 
1935 1926
     if (!endstops.z_probe_enabled) return;
1936 1927
 
1937
-    #if ENABLED(HAS_SERVO_ENDSTOPS)
1928
+    #if HAS_Z_SERVO_ENDSTOP
1938 1929
 
1939 1930
       // Retract Z Servo endstop if enabled
1940
-      if (SERVO_ENDSTOP_EXISTS(Z_AXIS)) {
1941
-
1942
-        #if Z_RAISE_AFTER_PROBING > 0
1943
-          if (doRaise) {
1944
-            raise_z_after_probing(); // this also updates current_position
1945
-            stepper.synchronize();
1946
-          }
1947
-        #endif
1931
+      #if Z_RAISE_AFTER_PROBING > 0
1932
+        if (doRaise) {
1933
+          raise_z_after_probing(); // this also updates current_position
1934
+          stepper.synchronize();
1935
+        }
1936
+      #endif
1948 1937
 
1949
-        // Change the Z servo angle
1950
-        STOW_SERVO_ENDSTOP(Z_AXIS);
1951
-      }
1938
+      // Change the Z servo angle
1939
+      STOW_Z_SERVO();
1952 1940
 
1953 1941
     #elif ENABLED(Z_PROBE_ALLEN_KEY)
1954 1942
 
@@ -2168,16 +2156,25 @@ static void setup_for_endstop_move() {
2168 2156
 
2169 2157
   #endif // DELTA
2170 2158
 
2171
-  #if ENABLED(HAS_SERVO_ENDSTOPS) && DISABLED(Z_PROBE_SLED)
2159
+  #if HAS_Z_SERVO_ENDSTOP
2172 2160
 
2173
-    void raise_z_for_servo() {
2174
-      float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_PROBING;
2175
-      /**
2176
-       * The zprobe_zoffset is negative any switch below the nozzle, so
2177
-       * multiply by Z_HOME_DIR (-1) to move enough away from bed for the probe
2178
-       */
2179
-      z_dest += axis_homed[Z_AXIS] ? zprobe_zoffset * Z_HOME_DIR : zpos;
2180
-      if (zpos < z_dest) do_blocking_move_to_z(z_dest); // also updates current_position
2161
+    /**
2162
+     * Raise Z to a minimum height to make room for a servo to move
2163
+     *
2164
+     * zprobe_zoffset: Negative of the Z height where the probe engages
2165
+     *         z_dest: The before / after probing raise distance
2166
+     *
2167
+     * The zprobe_zoffset is negative for a switch below the nozzle, so
2168
+     * multiply by Z_HOME_DIR (-1) to move enough away from the bed.
2169
+     */
2170
+    void raise_z_for_servo(float z_dest) {
2171
+      z_dest += home_offset[Z_AXIS];
2172
+
2173
+      if ((Z_HOME_DIR) < 0 && zprobe_zoffset < 0)
2174
+        z_dest -= zprobe_zoffset;
2175
+
2176
+      if (z_dest > current_position[Z_AXIS])
2177
+        do_blocking_move_to_z(z_dest); // also updates current_position
2181 2178
     }
2182 2179
 
2183 2180
   #endif
@@ -2277,23 +2274,24 @@ static void homeaxis(AxisEnum axis) {
2277 2274
     sync_plan_position();
2278 2275
 
2279 2276
     #if ENABLED(Z_PROBE_SLED)
2280
-      #define _Z_SERVO_TEST       (axis != Z_AXIS)      // already deployed Z
2281
-      #define _Z_SERVO_SUBTEST    false                 // Z will never be invoked
2282 2277
       #define _Z_DEPLOY           (dock_sled(false))
2283 2278
       #define _Z_STOW             (dock_sled(true))
2284
-    #elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
2285 2279
       #define _Z_SERVO_TEST       (axis != Z_AXIS)      // already deployed Z
2286 2280
       #define _Z_SERVO_SUBTEST    false                 // Z will never be invoked
2281
+    #elif SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
2287 2282
       #define _Z_DEPLOY           (deploy_z_probe())
2288 2283
       #define _Z_STOW             (stow_z_probe())
2289
-    #elif ENABLED(HAS_SERVO_ENDSTOPS)
2284
+      #define _Z_SERVO_TEST       (axis != Z_AXIS)      // already deployed Z
2285
+      #define _Z_SERVO_SUBTEST    false                 // Z will never be invoked
2286
+    #elif HAS_Z_SERVO_ENDSTOP
2287
+      #define _Z_DEPLOY           do{ raise_z_for_servo(Z_RAISE_BEFORE_PROBING); DEPLOY_Z_SERVO(); endstops.z_probe_enabled = true; }while(0)
2288
+      #define _Z_STOW             do{ raise_z_for_servo(Z_RAISE_AFTER_PROBING); STOW_Z_SERVO(); endstops.z_probe_enabled = false; }while(0)
2290 2289
       #define _Z_SERVO_TEST       true                  // Z not deployed yet
2291 2290
       #define _Z_SERVO_SUBTEST    (axis == Z_AXIS)      // Z is a probe
2292 2291
     #endif
2293 2292
 
2294
-    // If there's a Z probe that needs deployment...
2295
-    #if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
2296
-      // ...and homing Z towards the bed? Deploy it.
2293
+    // Homing Z towards the bed? Deploy the Z probe or endstop.
2294
+    #if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE) || HAS_Z_SERVO_ENDSTOP
2297 2295
       if (axis == Z_AXIS && axis_home_dir < 0) {
2298 2296
         #if ENABLED(DEBUG_LEVELING_FEATURE)
2299 2297
           if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> SERVO_LEVELING > " STRINGIFY(_Z_DEPLOY));
@@ -2302,14 +2300,6 @@ static void homeaxis(AxisEnum axis) {
2302 2300
       }
2303 2301
     #endif
2304 2302
 
2305
-    #if ENABLED(HAS_SERVO_ENDSTOPS)
2306
-      // Engage an X, Y (or Z) Servo endstop if enabled
2307
-      if (_Z_SERVO_TEST && SERVO_ENDSTOP_EXISTS(axis)) {
2308
-        DEPLOY_SERVO_ENDSTOP(axis);
2309
-        if (_Z_SERVO_SUBTEST) endstops.z_probe_enabled = true;
2310
-      }
2311
-    #endif
2312
-
2313 2303
     // Set a flag for Z motor locking
2314 2304
     #if ENABLED(Z_DUAL_ENDSTOPS)
2315 2305
       if (axis == Z_AXIS) stepper.set_homing_flag(true);
@@ -2423,8 +2413,8 @@ static void homeaxis(AxisEnum axis) {
2423 2413
     axis_known_position[axis] = true;
2424 2414
     axis_homed[axis] = true;
2425 2415
 
2426
-    // Put away the Z probe with a function
2427
-    #if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE)
2416
+    // Put away the Z probe
2417
+    #if ENABLED(Z_PROBE_SLED) || SERVO_LEVELING || ENABLED(FIX_MOUNTED_PROBE) || HAS_Z_SERVO_ENDSTOP
2428 2418
       if (axis == Z_AXIS && axis_home_dir < 0) {
2429 2419
         #if ENABLED(DEBUG_LEVELING_FEATURE)
2430 2420
           if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> SERVO_LEVELING > " STRINGIFY(_Z_STOW));
@@ -2433,33 +2423,6 @@ static void homeaxis(AxisEnum axis) {
2433 2423
       }
2434 2424
     #endif
2435 2425
 
2436
-    // Retract X, Y (or Z) Servo endstop if enabled
2437
-    #if ENABLED(HAS_SERVO_ENDSTOPS)
2438
-      if (_Z_SERVO_TEST && SERVO_ENDSTOP_EXISTS(axis)) {
2439
-        // Raise the servo probe before stow outside ABL context.
2440
-        // This is a workaround to allow use of a Servo Probe without
2441
-        // ABL until more global probe handling is implemented.
2442
-        #if Z_RAISE_AFTER_PROBING > 0
2443
-          if (axis == Z_AXIS) {
2444
-            #if ENABLED(DEBUG_LEVELING_FEATURE)
2445
-              if (DEBUGGING(LEVELING)) SERIAL_ECHOPAIR("Raise Z (after) by ", Z_RAISE_AFTER_PROBING);
2446
-            #endif
2447
-            current_position[Z_AXIS] = Z_RAISE_AFTER_PROBING;
2448
-            feedrate = homing_feedrate[Z_AXIS];
2449
-            line_to_current_position();
2450
-            stepper.synchronize();
2451
-          }
2452
-        #endif
2453
-
2454
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
2455
-          if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> SERVO_ENDSTOPS > Stow with servo.move()");
2456
-        #endif
2457
-        STOW_SERVO_ENDSTOP(axis);
2458
-        if (_Z_SERVO_SUBTEST) endstops.enable_z_probe(false);
2459
-      }
2460
-
2461
-    #endif // HAS_SERVO_ENDSTOPS
2462
-
2463 2426
   }
2464 2427
 
2465 2428
   #if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -3801,7 +3764,7 @@ inline void gcode_G28() {
3801 3764
         #endif
3802 3765
 
3803 3766
         current_position[Z_AXIS] = -zprobe_zoffset + (z_tmp - real_z)
3804
-          #if ENABLED(HAS_SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED)
3767
+          #if HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_ALLEN_KEY) || ENABLED(Z_PROBE_SLED)
3805 3768
              + Z_RAISE_AFTER_PROBING
3806 3769
           #endif
3807 3770
           ;
@@ -3816,11 +3779,9 @@ inline void gcode_G28() {
3816 3779
       // Sled assembly for Cartesian bots
3817 3780
       #if ENABLED(Z_PROBE_SLED)
3818 3781
         dock_sled(true); // dock the sled
3819
-      #else
3782
+      #elif !HAS_Z_SERVO_ENDSTOP && DISABLED(Z_PROBE_ALLEN_KEY) && DISABLED(Z_PROBE_SLED)
3820 3783
         // Raise Z axis for non-delta and non servo based probes
3821
-        #if DISABLED(HAS_SERVO_ENDSTOPS) && DISABLED(Z_PROBE_ALLEN_KEY) && DISABLED(Z_PROBE_SLED)
3822
-          raise_z_after_probing();
3823
-        #endif
3784
+        raise_z_after_probing();
3824 3785
       #endif
3825 3786
 
3826 3787
     #endif // !DELTA
@@ -3862,8 +3823,8 @@ inline void gcode_G28() {
3862 3823
      * G30: Do a single Z probe at the current XY
3863 3824
      */
3864 3825
     inline void gcode_G30() {
3865
-      #if ENABLED(HAS_SERVO_ENDSTOPS)
3866
-        raise_z_for_servo();
3826
+      #if HAS_Z_SERVO_ENDSTOP
3827
+        raise_z_for_servo(Z_RAISE_BEFORE_PROBING);
3867 3828
       #endif
3868 3829
       deploy_z_probe(); // Engage Z Servo endstop if available. Z_PROBE_SLED is missed here.
3869 3830
 
@@ -3884,8 +3845,8 @@ inline void gcode_G28() {
3884 3845
 
3885 3846
       clean_up_after_endstop_move(); // Too early. must be done after the stowing.
3886 3847
 
3887
-      #if ENABLED(HAS_SERVO_ENDSTOPS)
3888
-        raise_z_for_servo();
3848
+      #if HAS_Z_SERVO_ENDSTOP
3849
+        raise_z_for_servo(Z_RAISE_AFTER_PROBING);
3889 3850
       #endif
3890 3851
       stow_z_probe(false); // Retract Z Servo endstop if available. Z_PROBE_SLED is missed here.
3891 3852
 
@@ -6019,14 +5980,14 @@ inline void gcode_M303() {
6019 5980
  */
6020 5981
 inline void gcode_M400() { stepper.synchronize(); }
6021 5982
 
6022
-#if ENABLED(AUTO_BED_LEVELING_FEATURE) && DISABLED(Z_PROBE_SLED) && (ENABLED(HAS_SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY))
5983
+#if ENABLED(AUTO_BED_LEVELING_FEATURE) && DISABLED(Z_PROBE_SLED) && (HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_ALLEN_KEY))
6023 5984
 
6024 5985
   /**
6025 5986
    * M401: Engage Z Servo endstop if available
6026 5987
    */
6027 5988
   inline void gcode_M401() {
6028
-    #if ENABLED(HAS_SERVO_ENDSTOPS)
6029
-      raise_z_for_servo();
5989
+    #if HAS_Z_SERVO_ENDSTOP
5990
+      raise_z_for_servo(Z_RAISE_BEFORE_PROBING);
6030 5991
     #endif
6031 5992
     deploy_z_probe();
6032 5993
   }
@@ -6035,13 +5996,13 @@ inline void gcode_M400() { stepper.synchronize(); }
6035 5996
    * M402: Retract Z Servo endstop if enabled
6036 5997
    */
6037 5998
   inline void gcode_M402() {
6038
-    #if ENABLED(HAS_SERVO_ENDSTOPS)
6039
-      raise_z_for_servo();
5999
+    #if HAS_Z_SERVO_ENDSTOP
6000
+      raise_z_for_servo(Z_RAISE_AFTER_PROBING);
6040 6001
     #endif
6041 6002
     stow_z_probe(false);
6042 6003
   }
6043 6004
 
6044
-#endif // AUTO_BED_LEVELING_FEATURE && (ENABLED(HAS_SERVO_ENDSTOPS) || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
6005
+#endif // AUTO_BED_LEVELING_FEATURE && (HAS_Z_SERVO_ENDSTOP || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
6045 6006
 
6046 6007
 #if ENABLED(FILAMENT_WIDTH_SENSOR)
6047 6008
 
@@ -7338,14 +7299,14 @@ void process_next_command() {
7338 7299
         gcode_M400();
7339 7300
         break;
7340 7301
 
7341
-      #if ENABLED(AUTO_BED_LEVELING_FEATURE) && (ENABLED(HAS_SERVO_ENDSTOPS) || ENABLED(Z_PROBE_ALLEN_KEY)) && DISABLED(Z_PROBE_SLED)
7302
+      #if ENABLED(AUTO_BED_LEVELING_FEATURE) && (HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_ALLEN_KEY)) && DISABLED(Z_PROBE_SLED)
7342 7303
         case 401:
7343 7304
           gcode_M401();
7344 7305
           break;
7345 7306
         case 402:
7346 7307
           gcode_M402();
7347 7308
           break;
7348
-      #endif // AUTO_BED_LEVELING_FEATURE && (ENABLED(HAS_SERVO_ENDSTOPS) || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
7309
+      #endif // AUTO_BED_LEVELING_FEATURE && (HAS_Z_SERVO_ENDSTOP || Z_PROBE_ALLEN_KEY) && !Z_PROBE_SLED
7349 7310
 
7350 7311
       #if ENABLED(FILAMENT_WIDTH_SENSOR)
7351 7312
         case 404:  //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or display nominal filament width

+ 16
- 19
Marlin/SanityCheck.h Zobrazit soubor

@@ -170,26 +170,19 @@
170 170
 /**
171 171
  * Limited number of servos
172 172
  */
173
-#if NUM_SERVOS > 4
174
-  #error "The maximum number of SERVOS in Marlin is 4."
175
-#endif
176 173
 #if defined(NUM_SERVOS) && NUM_SERVOS > 0
177
-  #if X_ENDSTOP_SERVO_NR >= 0 || Y_ENDSTOP_SERVO_NR >= 0 || Z_ENDSTOP_SERVO_NR >= 0
178
-    #if X_ENDSTOP_SERVO_NR >= NUM_SERVOS
179
-      #error "X_ENDSTOP_SERVO_NR must be smaller than NUM_SERVOS."
180
-    #elif Y_ENDSTOP_SERVO_NR >= NUM_SERVOS
181
-      #error "Y_ENDSTOP_SERVO_NR must be smaller than NUM_SERVOS."
182
-    #elif Z_ENDSTOP_SERVO_NR >= NUM_SERVOS
183
-      #error "Z_ENDSTOP_SERVO_NR must be smaller than NUM_SERVOS."
184
-    #endif
174
+  #if NUM_SERVOS > 4
175
+    #error "The maximum number of SERVOS in Marlin is 4."
176
+  #elif HAS_Z_SERVO_ENDSTOP && Z_ENDSTOP_SERVO_NR >= NUM_SERVOS
177
+    #error "Z_ENDSTOP_SERVO_NR must be smaller than NUM_SERVOS."
185 178
   #endif
186 179
 #endif
187 180
 
188 181
 /**
189 182
  * Servo deactivation depends on servo endstops
190 183
  */
191
-#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) && DISABLED(HAS_SERVO_ENDSTOPS)
192
-  #error "At least one of the ?_ENDSTOP_SERVO_NR is required for DEACTIVATE_SERVOS_AFTER_MOVE."
184
+#if ENABLED(DEACTIVATE_SERVOS_AFTER_MOVE) && !HAS_Z_SERVO_ENDSTOP
185
+  #error "Z_ENDSTOP_SERVO_NR is required for DEACTIVATE_SERVOS_AFTER_MOVE."
193 186
 #endif
194 187
 
195 188
 /**
@@ -253,10 +246,10 @@
253 246
   /**
254 247
    * Only allow one probe option to be defined
255 248
    */
256
-  #if (ENABLED(FIX_MOUNTED_PROBE) && (ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_ENDSTOP_SERVO || ENABLED(Z_PROBE_SLED))) \
257
-       || (ENABLED(MECHANICAL_PROBE) && (ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_ENDSTOP_SERVO || ENABLED(Z_PROBE_SLED))) \
258
-       || (ENABLED(Z_PROBE_ALLEN_KEY) && (HAS_Z_ENDSTOP_SERVO || ENABLED(Z_PROBE_SLED))) \
259
-       || (HAS_Z_ENDSTOP_SERVO && ENABLED(Z_PROBE_SLED))
249
+  #if (ENABLED(FIX_MOUNTED_PROBE) && (ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_SLED))) \
250
+       || (ENABLED(MECHANICAL_PROBE) && (ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_SLED))) \
251
+       || (ENABLED(Z_PROBE_ALLEN_KEY) && (HAS_Z_SERVO_ENDSTOP || ENABLED(Z_PROBE_SLED))) \
252
+       || (HAS_Z_SERVO_ENDSTOP && ENABLED(Z_PROBE_SLED))
260 253
     #error "Please define only one type of probe: Z Servo, MECHANICAL_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or FIX_MOUNTED_PROBE."
261 254
   #endif
262 255
 
@@ -288,8 +281,8 @@
288 281
     //#if Z_ENDSTOP_SERVO_NR < 0
289 282
     //  #error "You must have Z_ENDSTOP_SERVO_NR set to at least 0 or above to use Z_MIN_PROBE_ENDSTOP."
290 283
     //#endif
291
-    //#ifndef SERVO_ENDSTOP_ANGLES
292
-    //  #error "You must have SERVO_ENDSTOP_ANGLES defined for Z Extend and Retract to use Z_MIN_PROBE_ENDSTOP."
284
+    //#ifndef Z_SERVO_ANGLES
285
+    //  #error "You must have Z_SERVO_ANGLES defined for Z Extend and Retract to use Z_MIN_PROBE_ENDSTOP."
293 286
     //#endif
294 287
   #endif
295 288
 
@@ -613,6 +606,10 @@
613 606
   #error "PID_PARAMS_PER_EXTRUDER is deprecated. Use PID_PARAMS_PER_HOTEND instead."
614 607
 #elif defined(EXTRUDER_WATTS)
615 608
   #error "EXTRUDER_WATTS is deprecated. Use HOTEND_WATTS instead."
609
+#elif defined(SERVO_ENDSTOP_ANGLES)
610
+  #error "SERVO_ENDSTOP_ANGLES is deprecated. Use Z_SERVO_ANGLES instead."
611
+#elif defined(X_ENDSTOP_SERVO_NR) || defined(Y_ENDSTOP_SERVO_NR)
612
+  #error "X_ENDSTOP_SERVO_NR and Y_ENDSTOP_SERVO_NR are deprecated and should be removed."
616 613
 #endif
617 614
 
618 615
 #endif //SANITYCHECK_H

+ 2
- 4
Marlin/example_configurations/Felix/Configuration.h Zobrazit soubor

@@ -402,7 +402,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
402 402
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
403 403
 //
404 404
 // For a servo-based Z probe, you must set up servo support below, including
405
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
405
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
406 406
 //
407 407
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
408 408
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1147,10 +1147,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1147 1147
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1148 1148
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1149 1149
 //
1150
-//#define X_ENDSTOP_SERVO_NR 1
1151
-//#define Y_ENDSTOP_SERVO_NR 2
1152 1150
 //#define Z_ENDSTOP_SERVO_NR 0
1153
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1151
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1154 1152
 
1155 1153
 // Servo deactivation
1156 1154
 //

+ 2
- 4
Marlin/example_configurations/Felix/DUAL/Configuration.h Zobrazit soubor

@@ -400,7 +400,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
400 400
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
401 401
 //
402 402
 // For a servo-based Z probe, you must set up servo support below, including
403
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
403
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
404 404
 //
405 405
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
406 406
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1145,10 +1145,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1145 1145
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1146 1146
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1147 1147
 //
1148
-//#define X_ENDSTOP_SERVO_NR 1
1149
-//#define Y_ENDSTOP_SERVO_NR 2
1150 1148
 //#define Z_ENDSTOP_SERVO_NR 0
1151
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1149
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1152 1150
 
1153 1151
 // Servo deactivation
1154 1152
 //

+ 2
- 4
Marlin/example_configurations/Hephestos/Configuration.h Zobrazit soubor

@@ -412,7 +412,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
412 412
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
413 413
 //
414 414
 // For a servo-based Z probe, you must set up servo support below, including
415
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
415
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
416 416
 //
417 417
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
418 418
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1156,10 +1156,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
1156 1156
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1157 1157
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1158 1158
 //
1159
-//#define X_ENDSTOP_SERVO_NR 1
1160
-//#define Y_ENDSTOP_SERVO_NR 2
1161 1159
 //#define Z_ENDSTOP_SERVO_NR 0
1162
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1160
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1163 1161
 
1164 1162
 // Servo deactivation
1165 1163
 //

+ 2
- 4
Marlin/example_configurations/Hephestos_2/Configuration.h Zobrazit soubor

@@ -414,7 +414,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
414 414
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
415 415
 //
416 416
 // For a servo-based Z probe, you must set up servo support below, including
417
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
417
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
418 418
 //
419 419
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
420 420
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1158,10 +1158,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1158 1158
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1159 1159
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1160 1160
 //
1161
-//#define X_ENDSTOP_SERVO_NR 1
1162
-//#define Y_ENDSTOP_SERVO_NR 2
1163 1161
 //#define Z_ENDSTOP_SERVO_NR 0
1164
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1162
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1165 1163
 
1166 1164
 // Servo deactivation
1167 1165
 //

+ 2
- 4
Marlin/example_configurations/K8200/Configuration.h Zobrazit soubor

@@ -437,7 +437,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
437 437
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
438 438
 //
439 439
 // For a servo-based Z probe, you must set up servo support below, including
440
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
440
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
441 441
 //
442 442
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
443 443
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1181,10 +1181,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1181 1181
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1182 1182
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1183 1183
 //
1184
-//#define X_ENDSTOP_SERVO_NR 1
1185
-//#define Y_ENDSTOP_SERVO_NR 2
1186 1184
 //#define Z_ENDSTOP_SERVO_NR 0
1187
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1185
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1188 1186
 
1189 1187
 // Servo deactivation
1190 1188
 //

+ 2
- 4
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h Zobrazit soubor

@@ -420,7 +420,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
420 420
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
421 421
 //
422 422
 // For a servo-based Z probe, you must set up servo support below, including
423
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
423
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
424 424
 //
425 425
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
426 426
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1164,10 +1164,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1164 1164
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1165 1165
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1166 1166
 //
1167
-//#define X_ENDSTOP_SERVO_NR 1
1168
-//#define Y_ENDSTOP_SERVO_NR 2
1169 1167
 //#define Z_ENDSTOP_SERVO_NR 0
1170
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1168
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1171 1169
 
1172 1170
 // Servo deactivation
1173 1171
 //

+ 2
- 4
Marlin/example_configurations/RigidBot/Configuration.h Zobrazit soubor

@@ -414,7 +414,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
414 414
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
415 415
 //
416 416
 // For a servo-based Z probe, you must set up servo support below, including
417
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
417
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
418 418
 //
419 419
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
420 420
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1161,10 +1161,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1161 1161
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1162 1162
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1163 1163
 //
1164
-//#define X_ENDSTOP_SERVO_NR 1
1165
-//#define Y_ENDSTOP_SERVO_NR 2
1166 1164
 //#define Z_ENDSTOP_SERVO_NR 0
1167
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1165
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1168 1166
 
1169 1167
 // Servo deactivation
1170 1168
 //

+ 2
- 4
Marlin/example_configurations/SCARA/Configuration.h Zobrazit soubor

@@ -428,7 +428,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
428 428
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
429 429
 //
430 430
 // For a servo-based Z probe, you must set up servo support below, including
431
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
431
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
432 432
 //
433 433
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
434 434
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1172,10 +1172,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1172 1172
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1173 1173
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1174 1174
 //
1175
-//#define X_ENDSTOP_SERVO_NR 1
1176
-//#define Y_ENDSTOP_SERVO_NR 2
1177 1175
 //#define Z_ENDSTOP_SERVO_NR 0
1178
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1176
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1179 1177
 
1180 1178
 // Servo deactivation
1181 1179
 //

+ 2
- 4
Marlin/example_configurations/TAZ4/Configuration.h Zobrazit soubor

@@ -441,7 +441,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
441 441
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
442 442
 //
443 443
 // For a servo-based Z probe, you must set up servo support below, including
444
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
444
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
445 445
 //
446 446
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
447 447
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1185,10 +1185,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1185 1185
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1186 1186
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1187 1187
 //
1188
-//#define X_ENDSTOP_SERVO_NR 1
1189
-//#define Y_ENDSTOP_SERVO_NR 2
1190 1188
 //#define Z_ENDSTOP_SERVO_NR 0
1191
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1189
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1192 1190
 
1193 1191
 // Servo deactivation
1194 1192
 //

+ 2
- 4
Marlin/example_configurations/WITBOX/Configuration.h Zobrazit soubor

@@ -412,7 +412,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
412 412
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
413 413
 //
414 414
 // For a servo-based Z probe, you must set up servo support below, including
415
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
415
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
416 416
 //
417 417
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
418 418
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1156,10 +1156,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
1156 1156
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1157 1157
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1158 1158
 //
1159
-//#define X_ENDSTOP_SERVO_NR 1
1160
-//#define Y_ENDSTOP_SERVO_NR 2
1161 1159
 //#define Z_ENDSTOP_SERVO_NR 0
1162
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1160
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1163 1161
 
1164 1162
 // Servo deactivation
1165 1163
 //

+ 2
- 4
Marlin/example_configurations/adafruit/ST7565/Configuration.h Zobrazit soubor

@@ -420,7 +420,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
420 420
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
421 421
 //
422 422
 // For a servo-based Z probe, you must set up servo support below, including
423
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
423
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
424 424
 //
425 425
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
426 426
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1164,10 +1164,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1164 1164
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1165 1165
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1166 1166
 //
1167
-//#define X_ENDSTOP_SERVO_NR 1
1168
-//#define Y_ENDSTOP_SERVO_NR 2
1169 1167
 //#define Z_ENDSTOP_SERVO_NR 0
1170
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1168
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1171 1169
 
1172 1170
 // Servo deactivation
1173 1171
 //

+ 2
- 4
Marlin/example_configurations/delta/biv2.5/Configuration.h Zobrazit soubor

@@ -462,7 +462,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
462 462
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
463 463
 //
464 464
 // For a servo-based Z probe, you must set up servo support below, including
465
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
465
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
466 466
 //
467 467
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
468 468
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1253,10 +1253,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
1253 1253
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1254 1254
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1255 1255
 //
1256
-//#define X_ENDSTOP_SERVO_NR 1
1257
-//#define Y_ENDSTOP_SERVO_NR 2
1258 1256
 //#define Z_ENDSTOP_SERVO_NR 0
1259
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1257
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1260 1258
 
1261 1259
 // Servo deactivation
1262 1260
 //

+ 2
- 4
Marlin/example_configurations/delta/generic/Configuration.h Zobrazit soubor

@@ -462,7 +462,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
462 462
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
463 463
 //
464 464
 // For a servo-based Z probe, you must set up servo support below, including
465
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
465
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
466 466
 //
467 467
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
468 468
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1247,10 +1247,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
1247 1247
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1248 1248
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1249 1249
 //
1250
-//#define X_ENDSTOP_SERVO_NR 1
1251
-//#define Y_ENDSTOP_SERVO_NR 2
1252 1250
 //#define Z_ENDSTOP_SERVO_NR 0
1253
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1251
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1254 1252
 
1255 1253
 // Servo deactivation
1256 1254
 //

+ 2
- 4
Marlin/example_configurations/delta/kossel_mini/Configuration.h Zobrazit soubor

@@ -462,7 +462,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
462 462
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
463 463
 //
464 464
 // For a servo-based Z probe, you must set up servo support below, including
465
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
465
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
466 466
 //
467 467
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
468 468
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1250,10 +1250,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1250 1250
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1251 1251
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1252 1252
 //
1253
-//#define X_ENDSTOP_SERVO_NR 1
1254
-//#define Y_ENDSTOP_SERVO_NR 2
1255 1253
 //#define Z_ENDSTOP_SERVO_NR 0
1256
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1254
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1257 1255
 
1258 1256
 // Servo deactivation
1259 1257
 //

+ 2
- 4
Marlin/example_configurations/delta/kossel_pro/Configuration.h Zobrazit soubor

@@ -451,7 +451,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
451 451
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
452 452
 //
453 453
 // For a servo-based Z probe, you must set up servo support below, including
454
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
454
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
455 455
 //
456 456
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
457 457
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1250,10 +1250,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1250 1250
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1251 1251
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1252 1252
 //
1253
-//#define X_ENDSTOP_SERVO_NR 1
1254
-//#define Y_ENDSTOP_SERVO_NR 2
1255 1253
 //#define Z_ENDSTOP_SERVO_NR 0
1256
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1254
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1257 1255
 
1258 1256
 // Servo deactivation
1259 1257
 //

+ 2
- 4
Marlin/example_configurations/delta/kossel_xl/Configuration.h Zobrazit soubor

@@ -460,7 +460,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
460 460
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
461 461
 //
462 462
 // For a servo-based Z probe, you must set up servo support below, including
463
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
463
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
464 464
 //
465 465
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
466 466
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1252,10 +1252,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1252 1252
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1253 1253
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1254 1254
 //
1255
-//#define X_ENDSTOP_SERVO_NR 1
1256
-//#define Y_ENDSTOP_SERVO_NR 2
1257 1255
 //#define Z_ENDSTOP_SERVO_NR 0
1258
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1256
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1259 1257
 
1260 1258
 // Servo deactivation
1261 1259
 //

+ 2
- 4
Marlin/example_configurations/makibox/Configuration.h Zobrazit soubor

@@ -423,7 +423,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
423 423
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
424 424
 //
425 425
 // For a servo-based Z probe, you must set up servo support below, including
426
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
426
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
427 427
 //
428 428
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
429 429
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1167,10 +1167,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
1167 1167
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1168 1168
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1169 1169
 //
1170
-//#define X_ENDSTOP_SERVO_NR 1
1171
-//#define Y_ENDSTOP_SERVO_NR 2
1172 1170
 //#define Z_ENDSTOP_SERVO_NR 0
1173
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1171
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1174 1172
 
1175 1173
 // Servo deactivation
1176 1174
 //

+ 2
- 4
Marlin/example_configurations/tvrrug/Round2/Configuration.h Zobrazit soubor

@@ -410,7 +410,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
410 410
 // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
411 411
 //
412 412
 // For a servo-based Z probe, you must set up servo support below, including
413
-// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES.
413
+// NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES.
414 414
 //
415 415
 // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
416 416
 // - Use 5V for powered (usu. inductive) sensors.
@@ -1158,10 +1158,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
1158 1158
 // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
1159 1159
 // Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500.
1160 1160
 //
1161
-//#define X_ENDSTOP_SERVO_NR 1
1162
-//#define Y_ENDSTOP_SERVO_NR 2
1163 1161
 //#define Z_ENDSTOP_SERVO_NR 0
1164
-//#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {70,0}} // X,Y,Z Axis Extend and Retract angles
1162
+//#define Z_SERVO_ANGLES {70,0} // Z Servo Extend and Retract angles
1165 1163
 
1166 1164
 // Servo deactivation
1167 1165
 //

Loading…
Zrušit
Uložit