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: pyepics not updating pv.enum_strs after connection |
From: | Dirk Zimoch <[email protected]> |
To: | <[email protected]> |
Date: | Wed, 25 Mar 2015 17:54:20 +0100 |
On 25.03.2015 17:21, Andrew Johnson wrote:
On 03/25/2015 10:55 AM, Dirk Zimoch wrote:On 25.03.2015 04:46, Matt Newville wrote:Yes, I think this idea of getting the ctrl variables in the connection callback is a good idea, and will allow more straightforward code As it is, a pyepics.PV is already expected to be a "rich" object, even if sacrificing ultimate performance, and is normally expected to have the ctrl variables. So, I think it's reasonable to have this getting of ctrl variables as the default. I'll add that.This is generally a good idea for every ca client. After a reboot, anything may have changed: Enum strings, limits, units, precision, array size, even record type (and thus data type).Recent versions of Base (3.14.11 on) have a CA monitor event type DBE_PROPERTY which was intended for monitoring changes to metadata like the ctrl variables. 3.14 IOCs don't send out many property events (and the PV Gateway doesn't support property subscriptions yet either), but as 3.15 and later IOCs come in they make the case for using this quite a bit more compelling. I would encourage CA client developers to read the tech-talk threads discussing DBE_PROPERTY first though, there are a few gotchas. - Andrew
This is a different issue. The problem here was not that IOCs changed their properties on the fly but after a reboot! Even EPICS 3.13 should have been able to handle that. But many ca clients are too lazy. That means the client programmer had not thought about the possibility that IOCs may actually change during a reboot.
Dirk