Am Fri, 13 Oct 2023 12:53:43 +0000
schrieb Zimoch Dirk <dirk.zimoch at psi.ch>:
Hello Dirk,
> If you do not set your InTerminator to the normal line terminator for
> this protocol (i.e. inside the { } ), then the 'in' command will read
> all the lines (terminated by readTimeout).
Great suggestion, I'll try that.
> If there is a "special"
> terminator after reply (e.g. 2 newlines) even better: Set InTerminator
> accordingly.
Unfortunately not, I will have to wait for the timeout. But that would be
ok, this is supposed to be done only once during IOC initilisation.
> in "%/unique identifier[^\n]*/";
> in "%.1/unique identifier/([\n]*)";
> in "%*/unique identifier/%f)";
> in "%*/unique identifier/%(\$1:rec1)f,%(\$1:rec1)f,%f";
I will have to parse tag=value stuff further down the road (see below), so
what I have come up with so far looks like this (searching for a given uid
and parsing for the identifier afterwards):
in "%.1/uid=\$1.*?device-identifier=([-a-z0-9]+)/";
> Give example data for more details (so that I do not have to guess).
The answers for a full bus look like this (Tinkerforge stuff via a text
proxy, extra newlines between the blocks added manually for posting):
---
uid=62C6Tx\tconnected-uid=0\tposition=0\thardware-version=3,1,0\tfirmware-version=2,5,2\tdevice-identifier=master-brick\tenumeration-type=available\n
uid=Tm6\tconnected-uid=62C6Tx\tposition=a\thardware-version=1,0,0\tfirmware-version=2,0,2\tdevice-identifier=industrial-digital-out-4-v2-bricklet\tenumeration-type=available\n
uid=YmR\tconnected-uid=62C6Tx\tposition=b\thardware-version=1,0,0\tfirmware-version=2,0,2\tdevice-identifier=isolator-bricklet\tenumeration-type=available\n
uid=XKM\tconnected-uid=62C6Tx\tposition=c\thardware-version=1,0,0\tfirmware-version=2,0,2\tdevice-identifier=industrial-digital-in-4-v2-bricklet\tenumeration-type=available\n
uid=Ymq\tconnected-uid=62C6Tx\tposition=d\thardware-version=1,0,0\tfirmware-version=2,0,2\tdevice-identifier=isolator-bricklet\tenumeration-type=available\n
uid=P7w\tconnected-uid=YmR\tposition=Z\thardware-version=1,0,0\tfirmware-version=2,0,1\tdevice-identifier=analog-out-v3-bricklet\tenumeration-type=available\n
uid=23Uu\tconnected-uid=Ymq\tposition=Z\thardware-version=1,0,0\tfirmware-version=2,0,7\tdevice-identifier=industrial-dual-analog-in-v2-bricklet\tenumeration-type=available\n
---
Thanks for the already very usefuls hints!
cu
Gerrit
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
- Replies:
- Re: process multiple lines with streamdevice Zimoch Dirk via Tech-talk
- References:
- process multiple lines with streamdevice Gerrit Kühn via Tech-talk
- Re: process multiple lines with streamdevice Zimoch Dirk via Tech-talk
- Navigate by Date:
- Prev:
Re: process multiple lines with streamdevice Zimoch Dirk via Tech-talk
- Next:
Re: process multiple lines with streamdevice Zimoch Dirk via Tech-talk
- 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
- Navigate by Thread:
- Prev:
Re: process multiple lines with streamdevice Zimoch Dirk via Tech-talk
- Next:
Re: process multiple lines with streamdevice Zimoch Dirk via Tech-talk
- 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
|