<font face="Arial, Verdana">I have made a printer:</font>
core-XY
* requires the X-homing to be done after Y-homing
* end stops on X-min (left) and Y-max (rear)
* requires the Y to move 10mm beyond the Y-homing sensor
I have managed to configure the printer to work, by setting "max_software_endstop_y false". This poses the risk of the user going beyond normal printing boundaries with the controller, or some externally connected software.
Do I overlook a configuration possibility with the standard configuration.h?
"
<font face="Arial, Verdana">// ##########################################################################################</font>
<font face="Arial, Verdana">// ## Endstop configuration ##</font>
<font face="Arial, Verdana">// ##########################################################################################</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">/* By default all endstops are pulled up to HIGH. You need a pull-up if you</font>
<font face="Arial, Verdana">use a mechanical endstop connected with GND. Set value to false for no pull-up</font>
<font face="Arial, Verdana">on this endstop.</font>
<font face="Arial, Verdana">/</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP false // ?????</font>
<font face="Arial, Verdana">#define ENDSTOP_INVERTING false</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP_X_MIN ENDSTOP_PULLUP</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP_Y_MIN ENDSTOP_PULLUP</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP_Z_MIN ENDSTOP_PULLUP</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP_X_MAX ENDSTOP_PULLUP</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP_Y_MAX ENDSTOP_PULLUP</font>
<font face="Arial, Verdana">#define ENDSTOP_PULLUP_Z_MAX ENDSTOP_PULLUP</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// Set to true to invert the logic of the endstops</font>
<font face="Arial, Verdana">#define ENDSTOP_X_MIN_INVERTING ENDSTOP_INVERTING</font>
<font face="Arial, Verdana">#define ENDSTOP_Y_MIN_INVERTING ENDSTOP_INVERTING</font>
<font face="Arial, Verdana">#define ENDSTOP_Z_MIN_INVERTING ENDSTOP_INVERTING</font>
<font face="Arial, Verdana">#define ENDSTOP_X_MAX_INVERTING ENDSTOP_INVERTING</font>
<font face="Arial, Verdana">#define ENDSTOP_Y_MAX_INVERTING ENDSTOP_INVERTING</font>
<font face="Arial, Verdana">#define ENDSTOP_Z_MAX_INVERTING ENDSTOP_INVERTING</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// Set the values true where you have a hardware endstop. The Pin number is taken from pins.h.</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">#define MIN_HARDWARE_ENDSTOP_X true</font>
<font face="Arial, Verdana">#define MIN_HARDWARE_ENDSTOP_Y false</font>
<font face="Arial, Verdana">#define MIN_HARDWARE_ENDSTOP_Z true</font>
<font face="Arial, Verdana">#define MAX_HARDWARE_ENDSTOP_X false</font>
<font face="Arial, Verdana">#define MAX_HARDWARE_ENDSTOP_Y true</font>
<font face="Arial, Verdana">#define MAX_HARDWARE_ENDSTOP_Z false</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">//If your axes are only moving in one direction, make sure the endstops are connected properly.</font>
<font face="Arial, Verdana">//If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">//// ADVANCED SETTINGS - to tweak parameters</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1</font>
<font face="Arial, Verdana">#define X_ENABLE_ON 1</font>
<font face="Arial, Verdana">#define Y_ENABLE_ON 1</font>
<font face="Arial, Verdana">#define Z_ENABLE_ON 1</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// Disables axis when it's not being used.</font>
<font face="Arial, Verdana">#define DISABLE_X false</font>
<font face="Arial, Verdana">#define DISABLE_Y false</font>
<font face="Arial, Verdana">#define DISABLE_Z false</font>
<font face="Arial, Verdana">#define DISABLE_E false</font>
<font face="Arial, Verdana">/* If you want to keep z motor running on stepper timeout, remove comments below.</font>
<font face="Arial, Verdana"> This may be useful if your z bed moves when motors are disabled. Will still</font>
<font face="Arial, Verdana"> turn z off when heaters get also disabled.</font>
<font face="Arial, Verdana">*/</font>
<font face="Arial, Verdana">//#define PREVENT_Z_DISABLE_ON_STEPPER_TIMEOUT</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// Inverting axis direction</font>
<font face="Arial, Verdana">#define INVERT_X_DIR false</font>
<font face="Arial, Verdana">#define INVERT_Y_DIR false</font>
<font face="Arial, Verdana">#define INVERT_Z_DIR false</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">//// ENDSTOP SETTINGS:</font>
<font face="Arial, Verdana">// Sets direction of endstops when homing; 1=MAX, -1=MIN</font>
<font face="Arial, Verdana">#define X_HOME_DIR -1</font>
<font face="Arial, Verdana">#define Y_HOME_DIR 1</font>
<font face="Arial, Verdana">#define Z_HOME_DIR -1</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// Delta robot radius endstop</font>
<font face="Arial, Verdana">#define max_software_endstop_r true</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">//If true, axis won't move to coordinates less than zero.</font>
<font face="Arial, Verdana">#define min_software_endstop_x true</font>
<font face="Arial, Verdana">#define min_software_endstop_y true</font>
<font face="Arial, Verdana">#define min_software_endstop_z true</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">//If true, axis won't move to coordinates greater than the defined lengths below.</font>
<font face="Arial, Verdana">#define max_software_endstop_x true</font>
<font face="Arial, Verdana">#define max_software_endstop_y false</font>
<font face="Arial, Verdana">#define max_software_endstop_z true</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// If during homing the endstop is reached, how many mm should the printer move back for the second try</font>
<font face="Arial, Verdana">#define ENDSTOP_X_BACK_MOVE 5</font>
<font face="Arial, Verdana">#define ENDSTOP_Y_BACK_MOVE 5</font>
<font face="Arial, Verdana">#define ENDSTOP_Z_BACK_MOVE 3</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// For higher precision you can reduce the speed for the second test on the endstop</font>
<font face="Arial, Verdana">// during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed</font>
<font face="Arial, Verdana">#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 4</font>
<font face="Arial, Verdana">#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 4</font>
<font face="Arial, Verdana">#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 4</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// When you have several endstops in one circuit you need to disable it after homing by moving a</font>
<font face="Arial, Verdana">// small amount back. This is also the case with H-belt systems.</font>
<font face="Arial, Verdana">// doesn't work with negative values</font>
<font face="Arial, Verdana">#define ENDSTOP_X_BACK_ON_HOME 0.0</font>
<font face="Arial, Verdana">#define ENDSTOP_Y_BACK_ON_HOME 0.0</font>
<font face="Arial, Verdana">#define ENDSTOP_Z_BACK_ON_HOME 0.0</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// You can disable endstop checking for print moves. This is needed, if you get sometimes</font>
<font face="Arial, Verdana">// false signals from your endstops. If your endstops don't give false signals, you</font>
<font face="Arial, Verdana">// can set it on for safety.</font>
<font face="Arial, Verdana">#define ALWAYS_CHECK_ENDSTOPS false</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// maximum positions in mm - only fixed numbers!</font>
<font face="Arial, Verdana">// For delta robot Z_MAX_LENGTH is the maximum travel of the towers and should be set to the distance between the hotend</font>
<font face="Arial, Verdana">// and the platform when the printer is at its home position.</font>
<font face="Arial, Verdana">// If EEPROM is enabled these values will be overridden with the values in the EEPROM</font>
<font face="Arial, Verdana">#define X_MAX_LENGTH 574</font>
<font face="Arial, Verdana">#define Y_MAX_LENGTH 496</font>
<font face="Arial, Verdana">#define Z_MAX_LENGTH 500</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">// Coordinates for the minimum axis. Can also be negative if you want to have the bed start at 0 and the printer can go to the left side</font>
<font face="Arial, Verdana">// of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values.</font>
<font face="Arial, Verdana">#define X_MIN_POS 0</font>
<font face="Arial, Verdana">#define Y_MIN_POS 0</font>
<font face="Arial, Verdana">#define Z_MIN_POS 0</font>
"