{"action":"created","issue":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2877","labels_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2877/labels{/name}","comments_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2877/comments","events_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2877/events","html_url":"https://github.com/MarlinFirmware/Marlin/issues/2877","id":124104045,"number":2877,"title":"make Z safe homing independent of auto bed leveling","user":{"login":"MacTheApple","id":8527988,"avatar_url":"https://avatars.githubusercontent.com/u/8527988?v=3","gravatar_id":"","url":"https://api.github.com/users/MacTheApple","html_url":"https://github.com/MacTheApple","followers_url":"https://api.github.com/users/MacTheApple/followers","following_url":"https://api.github.com/users/MacTheApple/following{/other_user}","gists_url":"https://api.github.com/users/MacTheApple/gists{/gist_id}","starred_url":"https://api.github.com/users/MacTheApple/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MacTheApple/subscriptions","organizations_url":"https://api.github.com/users/MacTheApple/orgs","repos_url":"https://api.github.com/users/MacTheApple/repos","events_url":"https://api.github.com/users/MacTheApple/events{/privacy}","received_events_url":"https://api.github.com/users/MacTheApple/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-12-28T18:29:35Z","updated_at":"2016-01-01T23:41:02Z","closed_at":null,"body":"I have a modified bed on my printer that is not in line with the X and Y endstops, so I need to be able to tell it to move to a specific spot to home Z. Right now, in order to do that, I would have to enable auto-bed leveling, which is incompatible with my printbed. I would rather use mesh bed leveling, but there appears to be no way to manually set the XY position for Z homing in that mode. Is there a specific reason that the firmware will not compile if z safe homing is enabled outside the auto bed leveling section, and could it be made to operate independently of any specific bed leveling feature?"},"comment":{"url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/comments/168350894","html_url":"https://github.com/MarlinFirmware/Marlin/issues/2877#issuecomment-168350894","issue_url":"https://api.github.com/repos/MarlinFirmware/Marlin/issues/2877","id":168350894,"user":{"login":"Wackerbarth","id":505323,"avatar_url":"https://avatars.githubusercontent.com/u/505323?v=3","gravatar_id":"","url":"https://api.github.com/users/Wackerbarth","html_url":"https://github.com/Wackerbarth","followers_url":"https://api.github.com/users/Wackerbarth/followers","following_url":"https://api.github.com/users/Wackerbarth/following{/other_user}","gists_url":"https://api.github.com/users/Wackerbarth/gists{/gist_id}","starred_url":"https://api.github.com/users/Wackerbarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wackerbarth/subscriptions","organizations_url":"https://api.github.com/users/Wackerbarth/orgs","repos_url":"https://api.github.com/users/Wackerbarth/repos","events_url":"https://api.github.com/users/Wackerbarth/events{/privacy}","received_events_url":"https://api.github.com/users/Wackerbarth/received_events","type":"User","site_admin":false},"created_at":"2016-01-01T23:41:02Z","updated_at":"2016-01-01T23:41:02Z","body":"I agree with your general organization.\n\nHowever, I have never seen why all of these defines are conditional at all.\nThe conditions come into effect when we allocate storage for the coefficients of some mechanism.\nUntil then, they are just defining preprocessor names.\n\nSo, I would eliminate all of the #if/#endif from the Configuration section\n\nWe can still organize the items in sections according to functionality.\nBut things would be less cluttered and not buried in obfuscating nested conditionsl blocks.\n\n> On Jan 1, 2016, at 5:32 PM, MacTheApple <notifications@github.com> wrote:\n> \n> Ok, after looking at it a bit more, it might be better if there was just had a section for the type of z axis sensor used, with all the options for that sensor being in that section, If I'm using a prox sensor and I don't want to use auto bed leveling, I cant access the option to use an alternate z min probe pin either.\n> \n> It would be mush more usable if the statements went:\n> \n> //===========================================================================\n> //==============================Z Endstop Options ===========================\n> //===========================================================================\n> // Only one of these can be on at a time.\n> //#define Z_probe_Prox //enable if you have a prox sensor on Z\n> //#define Z_probe_Servo //enable if you have a servo sensor on Z\n> #define Z_probe_mech_endstop //leave enabled unless you have a special type of endstop\n> \n> \n> #If Enabled(Z_probe_Prox) \n> < all prox settings go here (including alt z min probe, Z_safe homing, etc)>\n>  #endif\n> #If Enabled(Z_probe_Servo) \n> < all servo settings go here(sled options, other servo stuff)>\n>  #endif\n> #If Enabled(Z_probe_mech_endstop) \n> < all mech_endstop settings go here>\n>  #endif\n> \n> //===========================================================================\n> //=========================== Manual Bed Leveling ===========================\n> //===========================================================================\n> \n> //Can use any sensor type\n> <All manual/mesh bed leveling stuff goes here, and any variables needed for any of the probes are set here>\n> \n> //===========================================================================\n> //============================ Bed Auto Leveling ============================\n> //===========================================================================\n> \n> //Must use either servo or proximity sensor\n> <All auto bed leveling stuff goes here, and any variables needed for servos and prox sensors are set here>\n> —\n> Reply to this email directly or view it on GitHub <https://github.com/MarlinFirmware/Marlin/issues/2877#issuecomment-168350495>.\n> \n\n"}}