Greetings,
I'm in the process of finishing a module for reading data from a
Velleman PPS10 oscilloscope and would like some input on naming it.
There already exist some modules that interface with other Velleman
products and are under the Device::Velleman namespace. For example:
Device::Velleman::K8055::libk8055
I think Device::Velleman::PPS10 might be appropriate. I was also
thinking of Oscilloscope::Velleman::PPS10 as a possibility. But there is
no Oscilloscope:: namespace.
The oscilloscope sends series of packets (or frames) of data of the
signal it's rendering on the screen. Each packet of data includes header
information such as volts/division time/division, plus 256 samples of
voltage that was used to render the trace on it's LCD screen. The data
is complete so that a graphical oscilloscope software could render the
same thing on the screen. The LCD screen has lower resolution and only
displays half the samples the instrument measures, so there is value in
grabbing this data by software.
Here is what the module does. It reads the binary data using
Device::SerialPort and parses into individual packets. It returns a hash
containing the original binary data, the header info and the samples
scaled to actual volts and sampling times. The calling application can
then do whatever it wants with the data. The communication is one way
and there is no way to control the oscilloscope over the serial line.
I wrote a second module to display the traces by piping the trace
data to gnuplot. The main program reads the oscilloscope data in a loop
and calls a method on let's say an Oscilloscope::Gnuplot object to
render each parsed packet. This was a cheap way of rendering the read
data and works quite well. It's responsive on my old system and displays
about 10 frames/s. I'm wondering if this second module might be worth
posting to CPAN as well.
thanks for any input.
narbey