Hi Chris,

I had the time to get a closer look to your work.

I was very astonished on executing the testcase for the failure.
Looking at your work, it seems to me, as if the newly introduced fcode-
variable is unrelated to the rest of motion stuff and I doubt, whether this is 
the right way.

Don't know, how linuxcnc could work all the years with that fcode-bug - which 
I consider fundamental break of concept.
As I understand cnc-machining, the f-word specifies the max. velocity of tools 
motion. So whatever taskplanner does, it has to respect the max. velocity.
>From other cnc-controllers I know, that for that reason max. velocity is bound 
to each motion segment and with this concept, motion executor knows at each 
time the max. allowed velocity. linuxcnc seems to have broken that concept. 
Why? - and when? From the beginning? or introduced at later time 
(misoptimization)?

The testcase (3Dchips.ngc with different f-words) shows, that f-word is not 
bound to the motion segments. So I wonder, how the max. velocity of segments 
is calculated?
Did you fix that calculation too?
I don't know, who in linuxcnc is responsible for speed calculations. From my 
thinking taskmanager should be the one. But could be different.

So your changes seem to work, but what about the motion execution? Do they now 
respect max. velocity? And beside max. velocity from f-word the feed overwrite 
value should be taken into account too.

Function EMC_TRAY_SET_CODE_STATUS::update looks dangerous to me.
You added a call to cms->update(fcode), but where is fcode? Looks like a 
global variable.
This access might break threading rules. cms is function parameter. Same 
should be true for your fcode variable.

Once back in time my senior chief developer said: don't use global vars. If I 
ever see a global var in your code, I'll cut you a finger for each global =:O

cheers Reinhard




_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to