Endstops are ignored

Hi
I have tried every possible configuration but I can not get the firmware to honor my endstops. They show up as H or L when I press them and check with M119 but the printer will not stop movement when the endstops are hit. Only when homing are the corresponding endstops honored.
Please help.

Here is my endstop section:

// ################ Endstop configuration #####################

#define MULTI_ZENDSTOP_HOMING 0
#define ENDSTOP_PULLUP_X_MIN true
#define ENDSTOP_X_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_X true

#define ENDSTOP_PULLUP_Y_MIN true
#define ENDSTOP_Y_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Y true

#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_Z_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Z true

#define ENDSTOP_PULLUP_Z2_MINMAX true
#define ENDSTOP_Z2_MINMAX_INVERTING false
#define MINMAX_HARDWARE_ENDSTOP_Z2 false

#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_X_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_X false

#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_Y_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Y false

#define ENDSTOP_PULLUP_Z_MAX true
#define ENDSTOP_Z_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Z true
#define max_software_endstop_r true

#define min_software_endstop_x false
#define min_software_endstop_y false
#define min_software_endstop_z false
#define max_software_endstop_x true
#define max_software_endstop_y true
#define max_software_endstop_z true
#define DOOR_PIN -1
#define DOOR_PULLUP 1
#define DOOR_INVERTING 0
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 1
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 5
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 5
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 5
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 1
#define ENDSTOP_Z_BACK_ON_HOME 1
#define ALWAYS_CHECK_ENDSTOPS 1
#define MOVE_X_WHEN_HOMED 0
#define MOVE_Y_WHEN_HOMED 0
#define MOVE_Z_WHEN_HOMED 0

Comments

  • Firmware is any dev v1. Even tried it on the latest github code downloaded today
  • So G1 X-50 F600
    does not stop while G28 X0 works?

    #define ALWAYS_CHECK_ENDSTOPS 1
    should make sure that G1 would stop in that case, also the move it self should already be prevented being outside of print area.
  • My specific concern is when the printer is started and it homes, the bed moves up by 10mm and homes x,y,z. if z is already at maximum it still tries to move 10mm up even if the endstop is hit. My understanding of the function of an endstop is to stop movement irrespective of what the command is unless the movement is supposed to be in the opposite direction. Pressing any endstop and telling the printer to move will result in that movement.
  • Not sure but you might be getting a conflict by having both hardware and software Z-max endstops enabled.

  • if you have a hardware endstop defined as true the corresponding software endstop should be false. If the endstop does not exist as hardware it is a software endstop. a M119 should show a high when the endstop is hit.
  • I guess you have no hardware Z max endstop so this can in deed happen. You can choose to not go up with z on homing to prevent this. The other solution is to reduce z length by that value so even at z max you could move 10mm up. Problem is when enabling printer it doe snot know start position so assumes z=0 and software endstops will not work at that position. They only work after homing.
  • Will update the firmware and test again
Sign In or Register to comment.