Hi Kurt,

I had a similar experience with a realtime task running at 20hz.

My application has a second user mode task that loops while "looking" at an
area of shared memory. When a change is detected (in shared memory) my user
mode display task updates my screen status display. This alone was running
smoothly, but my application calls for the ability for several different
terminals to be able to log on and view realtime display simultaneously.
When a second terminal logged in and invoked my user mode display program,
my screen updates began to appear jerky. This was all occurring in spite of
the fact that I had PLENTY of processor time left.

I fixed this by putting my user mode process to sleep after each single
screen update. Since new data can only flow into my application at 20hz from
my realtime sampling process. There is no need to continue to execute my
user mode display after the first pass. I then let my realtime kernel mode
exec "wake up" my user mode display process at the end of each 20 hz frame.
My user mode display process can then do a single screen update and go back
to sleep. etc, etc, etc...

P.S.
If you use sigaction() to catch your wakeup signals be sure to enable
SA_RESTART in the flags field. This will allow ncurses() to resume/complete
any previous screen update that may have not completed at the time your
display process put itself to sleep. Otherwise you will get random sporadic
incomplete update results...


Hopes this helps!
Sincerely,
Todd

>>Hi all!
>>Last September I started to create a RTL driven AD-board on the par.port
for biomedical stuff
>>(it's a 4-channel nerve stimulator equipped withsensor signal
acquisition).At the moment a 100Hz
>>RT-task measures the signals and put the data in theRT-FIFO. On the other
side, the non realtime
>>task read the data form theFIFO and put it on the screen :-) very
pretty!.... ok it works fine,
>>BUT
>>when the system load is to high the GTK based program displays the data
not really smooth (the
>>cursor jumps, stops ...).My question now is: is there a way to receive
ahard-realtime-data-display
>>with RTLinux??
>>
>>Of course ... I'm a beginner on RT things, but I wonder if my request
istotal impossibel or not?
>>
>>with kind regards,
>>Kurt

--- [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/

Reply via email to