<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>X axis does not raise between auto leveling points</title>
        <description> Hello,

I updated my Marlin firmware to Marlin-1.1.0-RC7. For auto bet leveling I&#039;m using a fixed probe, which is connected to pin 32 (former Z axis max). The z endstop is also used and is connected to pin 30.

The most important parts of my config file are shown below: 

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
#define USE_ZMAX_PLUG

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
//  fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//  #define ENDSTOPPULLUP_XMAX
//  #define ENDSTOPPULLUP_YMAX
//  #define ENDSTOPPULLUP_ZMAX
//  #define ENDSTOPPULLUP_XMIN
//  #define ENDSTOPPULLUP_YMIN
//  #define ENDSTOPPULLUP_ZMIN
//  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define FIX_MOUNTED_PROBE
#define X_PROBE_OFFSET_FROM_EXTRUDER   42  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER  -42  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER   -7.04   // Z offset: -below +above  [the nozzle]

#define XY_PROBE_SPEED 4000
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
#define PROBE_DOUBLE_TOUCH
#define Z_MIN_PROBE_ENDSTOP //Uses Z_MAX PIN 32 for probe and PIN 30 for homing endstop from [reprap.org]
#define Z_MIN_PROBE_PIN 32
#define Z_MIN_PROBE_REPEATABILITY_TEST
//#define DISABLE_Z_MIN_PROBE_ENDSTOP

#define Z_PROBE_DEPLOY_HEIGHT 15 //(-(Z_PROBE_OFFSET_FROM_EXTRUDER) + 6) // Z position for the probe to deploy/stow
#define Z_PROBE_TRAVEL_HEIGHT 15 //(-(Z_PROBE_OFFSET_FROM_EXTRUDER) + 3) // Z position for travel between points
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)

#define DEBUG_LEVELING_FEATURE

#if ENABLED(AUTO_BED_LEVELING_FEATURE)
  #define AUTO_BED_LEVELING_GRID

  #if ENABLED(AUTO_BED_LEVELING_GRID)

    #define LEFT_PROBE_BED_POSITION   42
    #define RIGHT_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION  70
    #define BACK_PROBE_BED_POSITION  193

    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
    #define AUTO_BED_LEVELING_GRID_POINTS 3

  #else  // !AUTO_BED_LEVELING_GRID
    #define ABL_PROBE_PT_1_X 15
    #define ABL_PROBE_PT_1_Y 180
    #define ABL_PROBE_PT_2_X 15
    #define ABL_PROBE_PT_2_Y 20
    #define ABL_PROBE_PT_3_X 170
    #define ABL_PROBE_PT_3_Y 20

  #endif // !AUTO_BED_LEVELING_GRID
  #define Z_PROBE_END_SCRIPT &quot;G1 X0 Y0 F5000&quot;
#endif // AUTO_BED_LEVELING_FEATURE
//#define Z_SAFE_HOMING

When I enter G28 all axis are homed and everything is fine. But G29 looks strange. First the Z axis is raised to the defined config position. Then X and Y are moved and the Z axis is tested by decreasing the size between probe and bed. Then the probe is not raised and moved to another position by changing X or Y. After arrival the printer recognize the probe endstop is hit and it moves directly to another position. Until all probe points are done. Lastly the Z_PROBE_END_SCRIPT is started.

Before I updated to RC7 it looks completely different. After the first test the Z axis where raised again and deceased slowly. Then the Z axis raised again. X and Y where changed and the same procedure starts from the beginning. 

I was already going through the recommendations from [github.com] but nothing changed. 

Here you can see my log output. The first do_probe_raise(30) works fine, but the remaining do_probe_raise(25) have no effect. The Z axis does not move.


