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