Paging Arthur... :)
TL;DR: Can anyone think of a way to tell Smoothie to back off the home switch until it is not tripped, and THEN do the homing sequence? It may need to back off quite far.
So, I'm helping Peter get his rack and pinion drive head going in OpenPnP and we've run into a snag with homing. The home switch is tripped for roughly half the travel of the Z axis which means when we start homing we can't always travel towards the home switch since we may already be past it.
What we want to do is when the homing sequence starts, if the home switch is already tripped, move away from the home switch until it's no longer tripped and then perform the normal homing sequence.
I was thinking we could do this with on the fly configuration hacking, but it seems like that's not possible in Smoothie without restarting between options.
Another option is to have OpenPnP read the state of the switches and then back off in small increments until it's unset, but this requires a level of integration that is not currently easy to do with the GcodeDriver.
Can anyone think of a way to do this with pure Gcode? Right now it looks like our best option is a small change to the Smoothie firmware, but I'd like to avoid that if possible.
Thanks,
Jason