fwiw, the self.c.home(-1) was the only thing that worked for me to home all axis.
I tried the following, separate homing sequences with the noted results:
Code:
#===============================================
self.c.home(0)
self.c.wait_complete()
self.c.home(1)
self.c.wait_complete()
self.c.home(2)
self.c.wait_complete()
# this just homes my Y axis, consiting of joints 1 & 2
#==================================================
self.c.home(0)
self.c.wait_complete()
self.c.home(1)
self.c.wait_complete()
self.c.home(3)
self.c.wait_complete()
# This homes axis Y and Z (joints 1, 2 and 3)
#======================================
self.c.home(3)
self.c.wait_complete()
self.c.home(0)
self.c.wait_complete()
self.c.home(1)
self.c.wait_complete()
# just homes Y axis (joints 1 & 2)
#============================================
self.c.home(0)
self.c.wait_complete()
self.c.home(0)
self.c.wait_complete()
self.c.home(1)
self.c.wait_complete()
# just homes Y
#===========================================
self.c.home(0)
self.c.wait_complete()
self.c.home(2)
self.c.wait_complete()
self.c.home(3)
self.c.wait_complete()
# homes Y & Z
I never did manage to home the X-axis this way. The one cool thing about the "separate" method is when more than one axis was homed, they homed simultaneously, instead of waiting for each axis' homing to complete.
One day I'll have this all figured out...! (But then the fun will be gone

)