> 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

Reply via email to