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  <20112012  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  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"
From: "Mark Rivers" <[email protected]>
To: "Piccoli, Luciano" <[email protected]>, <[email protected]>
Date: Tue, 29 Nov 2011 08:35:45 -0600
Hi Luciano,
 
I am not spotting what your problem is, but it is probably something simple with the way you are building the application.
 
Here is a suggestion.  asyn comes with an example application that demonstrates asynPortDriver, called testAsynPortDriverApp.  That test application has ao and ai records that connect to an asyn port driver, and that driver is built with the asynPortDriver C++ base class.  It is a simple digitial oscilloscope simulator.  There is an test IOC directory, iocBoot/iocTestAsynPortDriver.
 
Does that test application work for you?  If so, then there is nothing wrong with EPICS base or asyn, and the problem is with your application.  You can then use testAsynPortDriverApp as an example of how to build your application.  The only difference is that you also need to create a drvAsynIPPort server in addition to your device-specific server.
 
Mark
 

________________________________

From: Piccoli, Luciano [mailto:[email protected]]
Sent: Tue 11/29/2011 12:16 AM
To: Mark Rivers; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"




Hi Mark,

Here is the output and the dbpr's.

Thanks,
Luciano

[lpiccoli@cdlx22 iocMksu]$ ./st.cmd
#! ../../bin/linux-x86/example
dbLoadDatabase("../../dbd/example.dbd")
#dbLoadDatabase("HMSApp.dbd")
example_registerRecordDeviceDriver(pdbbase)
# Registering MKSU iocsh() functions
drvMksu_init()
# Registering MKSU iocsh() functions
drvAsynIPPortConfigure("MksuServer", "194.168.0.21:56789 UDP", 0, 0, 1)
initMksu("Mksu", "MksuServer")
# Creating MKSU object
asynSetTraceIOMask("MksuServer",0,4)
asynSetTraceMask("MksuServer",0,255)
dbLoadTemplate("mksu.substitutions")
#dbLoadRecords("mksu.db")
iocInit()
Starting iocInit
############################################################################
## EPICS R3.14.10-lcls1 $R3-14-10$ $2008/10/27 19:39:04$
## EPICS Base built Jul 15 2009
############################################################################
KLYS:IN20:3130:MOD_TRIG_DELAY_READ devAsynInt32::initCommon  Link must be INST_IO
KLYS:IN20:3130:WF_TRIG_DELAY_READ devAsynInt32::initCommon  Link must be INST_IO
KLYS:IN20:3130:MOD_TRIG_DELAY_WRITE devAsynInt32::initCommon  Link must be INST_IO
KLYS:IN20:3130:WF_TRIG_DELAY_WRITE devAsynInt32::initCommon  Link must be INST_IO
iocRun: All initialization complete
epics> dbpr KLYS:IN20:3130:MOD_TRIG_DELAY_READ 10
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0
AOFF: 0             ASG:                ASLO: 1             ASP: (nil)
BKPT: 00            DESC: Remote modulator trigger delay (read)
DISA: 0             DISP: 0             DISS: NO_ALARM      DISV: 1
DPVT: (nil)         DSET: 0x30a438      DTYP: asynInt32     EGU:
EGUF: 0             EGUL: 0             EOFF: 0             ESLO: 1
EVNT: 0             FLNK:CONSTANT 0     HHSV: NO_ALARM      HIGH: 0
HIHI: 0             HOPR: 0             HSV: NO_ALARM       HYST: 0
INIT: 1             INP:INST_IO @asyn(Mksu 0 1)MOD_TRIG_DELAY_READ
LALM: 0             LBRK: 0             LCNT: 0             LINR: NO CONVERSION
LLSV: NO_ALARM      LOLO: 0             LOPR: 0             LOW: 0
LSET: 0x88010f0     LSV: NO_ALARM       MDEL: 0
MLIS: 00 00 00 00 00 00 00 00 00 00 00 00                   MLOK: 98 85 7f 08
MLST: 0             NAME: KLYS:IN20:3130:MOD_TRIG_DELAY_READ
NSEV: NO_ALARM      NSTA: NO_ALARM      ORAW: 0             PACT: 0
PBRK: (nil)         PHAS: 0             PINI: NO            PPN: (nil)
PPNR: (nil)         PREC: 0             PRIO: LOW           PROC: 0
PUTF: 0             RDES: 0x87b1388     ROFF: 0             RPRO: 0
RSET: 0xfd7860      RVAL: 0             SCAN: Passive       SDIS:CONSTANT
SEVR: <nil>         SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM
SIOL:CONSTANT       SMOO: 0             SPVT: 0x87f8658     STAT: UDF
SVAL: 0             TIME: <undefined>   TPRO: 0             TSE: 0
TSEL:CONSTANT       UDF: 1              VAL: 0
epics> dbpr KLYS:IN20:3130:WF_TRIG_DELAY_READ 10
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0
AOFF: 0             ASG:                ASLO: 1             ASP: (nil)
BKPT: 00            DESC: Waveguide trigger delay (read)    DISA: 0
DISP: 0             DISS: NO_ALARM      DISV: 1             DPVT: (nil)
DSET: 0x30a438      DTYP: asynInt32     EGU:                EGUF: 0
EGUL: 0             EOFF: 0             ESLO: 1             EVNT: 0
FLNK:CONSTANT 0     HHSV: NO_ALARM      HIGH: 0             HIHI: 0
HOPR: 0             HSV: NO_ALARM       HYST: 0             INIT: 1
INP:INST_IO @asyn(Mksu 0 1)WF_TRIG_DELAY_READ               LALM: 0
LBRK: 0             LCNT: 0             LINR: NO CONVERSION LLSV: NO_ALARM
LOLO: 0             LOPR: 0             LOW: 0              LSET: 0x8801100
LSV: NO_ALARM       MDEL: 0
MLIS: 00 00 00 00 00 00 00 00 00 00 00 00                   MLOK: d0 85 7f 08
MLST: 0             NAME: KLYS:IN20:3130:WF_TRIG_DELAY_READ NSEV: NO_ALARM
NSTA: NO_ALARM      ORAW: 0             PACT: 0             PBRK: (nil)
PHAS: 0             PINI: NO            PPN: (nil)          PPNR: (nil)
PREC: 0             PRIO: LOW           PROC: 0             PUTF: 0
RDES: 0x87b1388     ROFF: 0             RPRO: 0             RSET: 0xfd7860
RVAL: 0             SCAN: Passive       SDIS:CONSTANT       SEVR: <nil>
SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM      SIOL:CONSTANT
SMOO: 0             SPVT: 0x87f8710     STAT: UDF           SVAL: 0
TIME: <undefined>   TPRO: 0             TSE: 0              TSEL:CONSTANT
UDF: 1              VAL: 0
epics> dbpr KLYS:IN20:3130:MOD_TRIG_DELAY_WRITE 10
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0
AOFF: 0             ASG:                ASLO: 0             ASP: (nil)
BKPT: 00            DESC: Remote modulator trigger delay (write)
DISA: 0             DISP: 0             DISS: NO_ALARM      DISV: 1
DOL:CONSTANT        DPVT: (nil)         DRVH: 0             DRVL: 0
DSET: 0x30a470      DTYP: asynInt32     EGU:                EGUF: 0
EGUL: 0             EOFF: 0             ESLO: 1             EVNT: 0
FLNK:CONSTANT 0     HHSV: NO_ALARM      HIGH: 0             HIHI: 0
HOPR: 0             HSV: NO_ALARM       HYST: 0             INIT: 1
IVOA: Continue normally                 IVOV: 0             LALM: 0
LBRK: 0             LCNT: 0             LINR: NO CONVERSION LLSV: NO_ALARM
LOLO: 0             LOPR: 0             LOW: 0              LSET: 0x8801110
LSV: NO_ALARM       MDEL: 0
MLIS: 00 00 00 00 00 00 00 00 00 00 00 00                   MLOK: 08 86 7f 08
MLST: 0             NAME: KLYS:IN20:3130:MOD_TRIG_DELAY_WRITE
NSEV: NO_ALARM      NSTA: NO_ALARM      OIF: Full           OMOD: 0
OMSL: supervisory   ORAW: 0             ORBV: 0             OROC: 0
OUT:INST_IO @asyn(Mksu 0 1)MOD_TRIG_DELAY_WRITE             OVAL: 0
PACT: 0             PBRK: (nil)         PHAS: 0             PINI: NO
PPN: (nil)          PPNR: (nil)         PREC: 0             PRIO: LOW
PROC: 0             PUTF: 0             PVAL: 0             RBV: 0
RDES: 0x87b37f8     ROFF: 0             RPRO: 0             RSET: 0xfd78e0
RVAL: 0             SCAN: Passive       SDIS:CONSTANT       SEVR: <nil>
SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM      SIOL:CONSTANT
SPVT: 0x87f8928     STAT: UDF           TIME: <undefined>   TPRO: 0
TSE: 0              TSEL:CONSTANT       UDF: 0              VAL: 0
epics> dbpr KLYS:IN20:3130:WF_TRIG_DELAY_WRITE 10
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0
AOFF: 0             ASG:                ASLO: 0             ASP: (nil)
BKPT: 00            DESC: Waveform trigger delay (write)    DISA: 0
DISP: 0             DISS: NO_ALARM      DISV: 1             DOL:CONSTANT
DPVT: (nil)         DRVH: 0             DRVL: 0             DSET: 0x30a470
DTYP: asynInt32     EGU:                EGUF: 0             EGUL: 0
EOFF: 0             ESLO: 1             EVNT: 0             FLNK:CONSTANT 0
HHSV: NO_ALARM      HIGH: 0             HIHI: 0             HOPR: 0
HSV: NO_ALARM       HYST: 0             INIT: 1
IVOA: Continue normally                 IVOV: 0             LALM: 0
LBRK: 0             LCNT: 0             LINR: NO CONVERSION LLSV: NO_ALARM
LOLO: 0             LOPR: 0             LOW: 0              LSET: 0x8801120
LSV: NO_ALARM       MDEL: 0
MLIS: 00 00 00 00 00 00 00 00 00 00 00 00                   MLOK: 40 86 7f 08
MLST: 0             NAME: KLYS:IN20:3130:WF_TRIG_DELAY_WRITE
NSEV: NO_ALARM      NSTA: NO_ALARM      OIF: Full           OMOD: 0
OMSL: supervisory   ORAW: 0             ORBV: 0             OROC: 0
OUT:INST_IO @asyn(Mksu 0 1)WF_TRIG_DELAY_WRITE              OVAL: 0
PACT: 0             PBRK: (nil)         PHAS: 0             PINI: NO
PPN: (nil)          PPNR: (nil)         PREC: 0             PRIO: LOW
PROC: 0             PUTF: 0             PVAL: 0             RBV: 0
RDES: 0x87b37f8     ROFF: 0             RPRO: 0             RSET: 0xfd78e0
RVAL: 0             SCAN: Passive       SDIS:CONSTANT       SEVR: <nil>
SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM      SIOL:CONSTANT
SPVT: 0x87f8b40     STAT: UDF           TIME: <undefined>   TPRO: 0
TSE: 0              TSEL:CONSTANT       UDF: 0              VAL: 0
epics>

