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: | Matt Newville <[email protected]> |
To: | Andrew Johnson <[email protected]> |
Cc: | EPICS Tech Talk <[email protected]> |
Date: | Wed, 25 Mar 2015 13:25:46 -0500 |
Recent versions of Base (3.14.11 on) have a CA monitor event type
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).
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
--
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has
always got there first, and is waiting for it.
-- Terry Pratchett, Reaper Man