On 09/06/2017 03:26 AM, Ralph Lange wrote:
> Ciao Giacomo,
>
> On Wed, Sep 6, 2017 at 10:02 AM, Giacomo S.
> <[email protected] <mailto:[email protected]>>
> wrote:
>
> A typical graphical interface wants to put in evidence warning or alarm
> values (for example, in a gauge you want yellow or red bands or you may
> want coloured stripes on the background of a plot in the alarm or
> warning sections), so, in this case I may be interested in two kind of
> subscriptions:
>
> - the DBE_PROPERTY to get alarms. LO/HI thresholds, display and so on...
> - the DBE_VALUE to get value changes.
>
>
> Well, almost. Typically, you would subscribe
>
> * to the full structure (DBR_CTRL_...) using the DBE_PROPERTY flag to
> get updates on the limits and thresholds,
My current thinking of rules for subscribing with DBE_PROPERTY, based on
the native type:
* DBF_STRING - Don't bother, there is no display/control meta-data
* DBF_ENUM - Subscribe w/ DBR_GR_ENUM
* all numeric - Subscribe w/ DBR_CTLR_DOUBLE
With DBF_ENUM there is also the option of forcing the server to convert
to DBF_STRING or DBF_INT.
For DBE_VALUE, attempt to promote the native type using
dbf_type_to_DBR_TIME()
> * to a small value/status(/timestamp) structure (DBR_STS_... or
> DBR_TIME_...) using DBE_VALUE | DBE_ALARM to get value and status
> updates (with timestamps).
>
>
> It would be very useful to me a kind of documentation where this is
> described.
> I'll have a look at your link now.
>
>
> Other than the Channel Access Reference Manual (available on the EPICS
> web site, e.g. http://www.aps.anl.gov/epics/base/R3-15/5.php), the CA
> client example (makeBaseApp template), the CA command line tools (that
> you already found) and the training slides that Andrew pointed out, I
> don't know of any CA client usage documentation. Sorry!
I'm hesitant to mention this as the code isn't complete or as thoroughly
tested as I like. (eg. DBF_ENUM isn't handled correctly) But it is the
only example I have of managing dual subscriptions to get all time as
well as display/control meta-data.
https://github.com/mdavidsaver/epics-base/blob/integration-20170906/src/std/link/lnkCa.c#L259
- References:
- C++ multi threaded application. Giacomo S.
- Re: C++ multi threaded application. Andrew Johnson
- Re: C++ multi threaded application. Giacomo S.
- Re: C++ multi threaded application. Giacomo S.
- Re: C++ multi threaded application. Andrew Johnson
- Re: C++ multi threaded application. Giacomo S.
- Re: C++ multi threaded application. Ralph Lange
- Navigate by Date:
- Prev:
Re: C++ multi threaded application. Andrew Johnson
- Next:
StreamDevice hexa checksum in lowercase characters Paduan Donadio, Marcio
- 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
- Navigate by Thread:
- Prev:
RE: C++ multi threaded application. Mark Rivers
- Next:
Re: C++ multi threaded application. Andrew Johnson
- 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
|