19:20:17.675 : G29 Auto Bed Leveling
19:20:17.679 : corrected_position=(0.00, 0.00, 0.00) : BEFORE matrix.set_to_identity
19:20:17.682 : current_position=(0.00, 0.00, 0.00) : BEFORE matrix.set_to_identity
19:20:17.684 : uncorrected_position=(0.00, 0.00, 0.00) : AFTER matrix.set_to_identity
19:20:17.688 : current_position=(0.00, 0.00, 0.00) : sync_plan_position
19:20:17.690 : current_position=(0.00, 0.00, 0.00) : setup_for_endstop_or_probe_move
19:20:17.692 : current_position=(0.00, 0.00, 0.00) : set_probe_deployed
19:20:17.693 : deploy: 1
19:20:17.693 : do_probe_raise(30.00)
19:20:17.695 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 0.00, 30.00)
19:20:18.791 : N825 M105*40
19:20:21.891 : N826 M105*43
19:20:24.991 : N827 M105*42
19:20:27.991 : N828 M105*37
19:20:31.092 : N829 M105*36
19:20:32.752 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 0.00, 30.00)
19:20:32.755 : &amp;gt;&amp;gt;&amp;gt; probe_pt(42.00, 70.00, 1)
19:20:32.757 : current_position=(0.00, 0.00, 30.00) :
19:20:32.757 : do_probe_raise(25.00)
19:20:32.759 : &amp;gt; do_blocking_move_to_xy(0.00, 112.00)
19:20:32.761 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 112.00, 30.00)
19:20:34.192 : N830 M105*44
19:20:34.464 : &amp;gt; current_position=(0.00, 112.00, 30.00) : set_probe_deployed
19:20:34.464 : deploy: 1
19:20:34.466 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 112.00, -195.00)
19:20:37.292 : N831 M105*45
19:20:40.392 : N832 M105*46
19:20:43.756 : current_position=(0.00, 112.00, 11.50) : sync_plan_position
19:20:43.760 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 112.00, 13.50)
19:20:43.765 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 112.00, 9.50)
19:20:43.769 : current_position=(0.00, 112.00, 11.50) : sync_plan_position
19:20:43.772 : current_position=(0.00, 112.00, 11.50) : run_z_probe
19:20:43.772 : &amp;gt; do_probe_raise
19:20:43.774 : do_probe_raise(25.00)
19:20:43.776 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 112.00, 25.00)
19:20:43.778 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:43.780 : &amp;gt;&amp;gt;&amp;gt; probe_pt(111.00, 70.00, 1)
19:20:43.783 : current_position=(0.00, 112.00, 25.00) :
19:20:43.785 : do_probe_raise(25.00)
19:20:43.785 : &amp;gt; do_blocking_move_to_xy(69.00, 112.00)
19:20:43.787 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 112.00, 25.00)
19:20:44.841 : &amp;gt; current_position=(69.00, 112.00, 25.00) : set_probe_deployed
19:20:44.844 : deploy: 1
19:20:44.846 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 112.00, -195.00)
19:20:44.850 : current_position=(69.00, 112.00, 11.50) : sync_plan_position
19:20:44.852 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 112.00, 13.50)
19:20:44.856 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 112.00, 9.50)
19:20:44.863 : current_position=(69.00, 112.00, 11.50) : sync_plan_position
19:20:44.867 : current_position=(69.00, 112.00, 11.50) : run_z_probe
19:20:44.867 : &amp;gt; do_probe_raise
19:20:44.869 : do_probe_raise(25.00)
19:20:44.871 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 112.00, 25.00)
19:20:44.873 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:44.873 : &amp;gt;&amp;gt;&amp;gt; probe_pt(180.00, 70.00, 1)
19:20:44.875 : current_position=(69.00, 112.00, 25.00) :
19:20:44.878 : do_probe_raise(25.00)
19:20:44.880 : &amp;gt; do_blocking_move_to_xy(138.00, 112.00)
19:20:44.882 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 112.00, 25.00)
19:20:45.937 : &amp;gt; current_position=(138.00, 112.00, 25.00) : set_probe_deployed
19:20:45.939 : deploy: 1
19:20:45.939 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 112.00, -195.00)
19:20:45.945 : current_position=(138.00, 112.00, 11.50) : sync_plan_position
19:20:45.947 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 112.00, 13.50)
19:20:45.952 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 112.00, 9.50)
19:20:45.958 : current_position=(138.00, 112.00, 11.50) : sync_plan_position
19:20:45.960 : current_position=(138.00, 112.00, 11.50) : run_z_probe
19:20:45.962 : &amp;gt; do_probe_raise
19:20:45.962 : do_probe_raise(25.00)
19:20:45.965 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 112.00, 25.00)
19:20:45.967 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:45.969 : &amp;gt;&amp;gt;&amp;gt; probe_pt(180.00, 131.00, 1)
19:20:45.971 : current_position=(138.00, 112.00, 25.00) :
19:20:45.973 : do_probe_raise(25.00)
19:20:45.976 : &amp;gt; do_blocking_move_to_xy(138.00, 173.00)
19:20:45.976 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 173.00, 25.00)
19:20:46.912 : &amp;gt; current_position=(138.00, 173.00, 25.00) : set_probe_deployed
19:20:46.912 : deploy: 1
19:20:46.917 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 173.00, -195.00)
19:20:46.921 : current_position=(138.00, 173.00, 11.50) : sync_plan_position
19:20:46.923 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 173.00, 13.50)
19:20:46.927 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 173.00, 9.50)
19:20:46.934 : current_position=(138.00, 173.00, 11.50) : sync_plan_position
19:20:46.936 : current_position=(138.00, 173.00, 11.50) : run_z_probe
19:20:46.938 : &amp;gt; do_probe_raise
19:20:46.938 : do_probe_raise(25.00)
19:20:46.940 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 173.00, 25.00)
19:20:46.945 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:46.945 : &amp;gt;&amp;gt;&amp;gt; probe_pt(111.00, 131.00, 1)
19:20:46.947 : current_position=(138.00, 173.00, 25.00) :
19:20:46.949 : do_probe_raise(25.00)
19:20:46.949 : &amp;gt; do_blocking_move_to_xy(69.00, 173.00)
19:20:46.951 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 173.00, 25.00)
19:20:48.030 : &amp;gt; current_position=(69.00, 173.00, 25.00) : set_probe_deployed
19:20:48.030 : deploy: 1
19:20:48.034 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 173.00, -195.00)
19:20:48.039 : current_position=(69.00, 173.00, 11.50) : sync_plan_position
19:20:48.041 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 173.00, 13.50)
19:20:48.045 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 173.00, 9.50)
19:20:48.052 : current_position=(69.00, 173.00, 11.50) : sync_plan_position
19:20:48.054 : current_position=(69.00, 173.00, 11.50) : run_z_probe
19:20:48.054 : &amp;gt; do_probe_raise
19:20:48.056 : do_probe_raise(25.00)
19:20:48.058 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 173.00, 25.00)
19:20:48.060 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:48.062 : &amp;gt;&amp;gt;&amp;gt; probe_pt(42.00, 131.00, 1)
19:20:48.065 : current_position=(69.00, 173.00, 25.00) :
19:20:48.065 : do_probe_raise(25.00)
19:20:48.067 : &amp;gt; do_blocking_move_to_xy(0.00, 173.00)
19:20:48.069 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 173.00, 25.00)
19:20:49.122 : &amp;gt; current_position=(0.00, 173.00, 25.00) : set_probe_deployed
19:20:49.122 : deploy: 1
19:20:49.124 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 173.00, -195.00)
19:20:49.128 : current_position=(0.00, 173.00, 11.50) : sync_plan_position
19:20:49.130 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 173.00, 13.50)
19:20:49.134 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 173.00, 9.50)
19:20:49.140 : current_position=(0.00, 173.00, 11.50) : sync_plan_position
19:20:49.143 : current_position=(0.00, 173.00, 11.50) : run_z_probe
19:20:49.145 : &amp;gt; do_probe_raise
19:20:49.145 : do_probe_raise(25.00)
19:20:49.147 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 173.00, 25.00)
19:20:49.149 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:49.151 : &amp;gt;&amp;gt;&amp;gt; probe_pt(42.00, 192.00, 1)
19:20:49.153 : current_position=(0.00, 173.00, 25.00) :
19:20:49.153 : do_probe_raise(25.00)
19:20:49.155 : &amp;gt; do_blocking_move_to_xy(0.00, 234.00)
19:20:49.157 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 234.00, 25.00)
19:20:50.093 : &amp;gt; current_position=(0.00, 234.00, 25.00) : set_probe_deployed
19:20:50.093 : deploy: 1
19:20:50.095 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 234.00, -195.00)
19:20:50.100 : current_position=(0.00, 234.00, 11.50) : sync_plan_position
19:20:50.102 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 234.00, 13.50)
19:20:50.106 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 234.00, 9.50)
19:20:50.113 : current_position=(0.00, 234.00, 11.50) : sync_plan_position
19:20:50.115 : current_position=(0.00, 234.00, 11.50) : run_z_probe
19:20:50.115 : &amp;gt; do_probe_raise
19:20:50.117 : do_probe_raise(25.00)
19:20:50.119 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(0.00, 234.00, 25.00)
19:20:50.121 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:50.121 : &amp;gt;&amp;gt;&amp;gt; probe_pt(111.00, 192.00, 1)
19:20:50.124 : current_position=(0.00, 234.00, 25.00) :
19:20:50.126 : do_probe_raise(25.00)
19:20:50.128 : &amp;gt; do_blocking_move_to_xy(69.00, 234.00)
19:20:50.130 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 234.00, 25.00)
19:20:51.184 : &amp;gt; current_position=(69.00, 234.00, 25.00) : set_probe_deployed
19:20:51.184 : deploy: 1
19:20:51.188 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 234.00, -195.00)
19:20:51.193 : current_position=(69.00, 234.00, 11.50) : sync_plan_position
19:20:51.195 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 234.00, 13.50)
19:20:51.199 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 234.00, 9.50)
19:20:51.205 : current_position=(69.00, 234.00, 11.50) : sync_plan_position
19:20:51.207 : current_position=(69.00, 234.00, 11.50) : run_z_probe
19:20:51.210 : &amp;gt; do_probe_raise
19:20:51.210 : do_probe_raise(25.00)
19:20:51.212 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(69.00, 234.00, 25.00)
19:20:51.216 : &amp;lt;&amp;lt;&amp;lt; probe_pt
19:20:51.216 : &amp;gt;&amp;gt;&amp;gt; probe_pt(180.00, 192.00, 1)
19:20:51.218 : current_position=(69.00, 234.00, 25.00) :
19:20:51.220 : do_probe_raise(25.00)
19:20:51.222 : &amp;gt; do_blocking_move_to_xy(138.00, 234.00)
19:20:51.224 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 234.00, 25.00)
19:20:52.278 : &amp;gt; current_position=(138.00, 234.00, 25.00) : set_probe_deployed
19:20:52.278 : deploy: 1
19:20:52.283 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 234.00, -195.00)
19:20:52.287 : current_position=(138.00, 234.00, 11.50) : sync_plan_position
19:20:52.289 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 234.00, 13.50)
19:20:52.295 : &amp;gt;&amp;gt;&amp;gt; do_blocking_move_to(138.00, 234.00, 9.50)
19:20:52.299 : current_position=(138.00, 234.00, 11.50) : sync_plan_position
19:20:52.302 : current_position=(138.00, 234.00, 11.50) : run_z_probe
19:20:52.304 : &amp;gt; do_probe_raise

