Configuring SKR2 for CoreXY with Z-Probe in Version 2
I need some advice migrating my 1.04 settings to version 2.
How/where should I define that my printer doesn't have X-Min and Y-Min endstops but has X-Max and Y-Max stops?
Also, how to configure Z-probe as Z-Min while also having Z-Max endstop?
I tried to change few settings but that did not help. Here is what I currently have in Configuration.h
#undef X_MIN_PIN
#define X_MIN_PIN -1
#undef X_MAX_PIN
#define X_MAX_PIN ORIG_X_MAX_PIN
#undef Y_MIN_PIN
#define Y_MIN_PIN -1
#undef Y_MAX_PIN
#define Y_MAX_PIN ORIG_Y_MAX_PIN
#undef Z_MIN_PIN
#define Z_MIN_PIN ORIG_ZPROBE
#undef Z_MAX_PIN
#define Z_MAX_PIN ORIG_Z_MAX_PIN
Z-probe is configured as this
// Define ZProbe by referencing an endstop defined
CONFIG_VARIABLE_EQ(EndstopDriver, *ZProbe, &endstopZMin)
For whatever reason, when sending M119, I see x-min instead of x_max, y_max appears correctly, z_max is missing, z_min is present while it should not be there and z_min and Z-probe always show the same values.
SENDING:M119
ok 0
endstops hit: x_min:H y_max:L z_min:H Z-probe state:H
In version 1.04 M119 was showing the line below. That's what I'd expect from version 2 as well
endstops hit: x_max:H y_max:H z_max:L Z-probe state:H
Thanks
Comments
This would e.g. make all axis max homing.
Z Probe is independent from normal endstops. For cartesian you define end stops like this:
If you home z min you don't need endstopZMin so assign it ENDSTOP_NONE - firmware will use z probe in stead automatically. Last parameter is min (false) or max(true) end stop. So changing pin names is not relevant, relevant is what pin you in the end assign to endstopXXX
ENDSTOP_NONE(endstopZMin)
so you only have z probe for z m in measuring. That is what you physically have anyway.
Removing the 3 lines is correct. As soon as you define something with macros it gets initialized. You just did not add it to all loops, so it did not get used in reports but was working and as you can see can also create errors. Therefor only define pins and devices that you really have.
#if HAS_DRIVER_SAFE_POWER_PROTECT
SETUP_RUN(stepper_driver_backward_check());
#else
SETUP_LOG("SAFE_POWER");
OUT_WRITE(SAFE_POWER_PIN, HIGH);
#endif
#endif
#ifdef SAFE_POWER_PIN
pinMode(SAFE_POWER_PIN, OUTPUT);
digitalWrite(SAFE_POWER_PIN, HIGH)
#endif
#endif
pinMode(SAFE_POWER_PIN, OUTPUT);
digitalWrite(SAFE_POWER_PIN, HIGH);
#endif
This is repetier-firmware thread! configuration_io.h is a config file in repetier-firmware V2.x!