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  <20122013  2014  2015  2016  2017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: Re: More than 16 enumerations mbbi / mbbo
From: Hinko Kocevar <hinko.kocevar@i-tech.si>
To: tech-talk@aps.anl.gov
Date: Thu, 26 Jul 2012 14:45:41 +0200
On 07/26/2012 02:04 PM, Benjamin Franksen wrote:
On Thursday, July 26, 2012, Hinko Kocevar wrote:
While developing writing Asyn device driver support for our products
running on Linux OS, we were faced with the need to support more than 16
enumeration values that are to be represented using mbbi / mbbo records.

I'm looking for solutions to this problem. We are trying to stay within
EPICS base provided record types as much as possible, but we have no
problems to include additional EPICS extensions to out soft IOC in order
to gain record support. Last resort would be to provide a new record
type.

Writing a new record type with, say, 32 choices based on the existing 16-
choices versions wouldn't be hard. The problem is that the result won't be
very useful because CA (Channel Access) limits the number of choices for
type DBR_XXX_ENUM to 16 which is hard coded in the protocol (see
db_access.h). So, for instance, a menu button in an operator panel would not
see all 32 choices but only the first 16; and so on.

A possible work-around would be to somehow split the choices into smaller
(related) groups, then provide a 'master' mbbi/o for the choice of the
group, and separate mbbi/o for chosing inside the groups.

My version would not even include the 'master' mbbi/mbbo. I was thinking about splitting too large enumerations into 16 or less values to fit single mbbi/mbbo.

For example: 20 enums
- 0 - 15 in mbbi1 record
- 16 -19 in mbbi2 record

What will mbbi1 value be if eg. enum 17 should be set?
What will mbbi2 value be if eg. enum 4 should be set?
Can it be 'undefined'? Or should we leave one enum state reserved in this case and set it when other mbbiX is in use..

Best regards,
Hinko

--
Hinko Kocevar
Software development engineer
Instrumentation Technologies d.d.
Velika pot 22, SI-5250 Solkan - Slovenia
T:+386 5 3352600, F:+386 5 3352601
E-mail: hinko.kocevar@i-tech.si
http://www.i-tech.si

The information transmitted is intended solely for the
addressee and may contain confidential and/or privileged
information. Any review, retention, disclosure or other use
by persons other than the intended recipient is prohibited.
If you received this in error, please notify the sender and
delete all copies.

Replies:
Re: More than 16 enumerations mbbi / mbbo Benjamin Franksen
References:
More than 16 enumerations mbbi / mbbo Hinko Kocevar
Re: More than 16 enumerations mbbi / mbbo Benjamin Franksen

Navigate by Date:
Prev: Re: More than 16 enumerations mbbi / mbbo Benjamin Franksen
Next: Re: More than 16 enumerations mbbi / mbbo Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: Re: More than 16 enumerations mbbi / mbbo Benjamin Franksen
Next: Re: More than 16 enumerations mbbi / mbbo Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·