On Mon, Aug 12, 2013, at 12:09 PM, Charles Steinkuehler wrote: > On 8/12/2013 10:48 AM, John Kasunich wrote: > > > > I think Kirk's prespective is right on target. A real-time system that > > misses timing targets is not a very good real time system. A real-time > > system that misses timing targets and doesn't even know it isn't a > > real-time system at all. > > Yes, whatever is going on is scary, particularly since the higher level > code doesn't complain. > > My current theory is that something related to the trajectory planner > has a non-obvious non-real-time component (perhaps waiting on a > semaphore or lock that was acquired by the user-mode code and not > released before a task switch), and that this is either a new issue > introduced by the RTOS flavor updates, or it's been lurking in the code > for a while and just doesn't appear on the typical multi-core, multi-GHz > x86 systems. Alternately, it might be something related to compiling > for the ARM architecture. I don't get the impression LinuxCNC has a lot > of build history on alternate architectures. :) > > Whatever the actual cause, this sure seems like a problem that needs fixing. > > I'll post more details once I've dug out the logic analyzer and captured > some real-world data. > > --
You might also get some useful data with hal-scope. Connect a ddt block to the commanded position coming out of motion, and scope the output of that. If you are only using one channel, I think the default halscope buffer is 16K samples - that is 16 seconds at the default servo rate. Put the trigger near the end of the trace, let the scope acquire 16 seconds of pre-trigger data, then start beating on the program. When you hear it bobble, hit the manual trigger button on halscope. You should be able to examine what the motion controller was doing for the last 16 seconds. If halscope says the controller commanded zero velocity, then it must have been starved of data somehow. On the other hand, if the scope trace is clean, then that points at the realtime system (since the scope is sampling at the same rate as motion is running, it would have no idea that things stopped relative to the real world). -- John Kasunich jmkasun...@fastmail.fm ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers