I don't think you can get the image into a waveform record from the scope with StreamDevice. You would have to write another driver that does what you were doing with Hyperterminal and Python. You could perhaps use an SNL program for this.
To display an image in BOY you use the Intensity Plot widget. The waveform record is 1-D, but you tell the BOY widget the actual X and Y dimensions of the array.
Mark
________________________________
From: Pavel Masloff [[email protected]]
Sent: Sunday, April 29, 2012 9:22 AM
To: Mark Rivers
Cc: EPICS Tech Talk
Subject: Re: [Scopes] BMP image record??
Is there any working example on how to get the image into a waveform record using StreamDevice? I haven't used the waveform record yet, reading up on this in the db reference manual, not that comprehensible :(
Another question is how to read a waveform (image type) in BOY?
Pavel
On Sat, Apr 28, 2012 at 5:53 PM, Mark Rivers <
[email protected]<mailto:
[email protected]>> wrote:
If you can get the image into a waveform record, using streamDevice for example, then you can display that waveform as in image in EDM, CSS BOY, ImageJ or other applications. You need to create a few other records that tell the client what the actual image dimensions are.
It may be just as easy to implement reading the actual waveforms into waveform records, and display those with Cartesian plot widgets in your display manager.
Mark
________________________________
From: [email protected]<mailto:[email protected]> [[email protected]<mailto:[email protected]>] on behalf of Pavel Masloff [[email protected]<mailto:[email protected]>]
Sent: Saturday, April 28, 2012 2:17 AM
To: EPICS Tech Talk
Subject: [Scopes] BMP image record??
Hello again,
As I mentioned earlier we are running a series of experiments with our high current switches. I have written simple support ("...with a little help from my friend" Dirk Zimoch) for the Tektronix TPS2000 over RS232 using StreamDevice and ASYN, so now I can remotely arm the scopes, set its properties, save waveforms on to the CF card, etc. But...
In order to not run back and forth and see if everything went OK (which is rather tiresome and time consuming), we need a confirmation from the scopes. I don't want to deal with the implementation of the waveform records for now, all I have got so far is that I save them on the flash card.
As such a confirmation I see transferring the BMP (or PNG) image from the scope (sort of Print screen) on to the operator PC somehow.
There is a special SCPI command "Hardcopy start". Which mimics the Print button on the scope's front panel. I have tried to transfer a BMP file via Hyperterminal (and Python script) and it worked out well (more or less).
How could this be ported to the EPICS database from the IOC and client standpoint, so an operator could see the oscillogram on the screen and decide whether the experiment went well, so she will save the waveforms and move on to the next experiment?
The image file is maximum ~ 46Kb (20Kb on average).
Any thoughts?
--
Best regards,
Pavel Maslov, MS
Controls Engineer at Pulsed power Lab
Efremov Institute for Electro-Physical Apparatus
St. Petersburg, Russia
Mobile: +7 (951) 672 22 19
Landline: +7 (812) 461 01 01
--
Best regards,
Pavel Maslov, MS
Controls Engineer at Pulsed power Lab
Efremov Institute for Electro-Physical Apparatus
St. Petersburg, Russia
Mobile: +7 (951) 672 22 19
Landline: +7 (812) 461 01 01