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  2018  <20192020  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  <20192020 
<== Date ==> <== Thread ==>

Subject: Re: epics-Keithley_648x, drvAsynKeithley648x
From: Heinz Junkes via Tech-talk <tech-talk@aps.anl.gov>
To: Mark Rivers <rivers@cars.uchicago.edu>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Wed, 6 Mar 2019 14:09:24 +0100
Hello, Mark,

thank you for your answers. Unfortunately it doesn't work that way either:

startup
...
drvAsynIPPortConfigure("MOXA_4", "172.24.192.29:4004", 0, 0, 0)
drvAsynKeithley648x("6485", "MOXA_4",0)
drvAsynKeithley648x::drvAsynKeithley6485 port MOXA_4 can't connect to asynCommon on Octet server 0 address 0.
asynSetTraceIOMask("MOXA_4", 0, 0x2)
asynSetTraceMask("MOXA_4", 0, 0x9)
dbLoadRecords("db/Keithley6485.db", "P=trARPES:, CA=Sample:, PORT=6485")
…

The driver is from https://github.com/dohnarms/epics-Keithley_648x

In the driver there seems to be a mismatch

…

/* Public interface forward references */
int drvAsynKeithley648x(const char* myport,const char* ioport, int ioaddr);
…


/****************************************************************************
 * Define public interface methods
 ****************************************************************************/
int drvAsynKeithley648x(const char *type, const char *myport,
                        const char *ioport, int ioaddr)
{
  int status = asynSuccess;
  Port* pport;
  //  int i;
  asynStandardInterfaces *pInterfaces;

  char inpBuf[BUFFER_SIZE];
  int eomReason;

  pport = (Port*)callocMustSucceed(1,sizeof(Port),"drvAsynKeithley6485”);

…

/****************************************************************************
 * Register public methods
 ****************************************************************************/

/* Initialization method definitions */
static const iocshArg arg0 = {"type",iocshArgString};
static const iocshArg arg1 = {"myport",iocshArgString};
static const iocshArg arg2 = {"ioport",iocshArgString};
static const iocshArg arg3 = {"ioaddr",iocshArgInt};
static const iocshArg* args[]= {&arg0,&arg1,&arg2,&arg3};
static const iocshFuncDef drvAsynKeithley648xFuncDef =
  {"drvAsynKeithley648x",4,args};
static void drvAsynKeithley648xCallFunc(const iocshArgBuf* args)
{
  drvAsynKeithley648x(args[0].sval,args[1].sval,args[2].sval,args[3].ival);
}

/* Registration method */
static void drvAsynKeithley648xRegister(void)
{
  static int firstTime = 1;

  if( firstTime )
    {
      firstTime = 0;
      iocshRegister( &drvAsynKeithley648xFuncDef,drvAsynKeithley648xCallFunc );
    }
}
epicsExportRegistrar( drvAsynKeithley648xRegister );


That is why I have given four arguments in the st.cmd.

Danke,
Heinz



> On 6. Mar 2019, at 13:51, Mark Rivers <rivers@cars.uchicago.edu> wrote:
> 
> My comments are:
> Your original message says that drvAsynKeithley6845 take 3 arguments.  Your actual commands call drvAsynKeithey648x with 4 arguments.  Why the difference?  Does 648x take an initial argument with the exact model number, or is that the name of the new port?
> 
> I don't see the need for the asynOctetConnect line.
> 
> Maybe this will work:
> 
> drvAsynIPPortConfigure("MOXA_4", "172.24.192.29:4004", 0, 0, 0)
> drvAsynKeithley648x("6485", "MOXA_4",0)
> asynSetTraceIOMask("MOXA_4", 0, 0x2)
> asynSetTraceMask("MOXA_4", 0, 0x9)
> dbLoadRecords("db/Keithley6485.db", "P=trARPES:, CA=Sample:, "6845")
> 
> I deleted the asynOctetConnect, deleted the 3 argument to drvKeithley648x, and changed the port passed in dbLoadRecords.
> 
> Is this driver code on Github or somewhere else we can look at it?
> 
> Mark

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Replies:
Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
References:
epics-Keithley_648x, drvAsynKeithley648x Heinz Junkes via Tech-talk
Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
Next: Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
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  <20192020 
Navigate by Thread:
Prev: Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
Next: Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
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  <20192020 
ANJ, 06 Mar 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·