On Thu, 18 Jul 2013, Jon Elson wrote: > Date: Thu, 18 Jul 2013 21:47:32 -0500 > From: Jon Elson <[email protected]> > Reply-To: EMC developers <[email protected]> > To: EMC developers <[email protected]> > Subject: Re: [Emc-developers] architecture-specific drivers > > Peter C. Wallace wrote: >> I think a good way to do this is simply a set of architecture specific >> wrappers around the lowest level I/O, and perhaps initialization code so the >> driver itself is not forked. >> > While in theory this could be done, it won't take advantage of the fact the > PRU is a computer. The ppmc driver has a "cache" that reads all the > registers that need to be read in one block right after the servo thread is > invoked, and accumulates all registers that need to be written to the > device, and writes them all at the end of the thread. It makes the most > sense to move the whole "cache" logic out to the PRU, and having the > data just be at a particular location in the PRU's data memory, available > to the ARM. My idea is the driver will create a "work list" of registers > to be written and where to put the results, and registers to be written > and where the values come from. This would be created once, and > the PRU would follow the list to perform the above actions.
Sure, a block/scatter gather interface is assumed. This is the same as the TRAM idea in the Hostmot 2 driver. This is also required for efficient interfacing to Ethernet or SPI connected devices > > Also, I'd like to have the ppmc device set the timing of the servo thread, > use an interrupt to trigger the PRU program to perform its work, > and then signal the ARM to perform the PID, etc. part of the > servo thread. This will reduce jitter to sub-nanosecond levels, > as the ppmc hardware will sample all encoder positions, etc. > on the ppmc's timer. (rtapi was not set up to use this feature, > but now that we are striding off in a new direction, I'd like to > see if we can do it.) > > Jon > Our older configs did this but LinuxCNC seems to want to be in charge of the timimg... > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Emc-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-developers > Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your (")_(") signature to help him gain world domination. ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
