Convert INST_IO links to regular PV_LINK types, for VDCT support.
Added new PN_LINK type in link.h, make dbStaticLib display it. Made all device support extended so links can be changed at runtime. Modified startup so add_record() always called before regular link processing. Incomplete, stilll need to add MS/MSS/MSI support, currently disabled.
This commit is contained in:
@@ -59,6 +59,7 @@ epicsShareDef maplinkType pamaplinkType[LINK_NTYPES] = {
|
||||
{"GPIB_IO",GPIB_IO},
|
||||
{"BITBUS_IO",BITBUS_IO},
|
||||
{"MACRO_LINK",MACRO_LINK},
|
||||
{"PN_LINK",PN_LINK},
|
||||
{"DB_LINK",DB_LINK},
|
||||
{"CA_LINK",CA_LINK},
|
||||
{"INST_IO",INST_IO},
|
||||
@@ -291,7 +292,8 @@ static long setLinkType(DBENTRY *pdbentry)
|
||||
}
|
||||
|
||||
type = plink->type;
|
||||
if ((type == CONSTANT || type == PV_LINK || type == DB_LINK || type == CA_LINK) &&
|
||||
if ((type == CONSTANT || type == PV_LINK ||
|
||||
type == PN_LINK || type == DB_LINK || type == CA_LINK) &&
|
||||
(link_type == CONSTANT || link_type == PV_LINK)) goto done;
|
||||
|
||||
dbFreeLinkContents(plink);
|
||||
@@ -2015,6 +2017,12 @@ char * epicsShareAPI dbGetString(DBENTRY *pdbentry)
|
||||
strcpy(message,"");
|
||||
}
|
||||
break;
|
||||
case PN_LINK:
|
||||
if(plink->value.pv_link.pvname)
|
||||
strcpy(message,plink->value.pv_link.pvname);
|
||||
else
|
||||
strcpy(message,"");
|
||||
break;
|
||||
case PV_LINK:
|
||||
case CA_LINK:
|
||||
case DB_LINK: {
|
||||
@@ -3706,6 +3714,7 @@ int epicsShareAPI dbGetLinkType(DBENTRY *pdbentry)
|
||||
case CONSTANT:
|
||||
return(DCT_LINK_CONSTANT);
|
||||
case PV_LINK:
|
||||
case PN_LINK:
|
||||
case DB_LINK:
|
||||
case CA_LINK:
|
||||
return(DCT_LINK_PV);
|
||||
|
||||
@@ -35,13 +35,15 @@ extern "C" {
|
||||
#define GPIB_IO 5
|
||||
#define BITBUS_IO 6
|
||||
#define MACRO_LINK 7
|
||||
|
||||
#define PN_LINK 9
|
||||
#define DB_LINK 10
|
||||
#define CA_LINK 11
|
||||
#define INST_IO 12 /* instrument */
|
||||
#define BBGPIB_IO 13 /* bitbus -> gpib */
|
||||
#define RF_IO 14
|
||||
#define VXI_IO 15
|
||||
#define LINK_NTYPES 14
|
||||
#define LINK_NTYPES 15
|
||||
typedef struct maplinkType{
|
||||
char *strvalue;
|
||||
int value;
|
||||
|
||||
Reference in New Issue
Block a user