(SOLVED) BUG REPORT: Gmocappy Homing buttons in joint mode in Master

More
09 Feb 2017 00:53 #87626 by bevins
WAIT..... So you cant home a complete dual motor axis in JA. Then whats the point?
I thought the whole idea of JA was to better treat dual motor axis and fixes the homing issue that gentrivkins had.....
Maybe not the whole idea but that was a big selling factor.

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 01:04 #87628 by andypugh

WAIT..... So you cant home a complete dual motor axis in JA.


No, you absolutely can. But it might only make sense when a homing sequence is defined.

linuxcnc.org/docs/devel/html/config/ini-....html#_home_sequence

Homing joints individually perhaps ought to search for other joints sharing the same home sequence.

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 08:16 #87636 by rodw

WAIT..... So you cant home a complete dual motor axis in JA.

No, you absolutely can. But it might only make sense when a homing sequence is defined.


Andy, From what I can see, you absolutely can't home a joint axis other than with a home all. Well, let me rephrase that, becasue I'm sure somebody like you can devise some devious method.:evil:

I'm only a noob so I don't know the difference but the only way I've been able to home my half built machine is with the home all button. I thought that was the way it was done! Anyway, there are pins to home a joint and a pin to home all but there are no pins in the axis definitions to home an individual axis. After getting stung with this bug, I think the LCNC developers have not quite caught up wit the Joint Axis environment as it seems that axis definitions need to be updated so there is a homing pin for each axis now you can no longer depend on (for example) allowing Joint 0 be the surrogate X axis.

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 10:29 - 09 Feb 2017 10:32 #87643 by rodw
Well, in case somebody needs a fix before Norbert updates the Master branch, here is what I did
        # RodW - Hide joint Axis, this code only fixes X,Y & Z axes at this stage. Should look in .ini file for [KINS]JOINTS
        # Look to see if there is kinstype=BOTH in the ini file, do nothing if found becasue
        #  we don't want to override joints in this case
        if self.stat.kinematics_type == linuxcnc.KINEMATICS_IDENTITY:
           # Joints & Worldmode are the same so look to see if there are joint axes and hide all joint homing buttons  if so.
           # This will prevent a gantry from being damaged by homing one side independent from the other.. 
           JAtemp =  self.get_ini_info.get_coordinates().lower()
           if JAtemp.count('x') > 1 or JAtemp.count('y') > 1 or JAtemp.count('z') > 1 or JAtemp.count('a') > 1 or JAtemp.count('b') > 1:
               self.widgets.btn_home_x.hide()
               self.widgets.btn_home_y.hide()
               self.widgets.btn_home_z.hide()
               self.widgets.btn_home_4.hide()
               self.widgets.btn_home_5.hide()

	    #RodW - End of Mods to hide axes where kinstype=both
        # Do we control a lathe?
        if self.lathe_mode:
Last edit: 09 Feb 2017 10:32 by rodw.

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 10:42 #87645 by andypugh

Andy, From what I can see, you absolutely can't home a joint axis other than with a home all.


This might be considered a feature... It does at least ensure that the tool is out of the way before moving the gantry.

It would be interesting to see what happens if you toggle the "halui.joint.N.home" input of both sides of the gantry at the same time. (whether it waits for each side to complete each stage as with home-all or whether it just individually-homes each side)

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 11:23 #87649 by rodw
Yes, the "feature" never bothered me and I never even knew Axis had additional homing menu options until Norbert told me.

I have an associate who has run a lot of commercial profile cutters and his view of the geometry based on every machine he had ever operated was a bit different to mine. (He picked a different corner for home). As a result, I can see that I will need to add a "Park" button that moves the gantry to X max for loading etc so homing won't actually get things out of the road. Thats why I have a XXYZ machine and most people seem to have a XYYZ gantry machine.

I might have a go at your idea before I bolt things together. Perhaps Joint homing should check if it is part of a Joint axis and either do nothing or home it mates at the same time. Anyway, clearly, there is more work before axes and joints are truly independent of each other.

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 15:30 #87664 by Todd Zuercher
The machine does not have to home to X0. I have a machine set up that homes the gantry to the back of the machine sets that position as 62" then parks at 61" (with 0 being at the front).

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 18:03 #87686 by newbynobi
Hallo @all,

I think todw's way is the correct one. I will at first step introduce a check if any axis letters are double, if so I will set the corresponding button insensitive. I can not hide it, because hiding a button leads to place changes of the resting button and the order has to be the same if you use hardware button around the screen.

At second step, I will try to find a way to start homing of two joints at the same time. I will make that in a separate branch and will then need a very brave gantry user to test the changes, as I have no gantry. If that works, I will need to find a way to reorder the relations between joints and axis, to avoid homing the wrong joint/axis.

The better way would be to allow homing an axis and linuxcnc knowing the relation between axis and joints, but that is out of my skill.
And that could also cause a lot of problems on non trivial kinematics.

All the mentioned will only take place, on trivial kinematics (I count gantry as such).

Norbert

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 18:49 - 09 Feb 2017 19:14 #87691 by bevins

Hallo @all,

I think todw's way is the correct one. I will at first step introduce a check if any axis letters are double, if so I will set the corresponding button insensitive. I can not hide it, because hiding a button leads to place changes of the resting button and the order has to be the same if you use hardware button around the screen.

At second step, I will try to find a way to start homing of two joints at the same time. I will make that in a separate branch and will then need a very brave gantry user to test the changes, as I have no gantry. If that works, I will need to find a way to reorder the relations between joints and axis, to avoid homing the wrong joint/axis.

The better way would be to allow homing an axis and linuxcnc knowing the relation between axis and joints, but that is out of my skill.
And that could also cause a lot of problems on non trivial kinematics.

All the mentioned will only take place, on trivial kinematics (I count gantry as such).

Norbert


This is closing the doors for people that might need to use the same axis letters on different joints that are not gantry related. I think a better option would be to provide a checkbox on settings screen called dual motor gantry then do whatever you need to do to disable the homing of the double drive letters.

My thoughts.....
Last edit: 09 Feb 2017 19:14 by bevins.

Please Log in or Create an account to join the conversation.

More
09 Feb 2017 20:44 #87701 by rodw

Hallo @all,

This is closing the doors for people that might need to use the same axis letters on different joints that are not gantry related. I think a better option would be to provide a checkbox on settings screen called dual motor gantry then do whatever you need to do to disable the homing of the double drive letters.

My thoughts.....


Maybe not. Perhaps my approach is a bit simplistic.If the detection code also referred to the HOME_SEQUENCE setting for each affected axis joint to see if it is negative (which is how a Joint Axis should be set up), then this should not affect the situation Bevins raises. I'm like Norbert, I simply don't know enough to be conclusive on this stuff given I only have half a LinuxCNC controlled machine under my belt

Please Log in or Create an account to join the conversation.

Moderators: newbynobiHansU
Time to create page: 0.086 seconds
Powered by Kunena Forum