Jeff,

You may be able to do what you need to do by jury-rigging something.  That 
is, depending on the details of your application, it might be sufficient 
for you to write a quick and dirty ISR that "sniffs" the IRQ as it comes in 
and then passes it on to Linux.  But you'd need to be careful to not touch 
any of the incoming data if you still want Linux to pick it up.

If you want to get the time info *and* read or act on the data with 
realtime precision, you'll probably need to use a realtime version of 
Linux, probably RTLinux or RTAI, and you'll need a RTLinux or RTAI driver 
for the cards.  Unfortunately, it's a lot of work to convert a Linux serial 
port driver for realtime use.  Linux serial port drivers use the TTY 
interface to the kernel, which is quite complex and does not readily adapt 
to RTLinux because it has so many tendrils into the Linux kernel.  For 
example, rt_com makes no attempt to adapt the Linux serial port drivers for 
realtime, it simply starts from scratch.

And yes, you're right, rt_com works with the PC's built-in serial ports, 
not with 3rd-party cards.  However, if the 3rd-party card is similar to PC 
hardware, you might be able to adapt it. Unfortunately, most multiport 
serial cards use some sort of intelligent controller chip, so this is 
rarely the case.

If it's useful to you, I have adapted the Linux driver for the Cyclades 
Cyclom-Y multiport card to RTLinux.  I haven't updated it in about a year 
(the user base is pretty small, as far as I can tell), but it works fine 
under 2.2.x kernels.  There were changes to the kernel TTY interface in 
2.4.x that I haven't caught up with yet that will most likely keep it from 
working in 2.4.x.

It would also be nice if there were a way for you to adapt this driver to 
your cards, but that is almost certainly impractical due to the differences 
in hardware.

If the driver is useful to you, you can get it from 
http://www.practical-instruments.com

Hope this helps,
Brad

= = = = = = = = = = = = = = = =

Brad Hines
Practical Instruments, Inc.
10321 Quill Ave.
Sunland, CA  91040-3023
818-352-7099
Fax: 818-293-0141


At 01:43 PM 5/6/2002 -0600, you wrote:

>I'm new to the rtlinux world...so please go easy.
>
>I working on porting a data system that currently
>runs under DOS to linux.  What I have are two multiport
>serial cards (RocketportPCI/422, 4 port & DigiClassic, 8 port)
>I have data from several sources coming in, some at regular
>intervals, some at irregular intervals.
>
>I need to be able to timestamp fairly precisely when the
>data arrives (within a few ms) I also need to be able to
>time an external pulse to the datasystem clock.
>
>Regarding the pulse, I think I can drop it to IRQ 3 and in
>rtlinux determine fairly precisely when the pulse occurs.
>
>I'm unsure of how to handle the serial data.  Both cards
>have regualr linux dirvers and I can ingest data simply through
>open(2) and read(2) statements in linux, but as I understand
>rtlinux, one cannot use these functions in an rtlinux module.
>Also, rt_com is not made to support these specialty cards.
>Is the above correct?



-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to