Gmoccapy won't load on fresh config
- AgentWD40
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 334
- Thank you received: 92
15 Jan 2020 07:55 #154894
by AgentWD40
Gmoccapy won't load on fresh config was created by AgentWD40
Using a fresh compiled install of linuxcnc 2.9, and created a new config using pncconf for a xyyzz gantry type machine. That's dual y and dual z.
When I make a config with pncconf and select axis, linuxcnc loads just fine. When I select gmoccapy instead of axis then I get the following error.
I've attached my hal, ini, and error report. I'm guessing this has something to do with the tandem z axis?
When I make a config with pncconf and select axis, linuxcnc loads just fine. When I select gmoccapy instead of axis then I get the following error.
I've attached my hal, ini, and error report. I'm guessing this has something to do with the tandem z axis?
Please Log in or Create an account to join the conversation.
- AgentWD40
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 334
- Thank you received: 92
15 Jan 2020 15:01 - 15 Jan 2020 15:50 #154925
by AgentWD40
Replied by AgentWD40 on topic Gmoccapy won't load on fresh config
I'm kind of grasping at straws here but I think I can see part of the problem.
Looking at gmoccapy.py:
VS looking at the error report I posted:
I'm assuming that this is the axis_dic: {0: 'x', 1: 'y0', 2: 'y1', 3: 'z2', 4: 'z3'} ??
If so then the _get_joint_from_joint_axis_dic function was expecting x, y0, y1, z0, z1 but got z2, z3 instead so that caused the error?
So where to fix from here? Seems either the dictionary names need to be fixed or the _get_joint_from_joint_axis_dic function needs to be modified.
[EDIT]
Maybe the most logical solution is to change the dic names by reseting the counter here when this loop hits a new double axis letter
Change this ( getiniinfo.py line 148)
To something like this
I wont be able to test this until this evening.
Looking at gmoccapy.py:
def _get_joint_from_joint_axis_dic(self, value):
# if the selected axis is a double axis we will get the joint from the
# master axis, witch should end with 0
if value in self.double_axis_letter:
value = value + "0"
return self.joint_axis_dic.keys()[self.joint_axis_dic.values().index(value)]
VS looking at the error report I posted:
**** GMOCCAPY GETINIINFO ****
Number of joints = 5
5 COORDINATES found = xyyzz
('Fount double letter ', ['y'])
('Fount double letter ', ['y', 'z'])
joint 0 = axis x
joint 1 = axis y0
joint 2 = axis y1
joint 3 = axis z2
joint 4 = axis z3
{0: 'x', 1: 'y0', 2: 'y1', 3: 'z2', 4: 'z3'}
I'm assuming that this is the axis_dic: {0: 'x', 1: 'y0', 2: 'y1', 3: 'z2', 4: 'z3'} ??
If so then the _get_joint_from_joint_axis_dic function was expecting x, y0, y1, z0, z1 but got z2, z3 instead so that caused the error?
So where to fix from here? Seems either the dictionary names need to be fixed or the _get_joint_from_joint_axis_dic function needs to be modified.
[EDIT]
Maybe the most logical solution is to change the dic names by reseting the counter here when this loop hits a new double axis letter
Change this ( getiniinfo.py line 148)
if self.get_joints() == len(coordinates):
count = 0
for joint, axisletter in enumerate(coordinates):
if axisletter in double_axis_letter:
axisletter = axisletter + str(count)
count += 1
joint_axis_dic[joint] = axisletter
print("joint {0} = axis {1}".format(joint, joint_axis_dic[joint]))
To something like this
if self.get_joints() == len(coordinates):
count = 0
prev_double_axis_letter = ""
for joint, axisletter in enumerate(coordinates):
if axisletter in double_axis_letter:
if axisletter != prev_double_axis_letter:
count = 0
prev_double_axis_letter = axisletter
axisletter = axisletter + str(count)
count += 1
joint_axis_dic[joint] = axisletter
print("joint {0} = axis {1}".format(joint, joint_axis_dic[joint]))
I wont be able to test this until this evening.
Last edit: 15 Jan 2020 15:50 by AgentWD40.
The following user(s) said Thank You: Chris1978
Please Log in or Create an account to join the conversation.
- AgentWD40
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 334
- Thank you received: 92
15 Jan 2020 23:20 #154971
by AgentWD40
Replied by AgentWD40 on topic Gmoccapy won't load on fresh config
Initial testing shows that the proposed code changes above seems to have fixed the problem. Who do I need to inform about this?
The following user(s) said Thank You: Chris1978
Please Log in or Create an account to join the conversation.
- andypugh
- Away
- Moderator
Less
More
- Posts: 23561
- Thank you received: 4859
17 Jan 2020 22:50 #155084
by andypugh
Norbert, who I think reads this forum.
Replied by andypugh on topic Gmoccapy won't load on fresh config
Initial testing shows that the proposed code changes above seems to have fixed the problem. Who do I need to inform about this?
Norbert, who I think reads this forum.
Please Log in or Create an account to join the conversation.
Moderators: newbynobi, HansU
Time to create page: 0.062 seconds