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  2015  2016  2017  <20182019  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  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Question regarding asynParamInt32Array
From: Mark Rivers <[email protected]>
To: Jörn Dreyer <[email protected]>, EPICS tech-talk <[email protected]>
Date: Thu, 17 May 2018 10:53:24 +0000
Hi Jörn,


The parameter library in the asynPrtDriver class does not support array data types.  However, there are virtual methods to read, write, and do callbacks for all of the array data types.  For asynInt32Array these are the methods defined in asynPortDriver.h:


    virtual asynStatus readInt32Array(asynUser *pasynUser, epicsInt32 *value,
                                        size_t nElements, size_t *nIn);
    virtual asynStatus writeInt32Array(asynUser *pasynUser, epicsInt32 *value,
                                        size_t nElements);
    virtual asynStatus doCallbacksInt32Array(epicsInt32 *value,
                                        size_t nElements, int reason, int addr);

The base class implementation readInt32Array and writeInt32Array simply print an error message, so you need to implement those in your driver if you plan to use them.  The base class implementation of doCallbacksInt32Array is normally sufficient, and you should not need to implement it.

This is all documented here:

https://epics.anl.gov/modules/soft/asyn/R4-33/asynDoxygenHTML/classasyn_port_driver.html

Mark




________________________________
From: [email protected] <[email protected]> on behalf of Jörn Dreyer <[email protected]>
Sent: Thursday, May 17, 2018 4:14 AM
To: EPICS tech-talk
Subject: Question regarding asynParamInt32Array

Hi,

looking at the supported data types for parameters in asynPortDriver I found
the asynParamInt32Array to match my needs to transfer 256 integers. But how to
set/get the values. There is no getIntegerArrayParam() function like the
getIntegerParam().

Regards,

Jörn



Replies:
Re: Question regarding asynParamInt32Array Mark Rivers
References:
Question regarding asynParamInt32Array Jörn Dreyer

Navigate by Date:
Prev: Question regarding asynParamInt32Array Jörn Dreyer
Next: Re: Question regarding asynParamInt32Array Mark Rivers
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Question regarding asynParamInt32Array Jörn Dreyer
Next: Re: Question regarding asynParamInt32Array Mark Rivers
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 17 May 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·