Hi all.
I am trying to get streamDevice to break an input string that has
fields delimited with semi-colons into discrete strings. The input
string as read by asyn + GPIB looks something like
BIN;RI;MSB;4;32;500;Y;100.00000000000E-12;20.90000000000E-9;"s";0.05000000000;5.00000000000E-9;21.00000000000E-9;0.00500000000;232.83064365387E-12;0.0000;"V";"C2,
50.00mV/div, 5.000ns/div,500 points, Sample mode";"C2"
My stream device protocol looks like:
WFMPRE {
ReplyTimeout = 200;
ReadTimeout = 50;
InTerminator = LF;
Separator = ";";
out "VERBOSE ON";
out "WFMO?";
in
"%(\$1PARAM01.VAL)s%(\$1PARAM02.VAL)s%(\$1PARAM03.VAL)s%(\$1PARAM04.VAL)s%(\$1PARAM05.VAL)s%(\$1PARAM06.VAL)s%(\$1PARAM07.VAL)s";
out "VERBOSE OFF";
}
where the records referred to by $1PARAMxx.VAL are stringout records
with SoftChannel DTYP. Each successive conversion ends at either the
39th converted character, or the first whitespace. It seems to be
completely ignoring the specified separator. Is this correct behavior?
If so, any suggestions for accomplishing what I want (ability to
access the string fields as records or as string elements of a
waveform record. I intend to add more field conversions to complete
the string parsing, if/when I get this much working.
The data in question comes from a Tektronix scope, and contains the
data need to convert a generically scaled waveform array into an array
scaled to engineering units.
Thanks.
Rod Nussbaumer
ISAC Controls, TRIUMF
Vancouver, Canada.