Any idea?</description>
        <link>https://reprap.org/forum/read.php?415,704264,704264#msg-704264</link>
        <lastBuildDate>Thu, 08 Oct 2026 06:08:57 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?415,704264,737852#msg-737852</guid>
            <title>Re: X axis does not raise between auto leveling points</title>
            <link>https://reprap.org/forum/read.php?415,704264,737852#msg-737852</link>
            <description><![CDATA[ Hi dark_man<br />
<br />
did get the problem solved because I have exactly the same and I m getting mad!!!!<br />
<br />
Would be amazing if you could share your experience.]]></description>
            <dc:creator>hello_tom</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 11 Jan 2017 18:00:10 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,704264,707229#msg-707229</guid>
            <title>Re: X axis does not raise between auto leveling points</title>
            <link>https://reprap.org/forum/read.php?415,704264,707229#msg-707229</link>
            <description><![CDATA[ I assume you mean that the Z-axis doesn't raise (the X-axis is left-right, not up-down)<br />
<br />
Looks like the setting is here:<br />
<pre class="bbcode">
// Probe Raise options provide clearance for the probe to deploy, stow, and travel.
//
#define Z_PROBE_DEPLOY_HEIGHT 15 // Raise to make room for the probe to deploy / stow
#define Z_PROBE_TRAVEL_HEIGHT 5  // Raise between probing points.</pre>
<br />
Per <a href="https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Configuration.h" target="_blank"  rel="nofollow">Line 544 in Configuration.h</a><br />
<br />
Hope this helps!]]></description>
            <dc:creator>MindRealm</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Tue, 13 Sep 2016 12:50:46 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?415,704264,704264#msg-704264</guid>
            <title>X axis does not raise between auto leveling points</title>
            <link>https://reprap.org/forum/read.php?415,704264,704264#msg-704264</link>
            <description><![CDATA[ Hello,<br />
<br />
I updated my Marlin firmware to Marlin-1.1.0-RC7. For auto bet leveling I'm using a fixed probe, which is connected to pin 32 (former Z axis max). The z endstop is also used and is connected to pin 30.<br />
<br />
The most important parts of my config file are shown below: <br />
<pre class="bbcode">
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
#define USE_ZMAX_PLUG

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#if DISABLED(ENDSTOPPULLUPS)
//  fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//  #define ENDSTOPPULLUP_XMAX
//  #define ENDSTOPPULLUP_YMAX
//  #define ENDSTOPPULLUP_ZMAX
//  #define ENDSTOPPULLUP_XMIN
//  #define ENDSTOPPULLUP_YMIN
//  #define ENDSTOPPULLUP_ZMIN
//  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

#define FIX_MOUNTED_PROBE
#define X_PROBE_OFFSET_FROM_EXTRUDER   42  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER  -42  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER   -7.04   // Z offset: -below +above  [the nozzle]

#define XY_PROBE_SPEED 4000
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
#define PROBE_DOUBLE_TOUCH
#define Z_MIN_PROBE_ENDSTOP //Uses Z_MAX PIN 32 for probe and PIN 30 for homing endstop from [<a href="http://reprap.org/wiki/Geeetech_GT2560" target="_blank"  rel="nofollow">reprap.org</a>]
#define Z_MIN_PROBE_PIN 32
#define Z_MIN_PROBE_REPEATABILITY_TEST
//#define DISABLE_Z_MIN_PROBE_ENDSTOP

#define Z_PROBE_DEPLOY_HEIGHT 15 //(-(Z_PROBE_OFFSET_FROM_EXTRUDER) + 6) // Z position for the probe to deploy/stow
#define Z_PROBE_TRAVEL_HEIGHT 15 //(-(Z_PROBE_OFFSET_FROM_EXTRUDER) + 3) // Z position for travel between points
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)

#define DEBUG_LEVELING_FEATURE

#if ENABLED(AUTO_BED_LEVELING_FEATURE)
  #define AUTO_BED_LEVELING_GRID

  #if ENABLED(AUTO_BED_LEVELING_GRID)

    #define LEFT_PROBE_BED_POSITION   42
    #define RIGHT_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION  70
    #define BACK_PROBE_BED_POSITION  193

    #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.
    #define AUTO_BED_LEVELING_GRID_POINTS 3

  #else  // !AUTO_BED_LEVELING_GRID
    #define ABL_PROBE_PT_1_X 15
    #define ABL_PROBE_PT_1_Y 180
    #define ABL_PROBE_PT_2_X 15
    #define ABL_PROBE_PT_2_Y 20
    #define ABL_PROBE_PT_3_X 170
    #define ABL_PROBE_PT_3_Y 20

  #endif // !AUTO_BED_LEVELING_GRID
  #define Z_PROBE_END_SCRIPT "G1 X0 Y0 F5000"
#endif // AUTO_BED_LEVELING_FEATURE
//#define Z_SAFE_HOMING</pre>
<br />
When I enter G28 all axis are homed and everything is fine. But G29 looks strange. First the Z axis is raised to the defined config position. Then X and Y are moved and the Z axis is tested by decreasing the size between probe and bed. Then the probe is not raised and moved to another position by changing X or Y. After arrival the printer recognize the probe endstop is hit and it moves directly to another position. Until all probe points are done. Lastly the Z_PROBE_END_SCRIPT is started.<br />
<br />
Before I updated to RC7 it looks completely different. After the first test the Z axis where raised again and deceased slowly. Then the Z axis raised again. X and Y where changed and the same procedure starts from the beginning. <br />
<br />
I was already going through the recommendations from [<a href="https://github.com/MarlinFirmware/Marlin/issues/4708" target="_blank"  rel="nofollow">github.com</a>] but nothing changed. <br />
<br />
Here you can see my log output. The first do_probe_raise(30) works fine, but the remaining do_probe_raise(25) have no effect. The Z axis does not move.<br />
<br />
<pre class="bbcode">
19:20:17.675 : G29 Auto Bed Leveling
19:20:17.679 : corrected_position=(0.00, 0.00, 0.00) : BEFORE matrix.set_to_identity
19:20:17.682 : current_position=(0.00, 0.00, 0.00) : BEFORE matrix.set_to_identity
19:20:17.684 : uncorrected_position=(0.00, 0.00, 0.00) : AFTER matrix.set_to_identity
19:20:17.688 : current_position=(0.00, 0.00, 0.00) : sync_plan_position
19:20:17.690 : current_position=(0.00, 0.00, 0.00) : setup_for_endstop_or_probe_move
19:20:17.692 : current_position=(0.00, 0.00, 0.00) : set_probe_deployed
19:20:17.693 : deploy: 1
19:20:17.693 : do_probe_raise(30.00)
19:20:17.695 : &gt;&gt;&gt; do_blocking_move_to(0.00, 0.00, 30.00)
19:20:18.791 : N825 M105*40
19:20:21.891 : N826 M105*43
19:20:24.991 : N827 M105*42
19:20:27.991 : N828 M105*37
19:20:31.092 : N829 M105*36
19:20:32.752 : &gt;&gt;&gt; do_blocking_move_to(0.00, 0.00, 30.00)
19:20:32.755 : &gt;&gt;&gt; probe_pt(42.00, 70.00, 1)
19:20:32.757 : current_position=(0.00, 0.00, 30.00) :
19:20:32.757 : do_probe_raise(25.00)
19:20:32.759 : &gt; do_blocking_move_to_xy(0.00, 112.00)
19:20:32.761 : &gt;&gt;&gt; do_blocking_move_to(0.00, 112.00, 30.00)
19:20:34.192 : N830 M105*44
19:20:34.464 : &gt; current_position=(0.00, 112.00, 30.00) : set_probe_deployed
19:20:34.464 : deploy: 1
19:20:34.466 : &gt;&gt;&gt; do_blocking_move_to(0.00, 112.00, -195.00)
19:20:37.292 : N831 M105*45
19:20:40.392 : N832 M105*46
19:20:43.756 : current_position=(0.00, 112.00, 11.50) : sync_plan_position
19:20:43.760 : &gt;&gt;&gt; do_blocking_move_to(0.00, 112.00, 13.50)
19:20:43.765 : &gt;&gt;&gt; do_blocking_move_to(0.00, 112.00, 9.50)
19:20:43.769 : current_position=(0.00, 112.00, 11.50) : sync_plan_position
19:20:43.772 : current_position=(0.00, 112.00, 11.50) : run_z_probe
19:20:43.772 : &gt; do_probe_raise
19:20:43.774 : do_probe_raise(25.00)
19:20:43.776 : &gt;&gt;&gt; do_blocking_move_to(0.00, 112.00, 25.00)
19:20:43.778 : &lt;&lt;&lt; probe_pt
19:20:43.780 : &gt;&gt;&gt; probe_pt(111.00, 70.00, 1)
19:20:43.783 : current_position=(0.00, 112.00, 25.00) :
19:20:43.785 : do_probe_raise(25.00)
19:20:43.785 : &gt; do_blocking_move_to_xy(69.00, 112.00)
19:20:43.787 : &gt;&gt;&gt; do_blocking_move_to(69.00, 112.00, 25.00)
19:20:44.841 : &gt; current_position=(69.00, 112.00, 25.00) : set_probe_deployed
19:20:44.844 : deploy: 1
19:20:44.846 : &gt;&gt;&gt; do_blocking_move_to(69.00, 112.00, -195.00)
19:20:44.850 : current_position=(69.00, 112.00, 11.50) : sync_plan_position
19:20:44.852 : &gt;&gt;&gt; do_blocking_move_to(69.00, 112.00, 13.50)
19:20:44.856 : &gt;&gt;&gt; do_blocking_move_to(69.00, 112.00, 9.50)
19:20:44.863 : current_position=(69.00, 112.00, 11.50) : sync_plan_position
19:20:44.867 : current_position=(69.00, 112.00, 11.50) : run_z_probe
19:20:44.867 : &gt; do_probe_raise
19:20:44.869 : do_probe_raise(25.00)
19:20:44.871 : &gt;&gt;&gt; do_blocking_move_to(69.00, 112.00, 25.00)
19:20:44.873 : &lt;&lt;&lt; probe_pt
19:20:44.873 : &gt;&gt;&gt; probe_pt(180.00, 70.00, 1)
19:20:44.875 : current_position=(69.00, 112.00, 25.00) :
19:20:44.878 : do_probe_raise(25.00)
19:20:44.880 : &gt; do_blocking_move_to_xy(138.00, 112.00)
19:20:44.882 : &gt;&gt;&gt; do_blocking_move_to(138.00, 112.00, 25.00)
19:20:45.937 : &gt; current_position=(138.00, 112.00, 25.00) : set_probe_deployed
19:20:45.939 : deploy: 1
19:20:45.939 : &gt;&gt;&gt; do_blocking_move_to(138.00, 112.00, -195.00)
19:20:45.945 : current_position=(138.00, 112.00, 11.50) : sync_plan_position
19:20:45.947 : &gt;&gt;&gt; do_blocking_move_to(138.00, 112.00, 13.50)
19:20:45.952 : &gt;&gt;&gt; do_blocking_move_to(138.00, 112.00, 9.50)
19:20:45.958 : current_position=(138.00, 112.00, 11.50) : sync_plan_position
19:20:45.960 : current_position=(138.00, 112.00, 11.50) : run_z_probe
19:20:45.962 : &gt; do_probe_raise
19:20:45.962 : do_probe_raise(25.00)
19:20:45.965 : &gt;&gt;&gt; do_blocking_move_to(138.00, 112.00, 25.00)
19:20:45.967 : &lt;&lt;&lt; probe_pt
19:20:45.969 : &gt;&gt;&gt; probe_pt(180.00, 131.00, 1)
19:20:45.971 : current_position=(138.00, 112.00, 25.00) :
19:20:45.973 : do_probe_raise(25.00)
19:20:45.976 : &gt; do_blocking_move_to_xy(138.00, 173.00)
19:20:45.976 : &gt;&gt;&gt; do_blocking_move_to(138.00, 173.00, 25.00)
19:20:46.912 : &gt; current_position=(138.00, 173.00, 25.00) : set_probe_deployed
19:20:46.912 : deploy: 1
19:20:46.917 : &gt;&gt;&gt; do_blocking_move_to(138.00, 173.00, -195.00)
19:20:46.921 : current_position=(138.00, 173.00, 11.50) : sync_plan_position
19:20:46.923 : &gt;&gt;&gt; do_blocking_move_to(138.00, 173.00, 13.50)
19:20:46.927 : &gt;&gt;&gt; do_blocking_move_to(138.00, 173.00, 9.50)
19:20:46.934 : current_position=(138.00, 173.00, 11.50) : sync_plan_position
19:20:46.936 : current_position=(138.00, 173.00, 11.50) : run_z_probe
19:20:46.938 : &gt; do_probe_raise
19:20:46.938 : do_probe_raise(25.00)
19:20:46.940 : &gt;&gt;&gt; do_blocking_move_to(138.00, 173.00, 25.00)
19:20:46.945 : &lt;&lt;&lt; probe_pt
19:20:46.945 : &gt;&gt;&gt; probe_pt(111.00, 131.00, 1)
19:20:46.947 : current_position=(138.00, 173.00, 25.00) :
19:20:46.949 : do_probe_raise(25.00)
19:20:46.949 : &gt; do_blocking_move_to_xy(69.00, 173.00)
19:20:46.951 : &gt;&gt;&gt; do_blocking_move_to(69.00, 173.00, 25.00)
19:20:48.030 : &gt; current_position=(69.00, 173.00, 25.00) : set_probe_deployed
19:20:48.030 : deploy: 1
19:20:48.034 : &gt;&gt;&gt; do_blocking_move_to(69.00, 173.00, -195.00)
19:20:48.039 : current_position=(69.00, 173.00, 11.50) : sync_plan_position
19:20:48.041 : &gt;&gt;&gt; do_blocking_move_to(69.00, 173.00, 13.50)
19:20:48.045 : &gt;&gt;&gt; do_blocking_move_to(69.00, 173.00, 9.50)
19:20:48.052 : current_position=(69.00, 173.00, 11.50) : sync_plan_position
19:20:48.054 : current_position=(69.00, 173.00, 11.50) : run_z_probe
19:20:48.054 : &gt; do_probe_raise
19:20:48.056 : do_probe_raise(25.00)
19:20:48.058 : &gt;&gt;&gt; do_blocking_move_to(69.00, 173.00, 25.00)
19:20:48.060 : &lt;&lt;&lt; probe_pt
19:20:48.062 : &gt;&gt;&gt; probe_pt(42.00, 131.00, 1)
19:20:48.065 : current_position=(69.00, 173.00, 25.00) :
19:20:48.065 : do_probe_raise(25.00)
19:20:48.067 : &gt; do_blocking_move_to_xy(0.00, 173.00)
19:20:48.069 : &gt;&gt;&gt; do_blocking_move_to(0.00, 173.00, 25.00)
19:20:49.122 : &gt; current_position=(0.00, 173.00, 25.00) : set_probe_deployed
19:20:49.122 : deploy: 1
19:20:49.124 : &gt;&gt;&gt; do_blocking_move_to(0.00, 173.00, -195.00)
19:20:49.128 : current_position=(0.00, 173.00, 11.50) : sync_plan_position
19:20:49.130 : &gt;&gt;&gt; do_blocking_move_to(0.00, 173.00, 13.50)
19:20:49.134 : &gt;&gt;&gt; do_blocking_move_to(0.00, 173.00, 9.50)
19:20:49.140 : current_position=(0.00, 173.00, 11.50) : sync_plan_position
19:20:49.143 : current_position=(0.00, 173.00, 11.50) : run_z_probe
19:20:49.145 : &gt; do_probe_raise
19:20:49.145 : do_probe_raise(25.00)
19:20:49.147 : &gt;&gt;&gt; do_blocking_move_to(0.00, 173.00, 25.00)
19:20:49.149 : &lt;&lt;&lt; probe_pt
19:20:49.151 : &gt;&gt;&gt; probe_pt(42.00, 192.00, 1)
19:20:49.153 : current_position=(0.00, 173.00, 25.00) :
19:20:49.153 : do_probe_raise(25.00)
19:20:49.155 : &gt; do_blocking_move_to_xy(0.00, 234.00)
19:20:49.157 : &gt;&gt;&gt; do_blocking_move_to(0.00, 234.00, 25.00)
19:20:50.093 : &gt; current_position=(0.00, 234.00, 25.00) : set_probe_deployed
19:20:50.093 : deploy: 1
19:20:50.095 : &gt;&gt;&gt; do_blocking_move_to(0.00, 234.00, -195.00)
19:20:50.100 : current_position=(0.00, 234.00, 11.50) : sync_plan_position
19:20:50.102 : &gt;&gt;&gt; do_blocking_move_to(0.00, 234.00, 13.50)
19:20:50.106 : &gt;&gt;&gt; do_blocking_move_to(0.00, 234.00, 9.50)
19:20:50.113 : current_position=(0.00, 234.00, 11.50) : sync_plan_position
19:20:50.115 : current_position=(0.00, 234.00, 11.50) : run_z_probe
19:20:50.115 : &gt; do_probe_raise
19:20:50.117 : do_probe_raise(25.00)
19:20:50.119 : &gt;&gt;&gt; do_blocking_move_to(0.00, 234.00, 25.00)
19:20:50.121 : &lt;&lt;&lt; probe_pt
19:20:50.121 : &gt;&gt;&gt; probe_pt(111.00, 192.00, 1)
19:20:50.124 : current_position=(0.00, 234.00, 25.00) :
19:20:50.126 : do_probe_raise(25.00)
19:20:50.128 : &gt; do_blocking_move_to_xy(69.00, 234.00)
19:20:50.130 : &gt;&gt;&gt; do_blocking_move_to(69.00, 234.00, 25.00)
19:20:51.184 : &gt; current_position=(69.00, 234.00, 25.00) : set_probe_deployed
19:20:51.184 : deploy: 1
19:20:51.188 : &gt;&gt;&gt; do_blocking_move_to(69.00, 234.00, -195.00)
19:20:51.193 : current_position=(69.00, 234.00, 11.50) : sync_plan_position
19:20:51.195 : &gt;&gt;&gt; do_blocking_move_to(69.00, 234.00, 13.50)
19:20:51.199 : &gt;&gt;&gt; do_blocking_move_to(69.00, 234.00, 9.50)
19:20:51.205 : current_position=(69.00, 234.00, 11.50) : sync_plan_position
19:20:51.207 : current_position=(69.00, 234.00, 11.50) : run_z_probe
19:20:51.210 : &gt; do_probe_raise
19:20:51.210 : do_probe_raise(25.00)
19:20:51.212 : &gt;&gt;&gt; do_blocking_move_to(69.00, 234.00, 25.00)
19:20:51.216 : &lt;&lt;&lt; probe_pt
19:20:51.216 : &gt;&gt;&gt; probe_pt(180.00, 192.00, 1)
19:20:51.218 : current_position=(69.00, 234.00, 25.00) :
19:20:51.220 : do_probe_raise(25.00)
19:20:51.222 : &gt; do_blocking_move_to_xy(138.00, 234.00)
19:20:51.224 : &gt;&gt;&gt; do_blocking_move_to(138.00, 234.00, 25.00)
19:20:52.278 : &gt; current_position=(138.00, 234.00, 25.00) : set_probe_deployed
19:20:52.278 : deploy: 1
19:20:52.283 : &gt;&gt;&gt; do_blocking_move_to(138.00, 234.00, -195.00)
19:20:52.287 : current_position=(138.00, 234.00, 11.50) : sync_plan_position
19:20:52.289 : &gt;&gt;&gt; do_blocking_move_to(138.00, 234.00, 13.50)
19:20:52.295 : &gt;&gt;&gt; do_blocking_move_to(138.00, 234.00, 9.50)
19:20:52.299 : current_position=(138.00, 234.00, 11.50) : sync_plan_position
19:20:52.302 : current_position=(138.00, 234.00, 11.50) : run_z_probe
19:20:52.304 : &gt; do_probe_raise</pre>
<br />
Any idea?]]></description>
            <dc:creator>dark_man100</dc:creator>
            <category>Firmware - Marlin</category>
            <pubDate>Wed, 31 Aug 2016 13:28:14 -0400</pubDate>
        </item>
    </channel>
</rss>
