{"action":"created","issue":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/5234","repository_url":"https://api.github.com/repos/MarlinFirmware/Marlin","labels_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/5234/labels{/name}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/5234/comments","events_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/5234/events","html_url":"https://github.com/MarlinFirmware/Marlin/issues/5234","id":189919921,"number":5234,"title":"RCBugFix's M48 broke with BLTouch","user":{"login":"naive-user","id":23514218,"avatar_url":"https://avatars.githubusercontent.com/u/23514218?v=3","gravatar_id":"","url":"https://api.github.com/users/naive-user","html_url":"https://github.com/naive-user","followers_url":"https://api.github.com/users/naive-user/followers","following_url":"https://api.github.com/users/naive-user/following{/other_user}","gists_url":"https://api.github.com/users/naive-user/gists{/gist_id}","starred_url":"https://api.github.com/users/naive-user/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naive-user/subscriptions","organizations_url":"https://api.github.com/users/naive-user/orgs","repos_url":"https://api.github.com/users/naive-user/repos","events_url":"https://api.github.com/users/naive-user/events{/privacy}","received_events_url":"https://api.github.com/users/naive-user/received_events","type":"User","site_admin":false},"labels":[{"id":91739409,"url":"https://api.github.com/repos/MarlinFirmware/Marlin/labels/Bug:%20Potential%20?","name":"Bug: Potential ?","color":"eb6420","default":false},{"id":366367082,"url":"https://api.github.com/repos/MarlinFirmware/Marlin/labels/Support:%20Homing%20&%20Leveling","name":"Support: Homing & Leveling","color":"006b75","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":51,"created_at":"2016-11-17T02:48:13Z","updated_at":"2016-11-21T13:01:03Z","closed_at":null,"body":"RCBugFix seems to work ok on my i3 printer with a servo and Z-Probe-Leg.   But it doesn't work with the BLTOUCH turned on and a BL Touch probe on my other machine.\r\n\r\nG28 works OK.    But M48 is very sick.   I turned on the Debug stuff with M111 S255.   The first probe by M48 looks normal.   But then it moves very slow and drives the probe and nozzle into the bed.  I've included the G28 log.  The M48 log is at the very end.   This is what came out with the debug information turned on:\r\n\r\n\r\nPrinter is now online.\r\n```\r\n>>> M111 S255\r\nSENDING:M111 S255\r\necho:DEBUG:ECHO,INFO,ERRORS,DRYRUN,COMMUNICATION,LEVELING\r\n>>> G28\r\nSENDING:G28\r\necho:G28\r\n>>> gcode_G28\r\nMachine Type: Cartesian\r\nProbe: BLTOUCH\r\nProbe Offset X:12 Y:-17 Z:-1.00 (Right-Front & Below Nozzle)\r\nAuto Bed Leveling: LINEAR\r\nreset_bed_level\r\n  current_position=(0.00, 0.00, 0.00) : setup_for_endstop_or_probe_move\r\n> endstops.enable(true)\r\nRaise Z (before homing) to 15.00\r\n>>> do_blocking_move_to(0.00, 0.00, 15.00)\r\n<<< do_blocking_move_to\r\n>>> homeaxis(Y)\r\nHome 1 Fast:\r\n>>> do_homing_move(Y, 615.00, 0.00)\r\n  current_position=(0.00, 0.00, 15.00) : sync_plan_position\r\n<<< do_homing_move(Y)\r\nMove Away:\r\n>>> do_homing_move(Y, -5.00, 0.00)\r\n  current_position=(0.00, 0.00, 15.00) : sync_plan_position\r\n<<< do_homing_move(Y)\r\nHome 2 Slow:\r\n>>> do_homing_move(Y, 10.00, 25.00)\r\n  current_position=(0.00, 0.00, 15.00) : sync_plan_position\r\n<<< do_homing_move(Y)\r\n>>> set_axis_is_at_home(Y)\r\nFor Y axis:\r\n home_offset = 0.00\r\n position_shift = 0.00\r\n soft_endstop_min = 0.00\r\n soft_endstop_max = 410.00\r\n> home_offset[Y] = 0.00\r\n  current_position=(0.00, 410.00, 15.00) :\r\n<<< set_axis_is_at_home(Y)\r\n  current_position=(0.00, 410.00, 15.00) : sync_plan_position\r\n  current_position=(0.00, 410.00, 15.00) : > AFTER set_axis_is_at_home\r\n<<< homeaxis(Y)\r\n  current_position=(0.00, 410.00, 15.00) : > homeY\r\n>>> homeaxis(X)\r\nHome 1 Fast:\r\n>>> do_homing_move(X, -615.00, 0.00)\r\n  current_position=(0.00, 410.00, 15.00) : sync_plan_position\r\n<<< do_homing_move(X)\r\nMove Away:\r\n>>> do_homing_move(X, 5.00, 0.00)\r\n  current_position=(0.00, 410.00, 15.00) : sync_plan_position\r\n<<< do_homing_move(X)\r\nHome 2 Slow:\r\n>>> do_homing_move(X, -10.00, 25.00)\r\n  current_position=(0.00, 410.00, 15.00) : sync_plan_position\r\n<<< do_homing_move(X)\r\n>>> set_axis_is_at_home(X)\r\nFor X axis:\r\n home_offset = 0.00\r\n position_shift = 0.00\r\n soft_endstop_min = 0.00\r\n soft_endstop_max = 410.00\r\n> home_offset[X] = 0.00\r\n  current_position=(0.00, 410.00, 15.00) :\r\n<<< set_axis_is_at_home(X)\r\n  current_position=(0.00, 410.00, 15.00) : sync_plan_position\r\n  current_position=(0.00, 410.00, 15.00) : > AFTER set_axis_is_at_home\r\n<<< homeaxis(X)\r\n  current_position=(0.00, 410.00, 15.00) : > homeX\r\nZ_SAFE_HOMING >>>\r\n  current_position=(0.00, 410.00, 15.00) : sync_plan_position\r\n  destination=(193.00, 222.00, 15.00) : Z_SAFE_HOMING\r\n>>> do_blocking_move_to(193.00, 222.00, 15.00)\r\n<<< do_blocking_move_to\r\n>>> homeaxis(Z)\r\n  current_position=(193.00, 222.00, 15.00) : set_probe_deployed\r\ndeploy: 1\r\ndo_probe_raise(10.00)\r\n>>> do_blocking_move_to(193.00, 222.00, 15.00)\r\n<<< do_blocking_move_to\r\nHome 1 Fast:\r\n>>> do_homing_move(Z, -799.50, 0.00)\r\nset_bltouch_deployed(1)\r\n  current_position=(193.00, 222.00, 0.00) : sync_plan_position\r\nset_bltouch_deployed(0)\r\n<<< do_homing_move(Z)\r\nMove Away:\r\n>>> do_homing_move(Z, 6.00, 0.00)\r\n  current_position=(193.00, 222.00, 0.00) : sync_plan_position\r\n<<< do_homing_move(Z)\r\nHome 2 Slow:\r\n>>> do_homing_move(Z, -12.00, 3.00)\r\nset_bltouch_deployed(1)\r\n  current_position=(193.00, 222.00, 0.00) : sync_plan_position\r\nset_bltouch_deployed(0)\r\n<<< do_homing_move(Z)\r\n>>> set_axis_is_at_home(Z)\r\nFor Z axis:\r\n home_offset = 0.00\r\n position_shift = 0.00\r\n soft_endstop_min = 0.00\r\n soft_endstop_max = 533.00\r\n*** Z HOMED WITH PROBE (Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) ***\r\n> zprobe_zoffset = -1.00\r\n> home_offset[Z] = 0.00\r\n  current_position=(193.00, 222.00, 1.00) :\r\n<<< set_axis_is_at_home(Z)\r\n  current_position=(193.00, 222.00, 1.00) : sync_plan_position\r\n  current_position=(193.00, 222.00, 1.00) : > AFTER set_axis_is_at_home\r\n  current_position=(193.00, 222.00, 1.00) : set_probe_deployed\r\ndeploy: 0\r\ndo_probe_raise(10.00)\r\n>>> do_blocking_move_to(193.00, 222.00, 11.00)\r\n<<< do_blocking_move_to\r\n>>> do_blocking_move_to(193.00, 222.00, 11.00)\r\n<<< do_blocking_move_to\r\n<<< homeaxis(Z)\r\n<<< Z_SAFE_HOMING\r\n  current_position=(193.00, 222.00, 11.00) : > (home_all_axis || homeZ) > final\r\n  current_position=(193.00, 222.00, 11.00) : sync_plan_position\r\n  current_position=(193.00, 222.00, 11.00) : clean_up_after_endstop_or_probe_move\r\n<<< gcode_G28\r\n\r\n\r\n\r\n>>> M48 V4\r\nSENDING:M48 V4\r\necho:M48 V4\r\nM48 Z-Probe Repeatability Test\r\nPositioning the probe...\r\nreset_bed_level\r\n  current_position=(193.00, 222.00, 11.00) : setup_for_endstop_or_probe_move\r\n>>> probe_pt(205.00, 205.00, no stow)\r\n  current_position=(193.00, 222.00, 11.00) :\r\ndo_probe_raise(5.00)\r\n>>> do_blocking_move_to(193.00, 222.00, 11.00)\r\n<<< do_blocking_move_to\r\n  current_position=(193.00, 222.00, 11.00) : set_probe_deployed\r\ndeploy: 1\r\ndo_probe_raise(10.00)\r\n>>> do_blocking_move_to(193.00, 222.00, 11.00)\r\n<<< do_blocking_move_to\r\n  current_position=(193.00, 222.00, 11.00) : >>> run_z_probe\r\n  current_position=(193.00, 222.00, 11.00) : >>> do_probe_move\r\nset_bltouch_deployed(1)\r\n>>> do_blocking_move_to(193.00, 222.00, -543.00)\r\n<<< do_blocking_move_to\r\nset_bltouch_deployed(0)\r\n  current_position=(193.00, 222.00, 6.66) : sync_plan_position\r\n  current_position=(193.00, 222.00, 6.66) : <<< do_probe_move\r\n1st Probe Z:6.66\r\n>>> do_blocking_move_to(193.00, 222.00, 12.66)\r\n<<< do_blocking_move_to\r\n  current_position=(193.00, 222.00, 12.66) : >>> do_probe_move\r\nset_bltouch_deployed(1)\r\n>>> do_blocking_move_to(193.00, 222.00, -543.00)\r\n```\r\n\r\nAt this point, the Z Axis is very slowly descending into the bed.  It won't recognize that the probe is touched."},"comment":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/comments/261930933","html_url":"https://github.com/MarlinFirmware/Marlin/issues/5234#issuecomment-261930933","issue_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/5234","id":261930933,"user":{"login":"bgort","id":8062568,"avatar_url":"https://avatars.githubusercontent.com/u/8062568?v=3","gravatar_id":"","url":"https://api.github.com/users/bgort","html_url":"https://github.com/bgort","followers_url":"https://api.github.com/users/bgort/followers","following_url":"https://api.github.com/users/bgort/following{/other_user}","gists_url":"https://api.github.com/users/bgort/gists{/gist_id}","starred_url":"https://api.github.com/users/bgort/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgort/subscriptions","organizations_url":"https://api.github.com/users/bgort/orgs","repos_url":"https://api.github.com/users/bgort/repos","events_url":"https://api.github.com/users/bgort/events{/privacy}","received_events_url":"https://api.github.com/users/bgort/received_events","type":"User","site_admin":false},"created_at":"2016-11-21T13:01:03Z","updated_at":"2016-11-21T13:01:03Z","body":"> I'd imagine a #define RESET_BLTOUCH_BETWEEN_PROBES, referenced/used in the appropriate function(s) - perhaps in calls to set_bltouch_deployed(false), which could simply send the 160°/'RESET' instead of the 90°/'UP'/STOW - would pretty easily do the job in a way that shouldn't necessarily require any potentially complicated waiting at any point.\r\n\r\nDisregard this - it doesn't actually reset when there's no error condition.  Could check and then reset, though."}}
{"actor":{"display_login":"bgort"}}