TCP 5-axis kinematics

More
6 years 11 months ago #149493 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics

You will need to retrofit the "switchkins" branch github.com/rushabhGH/linuxcnc/tree/switchKins to your local code, all changed files.


can this be done with a Terminal? i am sorry but i have never done something like this and dont want do brick something.

I have seen that switchKins is for XYZAC machines, is there an easy way to change it to XYZBC like changing "JA" to "JB" and "a_rad" to"b_rad" or is the calculation completely different?

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

More
6 years 11 months ago #149506 by plopes9000
Replied by plopes9000 on topic TCP 5-axis kinematics
Quite honestly I just used the github compare function github.com/LinuxCNC/linuxcnc/compare/mas...35dd0fce05aR112-R116 and file by file I manually updated the 2.9pre branch I had checked out.

There could be an easier way with github, but it was fine this way, not too many files and changes.

Regarding the AC vs BC, you can use the code from xyzbc-trt-kins.c and replace the switchkins.c code in the functions xyzabKinematicsForward and xyzabKinematicsInverse - yes the names already match ab ...

Since I have an AC setup, my updated switchkins.c file uses the AC code with my changes to allow TCP on a defined origin.
But if you use the BC code, I think its easy to extrapolate from my changes to the AC code and apply them to the AB code.

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

More
6 years 11 months ago #149509 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics
i would like to add the code but i cant find the folders anywhere. SRC and EMC are nowhere. I checked "show hidden folders/files" but i cannot find them.

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

More
6 years 11 months ago - 6 years 11 months ago #149510 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics
by using the find command (find / -type f -name motion.h) i was able to find the file motion.h but at a completely different place.

on github it says src/emc/motion/motion.h but on my computer it is at /usr/include/linuxcnc/motion.h. how can i be sure that it is the correct file except looking at the code in github?

files i was able to find:

motion.h
kinematics.h
canon.h
emc.hh
emc_nml.hh

files i was not able to find:

control.c
command.c
Makefile
gcodemodule.cc
interp_array.cc
interp_check.cc
interp_convert.cc
interp_execute.cc
interp_internal.hh
interp_setup.cc
rs274ngc_interp.hh
rs274ngc_pre.cc
rs274ngc_return.hh
saicanon.cc
emccanon.cc
emctaskmain.cc
taskintf.cc
tp.c
Last edit: 6 years 11 months ago by 3D-Master.

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

More
6 years 11 months ago #149531 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
You can also use my BC kin files attached earlier in this thread.
There is not yet switchKins implemented in my solution.

I will do a complete packet for xyzbc machine with switchKins as soon as I have some time.

Im hoping we will get this switching TCP on/off functionality out in next linuxcnc release?
When is next release date?

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

More
6 years 11 months ago #149532 by plopes9000
Replied by plopes9000 on topic TCP 5-axis kinematics

3D-Master wrote: by using the find command (find / -type f -name motion.h) i was able to find the file motion.h but at a completely different place.

on github it says src/emc/motion/motion.h but on my computer it is at /usr/include/linuxcnc/motion.h. how can i be sure that it is the correct file except looking at the code in github?



That means you don't have the code installed - see linuxcnc.org/docs/master/html/code/building-linuxcnc.html on how to install it for the purpose of building it.


so for example:
Code:
paju@zx45:~/linuxcnc-other-builds$ git clone -b master git://github.com/LinuxCNC/linuxcnc linuxcnc-master-branch Cloning into 'linuxcnc-master-branch'... remote: Enumerating objects: 391, done. remote: Counting objects: 100% (391/391), done. remote: Compressing objects: 100% (254/254), done. Resolving deltas: 100% (165971/165971), done. paju@zx45:~/linuxcnc-other-builds$ cd linuxcnc-master-branch/ paju@zx45:~/linuxcnc-other-builds/linuxcnc-master-branch$ ls bin debian ISSUE_TEMPLATE.md linuxcnc-wizard.gif README.md src unit_tests configs docs lib linuxcnc.xcf rtlib tcl VERSION COPYING gnupg linuxcnc.gif meson.build scripts tests COPYING.more include linuxcncicon.png nc_files share TODO

Now all the master branch code is locally available.

you can do the same to the switchkins branch:
Code:
paju@zx45:~/linuxcnc-other-builds$ git clone -b switchKins git://github.com/rushabhGH/linuxcnc linuxcnc-dev-switchKins Cloning into 'linuxcnc-dev-switchKins'... remote: Enumerating objects: 218593, done. remote: Total 218593 (delta 0), reused 0 (delta 0), pack-reused 218593 Receiving objects: 100% (218593/218593), 121.92 MiB | 5.80 MiB/s, done. Resolving deltas: 100% (167268/167268), done.


to actually build it you need to do:

> cd linuxcnc-master-branch/src
> ./autogen.sh
> ./configure --with-realtime=uspace in my case ./configure --with-realtime=/usr/include/rtai --enable-non-distributable=yes
> make

then

> sudo make setuid
> source ../scripts/rip-environment
> runtests

of course you then need to apply the switchkin changes.
The following user(s) said Thank You: 3D-Master

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

Time to create page: 0.201 seconds
Powered by Kunena Forum