-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Monday, November 28, 2011 17:48
To: Piccoli, Luciano; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"

Now that you have fixed that record please send the output of

dbpr "record" 10

for all 4 records.

Also send the complete output when you start the IOC.

It does not make sense that dbpr is reporting DPVT=nil if you see the error message, since the error message is printed after DPVT is allocated.

Mark


________________________________

From: Piccoli, Luciano [mailto:[email protected]]
Sent: Mon 11/28/2011 6:33 PM
To: Mark Rivers; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"



Thanks Mark and Eric.

I made the suggested changes to the template file:

        record(ao, "KLYS:$(AREA):$(LOCATION):WF_TRIG_DELAY_WRITE") {
          field(DESC, "Waveform trigger delay (write)")
          field(DTYP, "asynInt32")
          field(OUT, "@asyn($(PORT) $(CHANNEL) $(TIMEOUT))WF_TRIG_DELAY_WRITE")
        }

        record(ao, "KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_WRITE") {
          field(DESC, "Remote modulator trigger delay (write)")
          field(DTYP, "asynInt32")
          field(OUT, "@asyn($(PORT) $(CHANNEL) $(TIMEOUT))MOD_TRIG_DELAY_WRITE")
        }

        record(ai, "KLYS:$(AREA):$(LOCATION):WF_TRIG_DELAY_READ") {
          field(DESC, "Waveguide trigger delay (read)")
          field(DTYP, "asynInt32")
          field(INP, "@asyn($(PORT) $(CHANNEL) $(TIMEOUT))WF_TRIG_DELAY_READ")
          field(SCAN, "$(SCAN)")
        }

        record(ai, "KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_READ") {
          field(DESC, "Remote modulator trigger delay (read)")
          field(DTYP, "asynInt32")
          field(INP, "@asyn($(PORT) $(CHANNEL) $(TIMEOUT))MOD_TRIG_DELAY_READ")
          field(SCAN, "$(SCAN)")
        }

