We are moving our legacy VMS-based GPIB control and acquistion to EPICS. SLAC uses a number of different scopes from different vendors. The more modern scopes, like the Tektronix TDS3000 support GPIB commands which return a "preamble" with the waveform data. This preamble contains, among other things, scaling information needed for proper display. Other, older scopes, require that each tidbit of information be requested individually.
The TDS3000 "WAVFrm?" command returns:
Write returned 0 and wrote 7 bytes
Read returned 0 and stopped for 1 read 1024 bytes
Buffer: 2;16;BIN;RI;MSB;10000;"Ch2, AC coupling, 5.0E-2 V/div, 4.0E-7 s/div, 10000 points, Sample mode";Y;4.0E-10;0;-2.08E-6;"s";7.8125E-6; 0.0E0;1.5744E4;"V";#520000
Has someone addressed the problem of a generic method to receive these interesting strings and parse the information out?
I can see a few ways to do each device with GENSUB or driver code or even (my favorite hammer) some SEQ program, but am hoping someone has a clever solution already.
Ron Chestnut