Hi Eric,
On 09/08/2014 03:49 PM, Eric Norum wrote:
> I have a number of mbboDirect records like:
>
> record(mbboDirect, "$(P)$(R)EVR:event12trig") {
> field(DESC, "Extraction pre-trigger")
> field(DTYP, "asynUInt32Digital")
> field(OUT, "@asynMask($(PORT) 0x30C 0xFF 0)")
> field(NOBT, "8")
> field(MASK, "0xFF")
> }
That MASK setting will be over-written, the mbboDirect::init_record()
routine in Base 3.14 always calculates MASK from NOBT. In 3.15 you can
set it yourself if you want to use non-contiguous I/O bits.
> The IOC starts up and reads back the initial value of this record properly.
> The *first* caput to the record (I’ve tried from EDM and from caput)
> writes the readback value again, not the value from the client.
> Subsequent caputs do write the value from the client. It’s only the
> first operation that uses old data.
>
> Is this a known problem?
Have you monitored the values in the B<n> fields as well as the VAL
field during the above process?
The 3.14 versions of the mbb*Direct records were a bit of a mess, which
I have cleaned up for 3.15 but changed their behaviour slightly. The
3.14 versions didn't always convert the current value between B<n> and
VAL, especially after an initial readback or if you changed the value of
OMSL at runtime. Setting OMSL to closed_loop effectively disables the
B<n> fields since reading DOL provides an already-packed bit-set in the
VAL field.
If the device support's init_record() routine returns 0 the record will
shift RVAL by SHFT bits into VAL, but the 3.14 version does not set the
B<n> fields at all from the result. In 3.15 it will set the B<n> fields
if OMSL is supervisory.
In the process() routine the output value gets constructed from the B<n>
fields when OMSL is supervisory. Writing to the B<n> fields calls
special() which also reconstructs VAL from the B<n> fields when OMSL is
supervisory.
I tried to make everything behave sensibly in the 3.15 version, so
changing OMSL causes the record to convert between the B<n> and VAL
fields properly. Mark's changes to the Asyn device support should be
compatible with the 3.15 version of the record.
- Andrew
--
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock
- References:
- mbboDirect problems Eric Norum
- Navigate by Date:
- Prev:
RE: mbboDirect problems Mark Rivers
- Next:
Re: mbboDirect problems Eric Norum
- 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: mbboDirect problems Eric Norum
- Next:
Question about asyn and offline device Sonya Hoobler
- 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
|