1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 <2012> 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 <2012> 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Stream Device parsing strings |
From: | Rod Nussbaumer <[email protected]> |
To: | [email protected] |
Date: | Wed, 11 Apr 2012 15:01:39 -0700 |
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.