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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: get_ioint_info missing
From: "Mark Rivers" <[email protected]>
To: "Hinko Kocevar" <[email protected]>, <[email protected]>
Date: Mon, 25 May 2009 06:06:50 -0500
Hi Hinko,
 
I can think of a couple of possible problems.  This was your definition of the longin record:
 
record(longin, "$(DEVICE)ENV_KX_MONITOR") {
        field(SCAN, "I/O Intr")
        field(INP, "@asyn($(PORT),700)")
        field(PINI, "YES")
}

Is this really how it's defined?  If so, there appears to be a missing definition of the DTYP field.  Without the DTYP field it will default to using the soft device support from EPICS base, not the standard asyn device support which you want to use.  Note that for your longout record you have the line:
 
        field(DTYP, "asynInt32")

You probably need the same line in the .db file for your longin record.  If that line really does exist in your .db file, (but not in your e-mail) then it could be that your driver is not registering itself as capable of doing asynInt32 callbacks.  It appears that you are using standard asyn device support, which does implement get_ioint_info.
 
Mark

 
________________________________

From: [email protected] on behalf of Hinko Kocevar
Sent: Mon 5/25/2009 5:41 AM
To: [email protected]
Subject: get_ioint_info missing




Hello,

I'm trying to learn EPICS (complete newbie:) through an existing IOC application - instrumentation technologies libera IOC support application that uses asyn driver.
Since the existing driver is a bit complex, I'm trying to build my own version of the driver in order to understand mechanics of the EPICS. Also
existing libera IOC application is written in C++, while I'm trying to implement it in standard C instead.

I've successfully manages to get read/write operations on a PV to behave as expected. One thing that iocsh spews out during startup is this message:

PV: LIBERA01:ENV:ENV_KX_MONITOR scanAdd: I/O Intr not valid (no get_ioint_info)

the PVs are defined as follows (in db):
record(longin, "$(DEVICE)ENV_KX_MONITOR") {
        field(SCAN, "I/O Intr")
        field(INP, "@asyn($(PORT),700)")
        field(PINI, "YES")
}

record(longout, "$(DEVICE)ENV_KX_SP") {
        field(DTYP, "asynInt32")
        field(OUT, "@asyn($(PORT),700)")
}

Methods for read/write 32 int value:
static asynInt32 drvLiberaInt32 = {
   writeInt32,
   readInt32,
   NULL,
   NULL,
   NULL
};

As I said, reading from LIBERA01:ENV:ENV_KX_SP variable returns correct value and writing to the LIBERA01:ENV:ENV_KX_SP variable sets the value in the
desired device/port too. Using the LIBERA01:ENV:ENV_KX_MONITOR (via camonitor) does not reflect the same variable value as it should - same as LIBERA01:ENV:ENV_KX_SP.

How and where should one define 'get_ioint_info'?

I can't seem to get any reference to the get_ioint_info in existing C++ implementation of the driver..

Thank you,
Hinko 



Replies:
RE: get_ioint_info missing Hinko Kocevar
References:
get_ioint_info missing Hinko Kocevar

Navigate by Date:
Prev: Visibility PV problem in EDM Prachi Chitnis
Next: RE: get_ioint_info missing Hinko Kocevar
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: get_ioint_info missing Hinko Kocevar
Next: RE: get_ioint_info missing Hinko Kocevar
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·