EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  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  Index 1994  1995  1996  1997  <19981999  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 
<== Date ==> <== Thread ==>

Subject: Re: SNL request
From: [email protected] (William Lupton)
To: [email protected], [email protected], [email protected]
Date: Tue, 3 Nov 1998 13:36:22 -1000
re...

>> It sure would be nice to have an option in the sequencer that would
>> use ca_put_callback() ... i.e. a call that wouldn't return until
>> record processing caused by the 'put' was complete. I'm trying to work 
>> with a device that is quite unpredictable in its response time.
>
>It would also be nice to get a 'done' event corresponding to a 'put'
>without hanging at the 'put' call.

I agree with both suggestions. ca_put_callback() really should be supported
and you really shouldn't have to block until the callback has been delivered.

Off the top of my head, how about the following spec:

pvPut( var );		/* existing behavior */

pvPut( var, wait );	/* use ca_put_callback(); if wait==TRUE, block on
			   completion with some pre-determined timeout */

pvPut( var, wait, timeout );
			/* as above but specify the timeout */

if wait==FALSE, pvPut() will not block and completion can be checked by using

when ( pvPutDone( var ) ) {
}

which will fail if no put is active, or wait for put completion otherwise.
Timeouts can be handled using the normal delay() mechanism. There would
probably also need to be a pvPutActive( var ) enquiry function.

I can't make any statement about when this might get done (assuming that
no-one gets there before I do). I would prefer to make this change only to
the still-unleased version that has the PV queueing facilities. We have been
using this operationally for several years.

Comments?

William

PS, Is there any interest in corresponding support for non-blocking gets?

Navigate by Date:
Prev: Epics build for Multiple Host Architectures? Guy Jennings
Next: RE: Epics build for Multiple Host Architectures? Mark Rivers
Index: 1994  1995  1996  1997  <19981999  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: SNL request Tim Mooney
Next: Re: SNL request Steve Lewis
Index: 1994  1995  1996  1997  <19981999  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·