{"action":"created","comment":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments/216118836","pull_request_review_id":153541506,"id":216118836,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNjExODgzNg==","diff_hunk":"@@ -2521,23 +2651,41 @@ bool Planner::buffer_segment(const float &a, const float &b, const float &c, con\n  * On CORE machines stepper ABC will be translated from the given XYZ.\n  */\n \n-void Planner::_set_position_mm(const float &a, const float &b, const float &c, const float &e) {\n+void Planner::_set_position_mm(const float &a, const float &b, const float &c\n+  #if ENABLED(HANGPRINTER)\n+    , const float &d\n+  #endif\n+  , const float &e\n+) {\n   #if ENABLED(DISTINCT_E_FACTORS)\n     last_extruder = active_extruder;\n   #endif\n-  position[A_AXIS] = LROUND(a * axis_steps_per_mm[A_AXIS]);\n-  position[B_AXIS] = LROUND(b * axis_steps_per_mm[B_AXIS]);\n-  position[C_AXIS] = LROUND(axis_steps_per_mm[C_AXIS] * (c + (\n-    #if !IS_KINEMATIC && ENABLED(AUTO_BED_LEVELING_UBL)\n-      leveling_active ? ubl.get_z_correction(a, b) :\n+  #if ENABLED(LINE_BUILDUP_COMPENSATION_FEATURE)\n+    position[A_AXIS] = LROUND(k0[A_AXIS] * (SQRT(k1[A_AXIS] + a * k2[A_AXIS]) - sqrtk1[A_AXIS])),\n+    position[B_AXIS] = LROUND(k0[B_AXIS] * (SQRT(k1[B_AXIS] + b * k2[B_AXIS]) - sqrtk1[B_AXIS])),\n+    position[C_AXIS] = LROUND(k0[C_AXIS] * (SQRT(k1[C_AXIS] + c * k2[C_AXIS]) - sqrtk1[C_AXIS])),\n+    position[D_AXIS] = LROUND(k0[D_AXIS] * (SQRT(k1[D_AXIS] + d * k2[D_AXIS]) - sqrtk1[D_AXIS])),\n+  #else\n+    position[A_AXIS] = LROUND(a * axis_steps_per_mm[A_AXIS]);\n+    position[B_AXIS] = LROUND(b * axis_steps_per_mm[B_AXIS]);\n+    position[C_AXIS] = LROUND(axis_steps_per_mm[C_AXIS] * (c + (\n+      #if !IS_KINEMATIC && ENABLED(AUTO_BED_LEVELING_UBL)\n+        leveling_active ? ubl.get_z_correction(a, b) :\n+      #endif\n+      0)\n+    ));","path":"Marlin/planner.cpp","position":534,"original_position":534,"commit_id":"7251ab185235157528eba811eb7117fc00414711","original_commit_id":"7251ab185235157528eba811eb7117fc00414711","user":{"login":"thinkyhead","id":698003,"node_id":"MDQ6VXNlcjY5ODAwMw==","avatar_url":"https://avatars2.githubusercontent.com/u/698003?v=4","gravatar_id":"","url":"https://api.github.com/users/thinkyhead","html_url":"https://github.com/thinkyhead","followers_url":"https://api.github.com/users/thinkyhead/followers","following_url":"https://api.github.com/users/thinkyhead/following{/other_user}","gists_url":"https://api.github.com/users/thinkyhead/gists{/gist_id}","starred_url":"https://api.github.com/users/thinkyhead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thinkyhead/subscriptions","organizations_url":"https://api.github.com/users/thinkyhead/orgs","repos_url":"https://api.github.com/users/thinkyhead/repos","events_url":"https://api.github.com/users/thinkyhead/events{/privacy}","received_events_url":"https://api.github.com/users/thinkyhead/received_events","type":"User","site_admin":false},"body":"@tobbelobb — This is one of the new changes I wasn't sure how to adapt to `HANGPRINTER`. UBL leveling is applied to the C axis when directly setting the position in the planner. This is only needed for UBL, and not the other leveling options, because it is unique in not being tightly-integrated in the planner.","created_at":"2018-09-08T02:59:44Z","updated_at":"2018-09-08T02:59:44Z","html_url":"https://github.com/MarlinFirmware/Marlin/pull/9180#discussion_r216118836","pull_request_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments/216118836"},"html":{"href":"https://github.com/MarlinFirmware/Marlin/pull/9180#discussion_r216118836"},"pull_request":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180"}}},"pull_request":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180","id":162849320,"node_id":"MDExOlB1bGxSZXF1ZXN0MTYyODQ5MzIw","html_url":"https://github.com/MarlinFirmware/Marlin/pull/9180","diff_url":"https://github.com/MarlinFirmware/Marlin/pull/9180.diff","patch_url":"https://github.com/MarlinFirmware/Marlin/pull/9180.patch","issue_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/9180","number":9180,"state":"open","locked":false,"title":"[1.1.x] Hangprinter support","user":{"login":"tobbelobb","id":5753253,"node_id":"MDQ6VXNlcjU3NTMyNTM=","avatar_url":"https://avatars2.githubusercontent.com/u/5753253?v=4","gravatar_id":"","url":"https://api.github.com/users/tobbelobb","html_url":"https://github.com/tobbelobb","followers_url":"https://api.github.com/users/tobbelobb/followers","following_url":"https://api.github.com/users/tobbelobb/following{/other_user}","gists_url":"https://api.github.com/users/tobbelobb/gists{/gist_id}","starred_url":"https://api.github.com/users/tobbelobb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobbelobb/subscriptions","organizations_url":"https://api.github.com/users/tobbelobb/orgs","repos_url":"https://api.github.com/users/tobbelobb/repos","events_url":"https://api.github.com/users/tobbelobb/events{/privacy}","received_events_url":"https://api.github.com/users/tobbelobb/received_events","type":"User","site_admin":false},"body":"…for saving anchor locations in eeprom, and new defines.\r\n\r\nNew gcodes:\r\n - G6\r\n - G95 (torque mode)\r\n - G96 (mark encoder reference point)\r\n\r\nAdapted gcodes that still use XYZE parameters:\r\n - G0/G1 (inverse kinematics)\r\n - G92\r\n\r\nAdapted gcodes that use ABCDE parameters:\r\n - M92\r\n - M201\r\n - M204\r\n - M205\r\n - M906\r\n\r\nAdapted gcodes with other parameters\r\n - M665 (set Hangprinter anchor positions)\r\n - M114 S1 (read encoder mm movement since reference point was marked)\r\n\r\nNew features that also work on non-Hangprinter machines:\r\n - `UNREGISTERED_MOVE_SUPPORT`\r\n - `MECHADUINO_I2C_COMMANDS`\r\n\r\nFeatures that are Hangprinter specific:\r\n - `LINE_BUILDUP_COMPENSATION_FEATURE`\r\n\r\nOther changes:\r\n - Uses `NUM_AXIS[_N]` and `MOV_AXIS` instead of `XYZE[_N]` and `XYZ` for indexing and initializing arrays that refer to kinematic axes (movement axes on physical machine) rather than the cartesian axes of incoming gcode.\r\n - Uses `E_CART` instead of `E_AXIS` for indexing arrays that refer to cartesian axes of incoming gcode.\r\n\r\nDiscussion ahead of this PR: #9101 ","created_at":"2018-01-14T23:35:23Z","updated_at":"2018-09-08T02:59:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"812f308d8e925a25eacd9988a10091e734769a0d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":195632380,"node_id":"MDU6TGFiZWwxOTU2MzIzODA=","url":"https://api.github.com/repos/MarlinFirmware/Marlin/labels/C:%20Hardware/Boards","name":"C: Hardware/Boards","color":"006b75","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180/commits","review_comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180/comments","review_comment_url":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/9180/comments","statuses_url":"https://api.github.com/repos/MarlinFirmware/Marlin/statuses/7251ab185235157528eba811eb7117fc00414711","head":{"label":"tobbelobb:bugfix-1.1.x_hangprinter","ref":"bugfix-1.1.x_hangprinter","sha":"7251ab185235157528eba811eb7117fc00414711","user":{"login":"tobbelobb","id":5753253,"node_id":"MDQ6VXNlcjU3NTMyNTM=","avatar_url":"https://avatars2.githubusercontent.com/u/5753253?v=4","gravatar_id":"","url":"https://api.github.com/users/tobbelobb","html_url":"https://github.com/tobbelobb","followers_url":"https://api.github.com/users/tobbelobb/followers","following_url":"https://api.github.com/users/tobbelobb/following{/other_user}","gists_url":"https://api.github.com/users/tobbelobb/gists{/gist_id}","starred_url":"https://api.github.com/users/tobbelobb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobbelobb/subscriptions","organizations_url":"https://api.github.com/users/tobbelobb/orgs","repos_url":"https://api.github.com/users/tobbelobb/repos","events_url":"https://api.github.com/users/tobbelobb/events{/privacy}","received_events_url":"https://api.github.com/users/tobbelobb/received_events","type":"User","site_admin":false},"repo":{"id":114796854,"node_id":"MDEwOlJlcG9zaXRvcnkxMTQ3OTY4NTQ=","name":"Marlin","full_name":"tobbelobb/Marlin","owner":{"login":"tobbelobb","id":5753253,"node_id":"MDQ6VXNlcjU3NTMyNTM=","avatar_url":"https://avatars2.githubusercontent.com/u/5753253?v=4","gravatar_id":"","url":"https://api.github.com/users/tobbelobb","html_url":"https://github.com/tobbelobb","followers_url":"https://api.github.com/users/tobbelobb/followers","following_url":"https://api.github.com/users/tobbelobb/following{/other_user}","gists_url":"https://api.github.com/users/tobbelobb/gists{/gist_id}","starred_url":"https://api.github.com/users/tobbelobb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobbelobb/subscriptions","organizations_url":"https://api.github.com/users/tobbelobb/orgs","repos_url":"https://api.github.com/users/tobbelobb/repos","events_url":"https://api.github.com/users/tobbelobb/events{/privacy}","received_events_url":"https://api.github.com/users/tobbelobb/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tobbelobb/Marlin","description":"Optimized firmware for RepRap 3D printers based on the Arduino platform.","fork":true,"url":"https://api.github.com/repos/tobbelobb/Marlin","forks_url":"https://api.github.com/repos/tobbelobb/Marlin/forks","keys_url":"https://api.github.com/repos/tobbelobb/Marlin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tobbelobb/Marlin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tobbelobb/Marlin/teams","hooks_url":"https://api.github.com/repos/tobbelobb/Marlin/hooks","issue_events_url":"https://api.github.com/repos/tobbelobb/Marlin/issues/events{/number}","events_url":"https://api.github.com/repos/tobbelobb/Marlin/events","assignees_url":"https://api.github.com/repos/tobbelobb/Marlin/assignees{/user}","branches_url":"https://api.github.com/repos/tobbelobb/Marlin/branches{/branch}","tags_url":"https://api.github.com/repos/tobbelobb/Marlin/tags","blobs_url":"https://api.github.com/repos/tobbelobb/Marlin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tobbelobb/Marlin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tobbelobb/Marlin/git/refs{/sha}","trees_url":"https://api.github.com/repos/tobbelobb/Marlin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tobbelobb/Marlin/statuses/{sha}","languages_url":"https://api.github.com/repos/tobbelobb/Marlin/languages","stargazers_url":"https://api.github.com/repos/tobbelobb/Marlin/stargazers","contributors_url":"https://api.github.com/repos/tobbelobb/Marlin/contributors","subscribers_url":"https://api.github.com/repos/tobbelobb/Marlin/subscribers","subscription_url":"https://api.github.com/repos/tobbelobb/Marlin/subscription","commits_url":"https://api.github.com/repos/tobbelobb/Marlin/commits{/sha}","git_commits_url":"https://api.github.com/repos/tobbelobb/Marlin/git/commits{/sha}","comments_url":"https://api.github.com/repos/tobbelobb/Marlin/comments{/number}","issue_comment_url":"https://api.github.com/repos/tobbelobb/Marlin/issues/comments{/number}","contents_url":"https://api.github.com/repos/tobbelobb/Marlin/contents/{+path}","compare_url":"https://api.github.com/repos/tobbelobb/Marlin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tobbelobb/Marlin/merges","archive_url":"https://api.github.com/repos/tobbelobb/Marlin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tobbelobb/Marlin/downloads","issues_url":"https://api.github.com/repos/tobbelobb/Marlin/issues{/number}","pulls_url":"https://api.github.com/repos/tobbelobb/Marlin/pulls{/number}","milestones_url":"https://api.github.com/repos/tobbelobb/Marlin/milestones{/number}","notifications_url":"https://api.github.com/repos/tobbelobb/Marlin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tobbelobb/Marlin/labels{/name}","releases_url":"https://api.github.com/repos/tobbelobb/Marlin/releases{/id}","deployments_url":"https://api.github.com/repos/tobbelobb/Marlin/deployments","created_at":"2017-12-19T18:12:09Z","updated_at":"2017-12-19T18:12:15Z","pushed_at":"2018-09-08T02:54:25Z","git_url":"git://github.com/tobbelobb/Marlin.git","ssh_url":"git@github.com:tobbelobb/Marlin.git","clone_url":"https://github.com/tobbelobb/Marlin.git","svn_url":"https://github.com/tobbelobb/Marlin","homepage":"http://www.marlinfw.org/","size":70051,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"1.1.x"}},"base":{"label":"MarlinFirmware:bugfix-1.1.x","ref":"bugfix-1.1.x","sha":"14bf319db80baaa772799025e3104629381ef9d3","user":{"login":"MarlinFirmware","id":10418365,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDE4MzY1","avatar_url":"https://avatars3.githubusercontent.com/u/10418365?v=4","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,"node_id":"MDEwOlJlcG9zaXRvcnkyMjAwODU2","name":"Marlin","full_name":"MarlinFirmware/Marlin","owner":{"login":"MarlinFirmware","id":10418365,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEwNDE4MzY1","avatar_url":"https://avatars3.githubusercontent.com/u/10418365?v=4","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":"2018-09-07T23:13:49Z","pushed_at":"2018-09-08T02:54:27Z","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":83209,"stargazers_count":4225,"watchers_count":4225,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5941,"mirror_url":null,"archived":false,"open_issues_count":827,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":5941,"open_issues":827,"watchers":4225,"default_branch":"1.1.x"}},"_links":{"self":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180"},"html":{"href":"https://github.com/MarlinFirmware/Marlin/pull/9180"},"issue":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/9180"},"comments":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/9180/comments"},"review_comments":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180/comments"},"review_comment":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/pulls/9180/commits"},"statuses":{"href":"https://api.github.com/repos/MarlinFirmware/Marlin/statuses/7251ab185235157528eba811eb7117fc00414711"}},"author_association":"NONE"}}
{"actor":{"display_login":"thinkyhead"}}