However, in the previous mksu.template file only the KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_WRITE record had the DTYP/OUT in the wrong order and the error message appeared for all four records.

This is the Makefile section that defines the example.dbd:

        DBD += example.dbd
        example_DBD += base.dbd
        example_DBD += asyn.dbd
        example_DBD += drvAsynIPPort.dbd
        example_DBD += mksu.dbd

Following the initialization it seems I have an issue when hitting line 181 in the devAsynInt32.c:181. The routine initCommon() is failing on pasinEpicsUtils->parseLink(), which is defined in asynEpicsUtils.c:67. In it the plink->type is 0 (CONSTANT) where I think the correct value would be INST_IO.

The asyn version is 4-14 by the way.

Thanks,
Luciano



-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Monday, November 28, 2011 15:57
To: Piccoli, Luciano; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"

Hi Luciano,

I am not sure what is wrong.

You said previously:

> Using gdb I see that they have the link type set to 0 (CONSTANT).

That is not what "dbpr" is showing for your record.  It shows

OUT:INST_IO @asyn(Mksu 0 1)WF_TRIG_DELAY_WRITE

That looks correct, as does DTYP.

DTYP: asynInt32

Here are the fields that don't look correct in your record:

DPVT: (nil)
SEVR: <nil>
ASP: (nil)

