Hello Elmer
On 21.07.2014 20:36, Elmer Pensack wrote:
I have a timer device that provides data over a RS232 serial interface.
I’m using StreamDevice to grab the data and publish as PVs. The data
contains several times. All the times come in as an ASCII string
containing days, hours, minutes and seconds and I'm writing them to
stringin PVs. However, the data does not contain any separators, so the
data coming in looks something like 000024015 (i.e. 000 days, 02 hours,
40 minutes, 15 seconds). I know the ‘in’ command needs to match the
incoming data exactly or else it is discarded, but is there a way to add
formatting to the PV that is NOT in the data? All I want to do is add a
‘:’ separator between each part, so the PV value will be like
000:02:40:15. Any suggestions?
Thanks!
At the moment, it is not possible to insert additional characters while
parsing a string. But this may be an interesting idea. You can use
"%T(%j%H%M%S)" as suggested by Thomas to convert it to a double value
(seconds) or to an EPICS time stamp with "%(.TIME)T(%j%H%M%S)", but not
to a different string.
I suggest that you have a look at the scalcout record in SynApps.
http://www.aps.anl.gov/bcda/synApps/calc/R2-4/sCalcoutRecord.html
That can do string manipulation.
Dirk
- Replies:
- Re: Formatting StreamDevice input Elmer Pensack
- References:
- Formatting StreamDevice input Elmer Pensack
- Navigate by Date:
- Prev:
Re: StreamDevice, asynDriver or some other solution? Dirk Zimoch
- Next:
Re: EPICS alarming on VAL != X Benjamin Franksen
- 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: Formatting StreamDevice input Mazanec Tomáš
- Next:
Re: Formatting StreamDevice input Elmer Pensack
- 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
|