Just realized one problem using getBounds:
according to the comments in the source code of asynPortDiver.cpp
getBounds is "Called when asyn clients call pasynInt32->getBounds(), "
My ao records are using the asynFloat64 since my hardware wants to have
floating point numbers.
One would need to implement a getBounds routine for the asynFloat64
interface...
On 10/23/2014 08:57 AM, Florian Feldbauer wrote:
On 10/22/2014 05:49 PM, Scott Baily wrote:
On 10/15/2014 7:11 AM, Florian Feldbauer wrote:
Is it possible (e.g. during initialization) to set the DRVH fields via
the asynPortDriver?
At present asynPortDriver does not set DRVH or DRVL. However, I
think this would be a good addition, and easy to add. AsynPortDriver
already has a getBounds function. If you write your writeInt32
function correctly, you can have it coerce the value to be within
range, and get the same functionality. Unfortunately, the VAL field
of the EPICS channel won't be coerced so users won't know its
happening without a separate readback channel (but you won't write
out of range values to hardware). The initAi and initAo functions
already call getBounds, and convertAi and convertAo use these limits
to calculate eslo and eoff. I see no reason why initLo and InitAo
couldn't be modified to adjust DRVH and DRVL to these values (i.e.
set them if they are both 0, or adjust them if the current values are
out of range). Certainly, one would want to allow the database to
specify a tighter range than device support permits.
Sure. If the database contains a thighter range than the actual
hardware limit, these limits should not be overwritten by the
driver/device support.
I will have a look into the init functions to see how it can be
implemented.
Also, you can probably use less than 17 records for the workaround
others were suggesting if you use a couple of dfanout records.
due to our PV naming scheme I would need a individual macro for each
output link of the dfanout record. Concerning
configuration and maintenance I think using one additional ao record
for each Vset record is easier...
Regards,
Florian
--
----------------------------------------
| Dr. Florian Feldbauer |
| |
| Helmholtz-Institut Mainz / |
| Johannes Gutenberg-Universität Mainz |
| Johann-Joachim-Becher-Weg 36 |
| D-55128 Mainz |
| |
| Office: SB1 / 00-213 |
| Phone: (+49)6131 / 39-29605 |
----------------------------------------
- References:
- AsynPortDriver setting DRVH of ao? Florian Feldbauer
- Re: AsynPortDriver setting DRVH of ao? Scott Baily
- Re: AsynPortDriver setting DRVH of ao? Florian Feldbauer
- Navigate by Date:
- Prev:
Re: AsynPortDriver setting DRVH of ao? Florian Feldbauer
- Next:
Re: Discussion about licenses, copyrights, business, and source code Johnson, Andrew N.
- 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: AsynPortDriver setting DRVH of ao? Florian Feldbauer
- Next:
areadetector, iocSimDetector can not be started on OS X due to dyld: Symbol not found: _xmlFree Heinz Junkes
- 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
|