DPVT is initialized in the initCommon function in
asyn/devEpics/devAsynInt32.c.  It allocates that memory before it parses
the link, and parsing the link is where it prints the error message in
your original message.  So I don't see how it prints that error message
and still has DPVT=(nil).  And I don't understand why it is printing
that error message when dbpr shows the OUT link has the correct syntax.

I suspect a problem with your example.dbd file.  How did you create that
file?  Does it include all of the asyn dbd stuff?

Here is the output for an ao record with asyn device support for one of
my IOCs.  Note that none of the files are are (nil) in your record are
(nil) in mine.

ioc13lab> dbpr "13LAB:tca1SCA1_HI",10
ACKS: NO_ALARM      ACKT: YES           ADEL: 0             ALST: 0

AOFF: 0             ASG:                ASLO: 0             ASP: 0x0

BKPT: 00            DESC: SCA 1 high limit                  DISA: 0

DISP: 0             DISS: NO_ALARM      DISV: 1             DOL:CONSTANT

DPVT: 0x114c108     DRVH: 100           DRVL: 0             DSET:
0x1c7736c
DTYP: asynFloat64   EGU:                EGUF: 0             EGUL: 0

EOFF: 0             ESLO: 1             EVNT: 0
FLNK:CONSTANT 0
HHSV: NO_ALARM      HIGH: 0             HIHI: 0             HOPR: 100

HSV: NO_ALARM       HYST: 0             INIT: 0
IVOA: Continue normally                 IVOV: 0             LALM: 0

LBRK: 0             LCNT: 0             LINR: NO CONVERSION LLSV:
NO_ALARM
LOLO: 0             LOPR: 0             LOW: 0              LSET:
0xff2fb8
LSV: NO_ALARM       MDEL: 0
MLIS: 00 bd b5 78 00 bd b5 78 00 00 00 01                   MLOK: 01 2b
e4 50
MLST: 0             NAME: 13LAB:tca1SCA1_HI                 NSEV:
NO_ALARM
NSTA: NO_ALARM      OIF: Full           OMOD: 0             OMSL:
supervisory
ORAW: 0             ORBV: 0             OROC: 0
OUT:INST_IO @asyn(icbTca1)HI1           OVAL: 0             PACT: 0

PBRK: 0x0           PHAS: 0             PINI: YES           PPN: 0x0

PPNR: 0x0           PREC: 2             PRIO: LOW           PROC: 0

PUTF: 0             PVAL: 0             RBV: 0              RDES:
0x1cdf8b0
ROFF: 0             RPRO: 0             RSET: 0x1c7781c     RVAL: 0

SCAN: Passive       SDIS:CONSTANT       SEVR: NO_ALARM
SIML:CONSTANT
SIMM: NO            SIMS: NO_ALARM      SIOL:CONSTANT       SPVT: 0x0

STAT: NO_ALARM      TIME: 2011-11-04 11:11:27.320887998     TPRO: 0

TSE: 0              TSEL:CONSTANT       UDF: 0              VAL: 0

value = 0 = 0x0


Mark


-----Original Message-----
From: Piccoli, Luciano [mailto:[email protected]]
Sent: Monday, November 28, 2011 11:57 AM
To: Mark Rivers; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"


