> There is no such thing as "Linux driver." Call it GNU/Linux RT driver > for Ethernet interface or whatever. That too needs to be isolated from > the regular Ethernet driver as you would need to isolate SATA-CNC driver > from the default SATA driver.
Before making such statements, please read up on the way things are done in emc2 (and any other RTAI application that uses hardware access). Once a patched kernel exists there are basicly 2 different domains running on the same PC (the RTAI RT domain, and the linux domain). All linux drivers are available only to the linux domain. The emc2 code runs inside the RTAI domain, and has _no_ access to any linux drivers. That said, any hardware you want to support from emc2 needs special drivers that use only RTAI system calls. Such a driver exists for some ethernet cards (check RTNet), for serial ports (rtserial), for parport (a few actually, emc2 has one), for special hardware (check COMEDI and emc2 drivers). The fact that there is a RTAI driver for a piece of hardware doesn't mean that we can use it directly in emc2, but it means such a driver can be written to run in RT context (that means we can probably use it from emc2). The issues I see with SATA: * there is usually only one controller on the motherboard. that means you would need to access it from 2 different domains (to separate one port for RT). That will surely lead to problems, as the RTAI domain has higher priority and can preempt the linux domain at any time. The SATA/whatever controllers have some setup procedures before you can actually send/receive data from a certain port, so 2 domains will probably lead to problems. This can be fixed by using a separate SATA controller board, but that is way more expensive than an addon ethernet card. (remember the thread started because of people looking for alternatives for the cheap parport... people willing to invest modest amount of money already have enough solutions). * >> At the other end of the wire, you need an FPGA or embedded controller >> with an Ethernet interface. Such things are much easier to find than >> the same thing with an SATA interface. > > You seem to like low cost stuff as quoted later but I doubt that you'll > find that together with Ethernet/CNC controllers. That is the whole point of the thread. Some people are actually trying to build a device connected through Ethernet to emc2. It won't be a ethernet CNC controller, but part of it. emc2 will still do more than enough, but the ethernet gizmo will do the actual data output/input. (be it step/dir or pwm+encoders or whatever). >> >>> Case 2, SATA-CNC: >>> Implementation requires motherboard/Linux drivers combo with SATA >>> (always available), SATA/CNC adapter, and SATA-CNC driver. >> >> And a realtime SATA driver. And some way to keep the Linux driver from >> interfering with the realtime driver. Linux drivers are NOT realtime. >> > > Not all Linux drivers are RT of course. I never claimed that. Read above, "linux drivers are useless for emc2". NO linux driver is a RT driver. > That all depends on the driver. What's currently preventing SATA from > interrupting parallel port? RT scheduler. That's all. They don't talk to the same piece of hardware. The SATA driver runs in the linux domain, so when RT executes there is no way for the SATA driver to run. >>> There is almost always a spare (S)ATA port on the motherboard, but only >>> one Ethernet port which would better be used for default network >>> connections. >> >> It is extremely unlikely that a Linux driver for the filesystem and a >> realtime driver for the CNC will be able to coexist on SATA. >> > > How do they coexist with parallel port or Mesa card for example? Let me rephrase that: It is extremely unlikely that a Linux driver for the SATA controller and a realtime driver for the CNC will be able to work on the same SATA controller chip. > You mix file systems with interface driver. SATA drivers do not deal > with file systems directly. They send bytes of commands, status, and > data back and forth. You can format (S)ATA drives any way you want. > > What you forget is that drives are mechanical devices which could be > controlled real time with appropriate driver. Tape drive that changes > tape cartridges, connected to SATA bus, is much closer to a CNC machine > than any Ethernet card ever was. > >> An ethernet card is slightly cheaper than dirt. Newegg has 35 cards >> under $25, and 9 that are under $10. >> > > This is immaterial for this discussion. SATA is included in basic MB > price so it's cheaper than any Ethernet. > Only if you can manage to access it from both RTAI and linux at the same time without problems. <snip> > SATA was specifically designed to work with drives outside of the box > like SCSI does. The amount of data depends on programs and drivers just > like it does for Ethernet. that may be, but the point you are (probably willingly) overlooking is "industrial environment". >> isolation at all, and as you point out has an extremely short 1m length >> limit. > > Parallel port has no electrical isolation either yet people use it one > way or the other for CNC so that's a moot point. Yes, but they add optoisolation breakoutboards. I wonder how that would look for a SATA cable. <snip more ..> > Just because something hasn't been done before it doesn't mean it's > impossible or that it doesn't make sense. When parallel port was used > for the first time for whatever else, besides connection to Centronics > compatible printer, people probably had the same reaction. PP made it to > CNC eventually and now we have numerous controllers for it. If you think you can make it work, by all means don't let us stop you. But please try to understand, capable people on this list don't reply "it won't work", just because they don't like it or think it might be hard to do. Regards, Alex ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users