Sharing the EPP port won't work. Because the Pico Systems devices have a register address counter that increments for every data transfer cycle, sharing would get the counter out of sync. Anyway, it sounds pretty wierd to have a printer or scanner on the same port as a CNC control that could cause injury if something went wrong. NOT a good idea.
Also, it is not clear if this driver permits the
level of throughput required for fast back and
forth transfers. It is doing very short bursts
each way and does it at
about 600 ns/byte on a PCI parallel port.
Well, of course, we had to do it RIGHT. Latching
the count so it could be safely read later by the
CPU was obvious. Dealing with zeroing the counter
while searching for the home index pulse at the
same time the servo loop is running was not so easy,
but it handles that, too.
Both rtlinux and RTAI work approximately that way.
Some X-86 systems have been running step pulse
generation tasks as fast as every 10 us! So, the
task switching doesn't take very long.
12 years ago