On 13/04/18 15:47, j...@allwinedesigns.com wrote:
I was able to apply some corrections in the kinematics module after detecting changes to the mode, the way this module is doing it (found on the thread previously linked):

I'm having trouble, though, accounting for tool length compensation. How is tool length compensation incorporated into the values passed to and returned from the forward and inverse kinematics functions?

No idea personally.
This should be relevant though
http://www.linuxcnc.org/docs/devel/html/motion/5-axis-kinematics.html#_tool_length_compensation

I would contact Dewey, he seems to have been very active in the JA changes and wrote that code you linked to.

As for why the Beaglebone, I'm working on the Pocket NC.

On Thursday, April 12, 2018 at 9:52:44 AM UTC-6, Schooner wrote:

On 12/04/18 16:00, jo...@allwinedesigns.com wrote:
I definitely have to stick with Machinekit as I'm running the machine with a Beaglebone. What is the nature of the changes made to LinuxCNC that allowed this to work? Do you think I could get this going on Machinekit?

It is completely non-trivial and I am far from sure if it exists as a series of commits which are easily accessible.
Linuxcnc did not have a Github repo until recently and I don't know how they converted across.

These are just the commits that actually specify 'JA' in the title (238 of them)
https://github.com/LinuxCNC/linuxcnc/search?q=JA&type=Commits

If the commit was relevant but did not have that tag in the commit text, the search would not find it.
It may also have picked up 'jam' and the likes, Github searches are not very good.

You are welcome to try cherry-picking the commits and resolving all the major conflicts occurring because machinekit has completely
diverged from linuxcnc in many respects.  I would not recommend it.

If I were you I would get an old computer with a parport, install Linuxcnc from a rtai kernel distro.
Then you can find out if it actually works as you want.

If it does, why do you need to use a BBB?

I don't have an axe to grind either way, whatever works best IS best.


On Thursday, April 12, 2018 at 8:28:29 AM UTC-6, Schooner wrote:

On 12/04/18 14:59, jo...@allwinedesigns.com wrote:
Thanks for the advice!

I started implementing this the other day and am running into follow errors when switching between modes using a hal pin.

Yes I did predict that it would likely cause problems

"The actual instant of changeover could reek havoc if it occurred midway through setting the joints say, so that would need to be catered for with a function

that acted upon the changeover pin changing state, clearing old data and establishing new defaults or whatever."

You might be able to get around it by forcing the position_fb to whatever the actual position changes to, perhaps by unlinking position_fb at the right point then re-linking,
with it set to the same as the actual position after the move.

I found this thread on the LinuxCNC forums which discusses the same desired behavior and the same errors I'm encountering. It seems like they were able to resolve the issues, so I'll give what they tried a shot: https://forum.linuxcnc.org/10-advanced-configuration/31813-tcp-5-axis-kinematics?limitstart=0

We don't have the joints / axes work backported into Machinekit, it caused a lot of problems in Linuxcnc initially, so interesting that it seems to help this succeed.

Hopefully it will work for you too.


On Thursday, April 12, 2018 at 2:48:29 AM UTC-6, Schooner wrote:

On 12/04/18 09:29, 'schoo...@btinternet.com' via Machinekit wrote:


This code snippet from my lathe pulley speed setting script shows the process to convert and use case / esac to switch the input to the correct call



Just re-read and that gives the impression you need to use a case / esac switch

All you need of course is a single call in place of the switch, as P contains the value to pass

eg.    halcmd setp combokins.state $int





On 11/04/18 21:30, jo...@allwinedesigns.com wrote:
Is there a way to switch between kinematics modules using G code in Machinekit? The desired effect is to be able to switch between trivkins and a 5 axis inverse kinematics module that allows for TCPC (Haas uses G234 to enable TCPC, see https://www.youtube.com/watch?v=HxPjH4v5iEg). I've implemented the 5 axis kinematics module for my machine. I was thinking I could incorporate the trivial kinematics into the same module and add a hal pin that would switch between the two. Then I could write a python script that flips the hal pin, and bind that to a custom G code. Would that work? Is there another way to do it?
--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to