Hi Matt,
Matt Cheselka wrote:
>
> Hello,
>
> I really need some comments about this as quickly as possible.
>
> I wrote a device driver for a Intelligent Instrumentation PCI-2048W data
> aquisition board. I converted it into Comedi to allow it to run in the
> real-time environment. This board has two DAC channels. What I want to
> do is convince myself that the driver is running hard real-time. So I
> decided to use one of the DAC channels for a test. So what I can do is
> send out a waveform and watch in on my oscilloscope. Now my guess is that
> if this thing is REALLY running in real time, then when I move the mouse
> around or do something else that distracts the OS, I shouldn't see a
> change in the wave form AT ALL. Is this a good test? Can anyone suggest
> a better/alternative one?
>
This is quite a good test. Another that I like is to do a 'ping -f
<host>' from another machine to the target machine. This will show up
non-realtime behaviour very quickly.
> What I've sofar observed is that if I'm running in mode 0 and sending one
> value at a time to the driver with my higher-level program (which is just
> a modified comedilib/demo/outp.c), I notice that the waveform does change
> when I move the mouse around or do something else with to distract the
> OS. My guess here is that the driver is running real-time while it's
> sending out a voltage, but this is such a short amount of time that there
> would be no way of knowing by just looking at the o'scope output.
>
> I'm thinking that what I really need to do is send the 'AO' function a
> longer waveform like a data buffer that contains an longer list of values
> to pump out of the DAC. This would keep the driver doing it's real-time
> thing hopefully long enough to see it on the scope.
Yep, outputing a sinewave to a D/A will show up non-realtime behavior
very well.
Regards, Stuart
-- [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/rtlinux/