EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Variable size frame
From: "Mark Rivers" <[email protected]>
To: <[email protected]>, "Jeff Hill" <[email protected]>
Cc: [email protected]
Date: Wed, 4 Mar 2009 14:27:33 -0600
One simple way to do this, depending on the client, is to put the size in another PV.  Then the client can do a ca_get, requesting only that size.  That is what I am doing with the areaDetector software and an IDL client.  But generic clients like medm won't be able to handle that.

________________________________

From: [email protected] on behalf of Bruno Coudoin
Sent: Wed 3/4/2009 2:23 PM
To: Jeff Hill
Cc: [email protected]
Subject: RE: Variable size frame



Le mercredi 04 mars 2009 à 11:03 -0700, Jeff Hill a écrit :
> Hello Bruno,
>
> The maximum array size transmitted is determined by what you service snap in
> returns from casPV :: maxBound ( 0 ). We will call that NS.

I see this but how to pass the payload size (lets call it PS) which
maybe <= NS

> With the current state of the CA protocol the client can request a number of
> elements NE constrained by 0 < NE <= NS. The number of elements NE can be
> specified when making a get, put, or subscription request. As I recall, if
> the number of elements provided by the service snap in is less than what the
> client has requested then the client does not receive status indicating an
> error, and instead it will receive the number of elements it has requested
> with the undefined elements (at the end of the array) being set to zero.
> Note also that if the client subscribes specifying an element count NE then
> that number of elements will not change, but the client always has an option
> of canceling the subscription and starting a new one specifying a different
> NE.

The client can request NE but how does it know PS? I can't see it.

> That's the current state of things. We will certainly need to consider the
> need for improved flexibility in the future.

I am probably missing a point here because my need sounds pretty common.
I have a CAS server in which I have a PV with a variable data size of
the form (char*, size). I also know its maximum capacity. I expect the
client to be able to read the data an know its size.

I tried first to use a DBR_STRING but I found out it was truncated to 40
chars. Then I tried an array of DBR_CHAR but found no way to pass PS to
the client.

What is the best way to do this currently ?

Bruno.






Replies:
RE: Variable size frame Bruno Coudoin
References:
Variable size frame Bruno Coudoin
RE: Variable size frame Jeff Hill
RE: Variable size frame Bruno Coudoin

Navigate by Date:
Prev: RE: Variable size frame Bruno Coudoin
Next: RE: Variable size frame Bruno Coudoin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Variable size frame Bruno Coudoin
Next: RE: Variable size frame Bruno Coudoin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·