Hi John,

It looks like it affects LinuxCNC too, I created an issue to track it here:

https://github.com/LinuxCNC/linuxcnc/issues/550

The root cause seems to be that canon and TP have different ideas of what a
"small" displacement is. Due to architectural decisions made before my
time, the TP has to re-do a lot of the work already done in canon, and one
such task is deciding whether to treat a move as purely angular, or
linear+angular. This distinction is necessary in the first place because of
the way the TP was designed ("progress" along a segment means different
things for different moves).

Long story short, for this case, canon thinks a move is pure-angular, but
TP thinks it's linear + angular. There are several possible fixes for this:

   1. Redesign the interface between canon / TP to make the linear /
   angular choice explicit (API change, possible breakage of out-of-tree uses
   of motion)
   2. Force the TP to use the same units as canon (would be nice for other
   reasons too, but requires touching a lot of the TP)
   3. Do minimum-displacement checks in canon using user (and therefore TP)
   units, instead of internal units. (Ugly kludge, which is not unusual for
   canon unfortunately).

I'm looking at doing some combination of (1) and (2) in the long term, but
(3) is the winner for now since I already have something working there.
I'll rebase the fix onto machinekit master once I get more testing done.

Best,
Rob

-- 
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 [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to