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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: User of AsynInt32Array |
From: | Mark Rivers <[email protected]> |
To: | "'Vikram Bhagat'" <[email protected]>, "[email protected]" <[email protected]> |
Date: | Wed, 20 Mar 2013 15:19:13 +0000 |
If you search the asyn module for .db files containing the string “Array” you will find the following examples: corvette:~/devel/asyn>find . -name '*.db' -exec grep -H Array {} \; ./db/testAsynPortDriver.db: field(DTYP, "asynFloat64ArrayIn") ./db/testAsynPortDriver.db: field(DTYP, "asynFloat64ArrayIn") ./db/testErrors.db:# Records that use devAsynXXXArray # ./db/testErrors.db: field(DTYP, "asynInt8ArrayIn") ./db/testErrors.db: field(DTYP, "asynInt16ArrayIn") ./db/testErrors.db: field(DTYP, "asynInt32ArrayIn") ./db/testErrors.db: field(DTYP, "asynFloat32ArrayIn") ./db/testErrors.db: field(DTYP, "asynFloat64ArrayIn") ./testErrorsApp/Db/testErrors.db:# Records that use devAsynXXXArray # ./testErrorsApp/Db/testErrors.db: field(DTYP, "asynInt8ArrayIn") ./testErrorsApp/Db/testErrors.db: field(DTYP, "asynInt16ArrayIn") ./testErrorsApp/Db/testErrors.db: field(DTYP, "asynInt32ArrayIn") ./testErrorsApp/Db/testErrors.db: field(DTYP, "asynFloat32ArrayIn") ./testErrorsApp/Db/testErrors.db: field(DTYP, "asynFloat64ArrayIn") ./testAsynPortDriverApp/Db/testAsynPortDriver.db: field(DTYP, "asynFloat64ArrayIn") ./testAsynPortDriverApp/Db/testAsynPortDriver.db: field(DTYP, "asynFloat64ArrayIn") So testErrorsApp/Db has examples of all of the asynXXXArray device support, and testAsynPortDriver has an example of asynFloat64Array, which is just like asynInt32Array but
with a different data type. asyn/devEpics/devAsynInt32Array.dbd contains the strings that you must put in the DTYP field of your waveform records: corvette:asyn/asyn/devEpics>more devAsynInt32Array.dbd device(waveform,INST_IO,asynInt32ArrayWfIn,"asynInt32ArrayIn") device(waveform,INST_IO,asynInt32ArrayWfOut,"asynInt32ArrayOut") Mark From: [email protected] [mailto:[email protected]]
On Behalf Of Vikram Bhagat Hello all, I want to know about how to use asynInt32Array, Actually on AsynDriver.pdf i could find few information about it. typedef struct asynXXXArray { asynStatus (*write)(void *drvPvt, asynUser *pasynUser, epicsXXX *value, size_t nelements); asynStatus (*read)(void *drvPvt, asynUser *pasynUser, epicsXXX *value, size_t nelements, size_t *nIn); asynStatus (*registerInterruptUser)(void *drvPvt, asynUser *pasynUser, interruptCallbackXXXArray callback,void *userPvt,void **registrarPvt); asynStatus (*cancelInterruptUser)(void *drvPvt, asynUser *pasynUser, void *registrarPvt); } asynXXXArray; but not detail information how write and read methods can be used and what should me my db file content for read and write operation. Like provided for asynInt32 record(ai,"aiInt32") {
field(SCAN,"I/O Intr")
field(DTYP,"asynInt32")
field(INP,"@asyn($(port),$(addr))")
field(EGUF,"10.0")
field(EGUL,"-10.0")
field(PREC,"3")
} where can i find the detail user manual / application developer guide? Thanks |