M119 to check home switches

91 views
Skip to first unread message

Bob Wood

unread,
Mar 6, 2016, 12:09:20 PM3/6/16
to BobsCNC
Please go to the manual mode in Repetier and check the home switches by using the M119 command.

Once you type the M119 in the Gcode text-box of the manual mode. The message you are looking for is in the bottom of the window ( you may need to toggle it on). It should read

x_min:L y_min:L z_max:L  if all of the switches are not pressed

if you hold the Z then it would read : x_min:L y_min:L z_max:H
if you hold the Y then it would read : x_min:L y_min:H z_max:L
if you hold the X then it would read : x_min:H y_min:L z_max:L

Michael Platt

unread,
Jun 26, 2016, 10:16:59 PM6/26/16
to BobsCNC
To fix my skewing issue I tried reflashing the firmware the hard way. I got through all the steps but now when I home the machine the z axis doesn't move to its endstop. It simply sets its current location as z=0. When I hit print it tries printing in air at the top of the z axis. When I hit the m119 command it tells me:

endstops hit: x_min:L y_min:L

Nothing about the z_max. Here is what the endstop portion of my configuration.h file looks like: 

// ################ Endstop configuration #####################
#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 true
#define ENDSTOP_Z_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Z 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 false
#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 false
#define ENDSTOP_X_BACK_MOVE 5
#define ENDSTOP_Y_BACK_MOVE 5
#define ENDSTOP_Z_BACK_MOVE 2
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_X_BACK_ON_HOME 1
#define ENDSTOP_Y_BACK_ON_HOME 1
#define ENDSTOP_Z_BACK_ON_HOME 0
#define ALWAYS_CHECK_ENDSTOPS 0

Is there something I have wrong in this code?

Bob Wood

unread,
Jun 27, 2016, 8:00:31 AM6/27/16
to BobsCNC
This line needs to be changed to true:
#define MAX_HARDWARE_ENDSTOP_Z True
The Z home is at the top which is Z max.

Also,
you can upload a pre-complied hex file. See here:

Michael Platt

unread,
Jun 30, 2016, 10:11:17 AM6/30/16
to BobsCNC
I tried editing the code and uploading it from the Arduino program. That did nothing. What I ended up doing is re-uploading the config file to the firmware creator website and found the option there to turn the max_hardware_endstop_z on. I downloaded that firmware file and uploaded it from the Arduino program. That fixed my problem. Now hopefully I have no slanting :)

Bob Wood

unread,
Jun 30, 2016, 12:12:23 PM6/30/16
to BobsCNC
In the configurator in the mechanics tab, do not check this box:

Always check endstops. Only enable if you have no cross talk from your motors, which could trigger wrong signals causing the print to skew. (ALWAYS_CHECK_ENDSTOPS)

Or you can change your configuration to zero:   #define ALWAYS_CHECK_ENDSTOPS 0

If this is left on, then you can have false triggers causing slanting prints.

Reply all
Reply to author
Forward
0 new messages