The idea was to use rarely known features
of
VGA/SVGA cards to make the
computer screen behave as very fast strip-chart
recorder (Real-time data traces displayed
from bottom-up). If standard graphics libraries
were used, the scrolling of the screen
would require moving the contents of the
entire video memory with every 1-row scroll.
Instead, by using the VGA registers which
allow defining the beginning of the video
buffer, and writing custom VGA graphics library,
I implemented a sort of circular video
buffer in the video memory. As the result,
the scrolling of the screen to display a
new
set of values required very little processing
power and resulted in ability to display
the
real-time data as fast as 50 screens per
second (on a 486 computer).
Another challenging feature of the software
was to make data streaming
to the disk continuous and simultaneous with
acquiring and displaying the data, all at
very high rates (up to 100,000 samples per
second per channel). This was accomplished
with
a special real-data buffer design which dealt
with different speeds of the
data-acquisition hardware, the display routines,
and the hard-drive.
This was a complete, commercial package that
was sold by OMEGA
Engineering (the largest USA distributor
of data-acquisition equipment), by some hardware
manufacturers, and by mail order. As such,
it had to support all popular video cards
and
printers.
The full demonstration of the software would
require a supported
data-acquisition card. It is however still
possible to test the software without such
card, since a signal simulation driver is
implemented in the software.
The software was written in C++ and the assembly
language. |