Andy pointed me to this problem on the forum:

https://forum.linuxcnc.org/forum/38-general-linuxcnc-questions/30276-run-from-line-and-v-2-7-3

Thanks for the heads-up, Andy, and thanks to Paul for providing enough 
information to figure out what's happening.  Here's the forensics 
report, which points to a bug.

When the operator sets a start line and runs the program, task runs the 
interpreter through the g-code file as usual, generating canonical 
commands and queueing those up on the NML_INTERP_LIST.  But once the 
start line is reached, the list is cleared, and those commands are never 
issued.  After the start line, execution continues as usual.  This 
breaks when the interpreter reaches a queue buster before the start line.

In general, when the interpreter hits a queue buster, it can't go any 
further because it can't know the machine state following the code.  So, 
task issues any commands queued up in the NML_INTERP_LIST, and once the 
queue buster finishes, its result is known and the interpreter can 
continue on.

In the case of the start line, a queue buster prior to the start will 
still trigger this behavior.  In Paul's case, the G38.1 forced task to 
clear the queue, issuing all codes in the interp list, causing the 
behavior he reported.

Unfortunately, there's no trivial fix to make this work properly.  It's 
pretty easy to see how a probe operation's result can't be predicted 
without actually running it, and the interpreter can't know whether the 
codes after Paul's start line will be affected by the earlier probe.

The proper fix may be to throw an error if a queue buster is encountered 
before any start line, and let the operator decide what to do.

As for Paul's question about downgrading, this isn't a regression in 
LinuxCNC.  His previous successful use of the start line must not have 
followed a queue buster.

        John

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to