M119 Missing Endstops

I’m in the process of converting my MPCNC to a dual stepper and dual endstop machine. Everything worked fine before and I’ve been able to get the dual steppers to work but cannot seem to figure out dual endstop. Whenever I send M119 command I only see x,y,z endstops. Including some relevant snippets from my config files below.

Output

M119
Reporting endstop status
x_min: open
y_min: open
z_min: open
ok

Pins File
//
// Limit Switches
//
#define X_STOP_PIN PA5
#define Y_STOP_PIN PA6
#ifndef Z_STOP_PIN
#define Z_STOP_PIN PA7
#endif
#define X2_STOP_PIN PC5
#define Y2_STOP_PIN PC4

Configuration_adv.h
#define X_DUAL_STEPPER_DRIVERS
#if ENABLED(X_DUAL_STEPPER_DRIVERS)
#define INVERT_X2_VS_X_DIR // Enable if X2 direction signal is opposite to X
#define X_DUAL_ENDSTOPS
#if ENABLED(X_DUAL_ENDSTOPS)
#define X2_USE_ENDSTOP XMAX
#define X2_ENDSTOP_ADJUSTMENT 0
#endif
#endif

As a guess, have you defined the other endstops? In configuration.h, you should have a section which enables xmin, xmax, ymin, ymax, and zmin. Something like:

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define USE_XMAX_PLUG
#define USE_YMAX_PLUG

I’m not sure of your exact process. If you have one of the boards that V1 maintains a Marlin version for, then it is best to use that firmware. If you have another board, I suggest you take your configuration.h and configuration_adv.h files and run a comparison utility like MELD against one of the Dual configurations maintained by V1.

MELD… Robert thanks for the advice, that looks much cleaner and faster than the vscode diff plugin I’ve been using. I miss my atom/pio setup lol.

1 Like

Figured it out… This is a Ender 3v2 (Creality board) conversion to a dual stepper / dual endstop MPCNC. Pins file needed x_min and x_max instead of the X_stop_pin and X2_stop_pin.

#define X_MIN_PIN PA5
#define X_MAX_PIN PA6
#define Y_MIN_PIN PC5
#define Y_MAX_PIN PC4

1 Like