{"action":"created","comment":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments/72878206","id":72878206,"diff_hunk":"@@ -2110,16 +2110,21 @@ static void clean_up_after_endstop_or_probe_move() {\n       planner.bed_level_matrix.set_to_identity();\n     #endif\n \n-    do_blocking_move_to_z(-(Z_MAX_LENGTH + 10), Z_PROBE_SPEED_FAST);\n-    endstops.hit_on_purpose();\n-    set_current_from_steppers_for_axis(Z_AXIS);\n-    SYNC_PLAN_POSITION_KINEMATIC();\n+    #if ENABLED(PROBE_DOUBLE_TOUCH)\n+      do_blocking_move_to_z(-(Z_MAX_LENGTH + 10), Z_PROBE_SPEED_FAST);\n+      endstops.hit_on_purpose();\n+      set_current_from_steppers_for_axis(Z_AXIS);\n+      SYNC_PLAN_POSITION_KINEMATIC();\n \n-    // move up the retract distance\n-    do_blocking_move_to_z(current_position[Z_AXIS] + home_bump_mm(Z_AXIS), Z_PROBE_SPEED_FAST);\n+      // move up the retract distance\n+      do_blocking_move_to_z(current_position[Z_AXIS] + home_bump_mm(Z_AXIS), Z_PROBE_SPEED_FAST);\n+    #else\n+      // move down fast, cloth to the bed\n+      do_blocking_move_to_z(home_bump_mm(Z_AXIS), Z_PROBE_SPEED_FAST);","path":"Marlin/Marlin_main.cpp","position":20,"original_position":20,"commit_id":"9ee10f1ae7b5194118574c78ab10a0183877f6cc","original_commit_id":"9ee10f1ae7b5194118574c78ab10a0183877f6cc","user":{"login":"AnHardt","id":211931,"avatar_url":"https://avatars.githubusercontent.com/u/211931?v=3","gravatar_id":"","url":"https://api.github.com/users/AnHardt","html_url":"https://github.com/AnHardt","followers_url":"https://api.github.com/users/AnHardt/followers","following_url":"https://api.github.com/users/AnHardt/following{/other_user}","gists_url":"https://api.github.com/users/AnHardt/gists{/gist_id}","starred_url":"https://api.github.com/users/AnHardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnHardt/subscriptions","organizations_url":"https://api.github.com/users/AnHardt/orgs","repos_url":"https://api.github.com/users/AnHardt/repos","events_url":"https://api.github.com/users/AnHardt/events{/privacy}","received_events_url":"https://api.github.com/users/AnHardt/received_events","type":"User","site_admin":false},"body":"It's neither a lowering nor a rising is a go to a absolute position.","created_at":"2016-07-30T00:41:18Z","updated_at":"2016-07-30T00:41:18Z","html_url":"https://github.com/MarlinFirmware/Marlin/pull/4455#discussion_r72878206","pull_request_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455","_links":{"self":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments/72878206"},"html":{"href":"https://github.com/MarlinFirmware/Marlin/pull/4455#discussion_r72878206"},"pull_request":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455"}}},"pull_request":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455","id":79347093,"html_url":"https://github.com/MarlinFirmware/Marlin/pull/4455","diff_url":"https://github.com/MarlinFirmware/Marlin/pull/4455.diff","patch_url":"https://github.com/MarlinFirmware/Marlin/pull/4455.patch","issue_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/4455","number":4455,"state":"open","locked":false,"title":"double bump probing as a feature","user":{"login":"AnHardt","id":211931,"avatar_url":"https://avatars.githubusercontent.com/u/211931?v=3","gravatar_id":"","url":"https://api.github.com/users/AnHardt","html_url":"https://github.com/AnHardt","followers_url":"https://api.github.com/users/AnHardt/followers","following_url":"https://api.github.com/users/AnHardt/following{/other_user}","gists_url":"https://api.github.com/users/AnHardt/gists{/gist_id}","starred_url":"https://api.github.com/users/AnHardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnHardt/subscriptions","organizations_url":"https://api.github.com/users/AnHardt/orgs","repos_url":"https://api.github.com/users/AnHardt/repos","events_url":"https://api.github.com/users/AnHardt/events{/privacy}","received_events_url":"https://api.github.com/users/AnHardt/received_events","type":"User","site_admin":false},"body":"Why double touch probing is not a good thing.\r\n\r\nIt's widely believed we can get better __probing__ results when using a double touch when probing.\r\n\r\nLet's compare to double touch __homing__.\r\nOr better let's begin with single touch __homing__.\r\nWe home to find out out position, so our position is unknown.\r\nTo find the endstop we have to move into the direction of the endstop.\r\nThe maximum way we have to move is a bit longer than the axis length.\r\nWhen we arrive at the endstop - when it triggers, the stepper pulses are stopped immediately.\r\nIt's a sudden stop. No smooth deacceleration is possible.\r\nDepending on the speed and the moving mass we lose steps here.\r\nOnly if we approached slow enough (below jerk speed?) we will not lose steps.\r\n\r\nMoving a complete axis length, that slow, takes for ever.\r\nTo speed up homing, we now make the first approach faster, get a guess about our position,\r\nback up a bit and make a second slower approach to get a exact result without losing steps.\r\n\r\nWhat we do in double touch probing is the same. But the difference here is:\r\na. we already know where we are\r\nb. if the first approach is too fast we will lose steps here too.\r\nBut this time there is no second approach to set the position to 0. We are measuring only.\r\nThe lost steps are permanent until we home the next time.\r\n\r\nSo if you experienced permanently rising values in M48, you now know why. (Too fast, suddenly stopped, first approach)\r\n\r\nWhat can we do to improve probing?\r\nWe can use the information about our current position.\r\nWe can make a really fast, but decelerated, move __to a place we know__ it is a bit before the trigger point. And then move the rest of the way really slow.\r\n\r\nThe result is: \r\nWe can make a faster first approach.\r\nThe way is a little shorter.\r\nNo steps can got lost during stopping the first approach.\r\n\r\nThis PR makes `PROBE_DOUBLE_TOUCH` optional and switched off by default.\r\n\r\nIf you are convinced by my theory, we can drop the double touch code at all and save the new configuration option.","created_at":"2016-07-29T11:44:58Z","updated_at":"2016-07-30T00:41:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"55a3addc57f6310f14ad7b5b85db6c5be1e61fc4","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/milestones/53","html_url":"https://github.com/MarlinFirmware/Marlin/milestones/1.1.0","labels_url":"https://api.github.com/repos/MarlinFirmware/Marlin/milestones/53/labels","id":1726554,"number":53,"title":"1.1.0","description":"Items that we want to complete or fix before the 1.1.0 release.","creator":{"login":"jbrazio","id":264365,"avatar_url":"https://avatars.githubusercontent.com/u/264365?v=3","gravatar_id":"","url":"https://api.github.com/users/jbrazio","html_url":"https://github.com/jbrazio","followers_url":"https://api.github.com/users/jbrazio/followers","following_url":"https://api.github.com/users/jbrazio/following{/other_user}","gists_url":"https://api.github.com/users/jbrazio/gists{/gist_id}","starred_url":"https://api.github.com/users/jbrazio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbrazio/subscriptions","organizations_url":"https://api.github.com/users/jbrazio/orgs","repos_url":"https://api.github.com/users/jbrazio/repos","events_url":"https://api.github.com/users/jbrazio/events{/privacy}","received_events_url":"https://api.github.com/users/jbrazio/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":1006,"state":"open","created_at":"2016-04-23T11:44:07Z","updated_at":"2016-07-29T18:46:57Z","due_on":"2016-07-30T23:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455/commits","review_comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455/comments","review_comment_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/4455/comments","statuses_url":"https://api.github.com/repos/MarlinFirmware/Marlin/statuses/9ee10f1ae7b5194118574c78ab10a0183877f6cc","head":{"label":"AnHardt:double-bump-feature","ref":"double-bump-feature","sha":"9ee10f1ae7b5194118574c78ab10a0183877f6cc","user":{"login":"AnHardt","id":211931,"avatar_url":"https://avatars.githubusercontent.com/u/211931?v=3","gravatar_id":"","url":"https://api.github.com/users/AnHardt","html_url":"https://github.com/AnHardt","followers_url":"https://api.github.com/users/AnHardt/followers","following_url":"https://api.github.com/users/AnHardt/following{/other_user}","gists_url":"https://api.github.com/users/AnHardt/gists{/gist_id}","starred_url":"https://api.github.com/users/AnHardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnHardt/subscriptions","organizations_url":"https://api.github.com/users/AnHardt/orgs","repos_url":"https://api.github.com/users/AnHardt/repos","events_url":"https://api.github.com/users/AnHardt/events{/privacy}","received_events_url":"https://api.github.com/users/AnHardt/received_events","type":"User","site_admin":false},"repo":{"id":43525464,"name":"Marlin","full_name":"AnHardt/Marlin","owner":{"login":"AnHardt","id":211931,"avatar_url":"https://avatars.githubusercontent.com/u/211931?v=3","gravatar_id":"","url":"https://api.github.com/users/AnHardt","html_url":"https://github.com/AnHardt","followers_url":"https://api.github.com/users/AnHardt/followers","following_url":"https://api.github.com/users/AnHardt/following{/other_user}","gists_url":"https://api.github.com/users/AnHardt/gists{/gist_id}","starred_url":"https://api.github.com/users/AnHardt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnHardt/subscriptions","organizations_url":"https://api.github.com/users/AnHardt/orgs","repos_url":"https://api.github.com/users/AnHardt/repos","events_url":"https://api.github.com/users/AnHardt/events{/privacy}","received_events_url":"https://api.github.com/users/AnHardt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/AnHardt/Marlin","description":"Reprap FW with look ahead. SDcard and LCD support. It works on Gen6, Ultimaker, RAMPS and Sanguinololu","fork":true,"url":"https://api.github.com/repos/AnHardt/Marlin","forks_url":"https://api.github.com/repos/AnHardt/Marlin/forks","keys_url":"https://api.github.com/repos/AnHardt/Marlin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AnHardt/Marlin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AnHardt/Marlin/teams","hooks_url":"https://api.github.com/repos/AnHardt/Marlin/hooks","issue_events_url":"https://api.github.com/repos/AnHardt/Marlin/issues/events{/number}","events_url":"https://api.github.com/repos/AnHardt/Marlin/events","assignees_url":"https://api.github.com/repos/AnHardt/Marlin/assignees{/user}","branches_url":"https://api.github.com/repos/AnHardt/Marlin/branches{/branch}","tags_url":"https://api.github.com/repos/AnHardt/Marlin/tags","blobs_url":"https://api.github.com/repos/AnHardt/Marlin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AnHardt/Marlin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AnHardt/Marlin/git/refs{/sha}","trees_url":"https://api.github.com/repos/AnHardt/Marlin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AnHardt/Marlin/statuses/{sha}","languages_url":"https://api.github.com/repos/AnHardt/Marlin/languages","stargazers_url":"https://api.github.com/repos/AnHardt/Marlin/stargazers","contributors_url":"https://api.github.com/repos/AnHardt/Marlin/contributors","subscribers_url":"https://api.github.com/repos/AnHardt/Marlin/subscribers","subscription_url":"https://api.github.com/repos/AnHardt/Marlin/subscription","commits_url":"https://api.github.com/repos/AnHardt/Marlin/commits{/sha}","git_commits_url":"https://api.github.com/repos/AnHardt/Marlin/git/commits{/sha}","comments_url":"https://api.github.com/repos/AnHardt/Marlin/comments{/number}","issue_comment_url":"https://api.github.com/repos/AnHardt/Marlin/issues/comments{/number}","contents_url":"https://api.github.com/repos/AnHardt/Marlin/contents/{+path}","compare_url":"https://api.github.com/repos/AnHardt/Marlin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AnHardt/Marlin/merges","archive_url":"https://api.github.com/repos/AnHardt/Marlin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AnHardt/Marlin/downloads","issues_url":"https://api.github.com/repos/AnHardt/Marlin/issues{/number}","pulls_url":"https://api.github.com/repos/AnHardt/Marlin/pulls{/number}","milestones_url":"https://api.github.com/repos/AnHardt/Marlin/milestones{/number}","notifications_url":"https://api.github.com/repos/AnHardt/Marlin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AnHardt/Marlin/labels{/name}","releases_url":"https://api.github.com/repos/AnHardt/Marlin/releases{/id}","deployments_url":"https://api.github.com/repos/AnHardt/Marlin/deployments","created_at":"2015-10-01T22:54:37Z","updated_at":"2016-07-14T22:39:14Z","pushed_at":"2016-07-29T21:53:52Z","git_url":"git://github.com/AnHardt/Marlin.git","ssh_url":"git@github.com:AnHardt/Marlin.git","clone_url":"https://github.com/AnHardt/Marlin.git","svn_url":"https://github.com/AnHardt/Marlin","homepage":"","size":32612,"stargazers_count":1,"watchers_count":1,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":8,"forks":1,"open_issues":8,"watchers":1,"default_branch":"RCBugFix"}},"base":{"label":"MarlinFirmware:RCBugFix","ref":"RCBugFix","sha":"3367e79fecb34e263c3a104437bc25fe90a6f861","user":{"login":"MarlinFirmware","id":10418365,"avatar_url":"https://avatars.githubusercontent.com/u/10418365?v=3","gravatar_id":"","url":"https://api.github.com/users/MarlinFirmware","html_url":"https://github.com/MarlinFirmware","followers_url":"https://api.github.com/users/MarlinFirmware/followers","following_url":"https://api.github.com/users/MarlinFirmware/following{/other_user}","gists_url":"https://api.github.com/users/MarlinFirmware/gists{/gist_id}","starred_url":"https://api.github.com/users/MarlinFirmware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarlinFirmware/subscriptions","organizations_url":"https://api.github.com/users/MarlinFirmware/orgs","repos_url":"https://api.github.com/users/MarlinFirmware/repos","events_url":"https://api.github.com/users/MarlinFirmware/events{/privacy}","received_events_url":"https://api.github.com/users/MarlinFirmware/received_events","type":"Organization","site_admin":false},"repo":{"id":2200856,"name":"Marlin","full_name":"MarlinFirmware/Marlin","owner":{"login":"MarlinFirmware","id":10418365,"avatar_url":"https://avatars.githubusercontent.com/u/10418365?v=3","gravatar_id":"","url":"https://api.github.com/users/MarlinFirmware","html_url":"https://github.com/MarlinFirmware","followers_url":"https://api.github.com/users/MarlinFirmware/followers","following_url":"https://api.github.com/users/MarlinFirmware/following{/other_user}","gists_url":"https://api.github.com/users/MarlinFirmware/gists{/gist_id}","starred_url":"https://api.github.com/users/MarlinFirmware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarlinFirmware/subscriptions","organizations_url":"https://api.github.com/users/MarlinFirmware/orgs","repos_url":"https://api.github.com/users/MarlinFirmware/repos","events_url":"https://api.github.com/users/MarlinFirmware/events{/privacy}","received_events_url":"https://api.github.com/users/MarlinFirmware/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/MarlinFirmware/Marlin","description":"Optimized firmware for RepRap 3D printers based on the Arduino platform.","fork":false,"url":"https://api.github.com/repos/MarlinFirmware/Marlin","forks_url":"https://api.github.com/repos/MarlinFirmware/Marlin/forks","keys_url":"https://api.github.com/repos/MarlinFirmware/Marlin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MarlinFirmware/Marlin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MarlinFirmware/Marlin/teams","hooks_url":"https://api.github.com/repos/MarlinFirmware/Marlin/hooks","issue_events_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/events{/number}","events_url":"https://api.github.com/repos/MarlinFirmware/Marlin/events","assignees_url":"https://api.github.com/repos/MarlinFirmware/Marlin/assignees{/user}","branches_url":"https://api.github.com/repos/MarlinFirmware/Marlin/branches{/branch}","tags_url":"https://api.github.com/repos/MarlinFirmware/Marlin/tags","blobs_url":"https://api.github.com/repos/MarlinFirmware/Marlin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MarlinFirmware/Marlin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MarlinFirmware/Marlin/git/refs{/sha}","trees_url":"https://api.github.com/repos/MarlinFirmware/Marlin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MarlinFirmware/Marlin/statuses/{sha}","languages_url":"https://api.github.com/repos/MarlinFirmware/Marlin/languages","stargazers_url":"https://api.github.com/repos/MarlinFirmware/Marlin/stargazers","contributors_url":"https://api.github.com/repos/MarlinFirmware/Marlin/contributors","subscribers_url":"https://api.github.com/repos/MarlinFirmware/Marlin/subscribers","subscription_url":"https://api.github.com/repos/MarlinFirmware/Marlin/subscription","commits_url":"https://api.github.com/repos/MarlinFirmware/Marlin/commits{/sha}","git_commits_url":"https://api.github.com/repos/MarlinFirmware/Marlin/git/commits{/sha}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/comments{/number}","issue_comment_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/comments{/number}","contents_url":"https://api.github.com/repos/MarlinFirmware/Marlin/contents/{+path}","compare_url":"https://api.github.com/repos/MarlinFirmware/Marlin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MarlinFirmware/Marlin/merges","archive_url":"https://api.github.com/repos/MarlinFirmware/Marlin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MarlinFirmware/Marlin/downloads","issues_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues{/number}","pulls_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls{/number}","milestones_url":"https://api.github.com/repos/MarlinFirmware/Marlin/milestones{/number}","notifications_url":"https://api.github.com/repos/MarlinFirmware/Marlin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MarlinFirmware/Marlin/labels{/name}","releases_url":"https://api.github.com/repos/MarlinFirmware/Marlin/releases{/id}","deployments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/deployments","created_at":"2011-08-13T08:07:20Z","updated_at":"2016-07-29T14:02:43Z","pushed_at":"2016-07-30T00:34:25Z","git_url":"git://github.com/MarlinFirmware/Marlin.git","ssh_url":"git@github.com:MarlinFirmware/Marlin.git","clone_url":"https://github.com/MarlinFirmware/Marlin.git","svn_url":"https://github.com/MarlinFirmware/Marlin","homepage":"http://www.marlinfw.org/","size":94787,"stargazers_count":1812,"watchers_count":1812,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3175,"mirror_url":null,"open_issues_count":87,"forks":3175,"open_issues":87,"watchers":1812,"default_branch":"RC"}},"_links":{"self":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455"},"html":{"href":"https://github.com/MarlinFirmware/Marlin/pull/4455"},"issue":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/4455"},"comments":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/4455/comments"},"review_comments":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455/comments"},"review_comment":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/4455/commits"},"statuses":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/statuses/9ee10f1ae7b5194118574c78ab10a0183877f6cc"}}}}
{"actor":{"display_login":"AnHardt"}}