From: Ian Jackson Date: Wed, 1 Aug 2012 20:12:14 +0000 (+0100) Subject: M206: always use homing ("homeing") offsets X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=05e455315f5429046a76632f17009c350e2ad732;p=marlin.git M206: always use homing ("homeing") offsets Previously the parameters set in M206 would only be used if a G82 command was sent with specific axis home values. This limits its usefulness. Really, we should have a way to adjust the XYZ homing of a machine in the eeprom. So as the first stage of this, make M206 affect every home command. The values set using M206 are now added to the configuration variables [XYZ]_HOME_POS. This is achieved by replacing all uses of [XYZ]_HOME_POS in the code by [XYZ]_HOME_POS_A which is a macro which includes the adjustment. A question arises: if the M206 offset is set, should this adjustment to the home position shift or change the possible range of movement permitted by the software endstops ? I have taken the view that the software endstops are a backstop safety feature which is not necessarily entirely accurate, and that reducing the scope of movement is not desirable. I have therefore implemented it so that negative values for M206 increase the total range of movement, whereas positive values leave it unchanged. So for example with #define X_MIN_POS 0 #define X_HOME_POS 0 #define X_MAX_POS 100 M206 X-10 would permit the machine to move from the endstop (considered X=-10) 110mm in the positive X direction (considered X=+100). M206 X+10 would permit the machine to move from the endstop (considered X=-10) 100mm in the positive X direction (considered X=+110). fixes #200 (in ErikZalm/Marlin). Signed-off-by: Ian Jackson ---