EPICS Controls 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  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: mbbo with 32 choices
From: "Kasemir, Kay via Tech-talk" <tech-talk at aps.anl.gov>
To: "Le, An" <anle at slac.stanford.edu>, "Johnson, Andrew N." <anj at anl.gov>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Mon, 4 Dec 2023 17:59:55 +0000

> I was wondering if the MAX_ENUM_STATES for channel access could be increased from 16 to 32 for the next release of EPICS base.

> The line in question:

https://github.com/epics-base/epics-base/blob/d9d35a4eab601fd7e6113415574d9e255bcb6967/modules/ca/src/client/db_access.h#L32

 

 

After changing the MAX_ENUM_STATES, you’ll have to re-compile pretty much everything. All IOCs, but also all other CA servers and clients. If you’re currently using “conda install” or “pip install” to get a channel access client or server library for python, you’ll have to build that yourself with the changed enum states. If you’re using clients written in Java, C#, … you’ll have to update those sources as well.

 

Interestingly the CA protocol does include a “number_of_strings_used” counter in the CRTL_ENUM info, which at first glance looks like the protocol would already transparently handle enums with 16, 32 or whatever number of options, but that is only the number of actually used entries. The following list of labels must always contain exactly 16 entries, see https://docs.epics-controls.org/en/latest/internal/ca_protocol.html#_gr_enum_and_ctrl_enum_meta_data

 

struct metaGR_ENUM {

    epicsInt16 status;

    epicsInt16 severity;

    epicsInt16 number_of_string_used;

    char strings[16][26];

};

 

So changes again would require a complete update of everything at your site that uses Channel Access.

 

 


References:
mbbo with 32 choices Le, An via Tech-talk
Re: mbbo with 32 choices Andrew Johnson via Tech-talk
Re: mbbo with 32 choices Andrew Johnson via Tech-talk
Re: mbbo with 32 choices Le, An via Tech-talk

Navigate by Date:
Prev: Re: mbbo with 32 choices Michael Davidsaver via Tech-talk
Next: camonitor vs caput Gerrit Kühn via Tech-talk
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  <20232024 
Navigate by Thread:
Prev: Re: mbbo with 32 choices Michael Davidsaver via Tech-talk
Next: RE: mbbo with 32 choices Pearson, Matthew via Tech-talk
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  <20232024 
ANJ, 05 Dec 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·