Hi Mark,

Here is the info you requested:

        epics> asynReport 10
        MksuServer multiDevice:No canBlock:Yes autoConnect:Yes
            enabled:Yes connected:Yes numberConnects 1
            nDevices 0 nQueued 0 blocked:No
            asynManagerLock:No synchronousLock:No
            exceptionActive:No exceptionUsers 0 exceptionNotifys 0
            interposeInterfaceList
                asynOctet pinterface 0x68efa0 drvPvt 0x8f70aa8
            interfaceList
                asynCommon pinterface 0x68e05c drvPvt 0x8f27858
                asynOctet pinterface 0x8f278a0 drvPvt 0x8f27858
            Port 194.168.0.21:56789 UDP: Connected
                            fd: 4
            Characters written: 0
               Characters read: 0
        Mksu multiDevice:Yes canBlock:Yes autoConnect:Yes
            enabled:Yes connected:Yes numberConnects 1
            nDevices 1 nQueued 0 blocked:No
            asynManagerLock:No synchronousLock:No
            exceptionActive:No exceptionUsers 0 exceptionNotifys 0
            interfaceList
                asynCommon pinterface 0x68f12c drvPvt 0x8f70cf8
                asynDrvUser pinterface 0x68f204 drvPvt 0x8f70cf8
                asynInt32 pinterface 0x68f138 drvPvt 0x8f70cf8
                asynInt16Array pinterface 0x68f1b4 drvPvt 0x8f70cf8
            addr 0 autoConnect Yes enabled Yes connected No
exceptionActive No
            exceptionActive No exceptionUsers 0 exceptionNotifys 0
            blocked No
        Mksu: missing report - MksuServer
        Port: Mksu
        Parameter list 0
        Number of parameters is: 4
        Parameter 0 type=asynInt32, name=WF_TRIG_DELAY_WRITE, value is
undefined
        Parameter 1 type=asynInt32, name=MOD_TRIG_DELAY_WRITE, value is
undefined
        Parameter 2 type=asynInt32, name=WF_TRIG_DELAY_READ, value is
undefined
        Parameter 3 type=asynInt32, name=MOD_TRIG_DELAY_READ, value is
undefined
        epics>  dbpr KLYS:IN20:3130:WF_TRIG_DELAY_WRITE 10
        ACKS: NO_ALARM      ACKT: YES           ADEL: 0
ALST: 0
        AOFF: 0             ASG:                ASLO: 0             ASP:
(nil)
        BKPT: 00            DESC: Waveform trigger delay (write)
DISA: 0
        DISP: 0             DISS: NO_ALARM      DISV: 1
DOL:CONSTANT
        DPVT: (nil)         DRVH: 0             DRVL: 0
DSET: 0x68f470
        DTYP: asynInt32     EGU:                EGUF: 0
EGUL: 0
        EOFF: 0             ESLO: 1             EVNT: 0
FLNK:CONSTANT 0
        HHSV: NO_ALARM      HIGH: 0             HIHI: 0
HOPR: 0
        HSV: NO_ALARM       HYST: 0             INIT: 1
        IVOA: Continue normally                 IVOV: 0
LALM: 0
        LBRK: 0             LCNT: 0             LINR: NO CONVERSION
LLSV: NO_ALARM
        LOLO: 0             LOPR: 0             LOW: 0
LSET: 0x8f7d120
        LSV: NO_ALARM       MDEL: 0
        MLIS: 00 00 00 00 00 00 00 00 00 00 00 00
MLOK: 40 46 f7 08
        MLST: 0             NAME: KLYS:IN20:3130:WF_TRIG_DELAY_WRITE
        NSEV: NO_ALARM      NSTA: NO_ALARM      OIF: Full
OMOD: 0
        OMSL: supervisory   ORAW: 0             ORBV: 0
OROC: 0
        OUT:INST_IO @asyn(Mksu 0 1)WF_TRIG_DELAY_WRITE
OVAL: 0
        PACT: 0             PBRK: (nil)         PHAS: 0
PINI: NO
        PPN: (nil)          PPNR: (nil)         PREC: 0
PRIO: LOW
        PROC: 0             PUTF: 0             PVAL: 0             RBV:
0
        RDES: 0x8f2f7f8     ROFF: 0             RPRO: 0
RSET: 0x25a8e0
        RVAL: 0             SCAN: Passive       SDIS:CONSTANT
SEVR: <nil>
        SIML:CONSTANT       SIMM: NO            SIMS: NO_ALARM
