Homing issue when 1 endstop is active on Delta printer

What is the problem?

If I try to home my Rostock Max V2 using the home button while 1 or more endstops are triggered, I get this error. "
Your printer's firmware reported an error. Due to that OctoPrint will disconnect. Reported error: Y Endstop(s) not working properly"
It will change which endstop is reported based on which was triggered.

What did you already try to solve it?

I have sent a G28 and it works correctly. I have also used other control software and do not run into this issue.
I did notice this issue after a failure although I believe it was not caused by this. I think I just noticed the issue while testing to make sure the failure was not caused by a hardware issue. I have also went in to my configuration.h and changed my endstop settings so they all match.

Logs (octoprint.log, serial.log or output on terminal tab at a minimum, browser error console if UI issue ... no logs, no support!)

octoprint.log (170.6 KB)

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible)

Rostock Max V2. Delta. Repetier Firmware. Optoprint 1.4.0. Chrome Browser

Thanks in advance,
Cabe

I think a serial.log is also going to be needed.

I was not logging the serial.log so I created the issue again and here is the log.

Thanks,

serial.log (22.8 KB)

The serial log shows:

2020-05-27 11:34:56,628 - Send: N46 G28 X0 Y0*32
2020-05-27 11:34:56,637 - Recv: ok
2020-05-27 11:34:56,642 - Send: N47 G90*35
2020-05-27 11:34:56,662 - Recv: X:0.00 Y:0.00 Z:402.200 E:0.0000
2020-05-27 11:34:56,679 - Recv: Error: Y Endstop(s) not working properly

The firmware has acknowledged the G28 with an ok so the firmware sends a G90 but instead of getting an ok, it gets X:0.00 Y:0.00 Z:402.200 E:0.0000 followed by Error: Y Endstop(s) not working properly and OctoPrint sees Error: and aborts.

These two responses would appear to be results from the G28 command and I would expect them to appear before the ok. Here's how my Lulzbot TAZ 6 responds:

Send: G28 X0 Y0
Recv: echo:busy: processing
Recv: X:-15.10 Y:299.50 Z:20.00 E:0.00 Count X:-1510 Y:30450 Z:32000
Recv: ok P13 B4
Send: M105
Recv: ok T:22.00 /0.00 B:22.28 /0.00 @:0 B@:0

IMO, this is a firmware issue with your printer. If you have other control software that doesn't run into this issue, I'd like to see a serial log from that software. You could try adding an M400 after the G28 and see if that changes the behavior.

I wouldn't recommend it, but under OctoPrints Setup, Serial Connection, Behavior, you can change OctoPrint to ignore the Error: response. Note: While looking at the Serial Connection, Firmware & Protocol, I see a list of long running commands. On my TAZ 6, G28 is one of the commands in that list.

One more command that might be useful to add would be M119 before and after the G28.

Thanks for the suggestions. I’ll do a little testing. Do you know if the home xy button on the octoprint UI works correctly for delta printers? I imagine deltas would need a home all instead.

I would agree. A quick look at the Marlin sources shows that this appears to be true (i.e. A G28 ignores the axis parameters). I don't have Repetier firmware sources to look at but the RepRap Wiki says:

Delta printers cannot home individual axes, but must always home all three towers, so the X Y Z parameters are simply ignored on these machines.