I'm unsure about creating the different ports. Am I doing something wrong in the startup?
Danke, Heinz
> On 6. Mar 2019, at 16:59, Arms, Dohn A. via Tech-talk <[email protected]> wrote:
>
> Hi Heinz,
>
> Sorry that my driver didn't communicate for you.
>
> I just added to my github repo the boot directory I use for testing the
> 6485
> and 6487 devices we have, which I forgot to add before.
>
> Dohn
>
>
>
> On 3/6/19 9:41 AM, Heinz Junkes via Tech-talk wrote:
>> Unfortunately, I had to give up here due to lack of time. I couldn't communicate
>> with this Keithley IP-asyn-driver.
>>
>> I am now on Streamdevice
>>
>> (Danke Christoph)
>>
>> “
>> not sure what driver you are trying to use, but you can also use the
>> Streamdevice support from LBNL:
>> https://epics.anl.gov/download/modules/index.php
>> https://epics.anl.gov/download/modules/Keithley6487-1.1.tar.gz
>>
>> the Keithley 6485 is basically a Keithley 6487 with fewer functionality
>> (no limit Tests and Voltage source). Most commands are supported by the
>> 6485 as well.
>> It's used like any other Streamdevice support.
>>
>> Best regards,
>> Christoph
>> “
>>
>> Gruss,
>> Heinz
>>
>>
>>
>>> On 6. Mar 2019, at 14:51, Heinz Junkes via Tech-talk <[email protected]> wrote:
>>>
>>> Looks much better.
>>>
>>> Now I get it. The function drvAsynKeithley648x returns a port for communicating. I hadn't understood that.
>>>
>>> ...
>>> drvAsynIPPortConfigure("MOXA_4", "172.24.192.29:4004", 0, 0, 0)
>>> drvAsynKeithley648x("6485", "Keithley6485", "MOXA_4",0)
>>> 2019/03/06 14:47:24.055 Keithley6485 writeRead: error 1 wrote "*IDN?"
>>> drvAsynKeithley648x::drvAsynKeithley6485 port Keithley6485 failed to acquire identification
>>> asynSetTraceIOMask("MOXA_4", 0, 0x2)
>>> asynSetTraceMask("MOXA_4", 0, 0x9)
>>> dbLoadRecords("db/Keithley6485.db", "P=trARPES:, CA=Sample:, PORT=Keithley6485”)
>>> …
>>>
>>> 2019/03/06 14:48:46.391 trARPES:Sample:read devAsynFloat64::processCallbackInput process read error
>>> 2019/03/06 14:48:46.391 trARPES:Sample:readStatusOverflow devAsynInt32::processCallbackInput process read error
>>> 2019/03/06 14:48:46.391 trARPES:Sample:readStatusFilter devAsynInt32::processCallbackInput process read error
>>> 2019/03/06 14:48:46.392 trARPES:Sample:readStatusMath devAsynInt32::processCallbackInput process read error
>>> 2019/03/06 14:48:46.392 trARPES:Sample:readStatusNull devAsynInt32::processCallbackInput process read error
>>> 2019/03/06 14:48:46.392 trARPES:Sample:readStatusLimits devAsynInt32::processCallbackInput process read error
>>> 2019/03/06 14:48:46.392 trARPES:Sample:readStatusOvervoltage devAsynInt32::processCallbackInput process read error
>>> …
>>>
>>> Now I have to check if the device is connected ;-)
>>>
>>> Danke,
>>> Heinz
>>>
>>>> On 6. Mar 2019, at 14:28, Mark Rivers <[email protected]> wrote:
>>>>
>>>> OK, so the actual code to create the port is this, it does take 4 arguments:
>>>>
>>>> int drvAsynKeithley648x(const char *type, const char *myport,
>>>> const char *ioport, int ioaddr)
>>>>
>>>>
>>>> So your code should call
>>>>
>>>>
>>>> drvAsynIPPortConfigure("MOXA_4", "172.24.192.29:4004", 0, 0, 0)
>>>> drvAsynKeithley648x("6485", "Keithley6485", "MOXA_4",0)
>>>>
>>>> asynSetTraceIOMask("MOXA_4", 0, 0x2)
>>>> asynSetTraceMask("MOXA_4", 0, 0x9)
>>>> dbLoadRecords("db/Keithley6485.db", "P=trARPES:, CA=Sample:, PORT=Kiethley6485")
>>>>
>>>> What do you see if you try that?
>>>>
>>>>
>>>> ________________________________
>>>> From: Heinz Junkes <[email protected]>
>>>> Sent: Wednesday, March 6, 2019 7:09 AM
>>>> To: Mark Rivers
>>>> Cc: [email protected]
>>>> Subject: Re: epics-Keithley_648x, drvAsynKeithley648x
>>>>
>>>> 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 <[email protected]> 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 Arms, Dohn A. via Tech-talk
- References:
- epics-Keithley_648x, drvAsynKeithley648x Heinz Junkes via Tech-talk
- Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
- Re: epics-Keithley_648x, drvAsynKeithley648x Heinz Junkes via Tech-talk
- Re: epics-Keithley_648x, drvAsynKeithley648x Mark Rivers via Tech-talk
- Re: epics-Keithley_648x, drvAsynKeithley648x Heinz Junkes via Tech-talk
- Re: epics-Keithley_648x, drvAsynKeithley648x Heinz Junkes via Tech-talk
- Re: epics-Keithley_648x, drvAsynKeithley648x Arms, Dohn A. via Tech-talk
- Navigate by Date:
- Prev:
Re: epics-Keithley_648x, drvAsynKeithley648x Arms, Dohn A. 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
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: epics-Keithley_648x, drvAsynKeithley648x Arms, Dohn A. via Tech-talk
- Next:
Re: epics-Keithley_648x, drvAsynKeithley648x Arms, Dohn A. 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
<2019>
2020
2021
2022
2023
2024
|