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

26 Jan 2017 04:36 - 27 Feb 2017 20:23 #86682 by rodw
My Joint Axis XXYZ gantry plasma machine has got confused in relation to the Gmocappy homing buttons.
The Home X, Y & Z buttons home joints, 0, 1, & 2. So the poor old Z axis never gets homed.
It seems that the screen buttons are connected to the joints instead of the axes, but I can't find how to correct this.

Help would be appreciated. I thought it was working correctly previously.

EDIT: Just changed the heading to state this is a BUG! See my next post.

EDIT: Have changed the heading to solved as required changes have been pushed to master. As well as changes to gmocappy, Dewey Garrett wrote some new sequential homing code which has also been pushed to master branch. Thanks guys!
Last Edit: 27 Feb 2017 20:23 by rodw.
27 Jan 2017 16:24 #86788 by newbynobi

You are using LinuxCNC 2.7, aren't you?
gmoccapy release 1.XX is not able to handle that kind of machine, you need to use gmoccapy2.XX from master.
That gantry and not trivial kinematics problematic has been the reason to merge the Joint/Axis branch to master. I adapted gmoccapy 2.XX to support that kind of machines.

It would be possible to home also your machine with the actual branch, but you will need to adapt your hal and INI stuff a lot.
Please do not ask me about a how to:( as I have not got a gantry (but will get one)

27 Jan 2017 22:02 #86805 by rodw

newbynobi wrote: @rodw,

You are using LinuxCNC 2.7, aren't you?
gmoccapy release 1.XX is not able to handle that kind of machine, you need to use gmoccapy2.XX from master.

Norbert, I am using master compiled from source. V 2.7 has never been installed on this machine. (So I can get Joint Axis).

I reviewed this again after making sure each axis was set on a different homing sequence in the .ini file.

It would appear that the home all button is configured OK and correctly homes all axes.
The separate Home X, Home Y & Home Z buttons all exhibit incorrect behavior as I described above.

So on this basis, the bug is:
1. Home all button is correctly homing using the Master axes.
2. Separate Home X, Y and Z buttons are homing Joints 0, 1 & 2 respectively, not the X, Y & Z Axes in Master
27 Jan 2017 23:45 #86810 by rodw
It is possible this is a bug in Master itself because the default axis config does not appear to support individual axis homing (well not any I could find). Therefore the issue is not confirmed as working in Axis.

If somebody could point me to the Main Gmoccappy screen definition, I'll investigate this further.
27 Jan 2017 23:57 #86812 by andypugh
In JA homing is a "joint" action.
it is entirely possible that various wizards are not quite up to speed yet
28 Jan 2017 00:30 - 28 Jan 2017 00:31 #86815 by rodw
Ok, this looks like it is a Gmocappy thing.

If you search in ~/linuxcnc-dev/bin/gmocappy for btn_home_j0

You find this line a couple of times.
tab_ref_joints = [(0, "btn_home_j_all"), (1, "btn_home_j0"), (2, "btn_home_j1"), (3, "btn_home_j2"), (4, "btn_home_j3"),
                   (5, "btn_home_j4"), (6, "btn_home_j5"), (7, "btn_sel_next_joints"), (8, "btn_unhome_j_all"), (9, "btn_back_joints")

The button names imply that gmocappy is indeed homing individual joints. But where does this link to a hardware pin?

I can't see any hal pins to home an individual axis, these seem to exist only for joints and we can't do that on a joint axis gantry machine.

I guess the simplest solution would be to disable or hide the individual joint homing buttons in a joint axis machine. Can I do that within my config folder or do I have to modify the source?
Last Edit: 28 Jan 2017 00:31 by rodw.
28 Jan 2017 01:01 #86816 by rodw

Thanks, I missed your post. I know there has been a lot of talk about the joint Axis stuff but I sense not many have implemented it yet so there are bound to be bugs. This is the second I've found but the other was plasma related and Norbert has fixed that one. From what I can see, master does not support homing an individual axis which would be handy when initially setting up the joint axis on my gantry.

So I think that Gmocappy's process of homing an axis one by one is rendered obsolete in a Joint Axis Machine. It would be nice if there was an .ini file setting that told Gmoccappy this is a joint axis machine and therefore hide the individual Joint homing buttons. Unless it can work out a JA exists by itself)

Maybe LCNC should disable/ignore homing on paired axes now JA is mainstream.

I need to disable these buttons so a user does not skew the gantry. It would be best not to edit the main gmocappy source and keep it in the config folder.. Got any ideas? ANDing the output with 0 comes to mind. Perhaps then an INI variable could enable/disable/hide the naughty buttons.
28 Jan 2017 22:11 #86859 by newbynobi
If you see the x y and z homing button, you are not in Joint mode!
Pressing F12 changes the mode between axis and joint mode. In joint mode the buttons for homing have numbers no letters.

That is why i do insist in a config mistake.

Please see the samples in sim/gmoccapy/gmoccapy_ja

29 Jan 2017 04:27 #86880 by rodw
OK, I have ticked off every setting between your config files and mine. I found I had an error. I did not have kinstype=BOTH in this line
KINEMATICS = trivkins coordinates=xyyz kinstype=BOTH

Without this, the world mode/joint mode button was not displaying.

I am using run in place and I got an immediate error when opening the SIM becasue it could not find the postgui.hal file. Is there any configuration data in that file that I need to care about? I just commented it out

I am guessing because I am running LCNC as RIP, the folder structure is different to what is expected. but I could not work out which file it was looking for.

So now in both the JA sim and my config, the individual joint homing buttons are always displayed regardless of the mode.

Is this expected behaviour? It seems rather dangerous to allow a user access to only one side of the gantry!
29 Jan 2017 12:59 #86899 by newbynobi

no, the postgui hal file is not very important, it only connects the spindle feedback and at speed stuff, as well as the tool change dialog.

A Gantry is only one of many JA machines, imagine a Scara or 6 joints robot, they must home each Joint individualy.

May be we need a settings on the homing page to disable individual homing?

Moderators: newbynobi
Time to create page: 0.185 seconds
Powered by Kunena Forum