Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: Zero length length requests, EPICS upgrades, and cothread
From: Emmanuel Mayssat <emayssat@outlook.com>
To: Matt Newville <newville@cars.uchicago.edu>, "Johnson, Andrew N." <anj@aps.anl.gov>
Cc: EPICS mailing list <tech-talk@aps.anl.gov>
Date: Mon, 16 Dec 2013 16:37:34 -0800
I use cothread and pyepics.
Cothread is also a dependency of the PythonQt MASAR which is developed (and therefore probably used) at NSLSII

> That is, if we know that elements NORD through NELM-1 are not valid
> data then it seems better to not return them, unless the user
> explicitly asks for it. Then again, I think it would be preferable to
> have uniform behavior. Looking forward to hearing what the best
> approach should be...

To complicate things a little, let me just say that there is a mental model (intuitive model) that both implementations  should (maybe) conform to.
caget on a waveform should return NORD elements
caput $waveformPV $value should return an error (wrong syntax) or set the waveform to a size 1 array
caget(waveformPV,count=N,fill_value=-1.234) returns N elements where the first few are from the waveform (NORD elements) and the rest is filled with fill_value. Count can be greater than NELM, if count is -1, then returns NELM elements.

*About changing behavior and upgrading software*
I occasionally read that people are afraid to change the behavior of their software because "they are going to break their accelerator". Personally, when I upgrade, I do major QA. Additionally I allow for partial/progressive deployment . In an upgrade, I expect (minor) issues and am ready to rollback the upgrade if required.
In my view, changes are perfectly acceptable if you get closer to the mental model, i.e. make you software more intuitive and programmer-friendly. What may not be acceptable is when core developers of "collaborative" software stops their improvements because they are told that the intended changes would break their accelerator. As a result, the entire collaboration is held hostage.
Obviously it helps if the changes are documented in the release file.

Hope that helps!
--
E

Replies:
Re: Zero length length requests, EPICS upgrades, and cothread Matt Newville
RE: Zero length length requests, EPICS upgrades, and cothread michael.abbott
References:
Zero length length requests, EPICS upgrades, and cothread michael.abbott
Re: Zero length length requests, EPICS upgrades, and cothread Andrew Johnson
Re: Zero length length requests, EPICS upgrades, and cothread Matt Newville

Navigate by Date:
Prev: EPICS Base R3.14.12.4 now available Andrew Johnson
Next: Re: Zero length length requests, EPICS upgrades, and cothread Matt Newville
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: Zero length length requests, EPICS upgrades, and cothread Matt Newville
Next: Re: Zero length length requests, EPICS upgrades, and cothread Matt Newville
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·