At aps we have not used the aai or aao records. Thus I fear making changes. If
You and Eric can agree on changes (starting with the 3.13.2 version) I will put
the new version in the next release.
Here is another problem for aai and aao.
The init_record looks like
if (pass==0){
if(paai->nelm<=0) paai->nelm=1;
return(0);
}
And then it waits for device support to allocate space for the array during pass
= 1. This can lead to severe problems since storage MUST be allocated during
pass 0. If another record has a link to the array and this record gets
initialized before thye array record bad things will happen. If you and Eric
decide to fix the problem I have an idea that may work. It dose mean, however,
that associate device support also needs to be modified.
Marty Kraimer
Korhonen Timo wrote:
>
> Hi all,
>
> I wanted to use the aao (array analog output) record and noticed a
> problem: when I put an array to the channel that is shorter than
> the original NELM value, the NELM gets set to the number of put
> elements.
> A search in the tech-talk archive resulted in the following hit
> (from April, 1996!):
>
> >From: "Eric Bjorklund, NPSM" <[email protected]>
> >Date: Thu, 11 Apr 1996 12:19:54 -0600 (MDT)
> >Subject: Possible Problem with aao Record
> >Message-Id: <[email protected]>
> >
> >
> > We have discovered what may be possible bug with the aao record. The
> > problem appears to be in the "put_array_info" routine, which stores the
> > number of points to write in the NELM field of the record. The problem
> > with this that if you write less than NELM points to the aao record,
> > any further connections to this record get the new, lower, value of NELM
> > (through "cvt_dbaddr" or "get_array_info") and are no longer able to
> > write as many points as the record originally specified.
> >
> > My questions are:
> >
> > o Shouldn't "put_array_info" be updating the NORD field instead of the
> > NELM field? (if so, it means we should probably change the code in
> > devAaoCamac.c as well).
> >
> > o What is the correct value, NELM (the capacity of the record) or NORD
> > (the number of points actually written) to return from "cvt_dbaddr"
> > and "get_array_info"?
> >
> > o (and, BTW... shouldn't SIOL be defined as an OUTLINK on an aao
> > record?)
> >
> > Eric Bjorklund
> > AOT-6 (LANSCE Operations)
> > LANL ([email protected])
>
> I tried the changes that Eric proposes and then the aao seemed to work
> as I expected.
>
> Have I missed something, is there a real reason for that behaviour or
> have the fixes been left out from the distribution (I am using 3.13.2)
> by mistake?
>
> Timo
>
> Timo Korhonen PSI (Paul Scherrer Institut), SLS
> CH-5232 Villigen PSI
> tel + 41- 56 3103262 fax + 41 - 56 310 3151
> e-mail: [email protected]
- Replies:
- Re: aao record behaviour Korhonen Timo
- References:
- aao record behaviour Korhonen Timo
- Navigate by Date:
- Prev:
aao record behaviour Korhonen Timo
- Next:
Re: aao record behaviour Korhonen Timo
- 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:
aao record behaviour Korhonen Timo
- Next:
Re: aao record behaviour Korhonen Timo
- 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
|