I have an Airwolf Axiom printer that I'm trying to write new firmware for. I'm using Marlin 2.07 on VS Code. It is a Core XY machine where it homes at front, left with the build plate at the bottom of travel, that is, X min, Z min, Z Max. That is where the endstops are. All 3 axes move in the proper direction on Pronterface. X,Y and Z also home in the right direction. It uses the Z Min Plug for the probe.
X an Y home and trigger the endstops and stop as they should. Z, however moves to the end of travel and crashes into the bottom (away from the nozzle). The Z Max endstop triggers but doesn't stop the stepper. Oddly enough, when I trigger the leveling probe connected to the Z Min pin while it is homing Z, it stops the stepper and shows the Z axis as homed on the LCD (it displays zero and stops flashing). Also, if I change #define Z_HOME_DIR -1 to #define Z_HOME_DIR 1 ,it homes in the opposite direction (up) and if I manually trigger the Z Max endstop switch it stops and shows Z as homed on the LCD. All the endstops trigger properly manually with M119. Also the wiring is correct as it all works properly on the original closed source firmware.
So the problem seems to be the wrong endstop limit switch triggers when homing. I want to make the appropriate change in firmware and not change the wiring. I'm sure this is possible since I was trying to set up the firmware a few months ago and got it past this point. Unfortunately I didn't document my changes well enough and I can't remember what I did before. It's probably a simple setting I'm missing.
Anyone have any ideas?
Thanks