SIOL:CONSTANT
        SPVT: 0x8f74b40     STAT: UDF           TIME: <undefined>
TPRO: 0
        TSE: 0              TSEL:CONSTANT       UDF: 0              VAL:
0
        epics>

File mksu.template:

        record(ao, "KLYS:$(AREA):$(LOCATION):WF_TRIG_DELAY_WRITE") {
          field(DESC, "Waveform trigger delay (write)")
          field(DTYP, "asynInt32")
          field(OUT, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))WF_TRIG_DELAY_WRITE")
          field(SCAN, "$(SCAN)")
        }

        record(ao, "KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_WRITE") {
          field(OUT, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))MOD_TRIG_DELAY_WRITE")
          field(DTYP, "asynInt32")
          field(SCAN, "$(SCAN)")
          field(DESC, "Remote modulator trigger delay (write)")
        }

        record(ai, "KLYS:$(AREA):$(LOCATION):WF_TRIG_DELAY_READ") {
          field(DTYP, "asynInt32")
          field(SCAN, "$(SCAN)")
          field(INP, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))WF_TRIG_DELAY_READ")
          field(DESC, "Waveguide trigger delay (read)")
        }

        record(ai, "KLYS:$(AREA):$(LOCATION):MOD_TRIG_DELAY_READ") {
          field(DTYP, "asynInt32")
          field(SCAN, "$(SCAN)")
          field(INP, "@asyn($(PORT) $(CHANNEL)
$(TIMEOUT))MOD_TRIG_DELAY_READ")
          field(DESC, "Remote modulator trigger delay (read)")
        }

File mksu.substitutions:

        file ../../db/mksu.template
        {
        pattern
        {AREA, LOCATION, PORT, CHANNEL, TIMEOUT, SCAN}
        {IN20, 3130, Mksu, 0, 1, "I/O Intr"}
        }

Thanks,
Luciano

-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Thursday, November 24, 2011 05:05
To: Piccoli, Luciano; [email protected]
Subject: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO"

Hi Luciano,

Can you send mksu.substitutions and whatever .template or .db files it
loads?

What do you get at the IOC prompt for

asynReport 10
dbpr  KLYS:IN20:3130:WF_TRIG_DELAY_WRITE 10

Mark


________________________________

From: [email protected] on behalf of Piccoli, Luciano
Sent: Wed 11/23/2011 5:56 PM
To: [email protected]
Subject: Asyn: "devAsynInt32::initCommon Link must be INST_IO"



Hi,

I'm writing a simple asyn driver which I started out from the HMS
example. When starting the ioc I get these messages:

        lpiccoli@cdlx22 iocMksu]$ ./st.cmd
        #! ../../bin/linux-x86/example
        dbLoadDatabase("../../dbd/example.dbd")
        example_registerRecordDeviceDriver(pdbbase)
        drvMksu_init()
        drvAsynIPPortConfigure("MksuServer", "194.168.0.21:56789 UDP",
0, 0, 1)
        initMksu("Mksu", "MksuServer")
        dbLoadTemplate("mksu.substitutions")
        iocInit()
        Starting iocInit

########################################################################
####
        ## EPICS R3.14.10-lcls1 $R3-14-10$ $2008/10/27 19:39:04$
        ## EPICS Base built Jul 15 2009

########################################################################
####
        KLYS:IN20:3130:MOD_TRIG_DELAY_READ devAsynInt32::initCommon
Link must be INST_IO
        KLYS:IN20:3130:WF_TRIG_DELAY_READ devAsynInt32::initCommon  Link
must be INST_IO
        KLYS:IN20:3130:MOD_TRIG_DELAY_WRITE devAsynInt32::initCommon
Link must be INST_IO
        KLYS:IN20:3130:WF_TRIG_DELAY_WRITE devAsynInt32::initCommon
Link must be INST_IO
        iocRun: All initialization complete
        epics>

It looks like something is not getting set correctly, the link type of
those records should be INST_IO. Using gdb I see that they have the link
type set to 0 (CONSTANT).

Am I missing something in the st.cmd file? Suggestions are welcome :)

Thank you,
Luciano









References:
Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Mark Rivers
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Mark Rivers
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Mark Rivers
RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano

Navigate by Date:
Prev: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
Next: Re: EPICS Base 3.14.12.2-rc1 available for testing Carsten Winkler
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Piccoli, Luciano
Next: Re: Asyn: "devAsynInt32::initCommon Link must be INST_IO" Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·