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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: mbbo ENUM record
From: "Amien Crombie [TLABS]" <[email protected]>
To: "<[email protected]>" <[email protected]>
Date: Mon, 30 Mar 2015 12:21:03 +0200
I have a BOY "Choice Button" with its PV set to "$(dev):RangeStr"
My 'range' PV is between 1 and 8 with a corresponding ENUM string of 8 also.
The widget works fine in that it sets the 'range' on selecting the ENUM
but when I do
a write to the 'range' from elsewhere, the 'range' is set to the value
but my ENUM widget it not.
I then added the '$(dev):RangeENUM' record so that whenever a
'$(dev):range' is done, a FLNK updates my widget as well.
This works as I would want it to be I'm sure there is a better way (not
having 2 mbbo records ie).

###############################################################
  record(ao,         "$(dev):range")  {
     field(DTYP,   "asynInt32")
     field(PINI,   "YES")
     field(OUT,    "@asyn(int32 $(addr) 1.0) reason(2)")
     field(FLNK,   "$(dev):RangeENUM PP")
  }

  ##  ENUMS for 8 Ranges #####################################
  record(mbbo, "$(dev):RangeStr") {
     field(DTYP, "Soft Channel")
     field(OUT,  "$(dev):range PP")
     field(ONVL, "1")
     field(TWVL, "2")
     field(THVL, "3")
     field(FRVL, "4")
     field(FVVL, "5")
     field(SXVL, "6")
     field(SVVL, "7")
     field(EIVL, "8")
     field(ONST, " 1  :  10 mA")
     field(TWST, " 2  :   1 mA")
     field(THST, " 3  : 100 uA")
     field(FRST, " 4  :  10 uA")
     field(FVST, " 5  :   1 uA")
     field(SXST, " 6  : 100 nA")
     field(SVST, " 7  :  10 nA")
     field(EIST, " 8  :   1 nA")
   }

  record(mbbo, "$(dev):RangeENUM") {
     field(DTYP, "Soft Channel")
     field(OMSL, "closed_loop")
     field(DOL,  "$(dev):range")
     field(OUT,  "$(dev):RangeStr PP")
     field(ONVL, "1")
     field(TWVL, "2")
     field(THVL, "3")
     field(FRVL, "4")
     field(FVVL, "5")
     field(SXVL, "6")
     field(SVVL, "7")
     field(EIVL, "8")
   }


Thanks
Amien

Replies:
Re: mbbo ENUM record Ralph Lange

Navigate by Date:
Prev: EDM Widget in epicsQt Richa Devon
Next: Re: mbbo ENUM record Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EDM Widget in epicsQt Richa Devon
Next: Re: mbbo ENUM record Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·