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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Store long strings in EPICS record. |
From: | Mark Rivers <[email protected]> |
To: | "'David Michel'" <[email protected]>, "[email protected]" <[email protected]> |
Date: | Tue, 25 Feb 2014 19:49:58 +0000 |
The path can be set in many ways. It can be set via a Channel Access put from any CA client. For example, it could be entered from a normal medm text entry widget, etc. In this case the user entered the components of the file path (path, file name, file number, C-style format string to construct file name from the preceding values) in medm
and the IOC driver constructed the full path string, which is what I showed in my previous post. The IOC driver set that value in a waveform record, via callbacks. That record has SCAN=I/O Intr so it updates when the driver changes it. Mark From: David Michel [mailto:[email protected]]
Hi Mark, In your example, looks like you're using a filepath. I'm confused as to where you specify that path in the waveform record in the first place? David
You cannot store a long string in a stringin record.
However, you can store a long string in a waveform record with FTVL=CHAR. caget, medm and other clients know how to display this correctly.
Here is an example:
corvette:~>cainfo GSE-PIL1:cam1:FullFileName_RBV
GSE-PIL1:cam1:FullFileName_RBV
State: connected
Host: 164.54.160.161:5064
Access: read, write
Native data type: DBF_CHAR
Request type: DBR_CHAR
Element count: 256
corvette:~>caget -S GSE-PIL1:cam1:FullFileName_RBV
GSE-PIL1:cam1:FullFileName_RBV /cars5/Data/gpd_user/data/idc/2014/run1/eng/testing/images/testing_1/S045/stubbs_test_1002.tif
Mark
|