Whether or not velocity will slow when following a spline is dependent if the centripetal limits are violated for that given cut velocity.
Linuxcnc always knows the velocity the torch is travelling at and it also always knows the programmed feed rate (in v 2.9). Furthermore, there is a pending enhancement that publishes the arc radius
github.com/LinuxCNC/linuxcnc/pull/900
. So it will soon be possible to compare the arc radius being traversed with the calculated centripetal limit. Granted these calculations are only currently restricted to arcs and splines are not considered but few post processors know how to use splines.
As I said, it is trivial to enable a pin that is true when velocity is constant. I have attached a component that will give you this pin if you wish to experiment with linuxcnc and your THC.
you may install this using the command halcompile --install constantvel.comp
Then you can add it to your hal file.
I've pasted the code for this component below.
Code:
component constantvel "LinuxCNC HAL component that sets a pin true if velocity is constant";
description
"""
Publishes pin that is true if velocity is constant
""";
author "Rod Webster";
pin in float velocity_in "Connect to motion.current-vel";
pin out bit is_constant_vel "True if velocity is constant";
function _;
license "GPL";
;;
FUNCTION(_) {
static double last_vel;
is_constant_vel = (velocity_in == last_vel) ? 1 : 0);
last_vel = velocity_in;
}
I will be interested to hear your results from using Linuxcnc with your THC now you have the output you require. Note that the component probably should also reference motion.motion-type to ensure that the pin is not enabled when the system is idle.