Both [JOINT_] and [AXIS_X|Y|Z] need to be present for nontrivkins
for trivkins [AXIS_X|Y|Z|A|B|C|U|V|W] will be a nicer name (maybe allow loading of old configs with [AXIS_nr]
canon
interp/canon use the [AXIS_] max_vel's to plan coordinated moves. the same limits are used in joint space (jogging, homing, etc).
motion
EMCMOT_AXIS_foo should be EMCMOT_JOINT_foo (changed already)
trajectory planner
use joint limits for vel/accel
planned changes to canon
an motion planner linked into canon
the motion planner can load kinematic specific functions dynamically at runtime (in order to chose different kins)
before queueing a new command from interp, canon will send it to the motion planner which simulates it, and returns the max speeds/accels encountered for all joints during the simulation
canon then will scale the speed accordingly so that max joint speeds aren't violated (if it was below it can scale up, otherwise down)
canon then sends the move to motion with the max carthesian allowed speed (very similar - if not the same - to the way it is done now)
motion (TP) then checks the current speed (programmed + FO's of various sorts) against the max allowed and clamps