Dear all,
I am using the CA-Server (EPICS R3.13.3) on Linux and Windows and
encountered the following problem.
Reading an array with caget works fine, but trying to read the same
array via a CDEV/CA-client results in an internal error on the server
(you can easily verify this with the simple server in the
src/cas/example/simple-directory).
As far as I understand, the CDEV/CA-client always uses the DBR_CTRL_XXX
type to request data. The CA-Server checks the application-type and uses
the corresponding prototype gdd-object (gddcontainer for dbr_ctrl_xxx),
which is defined in gddAppsDef.cc. But the value-gdd in the gddcontainer
is defined as of type gddScalar. The CA-Server can't modify the bounds
and type of the value-gdd, because it is managed and flattened ==>
internal error.
Maybe a solution could be to differentiate between array and scalar
dbr_ctrl-prototypes, when registering them in the
gddApplicationTypeTable?
My first approach was, to unmark the Managed/Flat-flags of the
gddContainer, to be able to change bounds and type of the value-gdd. It
works, but it is a performance impact and I am not really happy with it.
Has anyone else encountered the same problem, or any suggestions?
Jens
-------------------------------
Jens Eden; PTB
- Replies:
- Re: reading arrays with dbr_ctrl_xxx from CA-Server Benjamin Franksen
- Navigate by Date:
- Prev:
help decipher inet path Allan Honey
- Next:
Re: Proposals for the Next Generation CA 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:
help decipher inet path Allan Honey
- Next:
Re: reading arrays with dbr_ctrl_xxx from CA-Server 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
|