For the tangential knife application, at the moment there is only a rotational value output available, wich
can be used in hal to connect to a motor or device.
There is no additional logic in the planner for the tangential knife.
I understand the concerns off DauntlessA regarding the use of the tangential knife when there is no additional
logic included.
I see basicly 2 solutions at the moment.
Solution 1 Basic :
Use the hal rotational value from the planner, connect the tangential motor in hal.
Then be sure your gcode uses ramp in path's so that the direction vector is always in the right direction.
In my perspective it's better to avoid straight z moves, but always a z move containing some xy changes, wich will
direct the tangential rotation in the path direction.
Solution 2 Advanched :
The planner has at the moment 4 build-in, you can call it "
post processors".
overview link
These are used to verify the planners behaviour at runtime. And they are used as fallback option and as a template layout.
We can easely add more post processors for special applications.
That's why the infrastructure in the planner is build up this way.
You just need to copy one off the current post processor .h header files, and edit it your way.
Then for example, we copy the "file_path_clothoid" to a new path algo: "file_path_clothoid_tangential_knife".
Then when doing the tpAddLine or tpAddCircle, we can add rotational start-, end values for a-axis, wich can be used for the
tangential knife device.
From the moment the a-axis has rotational tangential knife values.
It's part of the motion control system.
During the tpAddline & tpAddCircle we also look if a-axis has only motion, and xyz has motion or xyza has motion.
This makes difference in calculating speeds & trajectory length's.
So in fact a lot can be customized here. The planner has a clean modular infrastructure. And the oversight is not that hard to
follow.
I have build a cnc with tangential knife device years ago. It was sold to a shoe company to cut shoes from leather.